The next version of the newt tool will be backwards compatible with
older Mynewt repos.  The latest versions of the Mynewt repos are taking
advantage of a new newt feature (syscfg values in `pkg.yml`), so they do
not work with older versions of newt.  If a repo does not use this new
feature, then it will be compatible with both old and new versions of
the newt tool.

Backwards compatiblity is important, and it is always bad when an
upgrade breaks something.  This particular feature seemed important
enough to introduce such breakage because it will actually help to
maintain backwards compatibility in the future.  The feature allows
Mynewt YAML files to switch their configuration based on the version of
newt being used.  For example:

    pkg.item.NEWT_FEATURE_FOO
        - ...

That item only gets processed if the newt tool injects the
`NEWT_FEATURE_FOO` setting.  The item does not get processed with older
versions of newt which do not support the `FOO` feature.  Older versions
of newt could not process conditional items in most of the YAML files,
so would always process the above item.

Chris

On Tue, Jan 08, 2019 at 11:23:58AM -0800, markus wrote:
> Hey Chris,
> 
> that is understood and fine, the question and to some degree concern is
> the other way around. Will the next version of the newt tool be
> incompatible with all existing repositories?
> 
> I understand that apache-mynewt-core and all other mynewt managed
> repositories don't have a problem with such a change. But what about
> all the other repositories?
> 
> Thanks,
> Markus
> 
> 
> 
> On Tue, 8 Jan 2019 10:29:24 -0800
> Christopher Collins <ch...@runtime.io> wrote:
> 
> > Hi Markus,
> > 
> > On Tue, Jan 08, 2019 at 10:15:22AM -0800, markus wrote:
> > > Hi Lukasz,
> > > 
> > > got it, I guess I have to start building newt.
> > > 
> > > Follow up question: Does this mean the next release will break all
> > > repositories out there or is backwards compatibility still on the
> > > roadmap for this release?  
> > 
> > The next mynewt release will only be compatible with the version of
> > newt that is released at the same time.  An attempt to use an older
> > newt with the newt repos will fail with instructions to upgrade newt.
> > 
> > Chris
> 

Reply via email to