On Thu, Oct 2, 2014 at 8:12 PM, Steven Gill <stevengil...@gmail.com> wrote:

> Thanks for feedback!
>
> I like the idea of giving our early adopters a chance to try it out and
> help us catch bugs, but I think that should be what RCs are for (3 day
> window while voting is ongoing).
>
> How do we handle cases where the bump in platform is accompanied by a
> change in cordova-lib. The next iOS release has this. Anyone who wants the
> next iOS release will have to update their cli. If they do cordova platform
> add cordova-ios@nextRelease, they will run into issues with their version
> of cordova-lib not supporting the changes required. (Shaz can elaborate if
> you need, something about new splashscreen support). We have no way of
> preventing older cli users from trying to install newer ios other than
> documentation and blog post.
>

Maybe have a minCordovaLibVersion setting in cordova-ios's package.json?


>
> Obviously, my above example isn't a usecase that happens every release. My
> goal here is to try and find a versioning policy that is easy to follow and
> covers as many use cases as possible. It should also follow semver.
>
>
> Also, noticed I had an error in my examples (the writing was fine though).
>
> CLI + Lib versioning (imagine version for cli + lib is at 4.0.0):
>
> if a platform does a patch version jump (ex ios 3.6.1), then cli + lib
> should do a patch jump (ex 4.0.1)
> If a platform does a minor version jump (ex ios 3.7.0), then cli + lib
> should do a minor jump (ex 4.1.0)
> If a platform does a major version jump (ex android 4.0.0), then cli + lib
> should do a major jump. (ex up to 5.0.0)
>
>
>
>
> On Thu, Oct 2, 2014 at 4:51 PM, Andrew Grieve <agri...@chromium.org>
> wrote:
>
>> I don't think it's necessary to bump CLI major when platforms bump major.
>> Platforms and CLI are linked only superficially anyways.
>>
>> What do you think about:
>> 1. Release platform
>> 2. Blog post telling people to try it out using CLI platform
>> add@new_version
>> 3. After a week, bump the default platform install in CLI (the week gives
>> some blog-post-following early adopters time to catch any mess-ups)
>>
>> On Thu, Oct 2, 2014 at 7:46 PM, Andrew Grieve <agri...@chromium.org>
>> wrote:
>>
>>> Great write-up! Totally onboard. And like the suggestion of bumping the
>>> major (I say either 4.0 or 10.0).
>>>
>>> On Thu, Oct 2, 2014 at 3:58 PM, Brian LeRoux <b...@brian.io> wrote:
>>>
>>>> I'm down with jumping to 4.x but not convinced a jump to 5.x would
>>>> actually
>>>> spur more understanding. (Also thanks for tackling this Steve.)
>>>>
>>>> On Thu, Oct 2, 2014 at 9:00 PM, Steven Gill <stevengil...@gmail.com>
>>>> wrote:
>>>>
>>>> > I'm not opposed to a big version jump. It would draw attention to the
>>>> fact
>>>> > that we are changing our versioning & releasing process. How do others
>>>> > feel?
>>>> >
>>>> > -Steve
>>>> >
>>>> > On Thu, Oct 2, 2014 at 11:45 AM, Shazron <shaz...@gmail.com> wrote:
>>>> >
>>>> > > Thanks Steve for writing that up.
>>>> > > I can definitely see the confusion in messaging, especially at the
>>>> start
>>>> > > of this new process.
>>>> > >
>>>> > > So for "2) CLI + Lib version" I am proposing a radical idea (à la
>>>> Windows
>>>> > > 10) where we jump to a new version totally separate from the
>>>> current 3.x
>>>> > > series to further detach the association of the CLI version with
>>>> platform
>>>> > > versions. Version 5.x? Not sure how sem-ver kosher it is.
>>>> > >
>>>> > > I already have one scenario. I sent out pull requests for docs and
>>>> the
>>>> > CLI
>>>> > > for the new iPhone 6 icons and splash screens. These will be in the
>>>> next
>>>> > > iOS platform release 3.7.0, and if another platform didn't take
>>>> 3.8.0
>>>> > > already, most likely CLI 3.8.0.
>>>> > >
>>>> > > This would mean the docs would be at 3.8.0, CLI at 3.8.0 but
>>>> cordova-ios
>>>> > > will be at 3.7.0. This is how the messaging will look like if I
>>>> were to
>>>> > > write a blog post:
>>>> > > "To get cordova-cli support for iPhone 6 splash screens and icons,
>>>> please
>>>> > > update to cordova-cli 3.8.0, which will grab the 3.7.0 version of
>>>> > > cordova-ios where this feature is implemented. Check out the 3.8.0
>>>> > > cordova-docs for usage". A bit clunky.
>>>> > >
>>>> > >
>>>> > >
>>>> > >
>>>> > >
>>>> > > On Thu, Oct 2, 2014 at 11:28 AM, Steven Gill <
>>>> stevengil...@gmail.com>
>>>> > > wrote:
>>>> > >
>>>> > >> Hey All,
>>>> > >>
>>>> > >> I wanted to give summary of where I believe this process is going
>>>> and
>>>> > >> answer any questions you all might have. None of this is set in
>>>> stone,
>>>> > so
>>>> > >> please provide feedback so we can iron this out.
>>>> > >>
>>>> > >> 1) Platforms can now release independently
>>>> > >>
>>>> > >> If iOS wants to release 3.7.0, it doesn't have to wait for other
>>>> > platforms
>>>> > >> to be ready to release. Just run through
>>>> > >>
>>>> > >>
>>>> >
>>>> https://github.com/apache/cordova-coho/blob/master/docs/platforms-release-process.md
>>>> > >> and do a tools release.
>>>> > >>
>>>> > >> 2) CLI + Lib version will rise very quickly.
>>>> > >>
>>>> > >> Right now, CLI is about to be released at version 3.7.0. No
>>>> platforms
>>>> > are
>>>> > >> currently at version 3.7.0. Say iOS wants to release 3.7.0 next
>>>> week,
>>>> > they
>>>> > >> could do that, update the CLI to version 3.8.0. I suggest a
>>>> platform
>>>> > being
>>>> > >> released would cause the CLI to do a minor release
>>>> (MAJOR.MINOR.PATCH ->
>>>> > >> 3.8.0). But this is obviously open to discussion.
>>>> > >>
>>>> > >> 3) Docs
>>>> > >>
>>>> > >> Docs version will now be tied to CLI. If we do a major or minor
>>>> release
>>>> > of
>>>> > >> the CLI, docs should be regenerated to match the version of the
>>>> CLI. Say
>>>> > >> iOS 3.7.0 requires the newest version of the CLI, we can make note
>>>> of
>>>> > that
>>>> > >> in docs + blog post. Maybe we list the platform versions
>>>> associated to
>>>> > CLI
>>>> > >> somewhere in the docs?
>>>> > >>
>>>> > >> 4) Helping users debug
>>>> > >>
>>>> > >> Cordova.version & cordova.platformVersion will both return the
>>>> version
>>>> > of
>>>> > >> the platform, not the cli. Users can easily tell you what version
>>>> of
>>>> > >> cordova-platform they are using by doing this. Generated cordova.js
>>>> > files
>>>> > >> in projects will also have this information at the top of the file
>>>> along
>>>> > >> with commit hash.
>>>> > >>
>>>> > >> 5) Messaging
>>>> > >>
>>>> > >> We need to be clear about this in our messaging to users. This is a
>>>> > change
>>>> > >> from how we have been doing things and I foresee some confusion at
>>>> the
>>>> > >> beginning. Moving platforms over to package.json eventually will
>>>> help
>>>> > >> users
>>>> > >> see that platforms are independent, but we need to do more now to
>>>> help
>>>> > >> users adapt to this change.
>>>> > >>
>>>> > >> They need to know to expect the CLI version to jump quickly, and
>>>> to know
>>>> > >> that platform versions != cordova-cli version.
>>>> > >>
>>>> > >> Blog posts can list platforms cli was tested with, similarly to
>>>> how we
>>>> > >> list
>>>> > >> what plugin versions the cli was tested with when releasing. (see
>>>> the
>>>> > >> bottom of
>>>> > >>
>>>> http://cordova.apache.org/announcements/2014/09/22/cordova-361.html for
>>>> > >> an
>>>> > >> example)
>>>> > >>
>>>> > >> Hopefully I didn't leave out anything major. Feedback please!
>>>> > >>
>>>> > >
>>>> > >
>>>> >
>>>>
>>>
>>>
>>
>

Reply via email to