Skip to content

Releases: containernetworking/cni

libcni v1.2.3

22 Jul 15:13
309b6bb
Compare
Choose a tag to compare

This is a minor release to correct a divergence between the specification and libcni. In this case, the specification was updated, as it concerns a new feature, GC, that is not yet deployed.

What's Changed

  • SPEC, libcni: harmonize GC valid-attachment key by @squeed in #1103

libcni v1.2.2

24 Jun 20:20
d5c71ad
Compare
Choose a tag to compare

What's Changed

  • libcni: remove use of Masterminds/semver by @squeed in #1100

Full Changelog: v1.2.1...v1.2.2

CNI Spec v1.1 / libcni v1.2.1

17 Jun 15:21
e82d996
Compare
Choose a tag to compare

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:

  • (#1097). Fix faulty json.Marshal behavior for embeds types.NetConf Fix #1096
  • (#1095). libcni: always delete the cache on conflist for CNI DEL This aligns the call with DelNetwork, and allows CRIO tests to bump

CNI spec v1.1 / libcni v1.2.0

16 Apr 08:14
df52e94
Compare
Choose a tag to compare

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

  • (#911). libcni: add specific type for CHECK not supported
  • (#1072). tolerate invalid cni caches for deletion
  • (#1054). Add Version() to CNI interface

CNI v1.1.2

27 Jul 15:48
3363d14
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v1.1.1...v1.1.2

CNI v1.1.1

01 Jun 16:00
3ec1919
Compare
Choose a tag to compare

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:

Full Changelog: v1.1.0...v1.1.1

CNI v1.1.0

27 Apr 20:28
08f8596
Compare
Choose a tag to compare

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 🎉

08 Sep 08:48
1694fd7
Compare
Choose a tag to compare

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

19 May 18:44
9fc34ae
Compare
Choose a tag to compare

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

01 Jul 15:39
11db36c
Compare
Choose a tag to compare

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

  • #711 Update cnitool docs
  • #755 Remove extra ',' chars which makes conflist examples invalid.

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