Release notes

The following table shows component versioning for Calico v3.10.

Use the version selector at the top-right of this page to view a different release.

v3.10.1

Release archive with Kubernetes manifests, Docker images and binaries.

06 Nov 2019

Bug fixes

  • Make sure we include latest packages node #353 (@caseydavenport)
  • Fix issue where IPAM block affinity was not properly calculated libcalico-go #1156 (@beautytiger)
Component Version
calico/typha v3.10.1
calico/ctl v3.10.1
calico/node v3.10.1
calico/cni v3.10.1
calico/kube-controllers v3.10.1
networking-calico 3.10.1
quay.io/coreos/flannel v0.11.0
calico/dikastes v3.10.1
calico/pod2daemon-flexvol v3.10.1

v3.10.0

Release archive with Kubernetes manifests, Docker images and binaries.

18 Oct 2019

Support top-level namespace and service account network policy selectors

Calico now supports two new top-level selectors to make writing Calico network policy easier. The namespaceSelector allows you to select the namespace(s) to apply a global network policy to. This enables you to write a single network policy applicable to one or more namespaces. The serviceAccountSelector allows you apply a network policy only to the endpoints which have the specified service accounts attached to them. This selector can be useful in writing network policy to target endpoints with specific service accounts.

For more information please see the how-to documentation for namespace selectors and service account selectors.

  • Support top-level namespaceSelector for global network policies and serviceAccountSelector for global and namespaced network policies libcalico-go #1133 (@rafaelvanoni)

Calico now supports BGP advertisement of Kubernetes service ExternalIPs in addition to advertising ClusterIPs. Advertising service external IPs allows for more flexible routing architectures. Along with this feature, we moved the configuration of ClusterIPs into BGPConfiguration (along with ExternalIPs) and have deprecated the environment variable CALICO_ADVERTISE_CLUSTER_IPS. We recommend replacing the deprecated CALICO_ADVERTISE_CLUSTER_IPS with a corresponding default BGPConfiguration resource.

For more information please see the service advertisement how-to

  • Support sending BGP advertisements for Kubernetes Service External IPs that fall within a set of whitelisted CIDR blocks. libcalico-go #1123 (@tompntn)
  • Advertise Whitelisted Service External IP’s. confd # 266 (@tompntn)
  • Configuration of Kubernetes service Cluster IP advertisement through BGPConfiguration resource. libcalico-go #1134 (@caseydavenport)
  • Support datastore-driven clusterIP updates. confd # 272 (@caseydavenport)

calicoctl patch

calicoctl now supports the patch command and is similar to how kubectl patch works. The calicoctl patch command allows you update Calico resources in-place. This feature improves the user experience of calicoctl by making it easier to modify Calico resources and making calicoctl feel more like kubectl.

For more information please see the reference page for calicoctl patch.

Bug fixes

  • Fix returning of resp.Body.Close() error. node #329 (@xieyanker)
  • Fix erroneous “Partial success” output. calicoctl #2070 (@lmm)
  • Fix logging to be independent of go mod versions. libcalico-go #1127 (@neiljerram)

Other changes

  • Update calico/node to use a version of calico/bird based on upstream BIRD v1.6.7. node #314 (@neiljerram)
  • Add semaphore config. node #324 (@neiljerram)
  • The default IP pool block size is now configurable. Use the CALICO_IPV4POOL_BLOCK_SIZE and CALICO_IPV6POOL_BLOCK_SIZE environment variables to configure the default pool block size. node #346 (@halfcrazy)
  • The CALICO_IPV4POOL_NODE_SELECTOR and CALICO_IPV6POOL_NODE_SELECTOR environment variables were added for configuring default pool node selectors. node #346 (@tmjd)
  • Update calicoctl alpine image to 3.10. calicoctl #2061 (@chenrui333)
  • Re-enable golangci-lint linters and fix lint warnings. felix #2130 (@rafaelvanoni)
  • Add support to watch stderr for FV containers. felix #2137(@song-jiang)
  • Reduce severity of BPF log levels. felix #2144 (@tmjd)
  • Fix felix log level. felix #2147 (@neiljerram)
  • Run typha as non-root user. typha #312
  • Improve log for check command failing. confd #271 (@neiljerram)
  • Move some testutils functions to utils_linux.go. cni-plugin #787 (@song-jiang)
  • Add assertion that CI builds do not result in dirty state. cni-plugin #790 (@caseydavenport)
  • Handle removing node for flannel migration controller. kube-controllers #404 (@song-jiang)
  • Add flannel migration FV. kube-controllers #406 (@song-jiang)
  • Ignore Windows reserved addresses. libcalico-go #1129 (@caseydavenport)
  • Use Kubernetes 1.16 in tests. libcalico-go #1131 (@caseydavenport)
  • Update Kubernetes client-go v12.0.0 for BoundServiceAccountTokenVolume support. libcalico-go #1139 (@caseydavenport)
  • Improve error handling when attaching FlexVolume mounts. pod2daemon #23 (@rafaelvanoni)
  • Fix code warnings. libcalico-go #1132 (@beautytiger)
  • Clean up code. felix #2150 (@beautytiger)
Component Version
calico/typha v3.10.0
calico/ctl v3.10.0
calico/node v3.10.0
calico/cni v3.10.0
calico/kube-controllers v3.10.0
networking-calico 3.10.0
quay.io/coreos/flannel v0.11.0
calico/dikastes v3.10.0
calico/pod2daemon-flexvol v3.10.0