Sorry for the late reply -- took a sick day.

I'd really like to just get cordova-ios 4.x out without a patch
release in between, since there are just a few more issues left before
we can clear the board (I'll triage it again), and a 4.x release would
follow closely a 3.9.2 release.

After mulling it over -- what I want and what is needed is of course
two things. I really don't want the headache of third-party plugin
breakage issues on the first day of release, which will happen. The
API removals (although our prerogative) never had a deprecation
warning. In a perfect world, after blogging about it and communicating
it to plugin authors, they would update their plugins in a backwards
compatible way immediately (which I plan to write a howto included in
the platform and/or blog post -- there's a jira issue for it)

No plugin author updates things without encountering a breakage after
hearing from their users -- blog posts just don't have the impact that
code breakage does :) So -- here's a plan:

A cordova-ios-3.9.2 release, there should be two goals:
1. iOS 9 / Xcode 7 fixes (scan the 4.x kanban board for all fixed issues)
2. Add deprecation/removal warnings through the macro
(https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/Public/CDVAvailabilityDeprecated.h#L23).
Not a deprecation, but a removal since that is our prerogative for
major version bumps.

For #2, for the API items that have been removed (through the macros)
-- we include strong language and pointers on how to fix it, and/or
instructions for users to contact the plugin author to fix. Not sure
how hard -- we could have some introspection in the plugin to actually
print out the plugin id responsible.

For cordova-ios-3.9.2 I would create a kanban board
"cordova-ios-3.9.2" (linked to label 'cordova-ios-3.9.2'), then go
through the cordova-ios-4.x board, see what issues apply, then add the
label "cordova-ios-3.9.2" which would automatically appear on the new
board. Go through the items in the new board, and cherry-pick the
patches into the 3.9.x branch.

Can Microsoft take on this 3.9.2 release while I continue to get the
4.x release out?

FYI -- ATS is handled by the CLI (should be in the next cli release)
and is not dependent on the cordova-ios platform.

Thoughts?


On Wed, Oct 21, 2015 at 10:24 AM, Nikhil Khandelwal
<nikhi...@microsoft.com> wrote:
> Sent the message before completing it.
>
> What are good tasks to be poached on cordova-ios-4.x? In particular, my team 
> can help out with cordova-lib related ios tasks. Also, fixing plugins or 
> filing issues for upcoming breakages are great areas we can help out. ios 4.x 
> has critical fixes for XCode 7 usage which people need sooner rather than 
> later [1]. Could you mark them with a tag 'poachable'? We can follow up on 
> slack as well if this requires back and forth. I'll ping you later today.
>
> As for breaking change below, I've not been keeping up ios-4.x as closely - I 
> must've missed the communication on it. I understand there is a possibility 
> of breaking because of how "categories" work in Objective-C (I just read up 
> on it - it's a nifty feature). I also understand that they were not 
> *intended* to be used. AFAIK we do not document our platform APIs and even 
> our core plugins (camera) was using this particular API. As we discussed in 
> cordova F2F, developers do not have high confidence with the version of 
> plugins (particularly third party) to pick and choose and anything we could 
> do in how we version our API/manage breaking changes - will make Cordova a 
> smoother experience. The impact of this breaking change is HIGH from the 
> small sample set of plugins we tested.
>
> As far as I understand, Cordova-ios 3.9.x is not usable with XCODE 7 - ATS, 
> ENABLE_BITCODE being two issues[2]. Cordova-ios 4.x is not ready and will 
> likely break the third-party plugins they use when it releases. Should we 
> really push for a patch release for cordova-ios 3.9.x to fix XCODE 7 issues? 
> @Shaz: How feasible would this be? I know some of us at Microsoft can help do 
> this with guidance.
>
> [1] http://stackoverflow.com/search?q=ENABLE_BITCODE+%5Bcordova%5D
> [2] http://stackoverflow.com/search?q=%22XCODE+7%22+%5Bcordova%5D
>
> -----Original Message-----
> From: Nikhil Khandelwal [mailto:nikhi...@microsoft.com]
> Sent: Wednesday, October 21, 2015 7:09 AM
> To: dev@cordova.apache.org
> Subject: RE: [DISCUSS] cordova-ios 4.0.0 release
>
> What are good tasks to be poached on cordova-ios-4.x? In particular, my team 
> can help out with cordova-lib related ios tasks. Also, fixing plugins or 
> filing issues for upcoming breakages are great areas we can help out. ios 4.x 
> has critical fixes for XCode 7 usage which people need sooner rather than 
> later [1]. Could you mark them with a tag 'poachable'? We can follow up on 
> slack as well if this requires back and forth. I'll ping you later today.
>
> As for breaking change below, I've not been keeping up ios-4.x as closely - I 
> must've missed the communication on it. I understand there is a possibility 
> of breaking because of how "categories" work in Objective-C (I just read up 
> on it - it's a nifty feature). I also understand that they were not 
> *intended* to be used. AFAIK we do not document our platform APIs and even 
> our core plugins (camera) was using this particular API. As we discussed in 
> cordova F2F
>
> As far as I understand, Cordova-ios 3.9.x is not usable with XCODE 7 - ATS, 
> ENABLE_BITCODE being two issues[2]. Cordova-ios 4.x is not ready and will 
> likely break the third-party plugins they use when it releases. Should we 
> really push for a patch release for cordova-ios 3.9.x to fix XCODE 7 issues? 
> @Shaz: How feasible would this be?
>
> [1] 
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fstackoverflow.com%2fsearch%3fq%3dENABLE_BITCODE%2b%255Bcordova%255D&data=01%7c01%7cnikhilkh%40microsoft.com%7cea1259c06ea744fff37e08d2da213c72%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=EssE%2b0BTiymN1aS7HtBoOVM%2busvcGAKZHanRs9QZXYw%3d
> [2] 
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fstackoverflow.com%2fsearch%3fq%3d%2522XCODE%2b7%2522%2b%255Bcordova%255D&data=01%7c01%7cnikhilkh%40microsoft.com%7cea1259c06ea744fff37e08d2da213c72%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=PBGhQ3sro1fE6Ft3ZOHBv3RkLdNMOg%2fp4gFgSq2Eets%3d
>
> -Nikhil
>
> -----Original Message-----
> From: Shazron [mailto:shaz...@gmail.com]
> Sent: Tuesday, October 20, 2015 10:34 PM
> To: dev@cordova.apache.org
> Subject: Re: [DISCUSS] cordova-ios 4.0.0 release
>
> This release will not be complete as long as the cordova-ios-4.x board has 
> issues. The only major issue is the plugin building stuff plus docs.
>
> The removal was projected for some time - you might not have remembered the 
> discussions in JIRA. NSData+Base64 are "Categories" in Objective-C parlance. 
> These were *never* documented to be used outside of Cordova and are fair game 
> for removal, particularly a major version release. The problem with 
> Categories are, other non-Cordova code can implement these Categories with 
> the same names as well -- and during runtime the implementation that is 
> "chosen" is indeterminate. We can't have that with Cordova since JSON 
> serialization and deserialization are important for the bridge.
>
> Yes, a blog post and "migration guide" is coming, among other things on my 
> plate -- see 
> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissues.apache.org%2fjira%2fbrowse%2fCB-9785&data=01%7c01%7cnikhilkh%40microsoft.com%7c65695fee7d4149d0fd4108d2d9d9507f%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=sGf5ya8dvvT2BxunFhyA0X7IzCXRdEG4bxmbZT0rgu0%3d
> My plan is to send pull requests to some plugins with the common issues, so 
> people can see how to update.
>
>
>
> On Tue, Oct 20, 2015 at 9:45 PM, Nikhil Khandelwal <nikhi...@microsoft.com> 
> wrote:
>> Where are we with this release?
>>
>> Alexander Sorokin did some analysis on plugin build failures because of this 
>> ios-4.0-dev and there are quite a few.
>>
>> This spreadsheet summarizes the build failures with the build log in a 
>> comment:
>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fdocs.
>> google.com%2fspreadsheets%2fd%2f1sm8ioXY21z3RdyqT7J9n1Q_hmm9zgod5awToF
>> F_X66U%2fedit%3fusp%3dsharing&data=01%7c01%7cnikhilkh%40microsoft.com%
>> 7c65695fee7d4149d0fd4108d2d9d9507f%7c72f988bf86f141af91ab2d7cd011db47%
>> 7c1&sdata=PTiv%2bPvncuJ4g0b%2bj8GTO1ovdCKL8Y%2fHFW4QEQt%2b6i8%3d
>>
>> Quite a few of the failures are because of the removal of NsData+Base64.h 
>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgithub.com%2fapache%2fcordova-ios%2fblob%2fmaster%2fguides%2fAPI%2520changes%2520in%25204.0.md%23nsdatabase64h.&data=01%7c01%7cnikhilkh%40microsoft.com%7c65695fee7d4149d0fd4108d2d9d9507f%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=GS43mbEp5TKlUWs4A2mRMZ36sMaBxniFC%2fQbRkzzg24%3d
>>  What's the rationale behind removing this? Did we deprecate these methods 
>> before we removed them?
>>
>> I understand the changes for plugin developers are simple - but it does seem 
>> to require a number of plugins to be updated to ensure apps are not broken.
>>
>> It will be great to publish a blog post on cordova blog about these breaking 
>> changes.
>>
>> -Nikhil
>>
>>
>> -----Original Message-----
>> From: Carlos Santana [mailto:csantan...@gmail.com]
>> Sent: Wednesday, September 2, 2015 10:22 PM
>> To: dev@cordova.apache.org
>> Subject: Re: [DISCUSS] cordova-ios 4.0.0 release
>>
>> +1 Choo Choo ...
>>
>> I reviewed all links in your proposal and they look and don't have
>> concerns
>>
>> IBM MobileFirst was affected only by the API change of using
>> webviewengine now but that's so far the only major change
>>
>> In the kaban board for 4.0 there are some issues I consider nice to
>> have that are not blockers to get a 4.0 out for iOS if we get closed
>> to the ios9 launched date they can be deferred to a 4.0.1
>>
>> On Tue, Sep 1, 2015 at 7:38 PM Shazron <shaz...@gmail.com> wrote:
>>
>>> Gotta get the train going again, it's been too long.
>>>
>>> The kanban board for this is at:
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissu
>>> e
>>> s.apache.org%2fjira%2fsecure%2fRapidBoard.jspa%3frapidView%3d76&data=
>>> 0
>>> 1%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286%
>>> 7
>>> c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=b11%2bCUSw4d5Q9SN%2b8roAW
>>> o
>>> Ra2plB0lJXeCJb9RC2Sqw%3d
>>>
>>> Please help if you can by assigning an issue to yourself, and
>>> selecting the "Start Progress" button. This will show who is working
>>> on what in the middle "In Progress" column.
>>>
>>> I've trimmed this and it includes cordova-ios platform issues, and
>>> some plugin issues. Priority given to platform issues of course, and
>>> issues with iOS 9. If there is a pressing issue that needs to go in,
>>> assign it the label "cordova-ios-4.0.x" but propose it to this thread
>>> first so we don't get de-railed, there's only so much room on the
>>> train. Similarly if you think an issue can get thrown off the train
>>> to cordova-ios-5.0.x, post on this thread.
>>>
>>> Focus is on core plugin stability with the new platform, since it
>>> does have API changes. If downstream distribution people are on this
>>> list, this concerns your third-party plugins too.
>>>
>>> The easiest way to test if it affects your plugin building:
>>>
>>> ```
>>> cordova platform add
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgith
>>> u
>>> b.com%2fapache%2fcordova-ios.git&data=01%7c01%7cnikhilkh%40microsoft.
>>> c
>>> om%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d7cd011d
>>> b 47%7c1&sdata=%2fyEILBHFok2F6BK9aeOOd3ibr3V4GNFhvhWWek%2fRqjs%3d
>>> cordova plugin add your-plugin-id
>>> cordova build
>>> ```
>>>
>>> Plugin updates and highlights:
>>>     - API changes doc:
>>>
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgithub.com%2fapache%2fcordova-ios%2fblob%2fmaster%2fguides%2fAPI%2520changes%2520in%25204.0.md&data=01%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=oc6rb7Mbb2%2bDmKRPwtRBd3jyl0gh74mA5I%2fwiHLpqhM%3d
>>>     - 3 new private core plugins to the platform:
>>>
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgithub.com%2fapache%2fcordova-ios%2ftree%2fmaster%2fCordovaLib%2fClasses%2fPrivate%2fPlugins&data=01%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=xoM2X4%2bcjp9oqKHhtviNfEdimxiIR%2bTJrg80tI1Fbek%3d
>>>     - Plugin localized strings and resource loading:
>>>
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgithub.com%2fapache%2fcordova-ios%2fblob%2fmaster%2fCordovaLib%2fClasses%2fPublic%2fCDVPlugin%252BResources.h&data=01%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=m2xhhALHTJ8rb2aPg68hMWVcU9ebo51zGXwihQEr1LY%3d
>>>    - Preferences helper:
>>>
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgithub.com%2fapache%2fcordova-ios%2fblob%2fmaster%2fCordovaLib%2fClasses%2fPublic%2fNSDictionary%252BCordovaPreferences.h&data=01%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=jUUM60Yks2vRWVPJdeUc8Hhek3CuH6bYKwQlbXDZSxM%3d
>>>    - WebViews as plugins. UIWebView is a private core plugin (see above).
>>> WKWebView as a plugin installable
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgith
>>> u
>>> b.com%2fapache%2fcordova-plugins%2ftree%2fmaster%2fwkwebview-engine&d
>>> a
>>> ta=01%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb
>>> 2
>>> 86%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=oxWiqvoBbVXRKZVL64w2W
>>> O
>>> XjbBJ%2fdvVu2cBVnV4hf9Y%3d
>>>
>>> I also want to highlight this scenario which a lot of people will
>>> encounter:
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissu
>>> e
>>> s.apache.org%2fjira%2fbrowse%2fCB-9592&data=01%7c01%7cnikhilkh%40micr
>>> o
>>> soft.com%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d7
>>> c d011db47%7c1&sdata=oMjN7hq1FiR8YIr7tk6t4L8cG6FwAlCHVCiV7MYZdQs%3d
>>>
>>> I had to trim features and push it off to cordova-ios-5.0.x:
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fissu
>>> e
>>> s.apache.org%2fjira%2fsecure%2fRapidBoard.jspa%3frapidView%3d86&data=
>>> 0
>>> 1%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286%
>>> 7
>>> c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=4N1dxtFBRjM%2fgJULVWBYLc0
>>> Z
>>> NH7rJArJX5KlvDBqC68%3d
>>>
>>> Planned ship/vote date is around iOS 9 release time, which I believe
>>> is in
>>> 2 weeks or so (mid Sept 2015).
>>>
>>> Choo choo....
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
> For additional commands, e-mail: dev-h...@cordova.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
> For additional commands, e-mail: dev-h...@cordova.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
For additional commands, e-mail: dev-h...@cordova.apache.org

Reply via email to