Subject: [netmod] first pass at YANG 1.1 issue list classification

From: Andy Bierman <[email-masked]>
Date: Tue, 13 May 2014 09:14:54 -0700

Hi,

I think it might help to classify the issues.
I made a rough pass at the randomly ordered list.
It would be useful to rank how much work/impact
each issue would be to address. (I did not attempt that.)
It would be useful to immediately reject any proposal
that would prevent a YANG 1.0 module from being
valid in YANG 1.1. (I did not check that.)

(N=new, F=fix; also a judgement call)

Conformance
---------------
N Y01: allow boolean if-feature
N Y03: allow if-feature in refine
N Y11: allow if-feature on enums
F Y15: identity advertisement problem
N Y16: module advertisement optimization
N Y27: allow mandatory nodes in an updated module
N Y45: better conformance mechanism

XPath
------
N Y04: accessible tree in xpath in notifs and rpc
F Y05: unprefixed path in top-level typedef
F Y18: fix "when" expression context node problem
N Y20: new set of built-in XPath functions
N Y21: statement to define new XPath functions in a module

Syntax
------
N Y02: allow must in input, output, and notification
F Y06: escaped characters in double quoted strings
F Y08: make leaf-list of type empty illegal
N Y10: allow restrictions on enumerations
N Y12: initialized-by system
N Y13: allow multiple inheritance for identities
F Y14: clarify the string value for identities when used in must/when
N Y22: support constraints on unions
N Y23: support negative patterns as string restrictions
N Y24: YIN -> YANG translation breaks text formatting
N Y25: make enum numbering purely informative and optional
N Y26: allow mandatory nodes in augment
N Y28: support default values in leaf-lists
N Y29: allow choice as a short-hand case
N Y30: allow leafref in union
N Y31: allow require-instance in leafref
N Y32: allow boolean combinations of pattern
N Y33: add 'attribute' statement
F Y34: remove/deprecate/replace the 'anyxml' statement
N Y35: allow empty in union
N Y38: add 'mandatory' to NP-container
F Y39: define the terms system/user-controlled instances
N Y40: add floating point base types
F Y41: clarification of "must" in NP-container
N Y43: add exception statement
N Y44: add a mechanism to parameterize error-message
N Y46: data-specific meta-data
F Y47: bit name too restrictive
F Y49: clarify nested submodule behavior
N Y50: additional extension grammar validation
N Y52: add a shorthand statement for 'mandatory'

Lists
------
F Y07: do not allow when or if-feature on keys
N Y09: introduce optional keys
N Y17: support "augment" of unique
N Y19: we need a better unique
N Y53: allow deep keys

Notifications
-------------
N Y36: associate a notification with a data node
N Y37: allow notifications to be derived from other notifications

Protocol
--------
N Y42: a better model for configuration versus state data is needed
F Y48: enabled leaf design pattern
N Y51: support for long running commands