Releases: containernetworking/cni
libcni v1.2.3
libcni v1.2.2
What's Changed
Full Changelog: v1.2.1...v1.2.2
CNI Spec v1.1 / libcni v1.2.1
This is a minor release that fixes some small bugs:
Improvements
- (#1098). SPEC: add warning about preserving shared resources for GC
- (#1090). Spec, libcni: add disableGC flag This allows administrators to disable garbage collection in exceptional circumstances, such as multiple runtimes sharing a network configuration.
Bug fixes:
CNI spec v1.1 / libcni v1.2.0
This is libcni v1.2.0, which releases the new CNI spec version v1.1.0.
Major changes:
GC verb
The GC verb allows runtimes to specify the set of known-good attachments, allowing plugins to clean up stale and leaked resources such as IPAM reservations. Libcni will also synthesize a CNI DEL for any stale cached attachments, so all users will have a form of GC, even if their plugins do not support CNI v1.1
STATUS verb
The STATUS verb allows a plugin to report its readiness to accept ADD requests. Runtimes such as containerd and cri-o will no longer have to rely merely on the presence of a CNI configuration file to determine network readiness.
Version negotiation
CNI configurations may now contain multiple versions, so that an administrator can opportunistically update the protocol version without breaking older runtimes:
{
"cniVersion": "1.0.0",
"cniVersions": ["1.0.0", "1.1.0"]
}
New fields
A number of new fields have been added to the result type:
- (#1060). Add MTU to CNI result
- (#1068). Add Scope property for routes Fixes: #598
- (#1069). Add SocketPath/PciID to Interface struct This is to resolve: #1050
- (#1062). Add table ID property for routes Fixes #1061
- (#1041). Add route attributes - MTU, AdvMSS, Priority
Other improvements
CNI v1.1.2
This is a minor update to the CNI libraries and tooling. This does not bump the protocol / spec version, which remains at v1.0.0.
What's Changed
- spec: fix format by @drivebyer in #902
- Fix successfully unmarshalled nil raw result by @brandond in #904
New Contributors
- @drivebyer made their first contribution in #902
- @brandond made their first contribution in #904
Full Changelog: v1.1.1...v1.1.2
CNI v1.1.1
This is a minor update to the CNI libraries and tooling. This does not bump the protocol / spec version, which remains at v1.0.0.
Changes include:
- cnitool: address golint error by @fujitatomoya in #894
- invoke: if Result CNIVersion is empty use netconf CNIVersion by @dcbw in #896
New Contributors:
- @fujitatomoya made their first contribution in #894
Full Changelog: v1.1.0...v1.1.1
CNI v1.1.0
This is a minor update to the CNI libraries and tooling. This does not bump the protocol / spec version, which remains at v1.0.0.
Changes include:
- libcni: handle empty version when parsing version (#893). Without this, Delete failed for empty-version configs, which was a regression from v0.8.0.
- Fix incorrect pointer inputs to
json.Unmarshal
(#880). - [exec-plugins]: support plugin lists (#865).
- skel: remove superfluous err nil check in (*dispatcher).pluginMain (#864).
- skel: print out CNI versions supported in help text (#860).
🎉 CNI v1.0.1 🎉
Hot off the presses, it's CNI v1.0!
CNI v1.0 doesn't change much about how CNI works, but it declares API stability.
This release includes
- a rewritten spec (for clarity)
- libcni improvements
- way more tests.
You can see the full spec changelog here: https://github.com/containernetworking/cni/blob/v1.0.1/Documentation/spec-upgrades.md
CNI v0.8.1
libcni v0.8.1
This is a security release that fixes a single bug:
- tighten up plugin-finding logic (#811).
Users of libcni are strongly encouraged to update.
v0.8.0
This release includes a number of small improvements and bug fixes.
There are no material changes to the specification or interfaces, but we increased the version from 0.7 to 0.8 in recognition of a breaking change (if you used the method): Result.String()
has been removed.
We do not release binaries here: this repo holds the Specification and Go Library for CNI; the plugins have moved to https://github.com/containernetworking/plugins.
Specification and Conventions changes
- #691 docs: add ips and mac to well-known capabilities
- #712 add interface name validation
- #742 Add GUID to well known Capabilities
- #761 Add DeviceID attribute to RuntimeConfig
- #764 Typo fixes for infiniband GUID
- #768 Fix linting issues in docs, add headers to json example, update errors into table
Documentation changes
libcni changes
- #583 Remove Result.String method
- #678 libcni: add config caching [v2]
- #681 clean up : fix staticcheck warnings
- #682 libcni: add InitCNIConfigWithCacheDir() and deprecate RuntimeConfig.CacheDir
- #686 skel: clean up errors in skel and add some well-known error codes
- #692 libcni: find plugin in exec
- #698 validate containerID and networkName
- #699 skel: remove needless functions and types
- #704 libcni: also cache IfName
- #705 libcni: fix cache file 'result' key name
- #713 Bump Go version to 1.13
- #721 When CNI version isn't supplied in config, use default.
- #735 intercept netplugin std error
- #760 invoke: capture and return stderr if plugin exits unexpectedly
- #763 Retry exec commands on text file busy