I’ve been using yangcatalog.org plus some code I wrote for pyang to do 
validation.  This pattern escaped my testing since we had originally talked 
about that numeric trailer.  The good news is, with the modified pattern, all 
your examples pass.

Joe

From: Meir Goldman <[email protected]>
Date: Monday, March 2, 2026 at 14:31
To: Joe Clarke (jclarke) <[email protected]>, [email protected] 
<[email protected]>
Cc: [email protected] 
<[email protected]>, [email protected] 
<[email protected]>, [email protected] <[email protected]>, 
[email protected] <[email protected]>
Subject: RE: Last Call: <draft-ietf-netmod-yang-semver-24.txt> (YANG Semantic 
Versioning) to Proposed Standard -- FAZON: interop issue with ysv:version 
pattern vs SemVer

Hi Joe,
Thanks — appreciated. Agreed: the current prerelease “trailing numeric” 
constraint is not needed and causes valid SemVer strings (e.g., 1.0.0-alpha) to 
fail YANG validation.
For convenience, here is a SemVer 2.0.0–compatible structure for 
prerelease/build identifiers (dot-separated tokens) that should accept common 
cases while preserving the draft’s optional “_compatible/_non_compatible” 
suffix:

  *
prerelease: (-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?
  *
build: (\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?

Sanity examples that should validate:

  *
1.0.0-alpha
  *
1.0.0-alpha.1
  *
1.0.0-rc.1+build.5
  *
1.2.3_non_compatible-alpha

Thanks again,
Meir Goldman
FAZON Foundation
[email protected]<mailto:[email protected]>
https://fazon.org<https://fazon.org/>



________________________________
От: Joe Clarke (jclarke) <[email protected]>
Отправлено: 2 марта 2026 г. 20:13
Кому: Meir Goldman <[email protected]>; [email protected] 
<[email protected]>
Копия: [email protected] 
<[email protected]>; [email protected] 
<[email protected]>; [email protected] <[email protected]>; 
[email protected] <[email protected]>
Тема: Re: Last Call: <draft-ietf-netmod-yang-semver-24.txt> (YANG Semantic 
Versioning) to Proposed Standard -- FAZON: interop issue with ysv:version 
pattern vs SemVer

Thanks for the review, Meir!  You’re right.  I believe this mandatory trailing 
pattern came from early discussions on YANG Semver, but we since wanted to make 
sure all SemVer versions were valid.  We needn’t have that trailing bit be 
treated specially.

Joe

From: Meir Goldman <[email protected]>
Date: Monday, March 2, 2026 at 12:04
To: [email protected] <[email protected]>
Cc: [email protected] 
<[email protected]>, [email protected] 
<[email protected]>, [email protected] <[email protected]>, 
[email protected] <[email protected]>
Subject: Last Call: <draft-ietf-netmod-yang-semver-24.txt> (YANG Semantic 
Versioning) to Proposed Standard -- FAZON: interop issue with ysv:version 
pattern vs SemVer

Hi,

We reviewed draft-ietf-netmod-yang-semver-24.

Issue (interop): the YANG typedef/pattern for ysv:version appears more 
restrictive than SemVer, while the document states that a SemVer version number 
is legal according to the YANG Semver rules. In particular, the current 
prerelease portion requires ending with '.' or '-' followed by digits (i.e., 
"...[.-][0-9]+"), which rejects valid SemVer such as "1.0.0-alpha".

Impact: common SemVer strings produced/validated by standard tooling will fail 
YANG validation, leading to divergent behavior across implementations and 
breaking downstream conventions that carry ysv:version (e.g., filenames)
_______________________________________________
netmod mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to