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