Skip to content

Releases: openconfig/ygot

v0.29.0

28 Jun 18:25
ec273a7
Compare
Choose a tag to compare

Backwards-incompatible Changes

  • Ygot now supports ordered-by user lists via generating a custom Go struct satisfying the ygot.GoOrderedMap interface.
    • Migration notes:
      • Any existing GetOrCreate methods are removed and must be replaced by AppendNew methods, which now returns an error when there is an existing element. For a full set of methods see here, or here for an example generated code with ordered maps.
      • Associated gNMI scalar-based marshal helpers now assume that ygot.OrderedMap types are telemetry-atomic and generate a single atomic Notification for the entire ordered map in order to preserve list element ordering.
      • This struct contains unexported fields, and so you may experience a panic when comparing these types using cmp. You may consider changing these comparisons to use ygot.Diff.
      • To avoid this generation, set -generate_ordered_maps=false when calling the ygot generator. However, this means ygot will marshal such configuration in a random order, since the built-in Go map type does not preserve element ordering. Notably, this applies to OpenConfig BGP policy statements (see this for discussion on adding telemetry-atomic).

What's Changed

  • perf(node): reduce reflect FieldByName and Field calls by @jayzhudev in #829
  • Don't ignore error from writeGoCodeSingleFile by @greg-dennis in #839
  • Bump github.com/openconfig/goyang from 1.3.0 to 1.4.0 by @dependabot in #838
  • EmitJSON/ConstructJSON/Marshal7951 support for structs containing ordered maps. by @wenovus in #825
  • Bump google.golang.org/grpc from 1.54.0 to 1.55.0 by @dependabot in #832
  • Marshal ordered maps into atomic gNMI notifications for TogNMINotifications by @wenovus in #840
  • Create base for using generated code in unit tests. by @wenovus in #841
  • Just adding another test case for behaviour clarity by @wenovus in #842
  • Support a couple util/unmarshalling functions for ordered maps by @wenovus in #843
  • Support unmarshalling JSON ordered map by @wenovus in #845
  • Support ytypes.GetNode for ordered maps. by @wenovus in #847
  • Support GetOrCreateNode for ordered maps by @wenovus in #848
  • Add test coverage for SetNode by @wenovus in #849
  • Support DeleteNode for ordered maps by @wenovus in #850
  • Support unmarshalling an atomic Notification for ordered lists. by @wenovus in #851
  • Deprecate util.GetNodes in favour of ytypes.GetNode by @wenovus in #852
  • Support validating ordered maps by @wenovus in #853
  • interface{} -> any for render{_test}.go by @wenovus in #855
  • ForEachField and dependent helpers support ordered maps by @wenovus in #854
  • Normalize Construct[IETF|Internal]JSON to return the default Go types. by @wenovus in #856
  • Remove p_test variable dependencies on package p by @wenovus in #857
  • Support ForEachDataField, DeepCopy, Merge for ordered maps. by @wenovus in #860
  • Update CONTRIBUTING to remove section on internal syncs by @wenovus in #865
  • Add support for ending iteration of subtrees by new ForEachDataField2 by @wenovus in #862
  • Add tests for PopulateDefaults for ordered maps by @wenovus in #866
  • Export ConstructJSON ordered map test by @wenovus in #868
  • Export remaining ordered map tests by @wenovus in #869
  • Initial tests for uncompressed structs with ordered maps. by @wenovus in #870
  • Uncompressed ordered map test on PopulateDefaults by @wenovus in #871
  • Uncompressed ordered map tests in mostly ygot package. by @wenovus in #872
  • Uncompressed ordered map tests for ytypes by @wenovus in #873
  • Make variable a function by @wenovus in #878
  • Add OrderedList type to IR by @wenovus in #879
  • Add TelemetryAtomic-related fields to IR. by @wenovus in #881
  • Export function for determining name of a keyed, unordered map. by @wenovus in #882
  • Added UnmarshalOpt to allow a best effort unmarshal by @lgomez9 in #863
  • Add generation flag for ordered maps by @wenovus in #884

New Contributors

Full Changelog: v0.28.3...v0.29.0

v0.29.0-beta.3

23 Jun 21:31
a2af562
Compare
Choose a tag to compare
v0.29.0-beta.3 Pre-release
Pre-release

What's Changed

  • Export function for determining name of a keyed, unordered map. by @wenovus in #882

Full Changelog: v0.29.0-beta.2...v0.29.0-beta.3

v0.29.0-beta.2

22 Jun 22:54
6198aa1
Compare
Choose a tag to compare
v0.29.0-beta.2 Pre-release
Pre-release

What's Changed

  • Add TelemetryAtomic-related fields to IR. by @wenovus in #881

Full Changelog: v0.29.0-beta...v0.29.0-beta.2

v0.29.0-beta

16 Jun 18:17
dfbe14e
Compare
Choose a tag to compare
v0.29.0-beta Pre-release
Pre-release

What's Changed

  • perf(node): reduce reflect FieldByName and Field calls by @jayzhudev in #829
  • Don't ignore error from writeGoCodeSingleFile by @greg-dennis in #839
  • Bump github.com/openconfig/goyang from 1.3.0 to 1.4.0 by @dependabot in #838
  • EmitJSON/ConstructJSON/Marshal7951 support for structs containing ordered maps. by @wenovus in #825
  • Bump google.golang.org/grpc from 1.54.0 to 1.55.0 by @dependabot in #832
  • Marshal ordered maps into atomic gNMI notifications for TogNMINotifications by @wenovus in #840
  • Create base for using generated code in unit tests. by @wenovus in #841
  • Just adding another test case for behaviour clarity by @wenovus in #842
  • Support a couple util/unmarshalling functions for ordered maps by @wenovus in #843
  • Support unmarshalling JSON ordered map by @wenovus in #845
  • Support ytypes.GetNode for ordered maps. by @wenovus in #847
  • Support GetOrCreateNode for ordered maps by @wenovus in #848
  • Add test coverage for SetNode by @wenovus in #849
  • Support DeleteNode for ordered maps by @wenovus in #850
  • Support unmarshalling an atomic Notification for ordered lists. by @wenovus in #851
  • Deprecate util.GetNodes in favour of ytypes.GetNode by @wenovus in #852
  • Support validating ordered maps by @wenovus in #853
  • interface{} -> any for render{_test}.go by @wenovus in #855
  • ForEachField and dependent helpers support ordered maps by @wenovus in #854
  • Normalize Construct[IETF|Internal]JSON to return the default Go types. by @wenovus in #856
  • Remove p_test variable dependencies on package p by @wenovus in #857
  • Support ForEachDataField, DeepCopy, Merge for ordered maps. by @wenovus in #860
  • Update CONTRIBUTING to remove section on internal syncs by @wenovus in #865
  • Add support for ending iteration of subtrees by new ForEachDataField2 by @wenovus in #862
  • Add tests for PopulateDefaults for ordered maps by @wenovus in #866
  • Export ConstructJSON ordered map test by @wenovus in #868
  • Export remaining ordered map tests by @wenovus in #869
  • Initial tests for uncompressed structs with ordered maps. by @wenovus in #870
  • Uncompressed ordered map test on PopulateDefaults by @wenovus in #871
  • Uncompressed ordered map tests in mostly ygot package. by @wenovus in #872
  • Uncompressed ordered map tests for ytypes by @wenovus in #873
  • Make variable a function by @wenovus in #878
  • Add OrderedList type to IR by @wenovus in #879

Full Changelog: v0.28.3...v0.29.0-beta

v0.28.3

18 May 23:58
cbef8ea
Compare
Choose a tag to compare

What's Changed

  • Factor out list generation code into its own file. by @wenovus in #820
  • Refactor integration_test/schemaops to allow for fast iteration when developing generated code. by @wenovus in #821
  • Add demonstration generated code for ordered maps in ygot by @wenovus in #819
  • Generate ordered map (generation disabled) by @wenovus in #822
  • Make ordered maps a pointer in the parent GoStruct. by @wenovus in #823
  • Generate pointer-field ordered maps. by @wenovus in #824
  • fix(goelements): handle Hex default int/uint values by @jayzhudev in #827
  • Fix Unmarshalling JSON containing list elements so that we have update semantics. by @wenovus in #837

New Contributors

Full Changelog: v0.28.2...v0.28.3

v0.28.2

17 Apr 22:27
7634fc1
Compare
Choose a tag to compare

What's Changed

  • Use errlist instead of copying code from Go. by @wenovus in #818

Full Changelog: v0.28.1...v0.28.2

v0.28.1

17 Apr 20:20
770dbdc
Compare
Choose a tag to compare

What's Changed

  • Bump github.com/openconfig/gribi from 0.1.1-0.20221218044856-ec9f4fc18013 to 1.0.0 by @dependabot in #816
  • Improve error messages in ygot.Merge. by @wenovus in #815

Full Changelog: v0.28.0...v0.28.1

v0.28.0

14 Apr 21:16
2f52ba6
Compare
Choose a tag to compare

Notable Changes

  • Revert enum number generation behaviour to pre-v0.19.0 by @wenovus in #814
  • Error out when there are augments to the same leaf node. by @wenovus in #811

Other Changes

  • populateUpdate marshals JSON instead of TypedValue scalars by @wenovus in #802
  • Create dependabot.yml by @wenovus in #803
  • Bump actions/checkout from 2 to 3 by @dependabot in #804
  • Bump actions/setup-go from 2 to 4 by @dependabot in #805
  • Bump github.com/openconfig/gnmi from 0.0.0-20220920173703-480bf53a74d2 to 0.9.1 by @dependabot in #808
  • Bump google.golang.org/grpc from 1.52.0 to 1.54.0 by @dependabot in #809
  • Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 by @dependabot in #810
  • Refactor gogen by moving around functions/tests a bit by @wenovus in #813

Full Changelog: v0.27.0...v0.28.0

v0.27.0

31 Mar 02:25
a9ad813
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.26.2...v0.26.3

v0.26.2

24 Mar 15:42
90e7cdd
Compare
Choose a tag to compare

What's Changed

  • Fix origin handling for compare paths by @DanG100 in #795
  • Enable gofmt CI against new directories by default. by @robshakir in #793
  • Improve output description for SetRequest diff. by @wenovus in #796

Full Changelog: v0.26.1...v0.26.2