Releases: openconfig/ygot
Releases · openconfig/ygot
v0.29.0
Backwards-incompatible Changes
- Ygot now supports
ordered-by user
lists via generating a custom Go struct satisfying theygot.GoOrderedMap
interface.- Migration notes:
- Any existing
GetOrCreate
methods are removed and must be replaced byAppendNew
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 useygot.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 addingtelemetry-atomic
).
- Any existing
- Migration notes:
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 forTogNMINotifications
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 ofytypes.GetNode
by @wenovus in #852 - Support validating ordered maps by @wenovus in #853
interface{}
->any
for render{_test}.go by @wenovus in #855ForEachField
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
What's Changed
Full Changelog: v0.29.0-beta.2...v0.29.0-beta.3
v0.29.0-beta.2
What's Changed
Full Changelog: v0.29.0-beta...v0.29.0-beta.2
v0.29.0-beta
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 forTogNMINotifications
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 ofytypes.GetNode
by @wenovus in #852 - Support validating ordered maps by @wenovus in #853
interface{}
->any
for render{_test}.go by @wenovus in #855ForEachField
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
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
- @jayzhudev made their first contribution in #827
Full Changelog: v0.28.2...v0.28.3
v0.28.2
v0.28.1
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
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
What's Changed
- Update go.mod to Go 1.18 by @wenovus in #799
- Bump golang.org/x/net from 0.4.0 to 0.7.0 by @dependabot in #800
- Improve diff performance by @wenovus in #798
New Contributors
- @dependabot made their first contribution in #800
Full Changelog: v0.26.2...v0.26.3