[release] mdsal-4.0.0 released

Robert Varga nite at hq.sk
Thu Apr 11 18:23:18 UTC 2019

Hello everyone,

mdsal-4.0.0 has been released, the release notes are here:

The following issues were addressed relative to mdsal-3.0.6:

[MDSAL-48] - Binding Specification: Type empty needs better
representation than Boolean or Null vs NonNull
[MDSAL-396] - Add DataObject.implementedInterface()
[MDSAL-406] - Tag generated types with a marker interface
[MDSAL-432] - Integrate TransactionChain transaction merging into the
API contract
[MDSAL-436] - Refactor LeafNodeCodecContext for LeafNodes and LeafSetNodes

[MDSAL-182] - Java binding v1: leafref up two containers not found if
from grouping
[MDSAL-395] - Get rid of "get" prefix because it conflicts with getters
[MDSAL-397] - Check path contention when create tree producers
[MDSAL-416] - Generated javadoc does not separate multi-line description
[MDSAL-425] - yang to java generation failed when list name is "e"

[MDSAL-428] - Add anydata/anyxml Binding Spec interfaces

Of these, the by far largest impact is from MDSAL-48 and

- the first one kicks in for 'type empty' leaves, where the Java type
changes from java.util.Boolean to
org.opendaylight.yangtools.yang.common.Empty and the getter changes from
isFoo() to getFoo()

- the second one impacts mostly registries, as the generated interfaces
no longer have getImplementedInterface() but rather implementedInterface()

On the sad side of things, Binding Specification V2 has been removed
from experimental features and from the repository. The reasons for this
are multiple:

- we do not have resources to maintain it or plot/execute migration of
- its codegen was 3x slower with chance of getting on par with V1
without a major refactor
- it seriously lagged behind V1 most notably in the runtime support
(i.e. magic) compartment
- we have a different release model than we started with and can
gradually fix V1

To elaborate on the last point -- we have successfully fixed a number of
long-standing issues with V1 over the course of last year, with
well-controlled breakage in 3.0.0 and 4.0.0 releases, and the result is
actually better than what V2 would have delivered. We are at a stage
where there are only very few issues left which have large-scale impacts
(like MDSAL-434) and I do believe they can be delivered in a smooth
fashion (all things considering).

The library of pre-packaged models has been also expanded to include
newly-released IETF models.

ietf-access-control-list at 2019-03-04.yang
ietf-ethertypes at 2019-03-04.yang
ietf-packet-fields at 2019-03-04.yang

ietf-yang-schema-mount at 2019-01-14.yang

ietf-network-instance at 2019-01-21.yang

ietf-logical-network-element at 2019-01-25.yang

Most notable here are the RFC8519 models, as we are also shipping
draft-prerelease versions of them. We will stop shipping the draft
versions in mdsal-5.0.0 and downstreams are advised to synchronize the
adoption of the standard versions as soon as convenient.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 850 bytes
Desc: OpenPGP digital signature
URL: <http://lists.opendaylight.org/pipermail/release/attachments/20190411/2bece4bd/attachment-0001.sig>

More information about the release mailing list