All Versions
243
Latest Version
Avg Release Cycle
6 days
Latest Release
-
Changelog History
Page 19
Changelog History
Page 19
-
v19.2.5 Changes
- CLI
- Updated
linkerd check
to ensure hint URLs are displayed for RPC checks
- Updated
- Controller
- Updated the auto-inject admission controller webhook to respond to UPDATE events for deployment workloads
- Updated destination service to return TLS identities only when the destination pod is TLS-aware and is in the same controller namespace
- Lessen klog level to improve security
- Updated control plane components to query Kubernetes at startup to determine authorized namespaces and if ServiceProfile support is available
- Modified the stats payload to include the following TCP stats:
tcp_open_connections
,tcp_read_bytes_total
,tcp_write_bytes_total
- Proxy
- Fixed issue with proxy falling back to filesystem polling due to improperly sized inotify buffer
- ๐ป Web UI
- Removed 'Help' hierarchy and surfaced links on navigation sidebar
- Added a Debug page to the web dashboard, allowing you to introspect service discovery state
- Updated the resource detail page to start displaying a table with TCP stats
- Internal
- Enabled the following linters:
unparam
,unconvert
,goimports
,goconst
,scopelint
,unused
,gosimple
- Bumped base Docker images
- Enabled the following linters:
- CLI
-
v19.2.3 Changes
- Controller
- Fixed issue with auto-injector not setting the proxy ID, which is required to successfully locate client service profiles
- ๐ป Web UI
- Updated navigation to link the Linkerd logo back to the Overview page
- Fixed console warnings on the Top page
- Controller
-
v19.2.2 Changes
- CLI
- Improved service profile validation when running
linkerd check
in order to validate service profiles in all namespaces
- Improved service profile validation when running
- Controller
- Added stat and tap support for StatefulSets in the CLI, Grafana, and web UI
- Updated auto-injector to use the proxy log level configured at install time
- Fixed issue with auto-injector including TLS settings in injected pods even when TLS was not enabled
- Proxy
- Modified the way in which canonicalization warnings are logged to reduce the overall volume of error logs and make it clearer when failures occur
- CLI
-
v19.2.1 Changes
- Controller
- Breaking change Changed automatic proxy injection to be opt-in via the
linkerd.io/inject
annotation on the pod or namespace. More info: https://linkerd.io/2/proxy-injection/ - Breaking change
ServiceProfile
s are now defined in client and server namespaces, rather than the control plane namespace.ServiceProfile
s defined in the client namespace take priority over ones defined in the server namespace - Added
linkerd.io/created-by
annotation to the linkerd-cni DaemonSet (thanks @codeman9!) - Added a 10 second keepalive default to resolve dropped connections in Azure environments
- Improved node selection for installing the linkerd-cni DaemonSet (thanks @codeman9!)
- Corrected the expected controller identity when configuring pods with TLS
- Modified klog to be verbose when controller log-level is set to
Debug
- Breaking change Changed automatic proxy injection to be opt-in via the
- CLI
- Added the
linkerd endpoints
command to introspect Linkerd's service discovery state - Added the
--tap
flag tolinkerd profile
to generate aServiceProfile
by using the route results seen during the tap - Added support for the
linkerd.io/inject: disabled
annotation on pod specs to disable injection for specific pods when runninglinkerd inject
- Added support for
basePath
in OpenAPI 2.0 files when runninglinkerd profile --open-api
- Increased
linkerd check
client timeout from 5 seconds to 30 seconds to fix issues for clusters with a slower API server linkerd routes
will no longer return rows forExternalName
services in the namespace- Broadened set of valid URLs when connecting to the Kubernetes API
- Improved
ServiceProfile
field validation inlinkerd check
- Added the
- Proxy
- Added TCP keepalive configuration to fix environments where peers may silently drop connections
- The
Get
andGetProfiles
API now accept aproxy_id
parameter in order to return more tailored results - Removed TLS fallback-to-plaintext if handshake fails
- Controller
-
v19.1.4 Changes
- Controller
- Added support for timeouts! Configurable in the service profiles for each route
- Added an experimental CNI plugin to avoid requiring the NET_ADMIN capability when injecting proxies (more details at https://linkerd.io/2/cni) (thanks @codeman9!)
- Added more improvements to the API for
ListPods
(thanks @alenkacz!)
- ๐ป Web UI
- Grayed-out the tap icon for requests from sources that are not meshed
- CLI
- Added the
--proto
flag tolinkerd profile
to output a service profile based on a Protobuf spec file - Fixed CLI connection failure to clusters that use self-signed certificates
- Simplified
linkerd install
so that setting up proxy auto-injection (flag--proxy-auto-inject
) no longer requires enabling TLS (flag--tls
) - Added links for each
linkerd check
failure, pointing to a relevant section in our new FAQ page with resolution steps for each case
- Added the
- Controller
-
v19.1.3 Changes
- Controller
- Improved API for
ListPods
(thanks @alenkacz!) - Fixed
GetProfiles
API call not returning immediately when no profile exists (resulting in proxies logging warnings)
- Improved API for
- ๐ป Web UI
- Improved resource detail pages now show all resource types
- Fixed stats not appearing for routes that have service profiles installed
- CLI
- Added optional
linkerd install-sp
command to generate service profiles for the control plane, providing per-route metrics for control plane components - Removed
--proxy-bind-timeout
flag fromlinkerd install
andlinkerd inject
commands, as the proxy no longer accepts this environment variable - Improved CLI appearance on Windows systems
- Improved
linkerd check
output, fixed check bug when using--single-namespace
(thanks to @djeeg for the bug report!) - Improved
linkerd stat
now supports DaemonSets (thanks @zknill!) - Fixed panic when
linkerd routes
is called in single-namespace mode
- Added optional
- Proxy
- Added the ability to override a proxy's normal outbound routing by adding
an
l5d-override-dst
header - Added
LINKERD2_PROXY_DNS_CANONICALIZE_TIMEOUT
environment variable to customize the timeout for DNS queries to canonicalize a name - Added support for route timeouts in service profiles
- Improved logging for gRPC errors and for malformed HTTP/2 request headers
- Improved log readability by moving some noisy log messages to more verbose log levels
- Added the ability to override a proxy's normal outbound routing by adding
an
- Controller
-
v19.1.2 Changes
- Controller
- Retry support! Introduce an
isRetryable
property to service profiles to enable configuring retries on a per-route basis
- Retry support! Introduce an
- ๐ป Web UI
- Add "meshed" and "no traffic" badges on the resource detail pages
- Fix
linkerd dashboard
to maintain proxy connection when browser open fails - Fix JavaScript bundling to avoid serving old versions after upgrade
- CLI
- Add
linkerd logs
command to surface logs from any container in the Linkerd control plane (shout out to Stern!) - Add
linkerd uninject
command to remove the Linkerd proxy from a Kubernetes config - Improve
linkerd inject
to re-inject a resource that already has a Linkerd proxy - Improve
linkerd routes
to list all routes, including those without traffic - Improve readability in
linkerd check
andlinkerd inject
outputs
- Add
- Proxy
- Fix a deadlock in HTTP/2 stream reference counts
- Controller
-
v19.1.1 Changes
- CLI
- Adjust the set of checks that are run before executing CLI commands, which allows the CLI to be invoked even when the control plane is not fully ready
- Fix reporting of injected resources when the
linkerd inject
command is run onList
type resources with multiple items - Update the
linkerd dashboard
command to use port-forwarding instead of proxying when connecting to the web UI and Grafana - Add validation for the
ServiceProfile
CRD (thanks, @alenkacz!) - Update the
linkerd check
command to disallow setting both the--pre
and--proxy
flags simultaneously (thanks again, @alenkacz!)
- ๐ป Web UI
- Reduce the size of the webpack JavaScript bundle by nearly 50%!
- Fix an indexing error on the top results page
- Proxy
- Fixed The proxy-init container now exits with a non-zero exit code if initialization fails, making initialization errors much more visible
- Fixed The proxy previously leaked UDP sockets for failed DNS queries, causing a memory leak; this has been fixed
- CLI
-
v18.12.4 Changes
โฌ๏ธ Upgrade notes: The control plane components have been renamed as of the ๐ edge-18.12.1 release to reduce possible naming collisions. To upgrade an older โฌ๏ธ installation, see the Upgrade Guide.
- CLI
- Add
--routes
flag to thelinkerd top
command, for grouping table rows by route instead of by path - Update Prometheus configuration to automatically load
*_rules.yml
files - Remove TLS column from the
linkerd routes
command output
- Add
- ๐ป Web UI
- Restore unmeshed resources in the network graph on the resource detail page
- Reduce the overall size of the asset bundle for the web frontend
- Proxy
- Improve configuration of the PeakEwma load balancer
๐ Special thanks to @radu-matei for cleaning up a whole slew of Go lint ๐ warnings, and to @jonrichards for improving the Rust build setup!
- CLI
-
v18.12.3 Changes
โฌ๏ธ Upgrade notes: The control plane components have been renamed as of the ๐ edge-18.12.1 release to reduce possible naming collisions. To upgrade an older โฌ๏ธ installation, see the Upgrade Guide.
- CLI
- Multiple improvements to the
linkerd install
config (thanks @codeman9!) - Use non-default service accounts for grafana and web deployments
- Use
emptyDir
volume mount for prometheus and grafana pods - Set security context on control plane components to not run as root
- Remove cluster-wide resources from single-namespace installs
- Disable service profiles in single-namespace mode
- Require that namespace already exist for single-namespace installs
- Fix resource requests for proxy-injector container in
--ha
installs
- Multiple improvements to the
- Controller
- Block controller initialization until caches have synced with kube API
- Fix proxy-api handling of named target ports in service configs
- Add parameter to stats API to skip retrieving prometheus stats (thanks, @alpeb!)
- ๐ป Web UI
- Adjust label for unknown routes in route tables, add tooltip
- Update Top Routes page to persist form settings in URL
- Add button to create new service profiles on Top Routes page
- Fix CLI commands displayed when linkerd is running in non-default namespace
- Proxy
- Proxies with TLS enabled now honor ports configured to skip protocol detection
- CLI