I would strongly recommend we adopt semantic versioning <https://semver.org/> for Android Components. The spec enables clear signaling via version numbers whether this is a bugfix release, whether it contains new functionality, and whether the API is backwards compatible. It also handles pre-release and initial development semantics.
This will help keep us out of "dependency hell". -chris On Tue, Oct 2, 2018 at 2:23 PM Susheel Daswani <[email protected]> wrote: > My initial reaction to '[a]lways develop against components -SNAPSHOT so > that you stay up to date' is we likely won't upgrade components versions > unless there is product value and some assurances of stability when doing > so (i.e., a Product Manager says I want the changes, bug fixes or features > in that component update, and the component has been tested to not > introduce regressions from previous versions). I would also say that just > getting bug fixes is usually not enough product value to update (a point > release of our pinned version is probably preferred). > > I would love to hear what other APT engineers think on all this though. > > On Tue, Oct 2, 2018 at 11:31 AM Stefan Arentz <[email protected]> wrote: > >> >> >> On Tue, Oct 2, 2018 at 1:39 PM Susheel Daswani <[email protected]> >> wrote: >> >>> Yes Stefan, I don't think the snapshots and rc releases are super useful >>> *yet*. We do use them with GV but that's really just because GV >>> development is so active and the engine is so core that updating it more >>> frequently overrides the risk. But being on the bleeding edge does have >>> it's issues (e.g., yesterday we had to downgrade GV because it was too >>> bleeding edge). >>> >> >> I think what we will recommend to all teams is actually this: >> >> - Always develop against components -SNAPSHOT so that you stay up to >> date. Snapshot is the place where you will get the changes, bug fixes and >> features that you have requested. And you will get them real-time as those >> changes land. Using snapshots is the best way to work together with us >> because not only will you get the things you need soon, you will also find >> issues sooner which means we get to a stable release sooner, which means >> less chance of point releases. >> >> - When your project reaches code freeze or feature complete, that is the >> moment you stop using snapshots and pin to a stable version. In an ideal >> world the timing is such that our calendars are in sync enough that you can >> just pin the upcoming release. But if they are not, you can tell us the >> point in time when you would like to pin components and we can make a >> release happen on that date. (Note that this does not scale well beyond one >> or two products, it is simpler to take our release dates into account and >> align schedules.) >> >> The point releases are to handle unexpected (aren't they always) critical >> bugs, they do not exist to accommodate a development schedule. However, >> they can happen after you pinned to a specific version or even after you >> shipped. But I think that with a good schedule and good testing, these >> releases can mostly be avoided. >> >> S. >> >> > > -- > Susheel Daswani > Senior Mobile Engineering Manager > phone / text: (415) 218-7259 > > -- > You received this message because you are subscribed to the Google Groups > "Lockbox Dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/a/mozilla.com/d/msgid/lockbox-dev/CAFy2Ppd2mO5LkGhEzgGDdJOYJYzp3-4JM1xNUcegH%2Bt4jnP1kQ%40mail.gmail.com > <https://groups.google.com/a/mozilla.com/d/msgid/lockbox-dev/CAFy2Ppd2mO5LkGhEzgGDdJOYJYzp3-4JM1xNUcegH%2Bt4jnP1kQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . >
_______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

