core (enterprise): Ensure Role Governing Policies are only applied down the namespace hierarchy
core/namespace (enterprise): Introduce the concept of high-privilege namespace (administrative namespace),
which will have access to some system backend paths that were previously only accessible in the root namespace. [GH-21215]
core: Bump Go version to 1.21.1.
database/couchbase: Update plugin to v0.9.3 [GH-22854]
database/couchbase: Update plugin to v0.9.4 [GH-22871]
database/elasticsearch: Update plugin to v0.13.3 [GH-22696]
database/mongodbatlas: Update plugin to v0.10.1 [GH-22655]
database/redis-elasticache: Update plugin to v0.2.2 [GH-22584]
database/redis-elasticache: Update plugin to v0.2.3 [GH-22598]
database/redis: Update plugin to v0.2.2 [GH-22654]
database/snowflake: Update plugin to v0.9.0 [GH-22516]
events: Log level for processing an event dropped from info to debug. [GH-22997]
events: data_path will include full data path of secret, including name. [GH-22487]
replication (enterprise): Switch to non-deprecated gRPC field for resolver target host
sdk/logical/events: EventSender interface method is now SendEvent instead of Send. [GH-22487]
secrets/mongodbatlas: Update plugin to v0.10.1 [GH-22748]
secrets/openldap: Update plugin to v0.11.2 [GH-22734]
secrets/terraform: Update plugin to v0.7.3 [GH-22907]
secrets/transform (enterprise): Enforce a transformation role's max_ttl setting on encode requests, a warning will be returned if max_ttl was applied.
storage/aerospike: Aerospike storage shouldn't be used on 32-bit architectures and is now unsupported on them. [GH-20825]
telemetry: Replace vault.rollback.attempt.{MOUNT_POINT} and vault.route.rollback.{MOUNT_POINT} metrics with vault.rollback.attempt and vault.route.rollback metrics by default. Added a telemetry configuration add_mount_point_rollback_metrics which, when set to true, causes vault to emit the metrics with mount points in their names. [GH-22400]
FEATURES:
Certificate Issuance External Policy Service (CIEPS) (enterprise): Allow highly-customizable operator control of certificate validation and generation through the PKI Secrets Engine.
Copyable KV v2 paths in UI: KV v2 secret paths are copyable for use in CLI commands or API calls [GH-22551]
Dashboard UI: Dashboard is now available in the UI as the new landing page. [GH-21057]
Database Static Role Advanced TTL Management: Adds the ability to rotate
Event System: Add subscribe capability and subscribe_event_types to policies for events. [GH-22474]
static roles on a defined schedule. [GH-22484]
GCP IAM Support: Adds support for IAM-based authentication to MySQL and PostgreSQL backends using Google Cloud SQL. [GH-22445]
Improved KV V2 UI: Updated and restructured secret engine for KV (version 2 only) [GH-22559]
Merkle Tree Corruption Detection (enterprise): Add a new endpoint to check merkle tree corruption.
Plugin Containers: Vault supports registering, managing, and running plugins inside a container on Linux. [GH-22712]
SAML Auth Method (enterprise): Enable users to authenticate with Vault using their identity in a SAML Identity Provider.
Seal High Availability Beta (enterprise): operators can try out configuring more than one automatic seal for resilience against seal provider outages. Not for production use at this time.
Secrets Sync (enterprise): Add the ability to synchronize KVv2 secret with external secrets manager solutions.
UI LDAP secrets engine: Add LDAP secrets engine to the UI. [GH-20790]
IMPROVEMENTS:
Bump github.com/hashicorp/go-plugin version v1.4.9 -> v1.4.10 [GH-20966]
api: add support for cloning a Client's tls.Config. [GH-21424]
api: adding a new api sys method for replication status [GH-20995]
auth/aws: Added support for signed GET requests for authenticating to vault using the aws iam method. [GH-10961]
auth/azure: Add support for azure workload identity authentication (see issue
#18257). Update go-kms-wrapping dependency to include PR
#155 [GH-22994]
auth/azure: Added Azure API configurable retry options [GH-23059]
auth/cert: Adds support for requiring hexadecimal-encoded non-string certificate extension values [GH-21830]
auth/ldap: improved login speed by adding concurrency to LDAP token group searches [GH-22659]
auto-auth/azure: Added Azure Workload Identity Federation support to auto-auth (for Vault Agent and Vault Proxy). [GH-22264]
auto-auth: added support for LDAP auto-auth [GH-21641]
aws/auth: Adds a new config field use_sts_region_from_client which allows for using dynamic regional sts endpoints based on Authorization header when using IAM-based authentication. [GH-21960]
command/server: add -dev-tls-san flag to configure subject alternative names for the certificate generated when using -dev-tls. [GH-22657]
core (ent) : Add field that allows lease-count namespace quotas to be inherited by child namespaces.
core : Add field that allows rate-limit namespace quotas to be inherited by child namespaces. [GH-22452]
core/fips: Add RPM, DEB packages of FIPS 140-2 and HSM+FIPS 140-2 Vault Enterprise.
core/quotas: Add configuration to allow skipping of expensive role calculations [GH-22651]
core: Add a new periodic metric to track the number of available policies, vault.policy.configured.count. [GH-21010]
core: Fix OpenAPI representation and -output-policy recognition of some non-standard sudo paths [GH-21772]
core: Fix regexes for sys/raw/ and sys/leases/lookup/ to match prevailing conventions [GH-21760]
core: Log rollback manager failures during unmount, remount to prevent replication failures on secondary clusters. [GH-22235]
core: Use a worker pool for the rollback manager. Add new metrics for the rollback manager to track the queued tasks. [GH-22567]
core: add a listener configuration "chroot_namespace" that forces requests to use a namespace hierarchy [GH-22304]
core: add a listener configuration "chroot_namespace" that forces requests to use a namespace hierarchy
core: remove unnecessary *BarrierView field from backendEntry struct [GH-20933]
core: use Go stdlib functionalities instead of explicit byte/string conversions [GH-21854]
events: WebSocket subscriptions add support for boolean filter expressions [GH-22835]
framework: Make it an error for CreateOperation to be defined without an ExistenceCheck, thereby fixing misleading x-vault-createSupported in OpenAPI [GH-18492]
kmip (enterprise): Add namespace lock and unlock support [GH-21925]
openapi: Better mount points for kv-v1 and kv-v2 in openapi.json [GH-21563]
openapi: Fix generated types for duration strings [GH-20841]
openapi: Fix generation of correct fields in some rarer cases [GH-21942]
openapi: Fix response definitions for list operations [GH-21934]
openapi: List operations are now given first-class representation in the OpenAPI document, rather than sometimes being overlaid with a read operation at the same path [GH-21723]
plugins: Containerized plugins can be configured to still work when running with systemd's PrivateTmp=true setting. [GH-23215]
replication (enterprise): Avoid logging warning if request is forwarded from a performance standby and not a performance secondary
replication (enterprise): Make reindex less disruptive by allowing writes during the flush phase.
sdk/framework: Adds replication state helper for backends to check for read-only storage [GH-21743]
secrets/database: Improves error logging for static role rotations by including the database and role names. [GH-22253]
secrets/db: Remove the service_account_json parameter when reading DB connection details [GH-23256]
secrets/pki: Add a parameter to allow ExtKeyUsage field usage from a role within ACME. [GH-21702]
secrets/transform (enterprise): Switch to pgx PostgreSQL driver for better timeout handling
secrets/transit: Add support to create CSRs from keys in transit engine and import/export x509 certificates [GH-21081]
storage/dynamodb: Added three permit pool metrics for the DynamoDB backend, pending_permits, active_permits, and pool_size. [GH-21742]
storage/etcd: Make etcd parameter MaxCallSendMsgSize configurable [GH-12666]
storage/raft: Cap the minimum dead_server_last_contact_threshold to 1m. [GH-22040]
sys/metrics (enterprise): Adds a gauge metric that tracks whether enterprise builtin secret plugins are enabled. [GH-21681]
ui: Add API Explorer link to Sidebar, under Tools. [GH-21578]
ui: Add pagination to PKI roles, keys, issuers, and certificates list pages [GH-23193]
ui: Added allowed_domains_template field for CA type role in SSH engine [GH-23119]
ui: Adds mount configuration details to Kubernetes secrets engine configuration view [GH-22926]
ui: Adds tidy_revoked_certs to PKI tidy status page [GH-23232]
ui: Adds warning before downloading KV v2 secret values [GH-23260]
ui: Display minus icon for empty MaskedInput value. Show MaskedInput for KV secrets without values [GH-22039]
ui: JSON diff view available in "Create New Version" form for KV v2 [GH-22593]
ui: KV View Secret card will link to list view if input ends in "/" [GH-22502]
ui: Move access to KV V2 version diff view to toolbar in Version History [GH-23200]
ui: Update pki mount configuration details to match the new mount configuration details pattern [GH-23166]
api/client: Fix deadlock in client.CloneWithHeaders when used alongside other client methods. [GH-22410]
api: Fix breakage with UNIX domain socket addresses introduced by newest Go versions as a security fix. [GH-22523]
audit: Prevent panic due to nil pointer receiver for audit header formatting. [GH-22694]
auth/azure: Fix intermittent 401s by preventing performance secondary clusters from rotating root credentials. [GH-21800]
auth/token, sys: Fix path-help being unavailable for some list-only endpoints [GH-18571]
auth/token: Fix parsing of auth/token/create fields to avoid incorrect warnings about ignored parameters [GH-18556]
awsutil: Update awsutil to v0.2.3 to fix a regression where Vault no longer
respects AWS_ROLE_ARN, AWS_WEB_IDENTITY_TOKEN_FILE, and AWS_ROLE_SESSION_NAME. [GH-21951]
cli: Avoid printing "Success" message when -field flag is provided during a vault write. [GH-21546]
cli: Fix the CLI failing to return wrapping information for KV PUT and PATCH operations when format is set to table. [GH-22818]
core (enterprise): Fix sentinel policy check logic so that sentinel
policies are not used when Sentinel feature isn't licensed.
core (enterprise): Remove MFA Configuration for namespace when deleting namespace
core/managed-keys (enterprise): Allow certain symmetric PKCS#11 managed key mechanisms (AES CBC with and without padding) to operate without an HMAC.
core/metrics: vault.raft_storage.bolt.write.time should be a counter not a summary [GH-22468]
core/quotas (enterprise): Fix a case where we were applying login roles to lease count quotas in a non-login context.
Also fix a related potential deadlock. [GH-21110]
core/quotas: Only perform ResolveRoleOperation for role-based quotas and lease creation. [GH-22597]
core/quotas: Reduce overhead for role calculation when using cloud auth methods. [GH-22583]
core: Remove "expiration manager is nil on tokenstore" error log for unauth requests on DR secondary as they do not have expiration manager. [GH-22137]
core: All subloggers now reflect configured log level on reload. [GH-22038]
core: Fix bug where background thread to update locked user entries runs on DR secondaries. [GH-22355]
core: Fix readonly errors that could occur while loading mounts/auths during unseal [GH-22362]
core: Fixed an instance where incorrect route entries would get tainted. We now pre-calculate namespace specific paths to avoid this. [GH-21470]
core: Fixed issue with some durations not being properly parsed to include days. [GH-21357]
core: Fixes list password policy to include those with names containing / characters. [GH-23155]
core: fix race when updating a mount's route entry tainted status and incoming requests [GH-21640]
docs: fix wrong api path for ldap secrets cli-commands [GH-23225]
events: Ensure subscription resources are cleaned up on close. [GH-23042]
expiration: Fix a deadlock that could occur when a revocation failure happens while restoring leases on startup. [GH-22374]
identity/mfa: Fixes to OpenAPI representation and returned error codes for identity/mfa/method/* APIs [GH-20879]
identity: Remove caseSensitivityKey to prevent errors while loading groups which could result in missing groups in memDB when duplicates are found. [GH-20965]
license: Add autoloaded license path to the cache exempt list. This is to ensure the license changes on the active node is observed on the perfStandby node. [GH-22363]
openapi: Fix response schema for PKI Issue requests [GH-21449]
openapi: Fix schema definitions for PKI EAB APIs [GH-21458]
plugins: Containerized plugins can be run with mlock enabled. [GH-23215]
plugins: Fix instance where Vault could fail to kill broken/unresponsive plugins. [GH-22914]
plugins: Fix instance where broken/unresponsive plugins could cause Vault to hang. [GH-22914]
plugins: Runtime catalog returns 404 instead of 500 when reading a runtime that does not exist [GH-23171]
plugins: vault plugin runtime list can successfully list plugin runtimes with GET [GH-23171]
raft/autopilot: Add dr-token flag for raft autopilot cli commands [GH-21165]
replication (enterprise): Fix discovery of bad primary cluster addresses to be more reliable
replication (enterprise): Fix panic when update-primary was called on demoted clusters using update_primary_addrs
replication (enterprise): Fixing a bug by which the atomicity of a merkle diff result could be affected. This means it could be a source of a merkle-diff & sync process failing to switch into stream-wal mode afterwards.
replication (enterprise): Sort cluster addresses returned by echo requests, so that primary-addrs only gets persisted when the
set of addrs changes.
replication (enterprise): update primary cluster address after DR failover
sdk/ldaputil: Properly escape user filters when using UPN domains
sdk/ldaputil: use EscapeLDAPValue implementation from cap/ldap [GH-22249]
secrets/azure: Fix intermittent 401s by preventing performance secondary clusters from rotating root credentials. [GH-21631]
secrets/ldap: Fix bug causing schema and password_policy to be overwritten in config. [GH-22330]
secrets/pki: Fix bug with ACME tidy, 'unable to determine acme base folder path'. [GH-21870]
secrets/pki: Fix preserving acme_account_safety_buffer on config/auto-tidy. [GH-21870]
secrets/pki: Fix removal of issuers to clean up unreferenced CRLs. [GH-23007]
secrets/pki: Prevent deleted issuers from reappearing when migrating from a version 1 bundle to a version 2 bundle (versions including 1.13.0, 1.12.2, and 1.11.6); when managed keys were removed but referenced in the Vault 1.10 legacy CA bundle, this the error: no managed key found with uuid. [GH-21316]
secrets/pki: allowed_domains are now compared in a case-insensitive manner if they use glob patterns [GH-22126]
secrets/transform (enterprise): Batch items with repeated tokens in the tokenization decode api will now contain the decoded_value element
secrets/transform (enterprise): Fix nil panic when deleting a template with tokenization transformations present
secrets/transform (enterprise): Fix nil panic when encoding a tokenization transformation on a non-active node
secrets/transform (enterprise): Grab shared locks for various read operations, only escalating to write locks if work is required
secrets/transform (enterprise): Tidy operations will be re-scheduled at a minimum of every minute, not a maximum of every minute
secrets/transit: fix panic when providing non-PEM formatted public key for import [GH-22753]
serviceregistration: Fix bug where multiple nodes in a secondary cluster could be labelled active after updating the cluster's primary [GH-21642]
storage/consul: Consul service registration tags are now case-sensitive. [GH-6483]
storage/raft: Fix race where new follower joining can get pruned by dead server cleanup. [GH-20986]
ui (enterprise): Fix error message when generating SSH credential with control group [GH-23025]
ui: Adds missing values to details view after generating PKI certificate [GH-21635]
ui: Fix blank page or ghost secret when canceling KV secret create [GH-22541]
ui: Fix display for "Last Vault Rotation" timestamp for static database roles which was not rendering or copyable [GH-22519]
ui: Fix styling for username input when editing a user [GH-21771]
ui: Fix styling for viewing certificate in kubernetes configuration [GH-21968]
ui: Fix the issue where confirm delete dropdown is being cut off [GH-23066]
ui: Fixed an issue where editing an SSH role would clear default_critical_options and default_extension if left unchanged. [GH-21739]
ui: Fixed secrets, leases, and policies filter dropping focus after a single character [GH-21767]
ui: Fixes filter and search bug in secrets engines [GH-23123]
ui: Fixes form field label tooltip alignment [GH-22832]
ui: Fixes issue with certain navigational links incorrectly displaying in child namespaces [GH-21562]
ui: Fixes login screen display issue with Safari browser [GH-21582]
ui: Fixes problem displaying certificates issued with unsupported signature algorithms (i.e. ed25519) [GH-21926]
ui: Fixes styling of private key input when configuring an SSH key [GH-21531]
ui: Surface DOMException error when browser settings prevent localStorage. [GH-21503]