Project: Teleport (Provisioning / Security & Compliance)
File: CHANGELOG.md

Opsgenie plugin users, role annotations must now contain `teleport.dev/notify-services` to receive notification on Opsgenie. `teleport.dev/schedules` is now the label used to determine auto approval flow. See for setup instructions. Teleport Assist chat has been removed from Teleport 16. Assist is still available in the SSH Web Terminal and Audit Monitoring. Teleport clusters using the dynamodb backend must now have the `dynamodb:ConditionCheckItem` permission. For a full list of all required permissions see the dynamo backend iam policy . Support for disabling second factor authentication has been removed Users with custom `ssh_config` should modify their ProxyCommand to use the new, more performant, `tbot ssh-proxy-command`. See the for more details. Teleport 15 now provides FIPS-compliant Linux builds on ARM64. Users will now be able to run Teleport in FedRAMP/FIPS mode on ARM64. Teleport 15 now provides hardened AWS AMIs on ARM64. Prior to Teleport 15, `tsh play` and the web UI would download the entire session recording before starting playback. As a result, playback of large recordings could be slow to start, and may fail to play at all in the browser. In Teleport 15, session recordings are streamed from the auth server, allowing playback to start before the entire session is downloaded and unpacked. Additionally, `tsh play` now supports a `--speed` flag for adjusting the playback speed. Prior to Teleport 15, the Teleport Kubernetes Operator had to run as a sidecar of the Teleport auth. It was not possible to use the operator in Teleport Cloud or against a Teleport cluster not deployed with the `teleport-cluster` Helm chart. In Teleport 15, the Teleport Operator can reconcile resources in any Teleport cluster. Teleport Cloud users can now use the operator to manage their resources. When deployed with the `teleport-cluster` chart, the operator now runs in a separate pod. This ensures that Teleport's availability won't be impacted if the operator becomes unready. See for installation instructions. Starting with Teleport 15, newly supported kinds will contain the resource version. For example: `TeleportRoleV6` and `TeleportRoleV7` kinds will allow users to create Teleport Roles v6 and v7. Existing kinds will remain unchanged in Teleport 15, but will be renamed in Teleport 16 for consistency. To migrate an existing Custom Resource (CR) `TeleportRole` to a `TeleportRoleV7`, you must: upgrade Teleport and the operator to v15 annotate the exiting `TeleportRole` CR with `teleport.dev/keep: "true"` delete the `TeleportRole` CR (it won't delete the role in Teleport thanks to the annotation) create a new `TeleportRoleV7` CR with the same name Teleport 15 includes a new RDP engine that leverages the RemoteFX codec for improved performance. Additional configuration may be required to enable RemoteFX on your Windows hosts. If you are using our authentication package for local users, the v15 installer will automatically enable RemoteFX for you. Alternatively, you can enable RemoteFX by updating the registry: ```powershell Set-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services' -Name 'ColorDepth' -Type DWORD -Value 5 Set-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services' -Name 'fEnableVirtualizedGraphics' -Type DWORD -Value 1 ``` If you are using Teleport with Windows hosts that are part of an Active Directory environment, you should enable RemoteFX via group policy. Under Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host, enable: Remote Session Environment > RemoteFX for Windows Server 2008 R2 > Configure RemoteFX Remote Session Environment > Enable RemoteFX encoding for RemoteFX clients designed for Windows Server 2008 R2 SP1 Remote Session Environment > Limit maximum color depth Detailed instructions are available in the . A reboot may be required for these changes to take

When running a command on multiple nodes with `tsh ssh`, each line of output is now labeled with the hostname of the node it was written by. Users that rely on parsing the output from multiple nodes should pass the `--log-dir` flag to `tsh ssh`, which will create a directory where the separated output of each node will be written. The `drop` host user creation mode has been removed in Teleport 15. It is replaced by `insecure-drop`, which still creates temporary users but does not create a home directory. Users who need home directory creation should either wrap `useradd`/`userdel` or use PAM. The restricted session feature for SSH has been deprecated since Teleport 14 and has been removed in Teleport 15. We recommend implementing network restrictions outside of Teleport (iptables, security groups, etc). `deb.releases.teleport.dev` and `rpm.releases.teleport.dev` were deprecated in Teleport 11. Beginning in Teleport 15, Debian and RPM packages will no longer be published to these repos. Teleport 14 and prior packages will continue to be published to these repos for the remainder of those releases' lifecycle. All users are recommended to switch to `apt.releases.teleport.dev` and `yum.releases.teleport.dev` repositories as described in installation . The legacy package repos will be shut off in mid 2025 after Teleport 14 has been out of support for many months. Teleport 15 contains several breaking changes to improve the default security and usability of Teleport-provided container images. In order to increase default security in 15+, Teleport will no longer publish to Elastic Container Registry's image repo. Instead, all users should use the introduced in Teleport 12. These images can be found at: https://gallery.ecr.aws/gravitational/teleport-distroless https://gallery.ecr.aws/gravitational/teleport-ent-distroless For users who need a shell in a Teleport container, a "debug" image is available which contains BusyBox, including a shell and many CLI tools. Find the debug images at: https://gallery.ecr.aws/gravitational/teleport-distroless-debug https://gallery.ecr.aws/gravitational/teleport-ent-distroless-debug Do not run debug container images in production environments. Heavy container images will continue to be published for Teleport 13 and 14 throughout the remainder of these releases' lifecycle. The teleport-cluster chart no longer uses versionOverride and extraArgs to set FIPS mode. Instead, you should use the following values file configuration: ``` enterpriseImage: public.ecr.aws/gravitational/teleport-ent-fips-distroless authentication: localAuth: false ``` Teleport Operator container images will no longer be published with architecture suffixes in their tags (for example: `14.2.1-amd64` and `14.2.1-arm`). Instead, only a single tag will be published with multi-platform support (e.g., `15.0.0`). If you use Teleport Operator images with an architecture suffix, remove the suffix and your client should automatically pull the platform-appropriate image. Individual architectures may be pulled with `docker pull --platform <arch>`. The quay.io container registry was deprecated and Teleport 12 is the last version to publish images to quay.io. With Teleport 15's release, v12 is no longer supported and no new container images will be published to quay.io. For Teleport 8+, replacement container images can be found in . Users who wish to continue to use unsupported container images prior to Teleport 8 will need to download any quay.io images they depend on and mirror them elsewhere before July 2024. Following brownouts in May and June, Teleport will disable pulls from all Teleport quay.io repositories on Wednesday July 3, Teleport 15 contains several breaking changes to improve the default security and usability of Teleport-provided Amazon AMIs. Teleport-provided Amazon Linux 2023 previously only supported x86_64/amd64. Starting with Teleport 15, arm64-based AMIs will be produced. However, the naming scheme for these AMIs has been changed to include the architecture. Previous naming scheme: `teleport-oss-14.0.0-$TIMESTAMP` New naming scheme: `teleport-oss-15.0.0-x86_64-$TIMESTAMP` Teleport-provided Amazon Linux 2 AMIs were deprecated, and Teleport 14 is the last version to produce such legacy

With Teleport 15's release, only the newer hardened Amazon Linux 2023 AMIs will be produced. The legacy AMIs will continue to be published for Teleport 13 and 14 throughout the remainder of these releases' lifecycle. In Teleport 15, the process that periodically publishes Teleport's user CA to the Windows NTAuth store has been removed. It is not necessary for Teleport to perform this step since it must be done by an administrator at installation time. As a result, Teleport's service account can use more restrictive permissions. The AWS terraform examples for Teleport clusters have been updated to use the newer hardened Amazon Linux 2023 AMIs. Additionally, the default architecture and instance type has been changed to ARM64/Graviton. As a result of this modernization, the legacy monitoring stack configuration used with the legacy AMIs has been removed. Due to the new separate operator deployment, the operator is deployed by a subchart. This causes the following breaking changes: `installCRDs` has been replaced by `operator.installCRDs` `teleportVersionOverride` does not set the operator version anymore, you must use `operator.teleportVersionOverride` to override the operator version. Note: version overrides are dangerous and not recommended. Each chart version is designed to run a specific Teleport and operator version. If you want to deploy a specific Teleport version, use Helm's `--version X.Y.Z` instead. The operator now joins using a Kubernetes ServiceAccount token. To validate the token, the Teleport Auth Service must have access to the `TokenReview` API. The chart configures this for you since v12, unless you disabled `rbac` creation. The teleport-cluster chart no longer uses versionOverride and extraArgs to set FIPS mode. Instead, you should use the following values file configuration: ``` enterpriseImage: public.ecr.aws/gravitational/teleport-ent-fips-distroless authentication: localAuth: false ``` Starting with Teleport 15, each Terraform resource must have its version specified. Before version 15, Terraform was picking the latest version available on resource creation. This caused inconsistencies as new resources created with the same manifest as old resources were not exhibiting the same behavior. Resource version is now immutable. Changing a resource version will cause Terraform to delete and re-create the resource. This ensures the correct defaults are set. Existing resources will continue to work as Terraform already imported their version. However, new resources will require an explicit version. The minimum password length has been increased to 12 characters. The account lockout interval has been increased to 30 minutes. Teleport 14 brings the following new major features and improvements: Access lists Unified resource view ClickHouse support for database access Advanced audit log Kubernetes apps auto-discovery Extended Kubernetes per-resource RBAC Oracle database access audit logging support Enhanced PuTTY support Support for TLS routing in Terraform deployment examples Discord and ServiceNow hosted plugins Limited passwordless access for local Windows users in OSS Teleport Machine ID: Kubernetes Secret destination In addition, this release includes several changes that affect existing functionality listed in the Breaking changes section below. Users are advised to review them before upgrading. Teleport 14 includes support for a new audit log powered by Amazon S3 and Athena that supports efficient searching, sorting, and filtering operations. Teleport Cloud customers will have their audit log automatically migrated to this new backend. See the documentation . Teleport 14 introduces foundational support for access lists, an extension to the short-lived access requests system targeted towards longer-term access. Administrators can add users to access lists granting them long-term permissions within the cluster. As the feature is being developed, future Teleport releases will add support for periodic audit reviews and deeper integration of access lists with Okta. You can find existing access lists documentation

The web UI in Teleport 14 has been updated to show all resources in a single unified view. This is the first step in a series of changes designed to support a customizable Teleport experience and make it easier to access the resources that are most important to you. Teleport 14 updates its auto-discovery capabilities with support for web applications in Kubernetes clusters. When connected to a Kubernetes cluster (or deployed as a Helm chart), Teleport discovery service will automatically find and enroll web applications for use with app access. See documentation . Teleport 14 extends resource-based access requests to support more Kubernetes resources than just pods, including custom resources, and verbs. Note that this feature requires role version `v7`. See Kubernetes resources documentation to see a full list of [supported resources](docs/pages/kubernetes-access/controls.mdx#kubernetes_resources). Teleport 14 adds database access support for ClickHouse HTTP and native (TCP) protocols. When using HTTP protocol, the user's query activity is captured in the Teleport audit log. See how to connect ClickHouse to Teleport . In Teleport 14, database access for Oracle integration is updated with query audit logging support. See documentation on how to configure it in the . In Teleport 14, access to Windows desktops with local Windows users has been extended to Community Edition. Teleport will permit users to register and connect to up to 5 desktops with local users without an enterprise license. For more information on using Teleport with local Windows users, see . Teleport 14 includes support for hosted Discord and ServiceNow plugins. Teleport Cloud users can configure Discord and ServiceNow integrations to receive access request notifications. Discord plugin is available now, ServiceNow is coming in 14.0.1. tsh on Windows now supports the `tsh puttyconfig` command, which can easily configure saved sessions inside the well-known PuTTY client to connect to Teleport SSH services. For more information, see . The ha-autoscale-cluster and starter-cluster Terraform deployment examples now support a `USETLSROUTING` variable to enable TLS routing inside the deployed Teleport cluster. In Teleport 14, `tbot` can now be configured to write artifacts such as credentials and configuration files directly to a Kubernetes secret rather than a directory on the local file system. This allows other services to more easily consume the credentials output by `tbot` . For more information, see . Please familiarize yourself with the following potentially disruptive changes in Teleport 14 before upgrading. Teleport 14 no longer allows connecting to OpenSSH servers not registered with the cluster. Follow the updated agentless OpenSSH integration to register your OpenSSH nodes in the clusters inventory. You can set `TELEPORTUNSTABLEUNLISTEDAGENTDIALING=yes` environment variable on Teleport proxy to temporarily re-enable the open dial functionality. The environment variable will be removed in Teleport 15. Starting from version 14, Teleport will require users to explicitly enable or disable PROXY protocol in their `proxyservice`/`authservice` configuration using `proxy_protocol: on|off` option. Users who run their proxies behind L4 load balancers with PROXY protocol enabled, should set `proxy_protocol: on`. Users who dont run Teleport behind PROXY protocol enabled load balancers, should disable `proxy_protocol: off` explicitly for security reasons. By default, Teleport will accept the PROXY line but will prevent connections with IP pinning enabled. IP pinning users will need to explicitly enable/disable proxy protocol like explained above. See more details in our . Teleport 14 will be the last release published to the legacy package repositories at `deb.releases.teleport.dev` and `rpm.releases.teleport.dev`. Starting with Teleport 15, packages will only be published to the new repositories at `apt.releases.teleport.dev` and `yum.releases.teleport.dev`. All users are recommended to switch to `apt.releases.teleport.dev` and `yum.releases.teleport.dev` repositories as described in installation

Starting from Teleport 14, the `Cf-Access-Token` header containing the signed JWT token will no longer be included by default with all app access requests. All requests will still include `Teleport-JWT-Assertion` containing the JWT token. See documentation for details on how to inject the JWT token into any header using . In Teleport 14 tsh db sub-commands will attempt to select a default value for `--db-user` or `--db-name` flags if they are not provided by the user by examining their allowed `dbusers` and `dbnames`. The flags `--cert-file` and `--key-file` for tsh proxy db command were also removed, in favor of the `--tunnel` flag that opens an authenticated local database proxy. Teleport 14 includes an update to the MongoDB driver. Due to the MongoDB team dropping support for servers prior to version 3.6 (which reached EOL on April 30, 2021), Teleport also will no longer be able to support these old server versions. In order to strengthen the security in Teleport 14, file loading from home directories where the path includes a symlink is no longer allowed. The most common use case for this is loading environment variables from the `~/.tsh/environment` file. This will still work normally as long as the path includes no symlinks. Teleport 14 deprecates the `trustedclustertoken.create` audit event, replacing it with a new `join_token.create` event. The new event is emitted when any join token is created, whether it be for trusted clusters or other Teleport services. Teleport 14 will emit both events when a trusted cluster join token is created. Starting in Teleport 15, the `trustedclustertoken.create` event will no longer be emitted. In Teleport 14, when creating new DynamoDB tables, Teleport will now create them with the billing mode set to `payperrequest` instead of being set to provisioned mode. The old behavior can be restored by setting the `billing_mode` option in the storage configuration. The default role version in Teleport 14 is `v7` which enables support for extended Kubernetes per-resource RBAC, and changes the `kubernetes_resources` default to wildcard for better getting started user experience. You can review role versions in the . In Teleport 14, database discovery via `db_service` config enforces the same name validation as for databases created via tctl, static config, and `discovery_service`. As such, database names in AWS, GCP and Azure must start with a letter, contain only letters, digits, and hyphens and end with a letter or digit (no trailing hyphens). Teleport 14 introduces a new and more secure API for submitting access requests. As a result, tsh users may be prompted to upgrade their clients before submitting an access request. Desktops discovered via LDAP will have a short suffix appended to their name to ensure uniqueness. Users will notice duplicate desktops (with and without the suffix) for up to an hour after upgrading. Connectivity to desktops will not be affected, and the old record will naturally expire after 1 hour. Teleport 14 introduces a new configuration schema (v2) for Machine IDs agent `tbot`. The new schema is designed to be simpler, more explicit and more extensible: ```yaml version: v2 onboarding: token: gcp-bot join_method: gcp storage: type: memory auth_server: example.teleport.sh:443 outputs: type: identity destination: type: kubernetes_secret name: my-secret type: kubernetes kubernetes_cluster: my-cluster destination: type: directory path: ./k8s type: database service: my-postgres-service database: postgres username: postgres destination: type: directory path: ./db type: application app_name: my-app destination: type: directory path: ./app ``` `tbot` will continue to support the v1 schema for several Teleport versions but it is recommended that you migrate to v2 as soon as possible to benefit from new Machine ID

For more details and guidance on how to upgrade to v2, see . Helm Charts Fixed issue with invite token being incorrectly overridden when it was manually created. Please familiarize yourself with the following potentially disruptive changes in Teleport 13 before upgrading. When upgrading to Teleport 13, users of the Teleport Kubernetes Agent Helm chart that manually create their own Teleport token secret (`secretName=<secretName>` and no auth token provided) will need to set the following values: ```yaml joinTokenSecret: create: false name: <secretName> ``` The Helm chart parameter `secretName` was deprecated in Teleport 13 in favor of `joinTokenSecret.name`. `joinTokenSecret.create` indicates whether the Helm chart should create and manage the join token secret. If `create` is set to `false`, the chart assumes that the secret with the configured name already exists at the installation namespace. Teleport 13 brings the following marquee features and improvements: (Preview) Automatic agent upgrades. (Preview) TLS routing through ALB for Server, Kubernetes and Application Access. (Preview, Enterprise-only) Ability to import applications and groups from Okta to Application Access. (Preview) AWS OpenSearch support for Database Access. (Preview) View and control access to OpenSSH nodes natively in Teleport. Cross-cluster search for Teleport Connect. Kubernetes Access performance improvements. Universal binaries (including Apple Silicon) for macOS. Simplified RDS onboarding flow in Access Management UI. Light theme for Web UI. In Teleport 13 users can configure their Teleport agents deployed via apt/yum repositories or a Helm chart to be upgraded automatically. Teleport 13 adds single-port TLS routing mode support to Server, Kubernetes and Application Access for clusters deployed behind application layer load balancers such as AWS ALB. In Teleport 13 users can import apps and groups from Okta and use Teleport access requests for requesting short-term access to them. This feature is only available in the Teleport Enterprise edition. Database Access users can now connect to AWS OpenSearch databases. In Teleport 13 users will be able register OpenSSH nodes as a resource with the cluster. This will allow users to view the OpenSSH nodes in Web UI and using `tsh ls` and use RBAC to control access to them. See the updated [OpenSSH integration guide](docs/pages/server-access/openssh/openssh.mdx). Teleport Connect now includes a new search experience, allowing you to search for and connect to resources across all logged-in clusters. In Teleport 13 we improved the way Teleport Proxy handles Kubernetes Access credentials. Users will experience better performance when interacting with Kubernetes clusters using kubectl or via the API. Teleport 13 binaries (including Teleport Connect) will have universal architecture and run natively on both Intel and ARM macOS systems. When connecting an RDS database using Teleport 13 Access Management UI, users can connect their AWS account and select the RDS database to add instead of entering details manually. To try out the new flow, add an RDS database using the Resource Management UI in your clusters Web UI dashboard. Teleport's web UI includes an optional light theme. The light theme is enabled by default but can be changed back to the dark theme via the top-right corner user settings menu. Session recordings for Windows desktop sessions can now be exported to video format for offline playback with the new tsh recordings export command. Teleport 13 adds the ability to transfer files in Moderated Sessions. This feature requires that both the session originator and the moderator have joined the session via the web UI. Please familiarize yourself with the following potentially disruptive changes in Teleport 13 before upgrading. Teleport 13 defaults to observer (read-only) mode when joining SSH and Kubernetes sessions. Prior versions of Teleport would default to peer mode for SSH sessions and moderator mode for Kubernetes

To override the default join mode, specify the --mode flag with tsh join. Teleport 13 removes support for rotating all certificate authorities with `tctl auth rotate --type=all`. The `type` flag is now required, which ensures that only one CA is rotated at a time, increasing cluster stability during rotations. The default 30-minute expiry no longer applies to tokens created via YAML resource files. If you want to enforce an expiration, ensure this is set in the `metadata.expires` field. Tokens created using `tctl nodes add` and `tctl tokens add` will continue to have a default 30m expiry applied. Additionally, users of Teleports API module will note that the `CreateToken` and `UpsertToken` RPCs are now deprecated in favor of `CreateTokenV2` and `UpsertTokenV2`. The new V2 variants no longer have a default expiry, so be sure to set a TTL if you want your tokens to expire. The original RPCs are still supported in Teleport 13 and will be removed completely for Teleport 14. Teleport 13 will refuse to create or update users that reference non-existent roles. In some circumstances, older versions of Teleport would permit you to create users and assign them invalid roles. In Teleport 13 this is a hard error. Quay.io registry was deprecated in Teleport 11 and starting with Teleport 13, Teleport container images are no longer being published to it. Users should use the [public ECR registry](https://gallery.ecr.aws/gravitational). Starting with Teleport 13, the Helm charts `teleport-cluster` and `teleport-kube-agent` are deploying distroless Teleport images by default. Those images are slimmer and more secure but contain less tooling (e.g. neither `bash` nor `apt` are available). The Debian-based images are deprecated and will be removed in Teleport 14. The chart image can be reverted back to the Debian-based images by setting: ```yaml image: "public.ecr.aws/gravitational/teleport" ``` For debugging purposes, a "debug" image is available and contains BusyBox, which includes a shell and most common POSIX executables: `public.ecr.aws/gravitational/teleport-distroless-debug`. This release of Teleport contains multiple improvements and bug fixes. Desktop Access Added support for automatic Windows user creation. CLI Fixed MFA permission denied error from `tsh` for non-SSH protocols. Terraform Fixed `AccessControlListNotSupported` error in HA terraform. Device Trust Updated device trust audit events to have descriptive types. This release of Teleport contains multiple improvements and bug fixes. Auth Fixed issue where Github SSO would fail if a user is a part of more than 30 teams. Fixed issue with `tsh login` with "required" hardware key policy returning "policy not met" error. Improved device trust logging and error reporting. Detect and warn about RPID changes when using WebAuthn. Access Management Fixed issue with running install script on macOS for enterprise clusters. Server Access Fixed issue with headless `tsh ssh` not working when used in `rsync -rsh`. Fixed issue with headless `tsh ssh` prompting users for MFA. Fixed issue with `tsh ssh` failing to connect over public address with per-session MFA. Fixed issue with `tsh scp` failing on some destination paths. Require explicit username in headless `tsh ssh`. Updated automatic user provisioning to sort sudoers lines by role name to ensure stable order. Updated `tsh` commands to recognize `SSH_` environment variables. Database Access Fixed issue with `tsh db env` and `tsh db config` not recognizing separate MySQL listener. Kubernetes Access Added `--set-context` flag to `tsh kube login` to allow overriding default context name. IdP Fixed issue with SAML IdP not being disabled properly. IP Pinning Fixed interoperability issues with load balancers with proxy protocol v2 enabled. CLI Fixed issue with cluster alerts sometimes not showing up after `tsh

AMIs Fixed issue with startup script failing to acquire lock from AWS metadata. HSM Fixed issue with inadvertent deletion of active HSM keys when using YubiHSM2 SDK version 2023.1. Performance & Scalability Improved performance of MFA ceremony. This release of Teleport contains multiple improvements and bug fixes. Auto-discovery Added ability to specify discovery group for discovery services. CLI Improved `tsh` performance on some Windows systems. Improved `teleport configure` error/warning reporting. Added `--raw` flag to `teleport version` command. Configuration Prevent proxies from trying to join cluster over reverse tunnel. Server Access Fixed issue with excessive audit logging when copying files over SFTP. Fixed issue with `tsh scp` not recognizing wildcard patterns. Fixed issue with `tsh scp` failing when max sessions is set to 1. Improved error reporting from `tsh scp` when file copying is disabled. Kubernetes Access Fixed issue with `tctl auth sign` not respecting `kubepublicaddr`. Fixed memory leak when using port forwarding. Reduced log spam when using port forwarding. Database Access Updated `teleport db configure` to support more AWS databases. Performance & Scalability Reduced thundering herd effect in large clusters. Web UI Fixed issue with downloading files from leaf clusters when per-session MFA is enabled. This release of Teleport contains multiple bug fixes. CLI Fixed potential panic in `tsh ssh`. Performance & Scalability Improved `tsh ssh` latency. Kubernetes Access Fixed issue with moderator joining session on a cluster they don't have access to. Security Added IP pinning support to SSO users. This release of Teleport contains multiple improvements and bug fixes. Server Access Restored `MajorVersion` template variable for EC2 install scripts. Added `--mlock` flag to headless `tsh` mode to allow memory locking. Fixed issue with EC2 install script silently failing on errors. Database Access Reduced log spam when AWS database engine name is not recognized. Machine ID Improved post-renewal message by logging correct identity. Kubernetes Access Fixed issue with incorrect status being returned on exec commands. Proxy Peering Improved agent reconnect speed with proxy peering. Helm Charts Fixed issue with `securityContext` and `nodeSelector` not being propagated to job hooks. Fixed issue with TLS routing being disabled after v12 upgrade when `proxyListenerMode` is empty. This release of Teleport contains several new features and improvements. Server Access Added support for headless SSO to `tsh ls`, `tsh ssh` and `tsh scp`. Database Access Added support for connecting to Oracle databases. Moderated Sessions Fixed issue with joining moderated sessions via Web UI. Helm Charts Added support for `imagePullSecrets` to `teleport-cluster` chart. Security Added IP pinning support to Kubernetes and database access. Tooling Upgraded Go to `1.20.3`. This release of Teleport contains 2 security fixes as well as multiple improvements and bug fixes. When establishing an SSH port forwarding connection, Teleport did not sufficiently validate the specified OS principal. This could allow an attacker in possession of valid cluster credentials to establish a TCP tunnel to a node using a non-existent Linux user. The connection attempt would show up in the audit log as a "port" audit event (code T3003I) and include Teleport username in the "user" field. When authorizing a Kubernetes access request, Teleport did not adequately validate the target Kubernetes cluster. This could allow an attacker in possession of valid Kubernetes agent credentials or a join token to trick Teleport into forwarding requests to a different Kubernetes cluster. Every Kubernetes request would show up in the audit log as a "kube.request" audit event (code T3009I) and include the Kubernetes cluster metadata. AMIs Added support for configuring TLS routing mode in AMIs. Application Access Added support for application access behind ALB. Fixed app access requests being redirected to leaf's public address in some cases. Reduced log

Added ability to specify command in AWS `tsh` proxy. Bootstrap Added provision tokens support. CLI Added `app_server` support to `tctl` resource commands. Display year in `tctl` commands output. Fixed issue with `tsh` reporting errors about missing webauthn.dll on Windows. Updated `tsh status` to not display internal logins. Added `--cluster` flag to `tsh kube sessions` command. Fixed issue with invalid TLS mode when creating database resources. Database Access Added support for canceling in-progress PostgreSQL requests in database access. Fixed issue with query audit events always having `success: false` status. Desktop Access Updated setup script to be idempotent. Helm Charts Added ability to set resource limits and requests for pre-deployment jobs. Infrastructure Introduced distroless Teleport container images. Kubernetes Access Fixed issue with `tsh kube credentials` failing on remote clusters. Fixed issue with `tsh kube credentials` loading incorrect profile. Machine ID Added ability to specify memory backend using CLI parameters. Added support for Azure delegated joining. Added support for Gitlab delegated joining. Added support for trusted clusters. Added FIPS support. Proxy Peering Fixed proxy peering issues when running behind a load balancer. Reverse Tunnels Fixed issue when joining leaf cluster over tunnel port with enabled proxy protocol. Fixed issue with joining agents over reverse tunnel port. Performance & scalability Improved `tsh ls -R` performance in large clusters. Improved performance when setting session environment variables. Server Access Fixed issue with successful SFTP transfers returning non-zero code. SSO Fixed issue with Github Enterprise SSO not working with custom URLs. Teleport Connect Added support for config customization. Fixed unresponsive terminal on Windows Server 2019. Tooling Updated Electron to `22.3.2`. Updated Go to `1.20.2`. Updated Rust to `1.68.0`. Web UI Added MFA support when copying files. Fixed "ambiguous node" error when downloading files. Fixed intermittent "client connection is closing" errors in web UI after logging in. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with Access Management's connection tester not working with per-session MFA. , Fixed Kubernetes access panic when using moderated sessions. Fixed `tsh db config` reporting incorrect port in TLS routing mode. Fixed issue with Teleport always performing OS group check even without auto user provisioning enabled. Fixed issue with desktop access crashing on systems that consume many file descriptors. Fixed issue with `teleport start --bootstrap` command failing on unexpected resource. Fixed issue with install script not refreshing repository metadata before installing new version. Added ability to export database CA in DER format via `tctl auth export`. Reduced log spam from proxy multiplexer. Updated EC2 auto-discovery install script to use enterprise binaries for enterprise clusters. Upgraded Go to `v1.19.7`. Improved idle connections handling. , Improved Kubernetes service labels validation upon startup. Improved `tsh login` error reporting when proxy is not available. This release of Teleport contains multiple improvements and bug fixes. Added ability for Teleport to function as SAML IdP (Enterprise edition only). Downgraded Go to `v1.19.6` to resolve memory leak issues. Fixed issue with `tsh scp` overriding copied file permissions without `-p` flag. Improved performance of fetching remote clusters. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with `tsh` not respecting HTTPS_PROXY in some cases. Fixed issue with config validation in Helm charts scratch mode. Added IAM joining support for Azure VMs. Added auto-discovery support for Azure VMs. Added support for `ap-southeast-4` AWS region for IAM joining. Added ability to specify web terminal scrollback length in proxy config. Added support for PuTTY's `winadj` channel requests. Added `--trace-profile` flag to `tsh` that allows generating runtime trace profiles. Added enhanced session recording support for arm64

Updated `tctl alert ack` to allow acknowledging alerts of any severity. Updated Windows desktop access to display only applicable logins. Improved Kubernetes access performance when using `kubectl`. Improved Teleport Connect performance when connecting to large clusters. Improved performance and scalability in large clusters. This release of Teleport contains multiple security fixes, improvements and bug fixes. Fixed issue with malicious SQL Server packet being able to cause proxy crash. Fixed issue with session terminated after a short delay instead of being immediately paused when moderator leaves. Fixed issue with orphaned child processes after session ends. Fixed issue with not being able to see any pods with an active access request. Fixed issue with remote cluster state not always being correctly updated. Fixed heartbeat errors from the Database Service. Fixed issue with applications temporarily disappearing during Application Service restart. Fixed issue with some Helm values being accidentally shared between Auth Service and Proxy Service configs. Fixed issues with desktop access flow in Access Management interface. Fixed "access denied" errors in Teleport Connect on Windows. Fixed issue with database GUI client connections requiring random taps when per-session MFA is enabled. Fixed issue with moderated sessions not working on leaf clusters. Fixed issue with missing `--request-id` flag in UI for Kubernetes login instructions. Fixed issue connecting to AWS resources when using full IAM role ARNs. Fixed issue with `localauth: false` setting being ignored without explicitly setting `authenticationtype`. Added `tctl` resource commands for Device Trust. Added support for assuming roles in `tsh proxy aws`. Added early feedback for successful security key taps in `tsh`. Added device lock support. Added support for security contexts in `teleport-kube-agent` Helm chart. Updated `tsh version` command to display client version only via `--client` flag. Updated install script to use enterprise packages for enterprise clusters. Updated install script to use deb/rpm repositories. Updated proxy init container in Helm charts to use security context. Updated `tsh` to include timestamps with debug logs. Updated AWS access to fetch credentials with TTL matching user's certificate TTL. Updated Go toolchain to `1.20.1`. Updated `tsh kube login --all` to not require cluster name. Updated `teleport db configure create` command to support more use-cases. Improved performance in large clusters with etcd backend. , This release of Teleport contains a security fix as well as multiple improvements and bug fixes. Updated OpenSSL to `1.1.1t`. Fixed issue with Access Manager interface not accepting valid port numbers. Fixed issue with some application access requests failing after proxy restart. Fixed issue with invalid role template namespaces leading to cluster lockouts. Fixed issue with Teleport Connect failing to recognize logged in user sometimes. Fixed issue with the back button not working in Web UI navigation. Fixed issue with Web UI SSH player having scroll bars. Added support for `tsh request search --kind=pod` command. Updated `tsh db configure create` to require flag for dynamic resources matching. Improved reconnect stability after Database Service restart. Improved reconnect stability after Kubernetes service restart. Improved `tsh ls -R` performance. Improved `tsh scp` error message when no remote path is specified. Improved error message when trying to rename resource. Reduced CPU usage when using enhanced session

Teleport 12 brings the following marquee features and improvements: Device Trust (Preview, Enterprise only) Passwordless Windows access for local users (Preview, Enterprise only) Per-pod RBAC for Kubernetes access (Preview) Azure and GCP CLI support for application access (Preview) Support for more databases in database access: AWS DynamoDB AWS Redshift Serverless AWS RDS Proxy for PostgreSQL/MySQL Azure SQLServer Auto Discovery Azure Flexible Servers Refactored Helm charts (Preview) Dropped support for SHA1 in Server Access Signed/notarized macOS binaries Teleport 12 includes a preview of our upcoming Device Trust feature, which allows administrators to require that Teleport access is performed from an authenticated and trusted device. This preview release requires macOS and a native client like tsh or Teleport Connect. These clients leverage the Secure Enclave on macOS to solve device challenges issued by the Teleport CA, proving their identity as a trusted device. Teleport features requiring the web UI (desktop access, application access) are not currently supported. Teleport 12 brings passwordless certificate-based authentication to Windows desktops in environments where Active Directory is not available. This feature requires the installation of a Teleport package on each Windows desktop. Teleport 12 extends RBAC to support controlling access to individual pods in Kubernetes clusters. Pod RBAC integrates with existing Teleport RBAC features such as role templating and access requests. In Teleport 12 administrators can interact with Azure and GCP APIs through the Application Service using `tsh az` and `tsh gcloud` CLI commands, or using standard `az` and `gcloud` tools through the local application proxy. Database access in Teleport 12 brings a number of new integrations to AWS-hosted databases such as DynamoDB (now with audit log support), Redshift Serverless and RDS Proxy for PostgreSQL/MySQL. On Azure, database access adds SQLServer auto-discovery and support for Azure Flexible Server for PostgreSQL/MySQL. The teleport-cluster Helm chart underwent significant refactoring in Teleport 12 to provide better scalability and UX. Proxy and Auth are now separate deployments and the new scratch chart mode makes it easier to provide a custom Teleport config. Custom mode users should follow the [migration guide](./docs/pages/deploy-a-cluster/helm-deployments/migration-v12.mdx). Newer OpenSSH clients connecting to Teleport 12 clusters no longer need the PubAcceptedKeyTypes workaround to include the deprecated sha algorithm. Users who download Teleport 12 Darwin binaries would no longer get an untrusted software warning from macOS. tctl now supports an edit subcommand, allowing you to edit resources directly in your preferred text editor. Please familiarize yourself with the following potentially disruptive changes in Teleport 12 before upgrading. The teleport-cluster Helm chart underwent significant changes in Teleport 12. To upgrade from an older version of the Helm chart deployed in custom mode, follow the . Additionally, PSPs are removed from the chart when installing on Kubernetes 1.23 and higher to account for the deprecation/removal of PSPs by Kubernetes. The tctl auth export command only exports the private key when passing the --keys flag. Previously it would output the certificate and private key together. Windows Desktop sessions disable the wallpaper by default, improving performance. To restore the previous behavior, add `showdesktopwallpaper: true` to your windowsdesktopservice config. This release of Teleport contains multiple improvements and bug fixes. Fixed regression issue with accessing SSO apps behind application access. Fixed regression performance issue with `tsh scp`. Fixed issue with `tsh proxy aws --endpoint-url` not working. Fixed issue with MongoDB queries failing on large datasets. Fixed issue with direct node dial from web UI. Updated install scripts to download binaries from new CDN location. Updated `tsh` to detect unplugged devices when using hardware-backed keys. Updated Elasticsearch access to explicitly require `--db-user`. (#20695) Updated Rust to 1.67.0. This release of Teleport contains a security fix, as well as multiple improvements and bug fixes. Fixed issue with moderated sessions not being disconnected on Ctrl+C. Fixed issue with node install script downloading OSS binaries in Enterprise edition. Fixed a regression when renewing Kubernetes dynamic credentials that prevented multiple renewals. Fixed issue with `tctl auth sign` not respecting Ctrl-C. Fixed occasional key attestation error in `tsh

Fixed issue with being able to create access request with invalid cluster name. Fixed issue with EC2 auto-discovery install script for RHEL instances. Fixed issue connecting with Oracle MySQL client on Windows. Fixed issue with using `tctl auth sign --format kubernetes` against remote auth server. Fixed panic in Azure SQL Server access. Added support for Moderated Sessions in the Web UI. Added support for Login Rules for SSO users. , , , Added ability to acknowledge alerts. Added `clientidletimeout_message` support to Windows access. Added PodMonitor support in `teleport-cluster` Helm chart. Added support for passing raw config in `teleport-kube-agent` Helm chart. Added nodeSelector field to `teleport-cluster` Helm chart. Improved Kubernetes access stability for slow clients. Updated `teleport-cluster` Helm chart to reload proxy certificate daily. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with `tsh login` defaulting to passwordless and ignoring the `--auth` and `--mfa-mode` flags. Fixed regression issue with AWS console access via `tsh aws`. Fixed issue connecting to MariaDB in non-TLS Routing mode. Fixed the `:*` selector in EC2 auto-discovery. Improved handling of unknown events in the events search API. Added support for multiple transformations in role templates. Added the ability to update a Trusted Cluster's role mappings without recreating the cluster. Added `dnsConfig` support to the `teleport-kube-agent` Helm chart. This release of Teleport contains multiple improvements and bug fixes. Fixed issue connecting to leaf cluster nodes via web UI with per-session MFA. Fixed issue with `maxkubernetesconnections` leading to access denied errors. Fixed issue with `kube-agent` Helm chart leaving state behind after `helm uninstall`. Fixed X.509 issue after updating RDS database resource. Fixed issue with some `tsh` HTTP requests missing extra headers. Improved auto-discovery config validation. Improved graceful shutdown stability. Improved application access authentication flow. Reduced auth load by ensure proxy uses cache for periodic operations. Updated Rust to `1.66.1`. Updated macOS binaries to be signed and notarized. This release of Teleport contains multiple improvements and bug fixes. Added support for periodically reloading the proxy's TLS certificates Improved desktop certificate generation by using the proper field for querying a user's SID Updated the web UI to hide the trusted clusters screen for users who lack the appropriate role Fixed an issue resulting in an "invalid bearer token" message Fixed an issue preventing bots from using IAM joining Fixed an issue where Machine ID Certificates did not respect the provided TTL when using IAM joining Updated to Go 1.19.5 This release of Teleport contains multiple improvements and bug fixes. In addition, we're happy to announce a set of GitHub Actions that you can use in your workflows to assist with accessing Teleport Resources in your CI/CD pipelines. Visit the individual repositories to find out more and see usage examples: https://github.com/teleport-actions/setup https://github.com/teleport-actions/auth https://github.com/teleport-actions/auth-k8s For a more in-depth guide, see our for using Teleport with GitHub Actions. Later this year, Windows will begin requiring a stronger mapping from a certificate to an Active Directory user. In anticipation of this change, Teleport 11.2.0 is compliant with the new requirements. Warning: This feature requires that Teleport's own service account also uses a strong mapping. In order to support this requirement, you must now set a new Security Identifier (`sid`) field in the LDAP configuration for your Windows Desktop

You can find the SID for your service account by running the following PowerShell snippet (replace `svc-teleport` with the name of the service account you are using): ``` Get-AdUser -Identity svc-teleport | Select SID ``` Added an improved database joining flow in the web UI Added support for secure certificate mapping for Windows desktop certificates Fixed an issue with desktop directory sharing where large files could be corrupted Fixed an issue where desktop access users may see a an error after ending a session Fixed an issue preventing database agents from joining due to improperly formatted YAML Updated the web UI to use session storage instead of local storage for Teleport's bearer token Added rate limiting to SAML/OIDC routes Fixed an issue connecting to leaf cluster desktops via reverse tunnel Fixed a backwards compatibility issue with database access in 11.1.4 Fixed an issue where access requests for Kubernetes clusters used improperly cached credentials Added support for CentOS 7 in ARM64 builds Added rate limiting to unauthenticated routes Add suggested reviewers and requestable roles to Teleport Connect access requests Fixed an issue listing all nodes with `tsh` Made `gcp.credentialSecretName` optional in the Teleport Cluster Helm chart Fixed an issue preventing audit events that exceed the maximum size limit from being logged Fixed an issue preventing some users from being able to play desktop recordings Added validation of AWS Account IDs when adding databases (#19638) Added a new audit event for DynamoDB requests via application access Added the ability to export `tsh` traces even when the Auth Server is not configured for tracing Added support for linking Teleport Connect's embedded `tsh` binary for use outside of Teleport Connect This release of Teleport contains multiple security fixes, improvements and bug fixes. Note: This release of Teleport contains an issue that affects backwards compatibility with database access agents. If you are a database access user we recommend skipping straight to version 11.2.0. When establishing a direct-tcpip channel, Teleport did not sufficiently validate RBAC. This could allow an attacker in possession of valid cluster credentials to establish a TCP tunnel to a node they didnt have access to. The connection attempt would show up in the audit log as a port audit event (code T3003I) and include Teleport username in the user field. When accepting application access requests, Teleport did not sufficiently validate client credentials. This could allow an attacker in possession of a valid active application session ID to issue requests to this application impersonating the session owner for a limited time window. Presence of multiple cert.create audit events (code TC000I) with the same app session ID in the routetoapp.session_id field may indicate the attempt to impersonate an existing users application session. When issuing a user certificate, Teleport did not check for the presence of IP restrictions in the clients credentials. This could allow an attacker in possession of valid client credentials with IP restrictions to reissue credentials without IP restrictions. Presence of a cert.create audit event (code TC000I) without corresponding user.login audit event (codes T1000I or T1101I) for users with IP restricted roles may indicate an issuance of a certificate without IP restrictions. After logging out via the web UI, a users session could remain cached in Teleports proxy, allowing continued access to resources for a limited time window. Fixed issue with noisy-square distortions in desktop access. Fixed issue with LDAP search pagination in desktop access. Fixed issue with SSH sessions inheriting OOM score of the parent process. Fixed issue with ambiguous host resolution in web UI. Fixed issue with using desktop access with Windows 10. Fixed issue with `session.start` events being overwritten by `session.exec` events. Fixed issue with `tsh login --format kubernetes` not setting SNI info. Fixed issue with WebSockets not working via app access if the upstream web server is using HTTP/2. Fixed TLS routing in insecure mode. Fixed issue with connecting to ElastiCache 7.0.4 in database

Fixed issue with SAML connector validation calling descriptor URL prior to authz checks. Fixed issue with database access complaining about "redis" engine not being registered. Fixed issue with `disconnectexpiredcert` and `requiresessionmfa` settings conflicting with each other. Fixed startup failure when MongoDB URI is not resolvable. Added resource names for access requests in Teleport Connect. Added support for Github Enterprise join method. Added the ability to supply Access Request TTLs. Added new `instance.join` and `bot.join` audit events. Added support for port-forward over websocket protocol in Kubernetes access. Reduced latency of `tsh ls -R`. Updated desktop access config script to disable password prompt. Updated Go to 1.19.4. Improved performance when converting traits to roles. Improved handling of expired database certificates in Teleport Connect. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with EC2 discovery failing to install Teleport on older Ubuntu instances. Fixed issue with log spam when cleaning up groups for automatically created Linux users. Fixed issue with `tctl windows_desktops ls` not producing results in JSON and YAML formats. Fixed issue with web SSH sessions in proxy recording mode. Improved handling of corrupted session recordings. This release of Teleport contains a security fix as well as multiple improvements and bug fixes. Fixed issue where an attacker with physical access to user's computer and raw access to the filesystem could potentially recover the seed QR code. Fixed issue with Teleport Connect not working on macOS. Added support for Cloud HSM on Google Cloud. Added `server_hostname` to `session.` audit events. Added ability to specify roles when making access requests in web UI. Improved error reporting from etcd backend. Improved failed session recording upload logs to include upload and session IDs. This release of Teleport contains multiple improvements and bug fixes. Added support for self-hosted Github Enterprise SSO connectors in Teleport Enterprise edition. , Added audit events for DynamoDB via AWS CLI access. Added auth connectors support in Kubernetes Operator. Added audit events for desktop access directory sharing. Added trusted clusters support for desktop access. Added support for `user.spec` syntax in moderated session filters. Added support for GKE auto-discovery to Kubernetes access. Added FIPS support to desktop access. Added `teleport discovery bootstrap` command. Added `windows_desktops` as the correct resource for `tctl` commands. Updated `tsh db ls` JSON and YAML output to include allowed users. Updated `tctl auth sign --format kubernetes` to allow merging multiple clusters in the same kubeconfig. Improved web UI SSH performance. , Improved `tsh play` output in JSON and YAML formats. Fixed issue with RDS auto-discovery failing to start in some cases. Fixed "cannot read properties of null" error when trying to add a new server using web UI. Fixed issue with applications list pagination in web UI. Fixed issue with MongoDB commands sometimes failing through database access. Fixed issue with automatically imported cloud labels not being used in RBAC in App Access. Fixed issue with Kubernetes sessions lingering after all participants have disconnected. Fixed issue with auth server being down affecting ability to establish new non-moderated SSH sessions. Fixed issue with launching SSH sessions when SELinux is enabled. Fixed issue with not being able to create SAML connectors with templated role names. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with validation of U2F devices. Fixed `tsh ssh -J` not being able to connect to leaf cluster nodes. Fixed issue with failed database connection when client requests GSS encryption. Fixed issue with setting Teleport version to v10 in Helm charts resulting in invalid config. Fixed issue with Teleport Kubernetes resource name conflicting with builtin resources. Fixed issue with invalid MS Teams plugin systemd service

Fixed issue with failing to connect to OpenSSH 7.x servers. Fixed issue with extra trailing question mark in application access requests. Fixed issue with application access websocket requests sometimes failing in Chrome. Fixed issue with multiple `tbot`'s concurrently using the same output directory. Fixed issue with `tbot` failing to parse version on some kernels. Fixed panic when v9 node runs against v11 auth server. Fixed issue with Kubernetes proxy caching client credentials between sessions. Fixed issue with agents not being able to reconnect to proxies in some cases. Fixed issue with remote tunnel connections not being closed properly. Added CircleCI support to Machine ID. Added support for `arm` and `arm64` Docker images for Teleport and Operator. Added PostgreSQL and MySQL RDS Proxy support to database access. Improved database access denied error messages. Improved desktop access errors in case of locked sessions. Improved web UI handling of private key policy errors. Improved memory usage in clusters with large numbers of active sessions. Updated `tsh proxy ssh` to support `HTTPS_PROXY`. Updated Azure hosted databases to fetch the new CA. Updated `tsh kube login` to support providing default user, group and namespace. Updated web UI session listing to include active sessions of all types. Updated user locking to terminate in progress TCP application access connections. Updated `teleport configure` command to produce v2 config when auth server is provided. Updated all systemd service files to set max open files limit. This release of Teleport contains a security fix and multiple bug fixes. Teleport did not block SFTP protocol in Moderated Sessions. Fixed issue with agent forwarding not working for auto-created users. Fixed "traits missing" error in application access. Fixed connection leak issue in IAM joining. Fixed panic in "tsh db ls". Fixed issue with "tsh mfa add" not displaying OTP QR code image on Windows. Fixed issue with `tctl rm windows_desktop/<name>` removing all desktops. Fixed issue connecting to Redis 7.0 in cluster mode. Fixed "failed to open user account database" error after exiting SSH session. Improved `tctl` UX when using hardware-backed private keys. Improved `tsh mfa add` error reporting. Teleport 11 brings the following new major features and improvements: Hardware-backed private keys support for server access (Enterprise only). Replacement of obsolete SCP protocol with SFTP for server access. Removal of persistent storage requirement for Helm charts. Automatic discovery and enrollment of EKS/AKS clusters for Kubernetes access. Richer Azure integrations for server and database access. Cassandra and Scylla support for database access, including AWS Keyspaces. GitHub Actions and Terraform support for Machine ID. Access Requests and file upload/download support for Teleport Connect. Teleport 11 clients (such as tsh or Connect) support storing their private key material on Yubikey devices instead of filesystem which helps prevent credentials exfiltration attacks. See how to enable it in the : Hardware-backed private keys is an enterprise only feature, and is currently supported for server access only. Teleport 11 adds server-side support for SFTP protocol which many IDEs such as VSCode or JetBrains PyCharm, GoLand and others use for browsing, copying, and editing files on remote systems. The following guides explain how to use IDEs to connect to a remote machine via Teleport: In addition, Teleport 11 clients will use SFTP protocol for file transfer under the hood instead of the obsolete scp protocol. Server-side scp is still supported so existing clients arent affected. In Teleport 11 users no longer need to use persistent storage when deploying Helm

When running on Kubernetes, Teleport services will now store their identities in Kubernetes Secrets which removes the need for using persistent storage or static join tokens. For existing deployments, this change involves migration from Deployment to StatefulSet which is performed automatically during Helm upgrade to Teleport 11. Teleport 11 adds support for automatic discovery and enrollment of AWS Elastic Kubernetes Service (EKS) and Azure Kubernetes Service (AKS) clusters. Teleport 11 improves Azure support in multiple areas. Teleport agents running on Azure VMs will now automatically import Azure tags to label resources. Teleport database access now supports auto-discovery for Azure-hosted PostgreSQL and MySQL databases. See the [Azure guide](docs/pages/database-access/enroll-azure-databases/azure-postgres-mysql.mdx) for more details. In addition, Teleport database access will now use Azure AD managed identity authentication for Azure-hosted SQL Server databases. Teleport 11 adds support for Cassandra and ScyllaDB databases in Database Access. This includes support for AWS Keyspaces. Teleport 11 adds support for secret-less joining of Machine ID agents in GitHub Actions workflows. See the guide for more details: TODO We have also released a GitHub Action for setting up the Teleport binaries within a GitHub workflow environment. More details regarding this can be found at the Teleport GitHub Actions repository: https://github.com/gravitational/teleport-actions In addition, the Teleport Terraform plugin now supports the creation of Machine ID Bots and Bot Tokens. tsh 11 adds support for MFA and passwordless logins via Windows Hello and FIDO2 devices. Teleport Connect has added support for Access Requests and file upload/download. Please familiarize yourself with the following potentially disruptive changes in Teleport 11 before upgrading. Beginning in Teleport 11, GitHub SAML SSO will only be available in our Enterprise Edition. GitHub SSO without SAML will continue to work with OSS Teleport. To keep using GitHub SSO with the OSS Teleport, SAML SSO needs to be disabled for your GitHub organization. OSS Teleport users can continue to use GitHub SSO if using a Github Free or Team GitHub Plan. In Teleport Plugins 11, `redirect_url` property in OIDC connectors created via a Terraform module expects an array: ``` redirect_url = [ "http://example.com" ] ``` Starting with Teleport 11, Quay.io as a container registry has been deprecated. Customers should use the new AWS ECR registry to pull [Teleport Docker images](./docs/pages/installation.mdx#docker). Quay.io registry support will be removed in a future release. In Teleport 11, old deb/rpm repositories (deb.releases.teleport.dev and rpm.releases.teleport.dev) have been deprecated. Customers should use the new repositories (apt.releases.teleport.dev and yum.releases.teleport.dev) to . Support for our old deb/rpm repositories will be removed in a future release. Teleport 11 agents will now store their identities in Kubernetes Secrets when deployed via a Helm chart which eliminates the need for using persistent storage or static join tokens. Due to this change, Teleport agents are now always deployed as part of StatefulSet regardless of whether persistent storage is enabled or not. Existing agents that were deployed as Kubernetes Deployments (i.e. without persistent storage) will be automatically converted to StatefulSets during Teleport 11 Helm upgrade. The preview PostgreSQL backend was deleted due to performance and scalability concerns. 32-bit support for desktop access on ARM and 386 architectures has been removed due to performance issues on these devices. This also reduces the binary size for these builds, making them slightly more convenient for smaller resource-constrained devices. Teleport 10 is a major release that brings the following new features. Platform: Passwordless (Preview) Resource Access Requests (Preview) Proxy Peering (Preview) Server access: IP-Based Restrictions (Preview) Automatic User Provisioning (Preview) Database access: Audit Logging for Microsoft SQL Server database access Snowflake database access (Preview) ElastiCache/MemoryDB database access (Preview) Teleport Connect: Teleport Connect for server and database access (Preview) Machine ID: Machine ID database access support (Preview) Teleport 10 introduces passwordless support to your

To use passwordless users may register a security key with resident credentials or use a built-in authenticator, like Touch ID. See the . Teleport 10 expands just-in-time access requests to allow for requesting access to specific resources. This lets you grant users the least privileged access needed for their workflows. Just-in-time access requests are only available in Teleport Enterprise Edition. Proxy peering enables Teleport deployments to scale without an increase in load from the number of agent connections. This is accomplished by allowing Proxy Services to tunnel client connections to the desired agent through a neighboring proxy and decoupling the number of agent connections from the number of Proxies. Proxy peering can be enabled with the following configurations: ```yaml auth_service: tunnel_strategy: type: proxy_peering agentconnectioncount: 1 ``` ```yaml proxy_service: peerlistenaddr: 0.0.0.0:3021 ``` Network connectivity between proxy servers to the `peerlistenaddr` is required for this feature to work. Proxy peering is only available in Teleport Enterprise Edition. Teleport 10 introduces a new role option to pin the source IP in SSH certificates. When enabled, the source IP that was used to request certificates is embedded in the certificate, and SSH servers will reject connection attempts from other IPs. This protects against attacks where valid credentials are exfiltrated from disk and copied out into other environments. IP-based restrictions are only available in Teleport Enterprise Edition. Teleport 10 can be configured to automatically create Linux host users upon login without having to use Teleport's PAM integration. Users can be added to specific Linux groups and assigned appropriate sudoer privileges. To learn more about configuring automatic user provisioning read the . Teleport 9 introduced a preview of database access support for Microsoft SQL Server which didnt include audit logging of user queries. Teleport 10 captures users' queries and prepared statements and sends them to the audit log, similarly to other supported database protocols. Teleport database access for SQL Server remains in Preview mode with more UX improvements coming in future releases. Refer to to set up access to a SQL Server with Active Directory authentication. Teleport 10 brings support for Snowflake to database access. Administrators can set up access to Snowflake databases through Teleport for their users with standard database access features like role-based access control and audit logging, including query activity. Connect your Snowflake database to Teleport following the . Teleport 9 added Redis protocol support to database access. Teleport 10 improves this integration by adding native support for AWS-hosted Elasticache and MemoryDB, including auto-discovery and automatic credential management in some deployment configurations. Learn more about it in the [documentation]( docs/pages/database-access/enroll-aws-databases/redis-aws.mdx). Teleport Connect is a graphical macOS application that simplifies access to your Teleport resources. Teleport Connect 10 supports server access and database access. Other protocols and Windows support are coming in a future release. Get Teleport Connect installer from the macOS tab on the downloads page: https://goteleport.com/download/. In Teleport 10 weve added database access support to Machine ID. Applications can use Machine ID to access databases protected by Teleport. You can find Machine ID guide for database access in the . Please familiarize yourself with the following potentially disruptive changes in Teleport 10 before upgrading. Teleport 10 agents will now refuse to start if they detect that the Auth Service is more than one major version behind them. You can use the `--skip-version-check` flag to bypass the version check. Take a look at component compatibility guarantees in the . Reverse tunnel connections will now respect `HTTP_PROXY` environment

This may result in reverse tunnel agents not being able to re-establish connections if the HTTP proxy is set in their environment and does not allow connections to the Teleport Proxy Service. Refer to the for more details. With Teleport 10 weve migrated to new APT repositories that now support multiple release channels, Teleport versions and OS distributions. The new repositories have been backfilled with Teleport versions starting from 6.2.31 and we recommend upgrading to them. The old repositories will be maintained for the foreseeable future. See the [installation instructions](docs/pages/server-access/getting-started.mdx#step-14-install-teleport-on-your-linux-host). The `tctl access ls` command that returned information about user server access within the cluster was removed. Please use a previous `tctl` version if youd like to keep using it. In previous versions of Teleport users needed full access to a Node/Kubernetes pod in order to join a session. Teleport 10 relaxes this requirement. Joining sessions remains deny-by-default but now only `join_sessions` statements are checked for session join RBAC. See the [Moderated Sessions guide](docs/pages/access-controls/guides/moderated-sessions.mdx) for more details. The GitHub authentication connectors `teamstologins` field is deprecated in favor of the new `teamstoroles` field. The old field will be removed in a future release. Teleport 10 will now automatically use FIPS endpoints for AWS S3 and DynamoDB when started with the `--fips` flag. You can use the `usefipsendpoint=false` connection endpoint option to use regular endpoints for Teleport in FIPS mode, for example: ``` s3://bucket/path?region=us-east-1&usefipsendpoint=false ``` See the [S3/DynamoDB backend documentation](docs/pages/reference/backends.mdx) for more information. This release of Teleport contains a security fix, as well as multiple improvements and bug fixes. When checking a users roles prior to starting a session, Teleport may have incorrectly allowed a session to proceed without moderation depending on the order roles are received from the backend. Fixed issue with per-session MFA swallowing key presses. Fixed issue with `tsh db ls -R` now showing allowed users. Fixed vertical and horizontal scroll in desktop access. Fixed issue with invalid query filters forcing `tsh` relogin. Fixed issue with TLS routing and proxy jump. Fixed issue with MongoDB connections timing out in certain scenarios. Fixed issue with Machine ID certificate renewal with empty requested roles. Fixed issue with Windows desktops not being labeled with LDAP attribute labels. Fixed issue with desktop access streaming not being terminated properly. Added ability to use FIPS endpoints for S3 and DynamoDB using `usefipsendpoint` connection option. Added ability to specify CA pin as a file path in the config. Improved reconnect reliability after root proxy restart. Improved error messages for failed auth client connections. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with startup delay caused by AWS EC2 check. Added `tsh ls -R` that displays resources across all clusters and profiles. Fixed issue with `tsh` not correctly reporting "address in use" error during port forwarding. Fixed two potential panics. , Fixed issue with enhanced session recording not working on recent Ubuntu versions. Fixed issue with CA rotation when Database Service does not contain any databases. Fixed issue with desktop access connection failing with "invalid channel name rdpsnd" error. Fixed issue with invalid Teleport config when enabling IMDSv2 in Terraform config. This release of Teleport contains multiple improvements and bug fixes. Added Unicode clipboard support to desktop access. Fixed backwards compatibility issue with fetch access requests from older servers. Fixed issue with application access requests periodically failing with 500 errors. Fixed issues with pagination when displaying applications. Fixed file descriptor leak in Machine ID. This release of Teleport contains multiple improvements and bug fixes. Fixed backwards compatibility issue with fetching access requests from older servers. Fixed issue with using Microsoft SQL Server Management Studio with database

Added support for `tsh proxy ssh -J` to improve interoperability with OpenSSH clients. Added ability to provide security context in Helm charts. Added Application and database access support to reference AWS Terraform deployment. Improved reliability of dialing Auth Server through the Proxy. Improved `kubectl exec` auditing by logging access denied attempts. , This release of Teleport contains multiple security, bug fixes and improvements. When setting up agent forwarding on the node, Teleport did not handle unix socket creation in a secure manner. This could have given a potential attacker an opportunity to get Teleport to change arbitrary file permissions to the attackers user. When handling websocket requests, Teleport did not verify that the provided Bearer token was generated for the correct user. This could have allowed a malicious low privileged Teleport user to use a social engineering attack to gain higher privileged access on the same Teleport cluster. When accepting an access request, Teleport did not enforce the maximum request reason size. This could allow a malicious actor to mount a DoS attack by creating an access request with a very large request reason. When initializing a moderated session, Teleport did not discard participants input prior to the moderator joining. This could prevent a moderator from being able to interrupt a malicious command executed by a participant. Fixed issue with stdin hijacking when per-session MFA is enabled. Added support for automatic tags import when running on AWS EC2. Added ability to use multiple redirect URLs in OIDC connectors. Fixed issue with ANSI escape sequences being broken when using `tsh` on Windows. Fixed issue with `tsh ssh` printing extra error upon exit if last command was unsuccessful. Added support for Proxy Protocol v2 in MySQL proxy. Upgraded to Go `v1.17.11`. Added Windows desktops labeling based on their LDAP attributes. Improved performance when listing resources for users with many roles. This release of Teleport contains two bug fixes. Fixed issue with Machine ID's `tsh` version check. Fixed AWS related log spam in database agent when not running on AWS. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with `tctl` not taking `TELEPORT_HOME` environment variable into account. Fixed issue with Redis `AUTH` command not always authenticating the user in database access. Fixed issue with Teleport not starting with deprecated U2F configuration. Fixed issue with `tsh db ls` not showing allowed users for leaf clusters. Fixed issue with `teleport configure` failing when given non-existent data directory. Fixed issue with `tctl` not outputting debug logs. Fixed issue with Kubernetes access not working when using default CA pool. Fixed issue with Machine ID not working in TLS routing mode. Improved connection performance in large clusters. Improved memory usage in large clusters. Teleport 9.3.0 reduces the minimum GLIBC requirement to 2.18 and enforces more secure cipher suites for desktop access. As a result of these changes, desktop access users with desktops running Windows Server 2012R2 will need to perform [additional configuration](docs/pages/desktop-access/getting-started.mdx) to force Windows to use compatible cipher suites. Windows desktops running Windows Server 2016 and newer will continue to operate normally - no additional configuration is required. This release of Teleport contains multiple improvements and bug fixes. Fixed compatibility issue with agents connected to older auth servers. Fixed issue with TLS routing endpoint advertising preference for `http/1.1` over `h2`. Implemented multiple proxy restart stability improvements. , , Improved compatibility with PuTTY. Added support for global tsh config file `/etc/tsh.yaml`. Added `tbot configure` command. Fixed issue with desktop access not working in Teleport Cloud. Improved Web UI performance in large

Fixed issue with running MySQL stored procedures via database access. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with `HTTP_PROXY` being inadvertently respected in reverse tunnel connections. Added `--format` flag to `tctl token add` command. Fixed backwards compatibility issues with session upload. Added support for persistency in custom mode in Helm charts. Fixed issue with PostgreSQL backend not respecting username from certificate. Fixed issues with `kubectl cp` and `kubectl exec` not working through Kubernetes access. Fixed issues with dynamic registration logic for cloud databases. Fixed issue with automatic Add Application script failing to join the cluster. Fixed issue with `tctl` crashing when PAM is enabled. Added support for setting priority class and extra labels in Helm charts. Fixed issue with App Access JWT tokens not including `iat` claim. Added ability to inject App Access JWT tokens in rewritten headers. Desktop access automatically adds a `teleport.dev/ou` label for desktops discovered via LDAP. Updated Machine ID to generates identity files compatible with `tctl` and `tsh`. Updated internal build infrastructure to Go 1.17.10. Improved proxy memory usage in clusters with large number of nodes. This release of Teleport contains an improvement and several bug fixes. Updated `tctl rm` command to support removing tokens. Fixed issue with Teleport failing to start when using DynamoDB backend in pay-per-request mode. Fixed issue with Kubernetes port forwarding not working. Fixed issue with IAM policy limit when using database auto-discovery on Kubernetes. This release of Teleport contains multiple improvements, security and bug fixes. Fixed issue with U2F facets not being properly validated. Hardened SQLite permissions. Fixed issue with OIDC callback not checking `email_verified` claim. Added `maxkubernetesconnections` role option for limiting simultaneous Kubernetes connections. Fixed issue with Teleport failing to start with pay-per-request DynamoDB mode. Reduced Machine ID verbosity in case of missing secure symlink kernel support. Fixed `tsh proxy db` tunnel mode not working for CockroachDB connections. Added support for database access certificates in Machine ID. Improved shutdown/restart stability in certain scenarios. Added support for clickable labels in web UI. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with some MySQL clients not being able to connect to MySQL 8.0 servers. Fixed multiple conditions that could lead to SSH sessions freezing. Fixed issue with `tsh db ls` failing for leaf clusters. Fixed a scenario in which Teleport's internal cache could potentially become unhealthy. , Improved performance when opening new application access sessions. Added flags to the `teleport configure` command. Improved CA rotation stability. Fixed issue with `mongosh` certificate verification when using TLS routing. This release of Teleport contains two bug fixes. Fixed issue with Teleport pods not becoming ready on Kubernetes. Fixed issue with Teleport processes crashing upon restart after failed host UUID generation. This release of Teleport contains multiple bug fixes and improvements. Fixed regression issue where reverse tunnel connections inadvertently started respecting `HTTP_PROXY`. Fixed potential deadlock in SSH server. Fixed issue with Kubernetes service not reporting its readiness. Fixed issue with JumpCloud identity provider. Fixed issue with deleting many records from Firestore backend. Teleport 9.1 is a minor release that brings several new features, security and bug fixes. Teleport build infrastructure was updated to use Go v1.17.9 to fix CVE-2022-24675, CVE-2022-28327 and CVE-2022-27536. Teleport users can now use PostgreSQL or CockroachDB for storing auth server data. See the for more information. Searching and filtering resources is now handled on the server, improving the efficiency of queries with `tsh`, `tctl`, or the web UI. The web UI loads resources faster by leveraging server-side pagination. Additionally, the web UI supports bookmarking searches by including the query in the

Fixed issue with stdin being ignored after refreshing expired credentials. Fixed issue with `tsh` requiring host login when using identity files for some commands. Added support for calling proxy over plain HTTP in insecure mode. Fixed multiple issues that could lead to sessions output freezing. Added optional gRPC client/server latency metrics. Fixed issue with connecting to self-hosted databases in TLS insecure mode. Improved error message when incorrect auth connector name is used. Implemented multiple moderated session stability improvements. , Added authenticated tunnel mode to `tsh proxy db` command. Fixed issue with application sessions not being deleted upon web logout. Improved MySQL audit logging to include support for additional commands. Improved reliability of Teleport services restart. Fixed issue with Okta OIDC auth connector not working. Added support for `json` and `yaml` formatting to all `tsh` commands. Added support for setting `kubernetesusers`, `kubernetesgroups`, `dbnames`, `dbusers` and `awsrolearns` traits when creating users. Fixed potential CA rotation panic. Updated `tsh db ls` to display allowed database usernames. Fixed goroutine leak in OIDC client. This release of Teleport contains multiple improvements and fixes. Fixed issue with `:` not being allowed in label keys. Fixed potential panic in Kubernetes access. Added `teleportconnecttonodeattempts_total` Prometheus metric. Multiple CA rotation stability improvements. Fixed console player Ctrl-C and Ctrl-D functionality. Improved logging in case of node with existing state joining an new cluster. Added preview of PostgreSQL/CockroachDB backend. Fixed compatibility issues with CA loading between old and new tsh versions. Fixed loggers not respecting JSON configuration. Added support for Proxy Protocol v2. Fixed a number of tsh player stability issues. Improved network utilization caused by session uploader. Improved remote clusters inventory bookkeeping. This release of Teleport contains multiple fixes. Fixed issue with `tctl` ignoring `TELEPORT_HOME` environment variable. Fixed multiple moderated sessions stability issues. Fixed issue with `tsh version` exiting with error when tsh config file is not present. Fixed issue with `tsh` not respecting proxy hosts. Fixed issue with Kubernetes forwarder taking HTTP proxies into account. Fixed issue with stale DynamoDB Auth Services disrupting agent reconnect attempts. This release of Teleport contains multiple features, improvements and bug fixes. Added support for per-user `tsh` configuration preferences. Added support for role bootstrapping in OSS. Added `HTTP_PROXY` support to tsh. Improved error messages `tsh` and `tctl` show to include usage information on invalid command line invocation. Improved `tctl <resource> ls` output to make it consistent across all resources. Fixed multiple issues with CA rotation, graceful restart, and stability. Fixed issue where MOTD was not always shown. Fixed an issue where certificate extension not being included in `tctl auth sign`. Fixed a panic that could occur in the Web UI. This release of Teleport contains multiple improvements and bug fixes. Fixed issue with Ctrl-C freezing sessions. Improved handling of unknown audit events. Improved calculation of public addresses for dynamically registered apps. Fixed `tsh aws ecr` returning 500 errors. Fixed issue with deleting certain users. Fixed issue with Machine ID not detecting token in file config. Teleport 9.0 is a major release that brings: Teleport desktop access GA Teleport Machine ID Preview Various additions to Teleport database access Moderated Sessions for server and Kubernetes access Desktop access adds support for clipboard sharing, session recording, and per-session MFA. Teleport Machine ID Preview extends identity-based access to machines. It's the easiest way to issue, renew, and manage SSH and X.509 certificates for service accounts, microservices, CI/CD automation and all other forms of machine-to-machine access. Database access brings self-hosted Redis support, RDS MariaDB (10.6 and higher) support, auto-discovery for Redshift clusters, and auto-IAM configuration improvements to

Additionally, this release also brings Microsoft SQL Server with AD authentication to Preview. Moderated Sessions enables the creation of sessions where a moderator has to be present. This feature can be selectively enabled for specific sessions via RBAC and can be used in conjunction with per-session MFA. Desktop access now supports copying and pasting text between your local workstation and a remote Windows Desktop. This feature requires a Chromium-based browser and can be disabled via RBAC. Desktop sessions are now recorded and stored alongside SSH sessions, and can be viewed in Teleport's web interface. Desktop session recordings are fully compatible with the RBAC for sessions feature introduced in Teleport 8.1. Per-session MFA settings now apply to desktop sessions. This allows cluster administrators to require an additional MFA "tap" prior to opening a desktop session. This feature requires a WebAuthn device. Machine ID allows the creation of machine / bot / service account users who can automatically issue, renew, and manage SSH and X.509 certificates to facilitate machine-to-machine access. Machine ID is a service that programmatically issues and renews short-lived certificates to any service account (e.g., a CI/CD server) by retrieving credentials from the Teleport Auth Service. This enables fine-grained role-based access controls and audit. Some of the things you can do with Machine ID: Machines can retrieve short-lived SSH certificates for CI/CD pipelines. Machines can retrieve short-lived X.509 certificates for use with databases or applications. Configure role-based access controls and locking for machines. Capture access events in the audit log. You can now use database access to connect to a self-hosted Redis instance or Redis cluster and view Redis commands in the Teleport audit log. We will be adding support for AWS Elasticache in the coming weeks. [Self-hosted Redis guide](docs/pages/database-access/enroll-self-hosted-databases/redis.mdx) Teleport 9 includes a preview release of Microsoft SQL Server with Active Directory authentication support for database access. Audit logging of query activity is not included in the preview release and will be implemented in a later 9.x release. Teleport 9 updates MariaDB support with auto-discovery and connection to AWS RDS MariaDB databases using IAM authentication. The minimum MariaDB version that supports IAM authentication is 10.6. In addition, Teleport 9 expands auto-discovery to support Redshift databases and 2 new commands which simplify the database access getting started experience: "teleport db configure create", which generates Database Service configuration, and "teleport db configure bootstrap", which configures IAM permissions for the Database Service when running on AWS. CLI commands reference: [`teleport db configure create`](./docs/pages/database-access/reference/cli.mdx#teleport-db-configure-create) With Moderated Sessions, Teleport administrators can define policies that allow users to invite other users to participate in SSH or Kubernetes sessions as observers, moderators or peers. CentOS 6 support was deprecated in Teleport 8 and has now been removed. desktop access now authenticates to LDAP using X.509 client certificates. Support for the `password_file` configuration option has been removed. Teleport 8.0 is a major release of Teleport that contains new features, improvements, and bug fixes. Teleport 8.0 includes a preview of the Windows desktop access feature, allowing users passwordless login to Windows Desktops via any modern web browser. Teleport users can connect to Active Directory enrolled Windows hosts running Windows 10, Windows Server 2012 R2 and newer Windows versions. To try this feature yourself, check out our . Review the desktop access design in: In TLS routing mode all client connections are wrapped in TLS and multiplexed on a single Teleport proxy port. TLS routing can be enabled by including the following auth service configuration: ```yaml auth_service: proxylistenermode: multiplex

``` and setting proxy configuration version to `v2` to prevent legacy listeners from being created: ```yaml version: v2 proxy_service: ... ``` Teleport application access extends AWS console support to CLI . Users are able to log into their AWS console using `tsh apps login` and use `tsh aws` commands to interact with AWS APIs. See more info in the . With dynamic registration users are able to manage applications and databases without needing to update static YAML configuration or restart application or database agents. See dynamic registration guides for and . With RDS auto discovery Teleport database agents can automatically discover RDS instances and Aurora clusters in an AWS account. See updated for more information. WebAuthn support enables Teleport users to use modern second factor options, including Apple FaceID and TouchID. In addition, the Teleport Web UI includes new second factor management tools, enabling users to configure and update their second factor devices via their web browser. Lastly, our UI becomes more secure by requiring an additional second factor confirmation for certain privileged actions (editing roles for second factor confirmation, for example). Added support for to Database Access. Reduced network utilization on large clusters during login. Added metrics and added the ability for `tctl top` to show network utilization for resource propagation. Added support for account recovery and cancellation. Added per-session MFA support to database access. Added support for profile specific `kubeconfig`. Fixed issues with web applications that utilized with application access. Fixed issue were interactive sessions would always return exit code 0. Fixed issue where JWT signer was omitted from bootstrap logic. CentOS 6 support will be deprecated in Teleport 8 and removed in Teleport 9. Teleport 8 will continue to receive security patches for about 9 months after which it will be EOL. Users are encouraged to upgrade to CentOS 7 in that time frame. New run time dependencies have been added to Teleport 8 due to the inclusion of Rust in the build chain. Teleport 8 requires `libgcc_s.so` and `libm.so` be installed on systems running Teleport. Users of container images are encouraged to use the image to run Teleport. ``` FROM gcr.io/distroless/cc-debian11 ``` Alpine users are recommended to install the `libgcc` package in addition to any glibc compatibility layer they have already been using. ``` apk --update --no-cache add libgcc ``` With the `GODEBUG=x509ignoreCN=0` flag removed in Go 1.17, database access users will no longer be able to connect to databases that include their hostname in the `CommonName` field of the presented certificate. Users are recommended to update their database certificates to include hostname in the `Subject Alternative Name` extension instead. Subscribe to Github issue which will add ability to control level of TLS verification as a workaround. New clusters will no longer have the default `admin` role, it has been replaced with 3 smaller scoped roles: `access`, `auditor`, and `editor`. Teleport 7.0 is a major release of Teleport that contains new features, improvements, and bug fixes. Added support for to Teleport database access. . View the for more details. Added support for to Teleport database access. View the Cloud SQL MySQL for more details. Added support for to Teleport application access. Teleport application access can now automatically sign users into the AWS Management Console using . View AWS Management Console for more details. Added the ability to block network traffic (IPv4 and IPv6) on a per-SSH session basis. Implemented using BPF tooling which required kernel 5.8 or above. Updated Enhanced Session Recording to no longer require the installation of external compilers like `bcc-tools`. Implemented using BPF tooling which required kernel 5.8 or

Added the ability to terminate database access certificates when the certificate expires. Added additional FedRAMP compliance controls, such as custom disconnect and MOTD messages. Added the ability to export Audit Log and session recordings using the Teleport API. Added the ability to partially configure a cluster. Added the ability to disable port forwarding on a per-host basis. Added ability to configure `tsh` home directory. Added ability to generate OpenSSH client configuration snippets using `tsh config`. Added default-port detection to `tsh` Improved performance of the Web UI for users with many roles. Fixed a memory leak that could affect etcd users. Fixed an issue where `tsh login` could fail if the user had multiple public addresses defined on the proxy. Enhanced Session Recording has been updated to use CO-RE BPF executables. This makes deployment much simpler, you no longer have to install `bcc-tools`, but comes with a higher minimum kernel version of 5.8 and above. Kubernetes access will no longer automatically register a cluster named after the Teleport cluster if the proxy is running within a Kubernetes cluster. Users wishing to retain this functionality now have to explicitly set `kubeclustername`. `tsh login` has been updated to no longer change the current Kubernetes context. While `tsh login` will write credentials to `kubeconfig` it will only update your context if `tsh login --kube-cluster` or `tsh kube login <kubeCluster>` is used. Teleport 6.2 contains new features, improvements, and bug fixes. Note: the DynamoDB indexing change described below may cause rate-limiting errors from AWS APIs and is slow on large deployments (1000+ existing audit events). The next patch release, v6.2.1, will improve the migration performance. If you run a large DynamoDB-based cluster, we advise you to wait for v6.2.1 before upgrading. Added support for to Teleport database access.. View the for more details. Added pass-through header support for Teleport application access. Added ability to propagate claim information from root to leaf clusters. Added Proxy Protocol for MySQL database access. Added prepared statement support for Postgres database access. Added `GetSessionEventsRequest` RPC endpoint for Audit Log pagination. Changed DynamoDB indexing strategy for events. Fixed multiple per-session MFA issues. Fixed etcd JWT renewal issue. Fixed issue where `kubectl exec` sessions were not being recorded when the target pod was killed. Fixed an issue that prevented Teleport from starting on ARMv7 systems. . Fixed issue that caused Access Requests to inconsistently allow elevated Kubernetes access. Fixed an issue that could cause `session.end` events not to be emitted. Fixed an issue with PAM variable interpolation. Teleport 6.2 brings a potentially backward incompatible change with `tsh` agent forwarding. Prior to Teleport 6.2, `tsh ssh -A` would create an in-memory SSH agent from your `~/.tsh` directory and forward that agent to the target host. Starting in Teleport 6.2 `tsh ssh -A` by default now forwards your system SSH agent (available at `$SSHAUTHSOCK`). Users wishing to retain the prior behavior can use `tsh ssh -o "ForwardAgent local"`. For more details see and implementation in . DynamoDB users should note that the events backend indexing strategy has changed and a data migration will be triggered after upgrade. For optimal performance perform this migration with only one auth server online. It may take some time and progress will be periodically written to the auth server log. During this migration, only events that have been migrated will appear in the Web UI. After completion, all events will be available. For more details see and implementation in . This release of Teleport contains multiple bug fixes. Added additional Prometheus Metrics. Updated the TLS handshake timeout to 5 seconds to avoid timeout issues on large

Fixed issue that caused non-interactive SSH output to show up in logs. Fixed two issues that could cause Teleport to panic upon startup. This release of Teleport contains a bug fix. Added support for PROXY protocol to database access (MySQL). This release of Teleport contains a new feature. Added log formatting and support to enable timestamps for logs. This release of Teleport contains a bug fix. Fixed an issue where DEB builds were not published to the . Teleport 6.1 contains multiple new features, improvements, and bug fixes. Added support for U2F authentication on every SSH and Kubernetes "connection" (a single `tsh ssh` or `kubectl` call). This is an advanced security feature that protects users against compromises of their on-disk Teleport certificates. Per-session MFA can be enforced cluster-wide or only for some specific roles. For more details see [Per-Session MFA](docs/pages/access-controls/guides/per-session-mfa.mdx) documentation or [RFD 14](https://github.com/gravitational/teleport/blob/master/rfd/0014-session-2FA.md) and [RFD 15](https://github.com/gravitational/teleport/blob/master/rfd/0015-2fa-management.md) for technical details. Added ability to request multiple users to review and approve access requests. See for technical details. Added the ability to propagate SSO claims to PAM modules. Added support for cluster routing to reduce latency to leaf clusters. Added support for Google Cloud SQL to database access. Added support CLI credential issuance for application access. Added support for Encrypted SAML Assertions. Added support for user impersonation. Fixed interoperability issues with `gpg-agent`. Fixed websocket support in application access. Fixed file argument issues with `tsh play`. Fixed `utmp` regressions that caused issues in LXC containers. This release of Teleport contains a bug fix. Fixed a issue that caused high network on deployments with many leaf Trusted Clusters. This release of Teleport contains bug fixes and adds new default roles. Fixed an issue with proxy web endpoint resetting connection when run with `--insecure-no-tls` flag. Introduced role presets: `auditor`, `editor` and `access`. Added ability to inline `googleserviceaccount` field into Google Workspace OIDC connector. This release of Teleport contains multiple bug fixes. Fixed issue that caused ACME default configuration to fail with `TLS-ALPN-01` challenge. Fixed regression in ADFS integration. Teleport 6.0 is a major release with new features, functionality, and bug fixes. We have implemented , open sourced role-based access control (RBAC), and added official API and a Go client library. Users can review the on Github for more details. Review the database access design in . With database access users can connect to PostgreSQL and MySQL databases using short-lived certificates, configure SSO authentication and role-based access controls for databases, and capture SQL query activity in the audit log. Configure database access following the guide. [AWS RDS/Aurora PostgreSQL](./docs/pages/database-access/enroll-aws-databases/rds.mdx) To learn more about configuring role-based access control for database access, check out the section. provides a more in-depth look at database access internals such as networking and security. See for an overview of database access related configuration and CLI commands. Finally, check out . Open source RBAC support was introduced in . RBAC support gives OSS administrators more granular access controls to servers and other resources with a cluster (like session recording access). An example of an RBAC policy could be: "admins can do anything, developers must never touch production servers and interns can only SSH into staging servers as guests" In addition, some Access Workflow Plugins will now become available to open source users. Access Workflows Golang SDK and API Slack Gitlab Mattermost JIRA Plugin PagerDuty Plugin API and Client Libraries support was introduced in . The new API and client library reduces the dependencies needed to use the Teleport API as well as making it easier to use. An example of using the new API is

```go // Create a client connected to the Auth server with an exported identity file. clt, err := client.NewClient(client.Config{ Addrs: []string{"auth.example.com:3025"}, Credentials: []client.Credentials{ client.LoadIdentityFile("identity.pem"), }, }) if err != nil { log.Fatalf("Failed to create client: %v.", err) } defer clt.Close() // Create a Access Request. accessRequest, err := types.NewAccessRequest(uuid.New(), "access-admin", "admin") if err != nil { log.Fatalf("Failed to build access request: %v.", err) } if err = clt.CreateAccessRequest(ctx, accessRequest); err != nil { log.Fatalf("Failed to create access request: %v.", err) } ``` Added `utmp`/`wtmp` support for SSH in . Added the ability to set a Kubernetes specific public address in . Added Proxy Protocol support to Kubernetes access in . Added ACME () support to make getting and using TLS certificates easier. . Added the ability to manage local users to the Web UI in . Added the ability to preserve timestamps when using `tsh scp` in . Fixed authentication failure when logging in via CLI with Access Workflows after removing `.tsh` directory in . Fixed `tsh login` failure when `--proxy` differs from actual proxy public address in . Fixed session playback issues in . Fixed several UX issues in , , , and . Please follow our to upgrade your cluster. Note, for clusters using GitHub SSO and Trusted Clusters, when upgrading SSO users will lose connectivity to leaf clusters. Local users will not be affected. To restore connectivity to leaf clusters for SSO users, leaf admins should update the `trusted_cluster` role mapping resource like below. ```yaml kind: trusted_cluster version: v2 metadata: name: "zztop-oss" spec: enabled: true token: "bar" webproxyaddr: 172.10.1.1:3080 tunnel_addr: 172.10.1.1:3024 role_map: remote: "admin" local: ['admin'] remote: "^(github-.*)$" local: ['admin'] ``` This release of Teleport adds a new feature. Support for creating and assuming Access Workflow requests from within the Web UI (first step toward full Workflow UI support: ). This release of Teleport contains a security fix. Patch a SAML authentication bypass (see https://github.com/russellhaering/gosaml2/security/advisories/GHSA-xhqq-x44f-9fgg): . Any Enterprise SSO users using Okta, Active Directory, OneLogin or custom SAML connectors should upgrade their auth servers to version 5.0.2 and restart Teleport. If you are unable to upgrade immediately, we suggest disabling SAML connectors for all clusters until the updates can be applied. This release of Teleport contains multiple bug fixes. Always set expiry times on server resource in heartbeats Fixes streaming k8s responses (`kubectl logs -f`, `kubectl run -it`, etc) Multiple fixes for the k8s forwarder Teleport 5.0 is a major release with new features, functionality, and bug fixes. Users can review on Github for details of all items. Teleport 5.0 introduces two distinct features: Teleport application access and significant Kubernetes access improvements - multi-cluster support. Teleport can now be used to provide secure access to web applications. This new feature was built with the express intention of securing internal apps which might have once lived on a VPN or had a simple authorization and authentication mechanism with little to no audit trail. application access works with everything from dashboards to single page Javascript applications (SPA). Application access uses mutually authenticated reverse tunnels to establish a secure connection with the Teleport unified Access Platform which can then becomes the single ingress point for all traffic to an internal application. Adding an application follows the same UX as adding SSH servers or Kubernetes clusters, starting with creating a static or dynamic invite token. ```bash $ tctl tokens add --type=app ``` Then simply start Teleport with a few new flags. ```sh $ teleport start --roles=app --token=xyz

\ --app-name="example-app" \ --app-uri="http://localhost:8080" ``` This command will start an app server that proxies the application "example-app" running at `http://localhost:8080` at the public address `https://example-app.example.com`. Applications can also be configured using the new `app_service` section in `teleport.yaml`. ```yaml app_service: enabled: yes debug_app: true apps: name: "internal-dashboard" uri: "http://10.0.1.27:8000" labels: customer: "acme" env: "production" commands: name: "os" command: ["/usr/bin/uname"] period: "5s" name: "arris" uri: "http://localhost:3001" public_addr: "arris.example.com" ``` Application access requires two additional changes. DNS must be updated to point the application domain to the proxy and the proxy must be loaded with a TLS certificate for the domain. Wildcard DNS and TLS certificates can be used to simplify deployment. ```yaml proxy_service: https_keypairs: key_file: /etc/letsencrypt/live/teleport.example.com/privkey.pem cert_file: /etc/letsencrypt/live/teleport.example.com/fullchain.pem key_file: /etc/letsencrypt/live/*.teleport.example.com/privkey.pem cert_file: /etc/letsencrypt/live/*.teleport.example.com/fullchain.pem ``` You can learn more in the . Teleport 5.0 also introduces two highly requested features for Kubernetes. The ability to connect multiple Kubernetes Clusters to the Teleport Access Platform, greatly reducing operational complexity. Complete Kubernetes audit log capture , going beyond the existing `kubectl exec` capture. For a full overview please review the . To support these changes, we've introduced a new service. This moves Teleport Kubernetes configuration from the `proxyservice` into its own dedicated `kubernetesservice` section. When adding the new Kubernetes service, a new type of join token is required. ```bash tctl tokens add --type=kube ``` Example configuration for the new `kubernetes_service`: ```yaml kubernetes_service: enabled: yes listen_addr: 0.0.0.0:3027 kubeconfig_file: /secrets/kubeconfig ``` Note: a Kubernetes port still needs to be configured in the `proxyservice` via `kubelisten_addr`. `tsh kube` commands are used to query registered clusters and switch `kubeconfig` context: ```sh $ tsh login --proxy=proxy.example.com --user=awly $ tsh kube ls Cluster Name Status a.k8s.example.com online b.k8s.example.com online c.k8s.example.com online $ kubectl config current-context proxy.example.com-a.k8s.example.com $ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO proxy.example.com-a.k8s.example.com proxy.example.com proxy.example.com-a.k8s.example.com proxy.example.com-b.k8s.example.com proxy.example.com proxy.example.com-b.k8s.example.com proxy.example.com-c.k8s.example.com proxy.example.com proxy.example.com-c.k8s.example.com $ tsh kube login c.k8s.example.com $ kubectl config use-context proxy.example.com-c.k8s.example.com $ kubectl config current-context proxy.example.com-c.k8s.example.com ``` Other Kubernetes changes: Support k8s clusters behind firewall/NAT using a single Teleport cluster Support multiple k8s clusters with a single Teleport proxy instance We've added two new RBAC resources; these provide the ability to limit token creation and to list and modify Teleport users: ```yaml resources: [user] verbs: [list,create,read,update,delete] resources: [token] verbs: [list,create,read,update,delete] ``` Learn more about Teleport 5.0 also adds the ability to set labels on Trusted Clusters. The labels are set when creating a trusted cluster invite token. This lets teams use the same RBAC controls used on nodes to approve or deny access to clusters. This can be especially useful for MSPs that connect hundreds of customers' clusters - when combined with Access Workflows, cluster access can easily be delegated. Learn more by reviewing our Creating a trusted cluster join token for a production environment: ```bash $ tctl tokens add --type=trusted_cluster --labels=env=prod ``` ```yaml kind: role deny: cluster_labels: 'env': 'prod' ``` Teleport 5.0 also iterates on the UI Refresh from 4.3. We've moved the cluster list into our sidebar and have added an Application launcher. For customers moving from 4.4 to 5.0, you'll notice that we have moved session recordings back to their own dedicated section. Other updates: We now provide local user management via `https://[cluster-url]/web/users`, providing the ability to easily edit, reset and delete local users. Teleport Node & App Install scripts. This is currently an Enterprise-only feature that provides customers with an easy 'auto-magic' installer script. Enterprise customers can enable this feature by modifying the 'token' resource. See note above. We've added a Waiting Room for customers using Access Workflows. Starting with Teleport 5.0, we now provide an RPM repo for stable releases of

We've also started signing our RPMs to provide assurance that you're always using an official build of Teleport. See https://rpm.releases.teleport.dev/ for more details. Added `--format=json` playback option for `tsh play`. For example `tsh play --format=json ~/play/0c0b81ed-91a9-4a2a-8d7c-7495891a6ca0.tar | jq '.event` can be used to show all events within an a local archive. Added support for continuous backups and auto scaling for DynamoDB. Added a Linux ARM64/ARMv8 (64-bit) Release. Added `httpskeypairs` field which replaces `httpskeyfile` and `httpscertfile`. This allows administrators to load multiple HTTPS certs for Teleport application access. Teleport 5.0 is backwards compatible with the old format, but we recommend updating your configuration to use `httpskeypairs`. Enterprise Only: `tctl` can load credentials from `~/.tsh` Teams can require a user submitted reason when using Access Workflows Updated `tctl` to always format resources as lists in JSON/YAML. Updated `tsh status` to now print Kubernetes status. Fixed intermittent issues with `loginuid.so`. Reduced `access denied to Proxy` log spam. Various AMI fixes: paths are now consistent with other Teleport packages and configuration files will not be overwritten on reboot. We've added an to simply developing applications against Teleport. Please follow our . Optional: Consider updating `httpskeyfile` & `httpscertfile` to our new `https_keypairs:` format. Optional: Consider migrating Kubernetes access from `proxyservice` to `kubernetesservice` after the upgrade. This release of teleport contains a security fix and a bug fix. Patch a SAML authentication bypass (see https://github.com/russellhaering/gosaml2/security/advisories/GHSA-xhqq-x44f-9fgg): . Any Enterprise SSO users using Okta, Active Directory, OneLogin or custom SAML connectors should upgrade their auth servers to version 4.4.6 and restart Teleport. If you are unable to upgrade immediately, we suggest disabling SAML connectors for all clusters until the updates can be applied. Fix an issue where `tsh login` would fail with an `AccessDenied` error if the user was perviously logged into a leaf cluster. This release of Teleport contains a bug fix. Fixed an issue where a slow or unresponsive Teleport auth service could hang client connections in async recording mode. This release of Teleport adds enhancements to the Access Workflows API. Support for creating limited roles that trigger access requests on login, allowing users to be configured such that no nodes can be accessed without externally granted roles. Teleport UI support for automatically generating access requests and assuming new roles upon approval (access requests were previously only available in `tsh`). New `claimstoroles` mapping that can use claims from external identity providers to determine which roles a user can request. Various minor API improvements to help make requests easier to manage and audit, including support for human-readable request/approve/deny reasons and structured annotations. This release of Teleport adds support for a new build architecture. Added automatic arm64 builds of Teleport to the download portal. This release of Teleport contains a bug fix. Fixed an issue where defining multiple logging configurations would cause Teleport to crash. This is a major Teleport release with a focus on new features, functionality, and bug fixes. Its a substantial release and users can review on Github for details of all items. This addition to Teleport helps customers obtain AC-10 control. We now provide two new optional configuration values: `maxconnections` and `maxsessions`. This value is the total number of concurrent sessions within a cluster to nodes running Teleport. This value is applied at a per user level. If you set `max_connections` to `1`, a `tsh` user would only be able to `tsh ssh` into one node at a time. This value limits the total number of session channels which can be established across a single SSH connection (typically used for interactive terminals or remote exec

This is for cases where nodes have Teleport set up, but a user is using OpenSSH to connect to them. It is essentially equivalent to the `MaxSessions` configuration value accepted by `sshd`. ```yaml spec: options: max_connections: 2 max_sessions: 10 ``` A new `sessioncontroltimeout` configuration value has been added to the `auth_service` configuration block of the Teleport config file. It's unlikely that you'll need to modify this. ```yaml auth_service: sessioncontroltimeout: 2m # default ``` Teleport 4.4 includes a complete refactoring of our event system. This resolved a few customer bug reports such as and . Along with foundational improvements, 4.4 includes two new experimental `session_recording` options: `node-sync` and `proxy-sync`. NOTE: These experimental modes require all Teleport auth servers, proxy servers and nodes to be running Teleport 4.4. ```yaml auth_service: session_recording: "node-sync" ``` Added session streaming. Added concurrent session control. Added ability to specify leaf cluster when generating `kubeconfig` via `tctl auth sign`. Added output options (like JSON) for `tsh ls`. Added node ID to heartbeat debug log Added the option to trigger `pam_authenticate` on login Fixed issue that caused some idle `kubectl exec` sessions to terminate. Fixed symlink issued when using `tsh` on Windows. Fixed `tctl top` so it runs without the debug flag and on dark terminals. Fixed issue that caused DynamoDB not to respect HTTP CONNECT proxies. Fixed `/readyz` endpoint to recover much quicker. Updated Google Workspace documentation to add clarification on supported account types. Updated IoT instructions on necessary ports. Updated Trusted Cluster documentation on how to remove trust from root and leaf clusters. Updated the PAM documentation with PAM authentication usage information. Please follow our [standard upgrade procedure](docs/pages/upgrading.mdx). This release of Teleport contains a security fix. Patch a SAML authentication bypass (see https://github.com/russellhaering/gosaml2/security/advisories/GHSA-xhqq-x44f-9fgg): . Any Enterprise SSO users using Okta, Active Directory, OneLogin or custom SAML connectors should upgrade their auth servers to version 4.3.9 and restart Teleport. If you are unable to upgrade immediately, we suggest disabling SAML connectors for all clusters until the updates can be applied. This release of Teleport adds support for a new build architecture. Added automatic arm64 builds of Teleport to the download portal. This release of Teleport contains a security fix and a bug fix. Mitigated by updating github.com/russellhaering/goxmldsig. A vulnerability was discovered in the `github.com/russellhaering/goxmldsig` library which is used by Teleport to validate the signatures of XML files used to configure SAML 2.0 connectors. With a carefully crafted XML file, an attacker can completely bypass XML signature validation and pass off an altered file as a signed one. The `goxmldsig` library has been updated upstream and Teleport 4.3.7 includes the fix. Any Enterprise SSO users using Okta, Active Directory, OneLogin or custom SAML connectors should upgrade their auth servers to version 4.3.7 and restart Teleport. If you are unable to upgrade immediately, we suggest deleting SAML connectors for all clusters until the updates can be applied. Fixed an issue where DynamoDB connections made by Teleport would not respect the `HTTPPROXY` or `HTTPSPROXY` environment variables. This release of Teleport contains multiple bug fixes. Fixed an issue with prefix migration that could lead to loss of cluster state. Fixed an issue that caused excessively slow loading of the UI on large clusters. Updated `/readyz` endpoint to recover faster after node goes into degraded state. Added node UUID to debug logs to allow correlation between TCP connections and nodes. This release of Teleport contains a bug fix. Fixed issue that caused Teleport Docker images to be built incorrectly. This release of Teleport contains multiple bug fixes. Fixed issue that caused intermittent login failures when using PAM modules like `pamloginuid.so` and

Fixed issue that required users to manually verify a certificate when exporting an identity file. Fixed issue that prevented local user creation using Firestore. Fixed issue that could cause `tsh` to panic when using a PEM file. This release of Teleport contains multiple bug fixes. Reverted base OS in container images to Ubuntu. Fixed an issue that prevented changing the path for the Audit Log. Fixed an issue that allowed servers with invalid labels to be added to the cluster. Fixed an issue that caused Cloud Firestore to panic on startup. Fixed an error that would cause Teleport to fail to load with the error "list of proxies empty". Fixed an issue that would prevent playback of Kubernetes session Fixed regressions in the UI. This is a major Teleport release with a focus on new features, functionality, and bug fixes. Its a substantial release and users can review on Github for details of all items. Teleport 4.3 includes a completely redesigned Web UI. The new Web UI expands the management functionality of a Teleport cluster and the user experience of using Teleport to make it easier and simpler to use. Teleport's new terminal provides a quick jumping-off point to access nodes and nodes on other clusters via the web. Teleport's Web UI now exposes Teleports Audit log, letting auditors and administrators view Teleport access events, SSH events, recording session, and enhanced session recording all in one view. Teleport 4.3 introduces four new plugins that work out of the box with . These plugins allow you to automatically support role escalation with commonly used third party services. The built-in plugins are listed below. Added the ability for local users to reset their own passwords. Added user impersonation (`kube_users)` support to Kubernetes Proxy. Added support for third party S3-compatible storage for sessions. Added support for GCP backend data stores. Added support for X11 forwarding to OpenSSH servers. Added support for auth plugins in proxy `kubeconfig`. Added support for OpenSSH-like escape sequence. Added `--browser` flag to `tsh`. Updated `teleport configure` output to be more useful out of the box. Updated ability to only show SSO on the login page. Updated help and support section in Web UI. Updated default SSH signing algorithm to SHA-512 for new clusters. Standardized audit event fields. Fixed removing existing user definitions in kubeconfig. Fixed an issue where port forwarding could fail in certain circumstances. Fixed temporary role grants issue when forwarding Kubernetes requests. Fixed an issue that prevented copy/paste in the web termination. Fixed an issue where the proxy did not test Kubernetes permissions at startup. Fixed `tsh` and `gpg-agent` integration. Fixed Vulnerabilities in Teleport Docker Image Always follow the [recommended upgrade procedure](./docs/pages/upgrading.mdx) to upgrade to this version. If youre upgrading an existing version of Teleport, you may want to consider rotating CA to SHA-256 or SHA-512 for RSA SSH certificate signatures. The previous default was SHA-1, which is now considered to be weak against brute-force attacks. SHA-1 certificate signatures are also by OpenSSH versions 8.2 and above. All new Teleport clusters will default to SHA-512 based signatures. To upgrade an existing cluster, set the following in your `teleport.yaml`: ``` teleport: casignaturealgo: "rsa-sha2-512" ``` Rotate the cluster CA, following [these docs](docs/pages/management/operations/ca-rotation.mdx). Due to the number of changes included in the redesigned Web UI, some URLs and functionality have shifted. Refer to the following ticket for more details. Teleport 4.3 has made the audit log accessible via the Web UI. Enterprise customers can limit access by changing the options on the new `event`

```yaml resources: [event] verbs: [list, read] ``` The minimum set of Kubernetes permissions that need to be granted to Teleport proxies has been updated. If you use the Kubernetes integration, please make sure that the ClusterRole used by the proxy has [sufficient permissions](./docs/pages/kubernetes-access/controls.mdx). The now correctly uses the prefix config value when storing data. Upgrading from 4.2 to 4.3 will migrate the data as needed at startup. Make sure you follow our Teleport . Note: If you use an etcd backend with a non-default prefix and need to downgrade from 4.3 to 4.2, you should into the downgraded cluster. This release of Teleport contains a security fix. Mitigated by updating github.com/russellhaering/goxmldsig. A vulnerability was discovered in the `github.com/russellhaering/goxmldsig` library which is used by Teleport to validate the signatures of XML files used to configure SAML 2.0 connectors. With a carefully crafted XML file, an attacker can completely bypass XML signature validation and pass off an altered file as a signed one. The `goxmldsig` library has been updated upstream and Teleport 4.2.12 includes the fix. Any Enterprise SSO users using Okta, Active Directory, OneLogin or custom SAML connectors should upgrade their auth servers to version 4.2.12 and restart Teleport. If you are unable to upgrade immediately, we suggest deleting SAML connectors for all clusters until the updates can be applied. This release of Teleport contains multiple bug fixes. Fixed an issue that prevented upload of session archives to NFS volumes. Fixed an issue with port forwarding that prevented TCP connections from being closed correctly. Fixed an issue in `tsh` that would cause connections to the Auth Server to fail on large clusters. Fixed an issue that prevented the use of Write-Only roles with S3 and GCS. This release of Teleport contains multiple bug fixes. Fixed an issue that caused Teleport environment variables not to be available in PAM modules. Fixed an issue with `tsh login <clusterName>` not working correctly with Kubernetes clusters. This release of Teleport contains multiple bug fixes. Fixed an issue where double `tsh login` would be required to login to a leaf cluster. Fixed an issue that was preventing connection reuse. Fixed an issue that could cause `tsh ls` to return stale results. This release of Teleport contains multiple bug fixes. Fixed issue where `^C` would not terminate `tsh`. Fixed an issue where enhanced session recording could cause Teleport to panic. As part of a routine security audit of Teleport, a security vulnerability was discovered that affects all recent releases of Teleport. We strongly suggest upgrading to the latest patched release to mitigate this vulnerability. Due to a flaw in how the Teleport Web UI handled host certificate validation, host certificate validation was disabled for clusters where connections were terminated at the node. This means that an attacker could impersonate a Teleport node without detection when connecting through the Web UI. Clusters where sessions were terminated at the proxy (recording proxy mode) are not affected. Command line programs like `tsh` (or `ssh`) are not affected by this vulnerability. To mitigate this issue, upgrade and restart all Teleport proxy processes. This release of Teleport contains a bug fix. Fixed a regression in reissuing certificate that could cause nodes to not start. This release of Teleport contains multiple bug fixes. Added support for custom OIDC prompts. Added support for `kubernetes_users` in roles. Added support for extended variable interpolation. Added SameSite attribute to CSRF cookie. This release of Teleport contains bug fixes. Fixed issue where Teleport could connect to the wrong node and added support to connect via UUID. Fixed issue where `tsh login` would fail to output identity when using the `--out`

This release of Teleport contains bug and security fixes. Mitigated by updating golang.org/x/crypto. Fixed PAM integration to support user creation upon login. Improved Teleport performance on large IoT clusters. Added support for PluginData to Teleport plugins. This release of Teleport contains bug fixes and improvements. Fixed a regression in role mapping between trusted clusters. Improved variety of issues with Enhanced Session Recording including support for more operating systems and install from packages. This release of Teleport contains bug fixes and minor usability improvements. New build command for client-only (`tsh`) .pkg builds. Added support for etcd password auth. Added third-party s3 support. Fixed an issue where access-request event system fails when cache is enabled. Fixed cgroup resolution so enhanced session recording works on Debian based distributions. This is a minor Teleport release with a focus on new features and bug fixes. Alpha: Enhanced Session Recording lets you know what's really happening during a Teleport Session. Alpha: Workflows API lets admins escalate RBAC roles in response to user requests. . Beta: Teleport provides HA Support using Firestore and Google Cloud Storage using Google Cloud Platform. . Remote tctl execution is now possible. . Fixed issue in socks4 when rendering remote address Adopting root/leaf terminology for trusted clusters. . Documented Teleport FedRAMP & FIPS Support. . This release of Teleport contains a security fix. Mitigated by updating github.com/russellhaering/goxmldsig. A vulnerability was discovered in the `github.com/russellhaering/goxmldsig` library which is used by Teleport to validate the signatures of XML files used to configure SAML 2.0 connectors. With a carefully crafted XML file, an attacker can completely bypass XML signature validation and pass off an altered file as a signed one. The `goxmldsig` library has been updated upstream and Teleport 4.1.11 includes the fix. Any Enterprise SSO users using Okta, Active Directory, OneLogin or custom SAML connectors should upgrade their auth servers to version 4.1.11 and restart Teleport. If you are unable to upgrade immediately, we suggest deleting SAML connectors for all clusters until the updates can be applied. As part of a routine security audit of Teleport, a security vulnerability was discovered that affects all recent releases of Teleport. We strongly suggest upgrading to the latest patched release to mitigate this vulnerability. Due to a flaw in how the Teleport Web UI handled host certificate validation, host certificate validation was disabled for clusters where connections were terminated at the node. This means that an attacker could impersonate a Teleport node without detection when connecting through the Web UI. Clusters where sessions were terminated at the proxy (recording proxy mode) are not affected. Command line programs like `tsh` (or `ssh`) are not affected by this vulnerability. To mitigate this issue, upgrade and restart all Teleport proxy processes. This release of Teleport contains a security fix. Mitigated by updating golang.org/x/crypto. This release of Teleport contains a bug fix. Fixed a regression in role mapping between trusted clusters. This release of Teleport contains a bug fix. Fixed issue where the port forwarding option in a role was ignored. This release of Teleport contains a bug fix. Fixed an issue that caused Teleport not to start with certain OIDC claims. This release of Teleport adds support for an older version of Linux. Added RHEL/CentOS 6.x builds to the build pipeline. This release of Teleport contains a bug fix. Fixed GSuite integration by adding support for service accounts. This release of Teleport contains multiple bug fixes. Removed `TLSRSAWITHAES128GCMSHA{256,384}` from default ciphersuites due to compatibility issues with HTTP2. Fixed issues with `local_auth` for FIPS builds. Upgraded Go runtime to 1.13.2 to mitigate and

This release of Teleport contains improvements to the build code. Added support for building Docker images using the FIPS-compliant version of Teleport. The first of these images is quay.io/gravitational/teleport-ent:4.1.2-fips In future, these images will be automatically built for use by Teleport Enterprise customers. This release of Teleport contains a bug fix. Fixed an issue with multi-cluster EKS when the Teleport proxy runs outside EKS. This is a major Teleport release with a focus on stability and bug fixes. Support for IPv6. Kubernetes support does not require SNI. Support use of a path for `auth_token` in `teleport.yaml`. Implement ProxyJump compatibility. Audit logs should show roles. Allow `tsh` to go background and without executing remote command. Provide a high level tool to backup and restore the cluster state. Investigate nodes using stale list when connecting to proxies (discovery protocol). Proxy can hang due to invalid OIDC connector. Proper `-D` flag parsing. `tsh` status does not show correct cluster name. Teleport truncates MOTD with PAM. Miscellaneous fixes around error handling and reporting. As part of a routine security audit of Teleport, a security vulnerability was discovered that affects all recent releases of Teleport. We strongly suggest upgrading to the latest patched release to mitigate this vulnerability. Due to a flaw in how the Teleport Web UI handled host certificate validation, host certificate validation was disabled for clusters where connections were terminated at the node. This means that an attacker could impersonate a Teleport node without detection when connecting through the Web UI. Clusters where sessions were terminated at the proxy (recording proxy mode) are not affected. Command line programs like `tsh` (or `ssh`) are not affected by this vulnerability. To mitigate this issue, upgrade and restart all Teleport proxy processes. This release of Teleport contains a security fix. Mitigated by updating golang.org/x/crypto. This release of Teleport contains a bug fix. Fixed a regression in role mapping between trusted clusters. This release of Teleport contains a bug fix. Fixed issue where the port forwarding option in a role was ignored. This release of Teleport contains a bug fix. Fixed an issue that caused Teleport not to start with certain OIDC claims. This release of Teleport adds support for an older version of Linux. Added RHEL/CentOS 6.x builds to the build pipeline. This release of Teleport contains a bug fix. Fixed a goroutine leak that occurred whenever a leaf cluster disconnected from the root cluster. This release of Teleport contains a bug fix. Fixed issue where Web UI could not connect to older nodes within a cluster. This release of Teleport contains two bug fixes. Fixed issue where new versions of `tsh` could not connect to older clusters. Fixed trait encoding to be more robust. This release of Teleport contains a bug fix. Fixed issue introduced in 4.0.5 that broke session recording when using the recording proxy. This release of Teleport contains a bug fix. Fixed a memory leak in the cache module. Reduced keep-alive interval to improve interoperability with popular load balancers. Fixed issue where non-RSA certificates were rejected when not in FIPS mode. This release of Teleport contains multiple bug fixes. Fixed an issue that caused active sessions not to be shown. Fixed further issues with host certificate principal generation. Fixed issue where fetching CA would sometimes return not found. This release of Teleport contains multiple bug fixes. Fixed issue that caused processes to be spawned with an incorrect GID. Fixed host certificate principal generation to only include hosts or IP addresses. Fixed issue preventing `tsh` 4.0 from connection to 3.2

This is a major Teleport release which introduces support for Teleport Internet of Things (IoT). In addition to this new feature this release includes usability, performance, and bug fixes listed below. With Teleport 4.0, nodes gain the ability to use reverse tunnels to dial back to a Teleport cluster to bypass firewall restrictions. This allows connections even to nodes that a cluster does not have direct network access to. Customers that have been using Trusted Clusters to achieve this can now utilize a unified interface to access all nodes within their infrastructure. With this release of Teleport, we have built out the foundation to help Teleport Enterprise customers build and meet the requirements in a FedRAMP System Security Plan (SSP). This includes a FIPS 140-2 friendly build of Teleport Enterprise as well as a variety of improvements to aid in complying with security controls even in FedRAMP High environments. Teleport now support 10,000 remote connections to a single Teleport cluster. Added ability to delete node using `tctl rm`. Output of `tsh ls` is now sorted by node name. Switched to `xdg-open` to open a browser window on Linux. Increased SSO callback timeout to 180 seconds. Set permissions on TTY similar to OpenSSH. The lists of improvements and bug fixes above mention only the significant changes, please take a look at the complete list on Github for more. Teleport 4.0 is backwards compatible with Teleport 3.2 and later. Note that due to substantial changes between Teleport 3.2 and 4.0, we recommend creating a backup of the backend datastore (DynamoDB, etcd, or dir) before upgrading a cluster to Teleport 4.0 to allow downgrades. Teleport has always validated host certificates when a client connects to a server, however prior to Teleport 4.0, Teleport did not validate the host the user requests a connection to is in the list of principals on the certificate. To ensure a seamless upgrade, make sure the hosts you connect to have the appropriate address set in `public_addr` in `teleport.yaml` before upgrading. This release of Teleport contains a bug fix. Fixed a regression in role mapping between trusted clusters. This release of Teleport contains a bug fix and a feature. Restore `CreateWebSession` method used by some integrations. Add Docker registry and Helm repository support to `tsh login`. This release of Teleport contains a bug fix. Fixed issue with TLS certificate not included in identity exported by `tctl auth sign`. This release of Teleport contains a bug fix. Fixed issue where Web UI could not connect to older nodes within a cluster. This release of Teleport contains two bug fixes. Fixed issue where new versions of `tsh` could not connect to older clusters. Fixed trait encoding to be more robust. This release of Teleport contains a bug fix. Fixed issue introduced in 3.2.8 that broke session recording when using the recording proxy. This release of Teleport contains multiple bug fixes. Read cluster name from `TELEPORT_SITE` environment variable in `tsh`. Multiple improvements around logging in and saving `tsh` profiles. This release of Teleport contains a bug fix. Fixed issue with `--bind-addr` implementation. This release of Teleport contains a new feature. Added `--bind-addr` to force `tsh` to bind to a specific port during SSO login. This version brings support for Amazon's managed Kubernetes offering (EKS). Starting with this release, Teleport proxy uses instead of the . This release of Teleport contains a bug fix. Fixed issue where Web UI could not connect to older nodes within a cluster. This release of Teleport contains two bug fixes. Fixed issue where new versions of `tsh` could not connect to older

Fixed trait encoding to be more robust. This release of Teleport contains a bug fix. Fixed issue introduced in 3.1.10 that broke session recording when using the recording proxy. This release of Teleport contains a bug fix. Fixed issue where SSO users TTL was set incorrectly. This release of Teleport contains a bug fix. Fixed issue where `tctl users ls` output contained duplicates. This release of Teleport contains bug fixes, security fixes, and user experience improvements. Use `xdg-open` instead of `sensible-browser` to open links on Linux. Increased SSO callback timeout to 180 seconds. Improved Teleport error messages when it fails to start. Sort `tsh ls` output by node name. Support different regions for S3 (sessions) and DynamoDB (audit log). Fixed syslog output even when Teleport is in debug mode. Fixed audit log naming conventions. Fixed issue where `~/.tsh/profile` was deleted upon logout. Fixed output of `tctl get` to be compatible with `tctl create`. Fixed issue where multiple file upload with `scp` did not work correctly. Correctly set permissions TTY. Mitigated scp issues when connected to malicious server Teleport 3.1.5 contains a bug fix and security fix. Fixed issue where certificate authorities were not fetched during every login. Upgraded Go to 1.11.5 to mitigate : CPU denial of service in P-521 and P-384 elliptic curve implementation. Teleport 3.1.4 contains one new feature and two bug fixes. Added support for GSuite as a SSO provider. Fixed issue where Kubernetes groups were not being passed to remote clusters. Fixed issue where the client was pulling incorrect CA for trusted clusters. Teleport 3.1.3 contains two security fixes. Updated xterm.js to mitigate a . Mitigate potential timing attacks during bearer token authentication. Fixed `x509: certificate signed by unknown authority` error when connecting to DynamoDB within Gravitational publish Docker image. Teleport 3.1.2 contains a security fix. We strongly encourage anyone running Teleport 3.1.1 to upgrade. Due to the flaw in internal RBAC verification logic, a compromised node, trusted cluster or authenticated non-privileged user can craft special request to Teleport's internal auth server API to gain access to the private key material of the cluster's internal certificate authorities and elevate their privileges to gain full administrative access to the Teleport cluster. This vulnerability only affects authenticated clients, there is no known way to exploit this vulnerability outside the cluster for unauthenticated clients. Teleport 3.1.1 contains a security fix. We strongly encourage anyone running Teleport 3.1.0 to upgrade. Upgraded Go to 1.11.4 to mitigate CVE-2018-16875: Go. For customers using the RHEL5.x compatible release of Teleport, we've backported this fix to Go 1.9.7, before releasing RHEL 5.x compatible binaries. This is a major Teleport release with a focus on backwards compatibility, stability, and bug fixes. Some of the improvements: Added support for regular expressions in RBAC label keys and values. Added support for configurable server side keepalives. Added support for some `-o` to improve OpenSSH interoperability. Added i386 binaries as well as binaries built with older version of Go to support legacy systems. Added SOCKS5 support to `tsh`. Improved UX and security for nodes joining a cluster. Improved Kubernetes UX. Fixed bug that did not allow copy and paste of texts over 128 in the Web UI. Fixes issues with `scp` when using the Web UI. Teleport 3.0.5 contains a security fix. Upgraded Go to 1.11.5 to mitigate : CPU denial of service in P-521 and P-384 elliptic curve implementation. Teleport 3.0.4 contains two security fixes. Updated xterm.js to mitigate a . Mitigate potential timing attacks during bearer token authentication. Teleport 3.0.3 contains a security

We strongly encourage anyone running Teleport 3.0.2 to upgrade. Due to the flaw in internal RBAC verification logic, a compromised node, trusted cluster or authenticated non-privileged user can craft special request to Teleport's internal auth server API to gain access to the private key material of the cluster's internal certificate authorities and elevate their privileges to gain full administrative access to the Teleport cluster. This vulnerability only affects authenticated clients, there is no known way to exploit this vulnerability outside the cluster for unauthenticated clients. Teleport 3.0.2 contains a security fix. We strongly encourage anyone running Teleport 3.0.1 to upgrade. Upgraded Go to 1.11.4 to mitigate CVE-2018-16875: Go. For customers using the RHEL5.x compatible release of Teleport, we've backported this fix to Go 1.9.7, before releasing RHEL 5.x compatible binaries. This release of Teleport contains the following bug fix: Fix regression that marked ADFS claims as invalid. This is a major Teleport release which introduces support for Kubernetes clusters. In addition to this new feature this release includes several usability and performance improvements listed below. `tsh login` can retrieve and install certificates for both Kubernetes and SSH at the same time. Full audit log support for `kubectl` commands, including recording of the sessions if `kubectl exec` command was interactive. Unified (AKA "single pane of glass") RBAC for both SSH and Kubernetes permissions. Teleport administrators can now fine-tune the enabled ciphersuites Improved user experience linking trusted clusters together All Teleport components (proxy, auth and nodes) now support `public_addr` setting which allows them to be hosted behind NAT/Load Balancers. We have documented the previously undocumented monitoring endpoints The `etcd` back-end has been updated to implement 3.3+ protocol. See the upgrading notes below. Listing nodes via `tsh ls` or the web UI no longer shows nodes that the currently logged in user has no access to. It is now possible to build `tsh` client on Windows. Note: only `tsh login` command is implemented. . `-i` flag to `tsh login` is now guarantees to be non-interactive. Removed the bogus error message "access denied to perform action create on user" `scp` implementation in "recording proxy" mode did not work correctly. Removed the limit of 8 trusted clusters with SSO. `tsh ls` now works correctly when executed on a remote/trusted cluster The lists of improvements and bug fixes above mention only the significant changes, please take a look at on Github for more. Follow the [recommended upgrade procedure](docs/pages/upgrading.mdx) to upgrade to this version. WARNING: if you are using Teleport with the etcd back-end, make sure your `etcd` version is 3.3 or newer prior to upgrading to Teleport 3.0. Teleport 2.7.9 contains a security fix. Upgraded Go to 1.11.5 to mitigate : CPU denial of service in P-521 and P-384 elliptic curve implementation. Teleport 2.7.8 contains two security fixes. Updated xterm.js to mitigate a . Mitigate potential timing attacks during bearer token authentication. Teleport 2.7.7 contains two security fixes. We strongly encourage anyone running Teleport 2.7.6 to upgrade. Due to the flaw in internal RBAC verification logic, a compromised node, trusted cluster or authenticated non-privileged user can craft special request to Teleport's internal auth server API to gain access to the private key material of the cluster's internal certificate authorities and elevate their privileges to gain full administrative access to the Teleport cluster. This vulnerability only affects authenticated clients, there is no known way to exploit this vulnerability outside the cluster for unauthenticated clients. Upgraded Go to 1.11.4 to mitigate CVE-2018-16875: CPU denial of service in chain validation

This release of Teleport contains the following bug fix: Fix regression that marked ADFS claims as invalid. This release of Teleport contains the following bug fix: Teleport auth servers do not delete temporary files named `/tmp/multipart-` This release of Teleport focuses on bugfixes. Fixed issues with `clientidletimeout`. Added support for scalar and list values for `node_labels` in roles. Improved font support on Ubuntu. This release of Teleport focuses on bugfixes. Fixed issue that cause `failed executing request: user agent missing` missing error when upgrading from 2.6. This release of Teleport focuses on bugfixes. Fixed issue in Teleport 2.7.2 where rollback to Go 1.9.7 was not complete for `linux-amd64` binaries. This release of Teleport focuses on bugfixes. Rollback to Go 1.9.7 for users with custom CA running into `x509: certificate signed by unknown authority`. The primary goal of 2.7.0 release was to address the community feedback and improve the performance and flexibility when running Teleport clusters with large number of nodes. The Web UI now includes `scp` (secure copy) functionality. This allows Windows users and other users of the Web UI to upload/download files into SSH nodes using a web browser. Fine-grained control over forceful session termination has been added . It is now possible to: Forcefully disconnect idle clients (no client activity) after a specified timeout. Forcefully disconnect clients when their certificates expire in the middle of an active SSH session. Performance of SSH login commands have been improved on large clusters (thousands of nodes). DynamoDB storage back-end performance has been improved. Performance of session recording via a proxy has been improved Connections between trusted clusters are managed better As always, this release contains several bug fixes. The full list can be seen . Here are some notable ones: It is now possible to issue certificates with a long TTL via admin's `auth sign` tool. Previously they were limited to 30 hours for undocumented reason. Dynamic label values were shown as empty strings. Follow the [recommended upgrade procedure](docs/pages/upgrading.mdx) to upgrade to this version. This release of Teleport focuses on bugfixes. Fixed issue in Teleport 2.6.8 where rollback to Go 1.9.7 was not complete for `linux-amd64` binaries. This release of Teleport focuses on bugfixes. Rollback to Go 1.9.7 for users with custom CA running into `x509: certificate signed by unknown authority`. This release of Teleport focuses on bugfixes. Resolved dynamic label regression. This release of Teleport focuses on bugfixes. Remote clusters no longer try to re-connect to proxies that have been permanently removed. Speed up login on systems with many users. Improve overall performance of the etcd backend. Role login validation now applies after variables have been substituted. This release of Teleport focuses on bugfixes. Remote clusters no longer try to re-connect to proxies that have been permanently removed. Speed up login on systems with many users. Improve overall performance of the etcd backend. Role login validation now applies after variables have been substituted. This release of Teleport focuses on bugfixes. Reduced go routine usage by the forwarding proxy. Teleport no longer sends full version in the SSH handshake. Force flag works correctly for Trusted Clusters. Allow manual creation of Certificate Authorities. Include Teleport username in port forwarding events. Allow `tctl auth sign` to create user certificate with arbitrary TTL values. Upgrade to Go 1.10.3. This release of Teleport focuses on bugfixes. Use ciphers, KEX, and MAC algorithms from Teleport configuration in reverse tunnel server. Update path sanitizer it allow `@`. This release of Teleport brings new features, significant performance and usability improvements as well usual bugfixes. During this release cycle, the Teleport source code has been audited for security vulnerabilities by Cure53 and this release

contains patches for the discovered problems. Support for DynamoDB for storing the audit log events. Support for Amazon S3 for storing the recorded SSH sessions. Support for rotating certificate authorities (CA rotation). [#1899] (https://github.com/gravitational/teleport/pull/1899) Integration with Linux PAM (pluggable authentication modules) subsystem. and The new CLI command `tsh status` shows users which Teleport clusters they are authenticated with. Additionally, Teleport 2.6.0 has been submitted to the AWS marketplace. Soon AWS users will be able to create properly configured, secure and highly available Teleport clusters with ease. Role templates (depreciated in Teleport 2.3) were fully removed. We recommend migrating to role variables which are documented Resource names (like roles, connectors, trusted clusters) can no longer contain unicode or other special characters. Update the names of all user created resources to only include characters, hyphens, and dots. `advertiseip` has been deprecated and replaced with `publicaddr` setting. See The existing configuration files will still work, but we advise Teleport administrators to update it to reflect the new format. Teleport no longer uses `boltdb` back-end for storing cluster state _by default_. The new default is called `dir` and it uses simple JSON files stored in `/var/lib/teleport/backend`. This change applies to brand new Teleport installations, the existing clusters will continue to use `boltdb`. The default set of enabled cryptographic primitives has been updated to reflect the latest state of SSH and TLS security. . The list of most visible bug fixes in this release: `tsh` now properly handles Ctrl+C High CPU utilization on ARM platforms during daemon start-up. Terminal window size can get out of sync on AWS. Some CLI commands print errors twice. SSH session playback can be interrupted for long sessions. Processing `HUP` UNIX signal is unreliable when `teleport` daemon runs under `systemd`. You can see the full list of 2.6.0 changes . Follow the [recommended upgrade procedure](docs/pages/upgrading.mdx) to upgrade to this version. This release of Teleport focuses on bugfixes. Allow creation of users from `tctl create`. This release of Teleport focuses on bugfixes. Improvements to Teleport HUP signal handling for more reliable reload. Restore output format of `tctl nodes add --format=json`. This release of Teleport focuses on bugfixes. Allow creation of multiple sessions per connection (fixes Ansible issues with the recording proxy). This release of Teleport focuses on bugfixes. Only reset SIGINT handler if it has not been set to ignore. Improvement of user-visible errors. This release of Teleport focuses on bugfixes. Fix logging, collect status of forked processes. Turn off proxy support when no-tls is used. Correct the signup URL. Fix GitHub team pagination issues. Increase global dial timeout to 30 seconds. Reuse existing singing key. Don't panic on channel failures. This release of Teleport includes bug fixes and regression fixes. Run session migration in the background. Include node name in regenerated host certificates. This release of Teleport fixes a regression in Teleport binaries. Binaries for macOS have been rebuilt to resolve "certificate signed by a unknown authority" issue. This is a major release of Teleport. Its goal is to make cloud-native deployments easier. Numerous AWS users have contributed feedback to this release, which includes: Auth servers in highly available (HA) configuration can share the same `/var/lib/teleport` data directory when it's hosted on NFS (or AWS EFS). There is now an AWS reference deployment in `examples/aws` directory. It uses Terraform and demonstrates how to deploy large Teleport clusters on AWS using best practices like auto-scaling groups, security groups, secrets management, load balancers, etc. The Teleport daemon now implements built-in connection draining which allows zero-downtime upgrades. [See

Dynamic join tokens for new nodes can now be explicitly set via `tctl node add --token`. This allows Teleport admins to use an external mechanism for generating cluster invitation tokens. Teleport now correctly manages certificates for accessing proxies behind a load balancer with the same domain name. The new configuration parameter `public_addr` must be used for this. . Switching to a new TLS-based auth server API improves performance of large clusters. Session recordings are now compressed by default using gzip. This reduces storage requirements by up to 80% in our real-world tests. More user-friendly authentication errors in Teleport audit log helps Teleport admins troubleshoot configuration errors when integrating with SAML/OIDC providers. , , `tsh` client will now report if a server's API is no longer compatible. `tsh logout` will now correctly log out from all active Teleport sessions. This is useful for users who're connected to multiple Teleport clusters at the same time. When parsing YAML, Teleport now supports `--` list item separator to create multiple resources with a single `tctl create` command. Fixed a panic in the Web UI backend Certain components of Teleport behave differently in version 2.5. It is important to note that these changes are not breaking Teleport functionality. They improve Teleport behavior on large clusters deployed on highly dynamic cloud environments such as AWS. This includes: Session list in the Web UI is now limited to 1,000 sessions. The audit log and recorded session storage has been moved from `/var/lib/teleport/log` to `/var/lib/teleport/log/<auth-server-id>`. This is related to described above. When connecting a trusted cluster users can no longer pick an arbitrary name for them. Their own (local) names will be used, i.e. the `cluster_name` setting now defines how the cluster is seen from the outside. This release of Teleport contains a bugfix. Only reset SIGINT handler if it has not been set to ignore. This release of Teleport focuses on bugfixes. Increase global dial timeout to 30 seconds. Don't panic on channel failures. This release of Teleport fixes a regression in Teleport binaries. Binaries for macOS have been rebuilt to resolve "certificate signed by a unknown authority" issue. This release of Teleport focuses on bugfixes. Resolved `tsh logout` regression. Binaries for supported platforms all built with Go 1.9.2. This release of Teleport focuses on bugfixes. Resolved "access denied" regression in Trusted Clusters. Key written with wrong username to `~/.tsh`. Resolved Trusted Clusters toggling regression. This release of Teleport focuses on bugfixes. Wait for copy to complete before propagating exit-status. Don't discard initial bytes in HTTP CONNECT tunnel. Pass caching key generator to services and use cache in recording proxy. Only display "Change Password" in UI for local users. Update Signup URL. Improved Teleport version reporting. Fixed regressions in terminal size handling and Trusted Clusters introduced in 2.4.1. This release is focused on fixing a few regressions in Teleport as well as adding a new feature. Exposed the `--compat` flag to Web UI users. Wrap lines correctly on initial login. Accept port numbers larger than `32767`: Don't show the `Join` button when using the recording proxy. Don't double record sessions when using the recording proxy and Teleport nodes. Fixed regressions in `tsh login` and `tsh logout`. This release adds two major new features and a few improvements and bugfixes. New Commercial Teleport Editions: "Pro" and "Business" allow users to purchase a Teleport subscription without signing contracts. Teleport now supports SSH session recording even for nodes running OpenSSH This feature is called "recording proxy

Users of open source edition of Teleport can now authenticate against Github The Web UI now supports persistent URLs to Teleport nodes which can be integrated into 3rd party web apps. Session recording can now be turned off Teleport client `tsh` no longer supports being an SSH agent. We recommend using build-in SSH agents for MacOS and Linux, like `ssh-agent` from `openssh-client` package. There have been numerous small usability and performance improvements, but some notable fixed bugs are listed below: Resource (file descriptor) leak Correct handling of the terminal type Crash on startup This release is focused on fixing a few regressions in configuration and UI/UX. Updated documentation to accurately reflect 2.3 changes Web UI can use introspection so users can skip explicitly specifying SSH port Fixed issue of 2FA users getting prematurely locked out UI (regression) when invite link is expired, nothing is shown to the user OIDC regression with some providers Legacy configuration for trusted clusters regression: Dynamic tokens for adding nodes: "access denied" Added CSRF protection to login endpoint. Proxy subsystem handling is more robust. This release focus was to increase Teleport user experience in the following areas: Easier configuration via `tctl` resource commands. Improved documentation, with expanded 'examples' directory. Improved CLI interface. Web UI improvements. Web UI: users can connect to OpenSSH servers using the Web UI. Web UI now supports arbitrary SSH logins, in addition to role-defined ones, for better compatibility with OpenSSH. CLI: trusted clusters can now be managed on the fly without having to edit Teleport configuration. CLI: `tsh login` supports exporting a user identity into a file to be used later with OpenSSH. `tsh agent` command has been deprecated: users are expected to use native SSH Agents on their platforms. More granular RBAC rules Role definitions now support templates. Authentication: Teleport now supports multiple OIDC/SAML endpoints. Configuration: local authentication is always enabled as a fallback if a SAML/OIDC endpoints go offline. Configuration: SAML/OIDC endpoints can be created on the fly using `tctl` and without having to edit configuration file or restart Teleport. Web UI: it is now easier to turn a trusted cluster on/off . Proper handling of `ENV_SUPATH` from `login.defs` Reverse tunnels would periodically lose connectivity. `tsh` now stores user identities in a format compatible with OpenSSH. . Updated YAML parsing library. Fixed issue with SSH dial potentially hanging indefinitely. Fixed issue where node did not have correct permissions. Fixed issue with remote tunnel timeouts. . Fixed issue with Trusted Clusters where a clusters could lose its signing keys. . Fixed SAML signing certificate export in Enterprise. . Fixed an issue where in certain situations `tctl ls` would not work. . Added `--compat=oldssh` to both `tsh` and `tctl` that can be used to request certificates in the legacy format (no roles in extensions). Fixed multiple regressions when using SAML with dynamic roles. HTTP CONNECT tunneling for Trusted Clusters. Long lived certificates and identity export which can be used for automation. New terminal for Web UI. Read user environment files. Improvements to Auth Server resiliency and availability. Server side configuration of support ciphers, key exchange (KEX) algorithms, and MAC algorithms. Renaming `tsh` to `ssh` or making a symlink `tsh -> ssh` removes the need to type `tsh ssh`, making it compatible with familiar `ssh user@host`. SAML 2.0. Role mapping for Trusted Clusters. ACR parsing for OIDC identity providers. Improvements to OpenSSH interoperability. Certificate export format changes to match OpenSSH. CA export format changes to match OpenSSH. Improvements to `scp` implementation to fix incompatibility issues. OpenSSH keep alive messages are now processed correctly. `tsh` profile is now always read. Correct signal handling when Teleport is launched using sysvinit. Role templates now automatically fill out default values when

Fixed regression in TLP-01-009. Teleport 2.0.5 contains a variety of security fixes. We strongly encourage anyone running Teleport 2.0.0 and above to upgrade to 2.0.5. The most pressing issues (a phishing attack which can potentially be used to extract plaintext credentials and an attack where an already authenticated user can escalate privileges) can be resolved by upgrading the web proxy. However, however all nodes need to be upgraded to mitigate all vulnerabilities. Patch for TLP-01-001 and TLP-01-003: Check redirect. Patch for TLP-01-004: Always check is namespace is valid. Patch for TLP-01-005: Check user principal when joining session. Patch for TLP-01-006 and TLP-01-007: Validate Session ID. Patch for TLP-01-008: Use a fake hash for password authentication if user does not exist. Patch for TLP-01-009: Command injection in scp. Roles created in the Web UI now have `node` resource. Execute commands using user's shell. Allow users to read their own roles. Fix User CA import. Role template defaults. Skip UserInfo if not provided. Agent socket had wrong permissions. Introduced Dynamic Roles. Improved OpenSSH interoperability. , Enhanced OIDC Functionality. Fixed Regressions. , , , , and This is a major new release of Teleport. Native support for DynamoDB back-end for storing cluster state. It is now possible to turn off 2nd factor authentication. 2nd factor now uses TOTP. #522 New and easy to use framework for implementing secret storage plug-ins. Audit log format has been finalized and documented. Experimental simple file-based secret storage back-end. SSH agent forwarding. Friendlier CLI error messages. `tsh login` is now compatible with SSH agents. Role-based access control (RBAC) Dynamic configuration: ability to manage roles and trusted clusters at runtime. Full list of Github issues: https://github.com/gravitational/teleport/milestone/8 v1.3.2 is a maintenance release which fixes a Web UI issue when in some cases static web assets like custom fonts would not load properly. Issue #687 - broken web assets on some browsers. v1.3.1 is a maintenance release which fixes a few issues found in 1.3 Teleport session recorder can skip characters. U2F was enabled by default in "demo mode" if `teleport.yaml` file was missing. U2F documentation has been improved This release includes several major new features and it's recommended for production use. Support for hardware U2F keys for 2nd factor authentication. CLI client profiles: `tsh` can now remember its `--proxy` setting. tctl auth sign command to allow administrators to generate user session keys Web UI is now served directly from the executable. There is no more need for web assets in `/usr/local/share/teleport` Multiple auth servers in config doesn't work if the last on is not reachable. #593 `tsh scp -r` does not handle directory upload properly #606 This is a maintenance release and it's a drop-in replacement for previous versions. Usability bugfixes as can be seen here Updated documentation Added examples directory with sample configuration and systemd unit file. This is a maintenance release meant to be a drop-in upgrade of previous versions. User experience improvements: nicer error messages Better compatibility with ssh command: `-t` flag can be used to force allocation of TTY This release was recommended for production with one reservation: time-limited certificates did not work correctly in this release due to #529 Improvements in performance and usability of the Web UI Smaller binary sizes thanks to Golang v1.7 Wrong url to register new users. #497 Logged in users inherit Teleport supplemental groups bug security. #507 Joining a session running on a trusted cluster does not work. #504 This release only includes the addition of the ability to specify non-standard HTTPS port for Teleport proxy for `tsh --proxy` flag. This release only includes one major bugfix #486 plus minor