Hi, guys.

We've cherry-picked all the commits related to iOS9 / Xcode 7 issues into 3.9.x 
and send corresponding PR to 3.9.x branch [1]. Shazrov, Steve please review 
when possible.

Regarding new board for 3.9.2 release - neither Sergey nor me don't have a 
permissions to create a shared queries, so we just tagged issues with 
<cordova-ios-3.9.2> label. You can find all tagged issues using a query [2].

---
[1] https://github.com/apache/cordova-ios/pull/175
[2] 
https://issues.apache.org/jira/browse/CB-9729?jql=labels%20%3D%20cordova-ios-3.9.2


-----Original Message-----
From: Shazron [mailto:shaz...@gmail.com] 
Sent: Friday, October 23, 2015 3:29 PM
To: dev@cordova.apache.org
Subject: Re: [DISCUSS] cordova-ios 4.0.0 release

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://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fgithub.com%2fapache%2fcordova-ios%2fblob%2fmaster%2fCordovaLib%2fClasses%2fPublic%2fCDVAvailabilityDeprecated.h%23L23&data=01%7c01%7cv-vlkoti%40064d.mgd.microsoft.com%7cd6ed60025678403e0fd008d2dba59f1b%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=7p9BQz45eR6YUHUjiySQolzVCT9bNmqidrTQTVkn8OM%3d).
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] 
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fstacko
> verflow.com%2fsearch%3fq%3dENABLE_BITCODE%2b%255Bcordova%255D&data=01%
> 7c01%7cv-vlkoti%40064d.mgd.microsoft.com%7cd6ed60025678403e0fd008d2dba
> 59f1b%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=6TZPBz5vNlDgL1A9c7%
> 2fsUoknh553FwrIqL7pjbsqcFE%3d [2] 
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fstacko
> verflow.com%2fsearch%3fq%3d%2522XCODE%2b7%2522%2b%255Bcordova%255D&dat
> a=01%7c01%7cv-vlkoti%40064d.mgd.microsoft.com%7cd6ed60025678403e0fd008
> d2dba59f1b%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=LKaFhkW05D%2fG
> ZcInG4LUTRm9Am2QMyMMxhrwcFtCIK0%3d
>
> -----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%2fstacko
> verflow.com%2fsearch%3fq%3dENABLE_BITCODE%2b%255Bcordova%255D&data=01%
> 7c01%7cnikhilkh%40microsoft.com%7cea1259c06ea744fff37e08d2da213c72%7c7
> 2f988bf86f141af91ab2d7cd011db47%7c1&sdata=EssE%2b0BTiymN1aS7HtBoOVM%2b
> usvcGAKZHanRs9QZXYw%3d [2] 
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fstacko
> verflow.com%2fsearch%3fq%3d%2522XCODE%2b7%2522%2b%255Bcordova%255D&dat
> a=01%7c01%7cnikhilkh%40microsoft.com%7cea1259c06ea744fff37e08d2da213c7
> 2%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=PBGhQ3sro1fE6Ft3ZOHBv3R
> kLdNMOg%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%2fissue
> s.apache.org%2fjira%2fbrowse%2fCB-9785&data=01%7c01%7cnikhilkh%40micro
> soft.com%7c65695fee7d4149d0fd4108d2d9d9507f%7c72f988bf86f141af91ab2d7c
> d011db47%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_hmm9zgod5awTo
>> F 
>> 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%2fiss
>>> u
>>> e
>>> s.apache.org%2fjira%2fsecure%2fRapidBoard.jspa%3frapidView%3d76&data
>>> =
>>> 0
>>> 1%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286
>>> %
>>> 7
>>> c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=b11%2bCUSw4d5Q9SN%2b8roA
>>> W
>>> 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%2fgit
>>> h
>>> u
>>> b.com%2fapache%2fcordova-ios.git&data=01%7c01%7cnikhilkh%40microsoft.
>>> c
>>> om%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d7cd011
>>> d 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%2fgit
>>> h
>>> u
>>> b.com%2fapache%2fcordova-plugins%2ftree%2fmaster%2fwkwebview-engine&
>>> d
>>> a
>>> ta=01%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41f
>>> b
>>> 2
>>> 86%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=oxWiqvoBbVXRKZVL64w2
>>> W
>>> 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%2fiss
>>> u
>>> e
>>> s.apache.org%2fjira%2fbrowse%2fCB-9592&data=01%7c01%7cnikhilkh%40mic
>>> r
>>> o
>>> soft.com%7c457cbbc8d60c461beede08d2b41fb286%7c72f988bf86f141af91ab2d
>>> 7 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%2fiss
>>> u
>>> e
>>> s.apache.org%2fjira%2fsecure%2fRapidBoard.jspa%3frapidView%3d86&data
>>> =
>>> 0
>>> 1%7c01%7cnikhilkh%40microsoft.com%7c457cbbc8d60c461beede08d2b41fb286
>>> %
>>> 7
>>> c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=4N1dxtFBRjM%2fgJULVWBYLc
>>> 0
>>> 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