Commit graph

64 commits

Author SHA1 Message Date
bsiegert
2af0bedf36 Revbump all Go packages after go116 update 2021-05-08 15:02:22 +00:00
bsiegert
f6095694fd Revbump all Go packages after go115 update 2021-03-19 17:36:46 +00:00
he
c65fb42dcc Upgrade security/vault to version 1.6.2:
Pkgsrc changes:
 * None

Upstream changes:

v1.6.2
January 29, 2021

SECURITY:
 * IP Address Disclosure: We fixed a vulnerability where, under
   some error conditions, Vault would return an error message
   disclosing internal IP addresses. This vulnerability affects
   Vault and Vault Enterprise and is fixed in 1.6.2 (CVE-2021-3024).
 * Limited Unauthenticated Remove Peer: As of Vault 1.6, the
   remove-peer command on DR secondaries did not require authentication.
   This issue impacts the stability of HA architecture, as a bad
   actor could remove all standby nodes from a DR secondary. This
   issue affects Vault Enterprise 1.6.0 and 1.6.1, and is fixed in
   1.6.2 (CVE-2021-3282).
 * Mount Path Disclosure: Vault previously returned different HTTP
   status codes for existent and non-existent mount paths. This
   behavior would allow unauthenticated brute force attacks to
   reveal which paths had valid mounts. This issue affects Vault
   and Vault Enterprise and is fixed in 1.6.2 (CVE-2020-25594).

CHANGES:
 * go: Update go version to 1.15.7 [GH-10730]

FEATURES:
 * ui: Adds check for feature flag on application, and updates
   namespace toolbar on login if present [GH-10588]

IMPROVEMENTS:
 * core (enterprise): "vault status" command works when a namespace
   is set. [GH-10725]
 * core: reduce memory used by leases [GH-10726]
 * storage/raft (enterprise): Listing of peers is now allowed on DR secondary
   cluster nodes, as an update operation that takes in DR operation token for
   authenticating the request.

BUG FIXES:
 * agent: Set namespace for template server in agent. [GH-10757]
 * core: Make the response to an unauthenticated request to
   sys/internal endpoints consistent regardless of mount existence.
   [GH-10650]
 * metrics: Protect emitMetrics from panicking during post-seal [GH-10708]
 * secrets/gcp: Fix issue with account and iam_policy roleset WALs
   not being removed after attempts when GCP project no longer
   exists [GH-10759]
 * storage/raft (enterprise): Automated snapshots with Azure required
   specifying
 * azure_blob_environment, which should have had as a default
   AZUREPUBLICCLOUD.
 * storage/raft (enterprise): Autosnapshots config and storage
   weren't excluded from
 * performance replication, causing conflicts and errors.
 * ui: Fix bug that double encodes secret route when there are
   spaces in the path and makes you unable to view the version
   history. [GH-10596]
 * ui: Fix expected response from feature-flags endpoint [GH-10684]
2021-02-01 10:49:11 +00:00
bsiegert
9956fb746f Revbump all Go packages after go115 update 2021-01-23 14:22:52 +00:00
he
50db802a20 Upgrade vault to version 1.6.1:
Pkgsrc changes:
 * Added a patch to cope with docker client default settings (build
   also on NetBSD)


Upstream changes:

1.6.1
=====
December 16, 2020

SECURITY:
 * LDAP Auth Method: We addressed an issue where error messages
   returned by the LDAP auth methold allowed user enumeration
   [GH-10537]. This vulnerability affects Vault OSS and Vault Enterprise
   and is fixed in 1.5.6 and 1.6.1 (CVE-2020-35177).
 * Sentinel EGP: We've fixed incorrect handling of namespace paths
   to prevent users within namespaces from applying Sentinel EGP
   policies to paths above their namespace. This vulnerability
   affects Vault Enterprise and is fixed in 1.5.6 and 1.6.1
   (CVE-2020-35453).

IMPROVEMENTS:
 * auth/ldap: Improve consistency in error messages [GH-10537]
 * core/metrics: Added "vault operator usage" command. [GH-10365]
 * secrets/gcp: Truncate ServiceAccount display names longer than
   100 characters. [GH-10558]

BUG FIXES:
 * agent: Only set the namespace if the VAULT_NAMESPACE env var
   isn't present [GH-10556]
 * auth/jwt: Fixes bound_claims validation for provider-specific
   group and user info fetching. [GH-10546]
 * core (enterprise): Vault EGP policies attached to path * were
   not correctly scoped to the namespace.
 * core: Avoid deadlocks by ensuring that if grabLockOrStop returns
   stopped=true, the lock will not be held. [GH-10456]
 * core: Fix client.Clone() to include the address [GH-10077]
 * core: Fix rate limit resource quota migration from 1.5.x to
   1.6.x by ensuring purgeInterval and staleAge are set appropriately.
   [GH-10536]
 * core: Make all APIs that report init status consistent, and make
   them report initialized=true when a Raft join is in progress.
   [GH-10498]
 * secrets/database/influxdb: Fix issue where not all errors from
   InfluxDB were being handled [GH-10384]
 * secrets/database/mysql: Fixes issue where the DisplayName within
   generated usernames was the incorrect length [GH-10433]
 * secrets/database: Sanitize private_key field when reading database
   plugin config [GH-10416]
 * secrets/transit: allow for null string to be used for optional
   parameters in encrypt and decrypt [GH-10386]
 * storage/raft (enterprise): The parameter aws_s3_server_kms_key
   was misnamed and didn't work. Renamed to aws_s3_kms_key, and
   make it work so that when provided the given key will be used
   to encrypt the snapshot using AWS KMS.
 * transform (enterprise): Fix bug tokenization handling metadata
   on exportable stores
 * transform (enterprise): Fix transform configuration not handling
   stores parameter on the legacy path
 * transform (enterprise): Make expiration timestamps human readable
 * transform (enterprise): Return false for invalid tokens on the
   validate endpoint rather than returning an HTTP error
 * transform (enterprise): Fix bug where tokenization store changes
   are persisted but don't take effect
 * ui: Fix bug in Transform secret engine when a new role is added
   and then removed from a transformation [GH-10417]
 * ui: Fix footer URL linking to the correct version changelog.
   [GH-10491]
 * ui: Fox radio click on secrets and auth list pages. [GH-10586]


1.6.0
=====
November 11th, 2020

NOTE:

Binaries for 32-bit macOS (i.e. the darwin_386 build) will no longer
be published. This target was dropped in the latest version of the
Go compiler.

CHANGES:
 * agent: Agent now properly returns a non-zero exit code on error,
   such as one due to template rendering failure. Using
   error_on_missing_key in the template config will cause agent to
   immediately exit on failure. In order to make agent properly
   exit due to continuous failure from template rendering errors,
   the old behavior of indefinitely restarting the template server
   is now changed to exit once the default retry attempt of 12
   times (with exponential backoff) gets exhausted. [GH-9670]
 * token: Periodic tokens generated by auth methods will have the
   period value stored in its token entry. [GH-7885]
 * core: New telemetry metrics reporting mount table size and number
   of entries [GH-10201]
 * go: Updated Go version to 1.15.4 [GH-10366]

FEATURES:
 * Couchbase Secrets: Vault can now manage static and dynamic
   credentials for Couchbase. [GH-9664]
 * Expanded Password Policy Support: Custom password policies are
   now supported for all database engines.
 * Integrated Storage Auto Snapshots (Enterprise): This feature
   enables an operator to schedule snapshots of the integrated
   storage backend and ensure those snapshots are persisted elsewhere.
 * Integrated Storage Cloud Auto Join: This feature for integrated
   storage enables Vault nodes running in the cloud to automatically
   discover and join a Vault cluster via operator-supplied metadata.
 * Key Management Secrets Engine (Enterprise; Tech Preview): This
   new secret engine allows securely distributing and managing keys
   to Azure cloud KMS services.
 * Seal Migration: With Vault 1.6, we will support migrating from
   an auto unseal mechanism to a different mechanism of the same
   type. For example, if you were using an AWS KMS key to automatically
   unseal, you can now migrate to a different AWS KMS key.
 * Tokenization (Enterprise; Tech Preview): Tokenization supports
   creating irreversible "tokens" from sensitive data. Tokens can
   be used in less secure environments, protecting the original
   data.
 * Vault Client Count: Vault now counts the number of active entities
   (and non-entity tokens) per month and makes this information
   available via the "Metrics" section of the UI.

IMPROVEMENTS:
 * auth/approle: Role names can now be referenced in templated
   policies through the approle.metadata.role_name property [GH-9529]
 * auth/aws: Improve logic check on wildcard BoundIamPrincipalARNs
   and include role name on error messages on check failure [GH-10036]
 * auth/jwt: Add support for fetching groups and user information
   from G Suite during authentication. [GH-123]
 * auth/jwt: Adding EdDSA (ed25519) to supported algorithms [GH-129]
 * auth/jwt: Improve cli authorization error [GH-137]
 * auth/jwt: Add OIDC namespace_in_state option [GH-140]
 * secrets/transit: fix missing plaintext in bulk decrypt response [GH-9991]
 * command/server: Delay informational messages in -dev mode until
   logs have settled. [GH-9702]
 * command/server: Add environment variable support for disable_mlock.
   [GH-9931]
 * core/metrics: Add metrics for storage cache [GH_10079]
 * core/metrics: Add metrics for leader status [GH 10147]
 * physical/azure: Add the ability to use Azure Instance Metadata
   Service to set the credentials for Azure Blob storage on the
   backend. [GH-10189]
 * sdk/framework: Add a time type for API fields. [GH-9911]
 * secrets/database: Added support for password policies to all
   databases [GH-9641, and more]
 * secrets/database/cassandra: Added support for static credential
   rotation [GH-10051]
 * secrets/database/elasticsearch: Added support for static credential
   rotation [GH-19]
 * secrets/database/hanadb: Added support for root credential &
   static credential rotation [GH-10142]
 * secrets/database/hanadb: Default password generation now includes
   dashes. Custom statements may need to be updated to include
   quotes around the password field [GH-10142]
 * secrets/database/influxdb: Added support for static credential
   rotation [GH-10118]
 * secrets/database/mongodbatlas: Added support for root credential
   rotation [GH-14]
 * secrets/database/mongodbatlas: Support scopes field in creations
   statements for MongoDB Atlas database plugin [GH-15]
 * seal/awskms: Add logging during awskms auto-unseal [GH-9794]
 * storage/azure: Update SDK library to use azure-storage-blob-go
   since previous library has been deprecated. [GH-9577]
 * secrets/ad: rotate-root now supports POST requests like other
   secret engines [GH-70]
 * ui: Add ui functionality for the Transform Secret Engine [GH-9665]
 * ui: Pricing metrics dashboard [GH-10049]

BUG FIXES:
 * auth/jwt: Fix bug preventing config edit UI from rendering [GH-141]
 * cli: Don't open or overwrite a raft snapshot file on an unsuccessful
   vault operator raft snapshot [GH-9894]
 * core: Implement constant time version of shamir GF(2^8) math [GH-9932]
 * core: Fix resource leak in plugin API (plugin-dependent, not
   all plugins impacted) [GH-9557]
 * core: Fix race involved in enabling certain features via a
   license change
 * core: Fix error handling in HCL parsing of objects with invalid
   syntax [GH-410]
 * identity: Check for timeouts in entity API [GH-9925]
 * secrets/database: Fix handling of TLS options in mongodb connection
   strings [GH-9519]
 * secrets/gcp: Ensure that the IAM policy version is appropriately
   set after a roleset's bindings have changed. [GH-93]
 * ui: Mask LDAP bindpass while typing [GH-10087]
 * ui: Update language in promote dr modal flow [GH-10155]
 * ui: Update language on replication primary dashboard for clarity
   [GH-10205]
 * core: Fix bug where updating an existing path quota could
   introduce a conflict. [GH-10285]


1.5.6
=====
December 16, 2020

SECURITY:
 * LDAP Auth Method: We addressed an issue where error messages
   returned by the LDAP auth methold allowed user enumeration
   [GH-10537]. This vulnerability affects Vault OSS and Vault
   Enterprise and is fixed in 1.5.6 and 1.6.1 (CVE-2020-35177).
 * Sentinel EGP: We've fixed incorrect handling of namespace paths
   to prevent users within namespaces from applying Sentinel EGP
   policies to paths above their namespace. This vulnerability
   affects Vault Enterprise and is fixed in 1.5.6 and 1.6.1.

IMPROVEMENTS:
 * auth/ldap: Improve consistency in error messages [GH-10537]

BUG FIXES:
 * core (enterprise): Vault EGP policies attached to path * were
   not correctly scoped to the namespace.
 * core: Fix bug where updating an existing path quota could
   introduce a conflict [GH-10285]
 * core: Fix client.Clone() to include the address [GH-10077]
 * quotas (enterprise): Reset cache before loading quotas in the
   db during startup
 * secrets/transit: allow for null string to be used for optional
   parameters in encrypt and decrypt [GH-10386]


1.5.5
=====
October 21, 2020

IMPROVEMENTS:
 * auth/aws, core/seal, secret/aws: Set default IMDS timeouts to
   match AWS SDK [GH-10133]

BUG FIXES:
 * auth/aws: Restrict region selection when in the aws-us-gov
   partition to avoid IAM errors [GH-9947]
 * core (enterprise): Allow operators to add and remove (Raft)
   peers in a DR secondary cluster using Integrated Storage.
 * core (enterprise): Add DR operation token to the remove peer
   API and CLI command (when DR secondary).
 * core (enterprise): Fix deadlock in handling EGP policies
 * core (enterprise): Fix extraneous error messages in DR Cluster
 * secrets/mysql: Conditionally overwrite TLS parameters for MySQL
   secrets engine [GH-9729]
 * secrets/ad: Fix bug where password_policy setting was not using
   correct key when ad/config was read [GH-71]
 * ui: Fix issue with listing roles and methods on the same auth
   methods with different names [GH-10122]


1.5.4
=====
September 24th, 2020

SECURITY:
 * Batch Token Expiry: We addressed an issue where batch token
   leases could outlive their TTL because we were not scheduling
   the expiration time correctly. This vulnerability affects Vault
   OSS and Vault Enterprise 1.0 and newer and is fixed in 1.4.7
   and 1.5.4 (CVE-2020-25816).

IMPROVEMENTS:
 * secrets/pki: Handle expiration of a cert not in storage as a
   success [GH-9880]
 * auth/kubernetes: Add an option to disable defaulting to the
   local CA cert and service account JWT when running in a Kubernetes
   pod [GH-97]
 * secrets/gcp: Add check for 403 during rollback to prevent repeated
   deletion calls [GH-97]
 * core: Disable usage metrics collection on performance standby
   nodes. [GH-9966]
 * credential/aws: Added X-Amz-Content-Sha256 as a default STS
   request header [GH-10009]

BUG FIXES:
 * agent: Fix disable_fast_negotiation not being set on the auth
   method when configured by user. [GH-9892]
 * core (enterprise): Fix hang when cluster-wide plugin reload
   cleanup is slow on unseal
 * core (enterprise): Fix an error in cluster-wide plugin reload
   cleanup following such a reload
 * core: Fix crash when metrics collection encounters zero-length
   keys in KV store [GH-9811]
 * mfa (enterprise): Fix incorrect handling of PingID responses
   that could result in auth requests failing
 * replication (enterprise): Improve race condition when using a
   newly created token on a performance standby node
 * replication (enterprise): Only write failover cluster addresses
   if they've changed
 * ui: fix bug where dropdown for identity/entity management is not
   reflective of actual policy [GH-9958]
2021-01-05 11:02:51 +00:00
bsiegert
2915abcd8b Revbump all Go packages after go115 update 2020-11-13 19:26:03 +00:00
bsiegert
bea1f7d75a Revbump all Go packages after Go 1.15 update. 2020-11-08 21:59:09 +00:00
bsiegert
de10215f91 Revbump all Go packages after go115 update. 2020-10-15 13:08:12 +00:00
he
9778288fc7 Upgrade vault to version 1.5.3:
Pkgsrc changes:
 * Added a patch to cope with fromStatT on NetBSD
 * Added a patch to cope with docker client default settings (build
   also on NetBSD)

Upstream changes:

1.5.3 (August 27th, 2020)

NOTE:
All security content from 1.5.2, 1.5.1, 1.4.5, 1.4.4, 1.3.9, 1.3.8,
1.2.6, and 1.2.5 has been made fully open source, and the git tags for
1.5.3, 1.4.6, 1.3.10, and 1.2.7 will build correctly for open source
users.

BUG FIXES:
 * auth/aws: Made header handling for IAM authentication more robust
 * secrets/ssh: Fixed a bug with role option for SSH signing algorithm
   to allow more than RSA signing

## 1.5.1

CHANGES:
* pki: The tidy operation will now remove revoked certificates if the
  parameter `tidy_revoked_certs` is set to `true`. This will result in
  certificate entries being immediately removed, as opposed to
  awaiting until its NotAfter time. Note that this only affects
  certificates that have been already
  revoked. [[GH-9609](https://github.com/hashicorp/vault/pull/9609)]

IMPROVEMENTS:
* auth/jwt: Add support for fetching groups and user information from
  G Suite during
  authentication. [[GH-9574](https://github.com/hashicorp/vault/pull/9574)]
* secrets/openldap: Add "ad" schema that allows the engine to
  correctly rotate AD
  passwords. [[GH-9740](https://github.com/hashicorp/vault/pull/9740)]
* ui: Wrap TTL option on transit engine export action is updated to a
  new component.
  [[GH-9632](https://github.com/hashicorp/vault/pull/9632)]

BUG FIXES:
* secrets/gcp: Ensure that the IAM policy version is appropriately set
  after a roleset's bindings have
  changed. [[GH-9603](https://github.com/hashicorp/vault/pull/9603)]
* replication (enterprise): Fix status API output incorrectly stating
  replication is in `idle` state.
* core: Fix panic when printing over-long info fields at startup
  [[GH-9681](https://github.com/hashicorp/vault/pull/9681)]

## 1.5.0
### July 21st, 2020

CHANGES:
* storage/raft: The storage configuration now accepts a new
  `max_entry_size` config that will limit the total size in bytes of
  any entry committed via raft. It defaults to `"1048576"`
  (1MiB). [[GH-9027](https://github.com/hashicorp/vault/pull/9027)]
* token: Token creation with custom token ID via `id` will no longer
  allow periods (`.`) as part of the input string.
  The final generated token value may contain periods, such as the
  `s.` prefix for service token
  indication. [[GH-8646](https://github.com/hashicorp/vault/pull/8646/files)]
* token: Token renewals will now return token policies within the
  `token_policies` , identity policies within `identity_policies`, and
  the full policy set within
  `policies`. [[GH-8535](https://github.com/hashicorp/vault/pull/8535)]
* cubbyhole: Reject reads and writes to an empty ("")
  path. [[GH-8971](https://github.com/hashicorp/vault/pull/8971)]
* core: Remove the addition of newlines to parsed configuration when
  using integer/boolean values
  [[GH-8928](https://github.com/hashicorp/vault/pull/8928)]
* audit: Token TTL and issue time are now provided in the auth portion
  of audit logs. [[GH-9091](https://github.com/hashicorp/vault/pull/9091)]

IMPROVEMENTS:
* audit: Replication status requests are no longer
  audited. [[GH-8877](https://github.com/hashicorp/vault/pull/8877)]
* audit: Added mount_type field to requests and
  responses. [[GH-9167](https://github.com/hashicorp/vault/pull/9167)]
* auth/aws: Add support for Web Identity credentials
  [[GH-7738](https://github.com/hashicorp/vault/pull/7738)]
* auth/jwt: Support users that are members of more than 200 groups on Azure
  [[GH-120](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/120)]
* auth/kubernetes: Allow disabling `iss` validation
  [[GH-91](https://github.com/hashicorp/vault-plugin-auth-kubernetes/pull/91)]
* core: Add the Go version used to build a Vault binary to the server message
  output. [[GH-9078](https://github.com/hashicorp/vault/pull/9078)]
* core: Added Password Policies for user-configurable password generation
  [[GH-8637](https://github.com/hashicorp/vault/pull/8637)]
* core: New telemetry metrics covering token counts, token creation, KV
  secret counts, lease
  creation. [[GH-9239](https://github.com/hashicorp/vault/pull/9239)]
  [[GH-9250](https://github.com/hashicorp/vault/pull/9250)]
  [[GH-9244](https://github.com/hashicorp/vault/pull/9244)]
  [[GH-9052](https://github.com/hashicorp/vault/pull/9052)]
* cli: Support reading TLS parameters from file for the `vault operator raft
  join` command. [[GH-9060](https://github.com/hashicorp/vault/pull/9060)]
* plugin: Add SDK method, `Sys.ReloadPlugin`, and CLI command, `vault plugin
  reload`, for reloading
  plugins. [[GH-8777](https://github.com/hashicorp/vault/pull/8777)]
* plugin (enterprise): Add a scope field to plugin reload, which when global,
  reloads the plugin anywhere in a
  cluster. [[GH-9347](https://github.com/hashicorp/vault/pull/9347)]
* sdk/framework: Support accepting TypeFloat parameters over the API
  [[GH-8923](https://github.com/hashicorp/vault/pull/8923)]
* secrets/aws: Add iam_groups parameter to role create/update
  [[GH-8811](https://github.com/hashicorp/vault/pull/8811)]
* secrets/database: Add static role rotation for MongoDB Atlas database
  plugin
  [[GH-11](https://github.com/hashicorp/vault-plugin-database-mongodbatlas/pull/11)]
* secrets/database: Add static role rotation for MSSQL database plugin
  [[GH-9062](https://github.com/hashicorp/vault/pull/9062)]
* secrets/database: Allow InfluxDB to use insecure TLS without cert bundle
  [[GH-8778](https://github.com/hashicorp/vault/pull/8778)]
* secrets/gcp: Support BigQuery dataset ACLs in absence of IAM endpoints
  [[GH-78](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/78)]
* secrets/pki: Allow 3072-bit RSA keys
  [[GH-8343](https://github.com/hashicorp/vault/pull/8343)]
* secrets/ssh: Add a CA-mode role option to specify signing algorithm
  [[GH-9096](https://github.com/hashicorp/vault/pull/9096)]
* secrets/transit: Transit requests that make use of keys now include a new
  field  `key_version` in their responses
  [[GH-8775](https://github.com/hashicorp/vault/pull/8775)]
* secrets/transit: Improving transit batch encrypt and decrypt latencies
  [[GH-9100](https://github.com/hashicorp/vault/pull/9100)]
* sentinel: Add a sentinel config section, and "additional_enabled_modules",
  a list of Sentinel modules that may be imported in addition to the
  defaults.
* ui: Update TTL picker styling on SSH secret engine
  [[GH-8891](https://github.com/hashicorp/vault/pull/8891)]
* ui: Only render the JWT input field of the Vault login form on mounts
  configured for JWT auth
  [[GH-8952](https://github.com/hashicorp/vault/pull/8952)]
* cli: Add a new subcommand, `vault monitor`, for tailing server logs in the
  console. [[GH-8477](https://github.com/hashicorp/vault/pull/8477)]
* ui: Add replication dashboards.  Improve replication management
  workflows. [[GH-8705]](https://github.com/hashicorp/vault/pull/8705).

BUG FIXES:
* agent: Restart template server when it shuts down
  [[GH-9200](https://github.com/hashicorp/vault/pull/9200)]
* auth/oci: Fix issue where users of the Oracle Cloud Infrastructure (OCI)
  auth method could not authenticate when the plugin backend was mounted at a
  non-default path.
  [[GH-7](https://github.com/hashicorp/vault-plugin-auth-oci/pull/7)]
* core: Extend replicated cubbyhole fix in 1.4.0 to cover case where a
  performance primary is also a DR primary
  [[GH-9148](https://github.com/hashicorp/vault/pull/9148)]
* secrets/aws: Fix issue where performance standbys weren't able to generate
  STS credentials after an IAM access key rotation in AWS and root IAM
  credential update in Vault
  [[GH-9186](https://github.com/hashicorp/vault/pull/9186)]
* secrets/database: Fix issue where rotating root database credentials while
  Vault's storage backend is unavailable causes Vault to lose access to the
  database [[GH-8782](https://github.com/hashicorp/vault/pull/8782)]
* secrets/database: Fix issue that prevents performance standbys from
  connecting to databases after a root credential rotation
  [[GH-9129](https://github.com/hashicorp/vault/pull/9129)]
* secrets/gcp: Fix issue were updates were not being applied to the
  `token_scopes` of a roleset.
  [[GH-90](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/90)]
* secrets/kv: Return the value of delete_version_after when reading
  kv/config, even if it is set to the default.
  [[GH-42](https://github.com/hashicorp/vault-plugin-secrets-kv/pull/42)]
* ui: Add Toggle component into core addon so it is available in KMIP and
  other Ember Engines.
  [[GH-8913]](https://github.com/hashicorp/vault/pull/8913)
* ui: Disallow max versions value of large than 9999999999999999 on kv2
  secrets engine. [[GH-9242](https://github.com/hashicorp/vault/pull/9242)]

## 1.4.3 (TBD)

IMPROVEMENTS:
* auth/aws: Add support for Web Identity credentials
  [[GH-9251](https://github.com/hashicorp/vault/pull/9251)]
* core: Add the Go version used to build a Vault binary to the server message
  output. [[GH-9078](https://github.com/hashicorp/vault/pull/9078)]
* secrets/database: Add static role rotation for MongoDB Atlas database
  plugin [[GH-9311](https://github.com/hashicorp/vault/pull/9311)]
* ui: Link to the Vault Changelog in the UI footer
  [[GH-9216](https://github.com/hashicorp/vault/pull/9216)]

BUG FIXES:
* auth/oci: Fix issue where users of the Oracle Cloud Infrastructure (OCI)
  auth method could not authenticate when the plugin backend was mounted at a
  non-default path. [[GH-9278](https://github.com/hashicorp/vault/pull/9278)]
* replication: The issue causing cubbyholes in namespaces on performance
  secondaries to not work, which was fixed in 1.4.0, was still an issue when
  the primary was both a performance primary and DR primary.
* secrets/aws: Fix issue where performance standbys weren't able to generate
  STS credentials after an IAM access key rotation in AWS and root IAM
  credential update in Vault
  [[GH-9207](https://github.com/hashicorp/vault/pull/9207)]
* secrets/database: Fix issue that prevents performance standbys from
  connecting to databases after a root credential rotation
  [[GH-9208](https://github.com/hashicorp/vault/pull/9208)]
* secrets/gcp: Fix issue were updates were not being applied to the
  `token_scopes` of a roleset.
  [[GH-9277](https://github.com/hashicorp/vault/pull/9277)]

## 1.4.2 (May 21st, 2020)

SECURITY:
* core: Proxy environment variables are now redacted before being logged, in
  case the URLs include a username:password. This vulnerability,
  CVE-2020-13223, is fixed in 1.3.6 and 1.4.2, but affects 1.4.0 and 1.4.1,
  as well as older versions of Vault
  [[GH-9022](https://github.com/hashicorp/vault/pull/9022)]
* secrets/gcp: Fix a regression in 1.4.0 where the system TTLs were being
  used instead of the configured backend TTLs for dynamic service
  accounts. This vulnerability is CVE-2020-12757.
  [[GH-85](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/85)]

IMPROVEMENTS:
* storage/raft: The storage stanza now accepts `leader_ca_cert_file`,
  `leader_client_cert_file`, and  `leader_client_key_file` parameters to read
  and parse TLS certificate information from paths on disk.
  Existing non-path based parameters will continue to work, but their values
  will need to be provided as a single-line string with newlines delimited by
  `\n`.  [[GH-8894](https://github.com/hashicorp/vault/pull/8894)]
* storage/raft: The `vault status` CLI command and the `sys/leader` API now
  contain the committed and applied raft indexes.
  [[GH-9011](https://github.com/hashicorp/vault/pull/9011)]

BUG FIXES:
* auth/aws: Fix token renewal issues caused by the metadata changes in 1.4.1
  [[GH-8991](https://github.com/hashicorp/vault/pull/8991)]
* auth/ldap: Fix 1.4.0 regression that could result in auth failures when
  LDAP auth config includes upndomain.
  [[GH-9041](https://github.com/hashicorp/vault/pull/9041)]
* secrets/ad: Forward rotation requests from standbys to active clusters
  [[GH-66](https://github.com/hashicorp/vault-plugin-secrets-ad/pull/66)]
* secrets/database: Prevent generation of usernames that are not allowed by
  the MongoDB Atlas API
  [[GH-9](https://github.com/hashicorp/vault-plugin-database-mongodbatlas/pull/9)]
* secrets/database: Return an error if a manual rotation of static account
  credentials fails [[GH-9035](https://github.com/hashicorp/vault/pull/9035)]
* secrets/openldap: Forward all rotation requests from standbys to active
  clusters [[GH-9028](https://github.com/hashicorp/vault/pull/9028)]
* secrets/transform (enterprise): Fix panic that could occur when accessing
  cached template entries, such as a requests that accessed templates
  directly or indirectly from a performance standby node.
* serviceregistration: Fix a regression for Consul service registration that
  ignored using the listener address as the redirect address unless api_addr
  was provided. It now properly uses the same redirect address as the one
  used by Vault's Core object.
  [[GH-8976](https://github.com/hashicorp/vault/pull/8976)]
* storage/raft: Advertise the configured cluster address to the rest of the
  nodes in the raft cluster. This fixes an issue where a node advertising
  0.0.0.0 is not using a unique hostname.
  [[GH-9008](https://github.com/hashicorp/vault/pull/9008)]
* storage/raft: Fix panic when multiple nodes attempt to join the cluster at
  once. [[GH-9008](https://github.com/hashicorp/vault/pull/9008)]
* sys: The path provided in `sys/internal/ui/mounts/:path` is now
  namespace-aware. This fixes an issue with `vault kv` subcommands that had
  namespaces provided in the path returning permission denied all the time.
  [[GH-8962](https://github.com/hashicorp/vault/pull/8962)]
* ui: Fix snowman that appears when namespaces have more than one period
  [[GH-8910](https://github.com/hashicorp/vault/pull/8910)]

## 1.4.1 (April 30th, 2020)

CHANGES:
* auth/aws: The default set of metadata fields added in 1.4.1 has been
  changed to `account_id` and `auth_type`
  [[GH-8783](https://github.com/hashicorp/vault/pull/8783)]
* storage/raft: Disallow `ha_storage` to be specified if `raft` is set as the
  `storage` type. [[GH-8707](https://github.com/hashicorp/vault/pull/8707)]

IMPROVEMENTS:
* auth/aws: The set of metadata stored during login is now configurable
  [[GH-8783](https://github.com/hashicorp/vault/pull/8783)]
* auth/aws: Improve region selection to avoid errors seen if the account
  hasn't enabled some newer AWS regions
  [[GH-8679](https://github.com/hashicorp/vault/pull/8679)]
* auth/azure: Enable login from Azure VMs with user-assigned identities
  [[GH-33](https://github.com/hashicorp/vault-plugin-auth-azure/pull/33)]
* auth/gcp: The set of metadata stored during login is now configurable
  [[GH-92](https://github.com/hashicorp/vault-plugin-auth-gcp/pull/92)]
* auth/gcp: The type of alias name used during login is now configurable
  [[GH-95](https://github.com/hashicorp/vault-plugin-auth-gcp/pull/95)]
* auth/ldap: Improve error messages during LDAP operation failures
  [[GH-8740](https://github.com/hashicorp/vault/pull/8740)]
* identity: Add a batch delete API for identity entities
  [[GH-8785]](https://github.com/hashicorp/vault/pull/8785)
* identity: Improve performance of logins when no group updates are needed
  [[GH-8795]](https://github.com/hashicorp/vault/pull/8795)
* metrics: Add `vault.identity.num_entities` metric
  [[GH-8816]](https://github.com/hashicorp/vault/pull/8816)
* secrets/kv: Allow `delete-version-after` to be reset to 0 via the CLI
  [[GH-8635](https://github.com/hashicorp/vault/pull/8635)]
* secrets/rabbitmq: Improve error handling and reporting
  [[GH-8619](https://github.com/hashicorp/vault/pull/8619)]
* ui: Provide One Time Password during Operation Token generation process
  [[GH-8630]](https://github.com/hashicorp/vault/pull/8630)

BUG FIXES:
* auth/okta: Fix MFA regression (introduced in
  [GH-8143](https://github.com/hashicorp/vault/pull/8143)) from 1.4.0
  [[GH-8807](https://github.com/hashicorp/vault/pull/8807)]
* auth/userpass: Fix upgrade value for `token_bound_cidrs` being ignored due
  to incorrect key provided
  [[GH-8826](https://github.com/hashicorp/vault/pull/8826/files)]
* config/seal: Fix segfault when seal block is removed
  [[GH-8517](https://github.com/hashicorp/vault/pull/8517)]
* core: Fix an issue where users attempting to build Vault could receive Go
  module checksum errors
  [[GH-8770](https://github.com/hashicorp/vault/pull/8770)]
* core: Fix blocked requests if a SIGHUP is issued during a long-running
  request has the state lock held.
  Also fixes deadlock that can happen if `vault debug` with the config target
  is ran during this time.
  [[GH-8755](https://github.com/hashicorp/vault/pull/8755)]
* core: Always rewrite the .vault-token file as part of a `vault login` to
  ensure permissions and ownership are set correctly
  [[GH-8867](https://github.com/hashicorp/vault/pull/8867)]
* database/mongodb: Fix context deadline error that may result due to retry
  attempts on failed commands
  [[GH-8863](https://github.com/hashicorp/vault/pull/8863)]
* http: Fix superflous call messages from the http package on logs caused by
  missing returns after `respondError` calls
  [[GH-8796](https://github.com/hashicorp/vault/pull/8796)]
* namespace (enterprise): Fix namespace listing to return `key_info` when a
  scoping namespace is also provided.
* seal/gcpkms: Fix panic that could occur if all seal parameters were
  provided via environment variables
  [[GH-8840](https://github.com/hashicorp/vault/pull/8840)]
* storage/raft: Fix memory allocation and incorrect metadata tracking issues
  with snapshots [[GH-8793](https://github.com/hashicorp/vault/pull/8793)]
* storage/raft: Fix panic that could occur if `disable_clustering` was set to
  true on Raft storage cluster
  [[GH-8784](https://github.com/hashicorp/vault/pull/8784)]
* storage/raft: Handle errors returned from the API during snapshot
  operations [[GH-8861](https://github.com/hashicorp/vault/pull/8861)]
* sys/wrapping: Allow unwrapping of wrapping tokens which contain nil data
  [[GH-8714](https://github.com/hashicorp/vault/pull/8714)]

## 1.4.0 (April 7th, 2020)

CHANGES:
* cli: The raft configuration command has been renamed to list-peers to avoid
  confusion.

FEATURES:
* **Kerberos Authentication**: Vault now supports Kerberos authentication
  using a SPNEGO token.
   Login can be performed using the Vault CLI, API, or agent.
* **Kubernetes Service Discovery**: A new Kubernetes service discovery
  feature where, if configured, Vault will tag Vault pods with their current
  health status. For more, see
  [#8249](https://github.com/hashicorp/vault/pull/8249).
* **MongoDB Atlas Secrets**: Vault can now generate dynamic credentials for
  both MongoDB Atlas databases as well as the [Atlas programmatic
  interface]
  (https://docs.atlas.mongodb.com/tutorial/manage-programmatic-access/).
* **OpenLDAP Secrets Engine**: We now support password management of existing
  OpenLDAP user entries. For more, see [#8360]
  (https://github.com/hashicorp/vault/pull/8360/).
* **Redshift Database Secrets Engine**: The database secrets engine now
  supports static and dynamic secrets for the Amazon Web Services (AWS)
  Redshift service.
* **Service Registration Config**: A newly introduced `service_registration`
  configuration stanza, that allows for service registration to be configured
  separately from the storage backend. For more, see [#7887]
  (https://github.com/hashicorp/vault/pull/7887/).
* **Transform Secrets Engine (Enterprise)**: A new secrets engine that
  handles secure data transformation and tokenization against provided input
  value.
* **Integrated Storage**: Promoted out of beta and into general availability
  for both open-source and enterprise workloads.

IMPROVEMENTS:
* agent: add option to force the use of the auth-auth token, and ignore the
  Vault token in the request
  [[GH-8101](https://github.com/hashicorp/vault/pull/8101)]
* api: Restore and fix DNS SRV Lookup
  [[GH-8520](https://github.com/hashicorp/vault/pull/8520)]
* audit: HMAC http_raw_body in audit log; this ensures that large
  authenticated Prometheus metrics responses get replaced with short HMAC
  values [[GH-8130](https://github.com/hashicorp/vault/pull/8130)]
* audit: Generate-root, generate-recovery-token, and
  generate-dr-operation-token requests and responses are now
  audited. [[GH-8301](https://github.com/hashicorp/vault/pull/8301)]
* auth/aws: Reduce the number of simultaneous STS client credentials needed
  [[GH-8161](https://github.com/hashicorp/vault/pull/8161)]
* auth/azure: subscription ID, resource group, vm and vmss names are now
  stored in alias metadata
  [[GH-30](https://github.com/hashicorp/vault-plugin-auth-azure/pull/30)]
* auth/jwt: Additional OIDC callback parameters available for CLI logins
  [[GH-80](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/80) &
  [GH-86](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/86)]
* auth/jwt: Bound claims may be optionally configured using globs
  [[GH-89](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/89)]
* auth/jwt: Timeout during OIDC CLI login if process doesn't complete within
  2 minutes
  [[GH-97](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/97)]
* auth/jwt: Add support for the `form_post` response mode
  [[GH-98](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/98)]
* auth/jwt: add optional client_nonce to authorization flow
  [[GH-104](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/104)]
* auth/okta: Upgrade okta sdk lib, which should improve handling of groups
  [[GH-8143](https://github.com/hashicorp/vault/pull/8143)]
* aws: Add support for v2 of the instance metadata service (see [issue
  7924](https://github.com/hashicorp/vault/issues/7924) for all linked PRs)
* core: Separate out service discovery interface from storage interface to allow
  new types of service discovery not coupled to storage
  [[GH-7887](https://github.com/hashicorp/vault/pull/7887)]
* core: Add support for telemetry option `metrics_prefix`
  [[GH-8340](https://github.com/hashicorp/vault/pull/8340)]
* core: Entropy Augmentation can now be used with AWS KMS and Vault Transit
  seals
* core: Allow tls_min_version to be set to TLS 1.3
  [[GH-8305](https://github.com/hashicorp/vault/pull/8305)]
* cli: Incorrect TLS configuration will now correctly fail
  [[GH-8025](https://github.com/hashicorp/vault/pull/8025)]
* identity: Allow specifying a custom `client_id` for identity tokens
  [[GH-8165](https://github.com/hashicorp/vault/pull/8165)]
* metrics/prometheus: improve performance with high volume of metrics updates
  [[GH-8507](https://github.com/hashicorp/vault/pull/8507)]
* replication (enterprise): Fix race condition causing clusters with high
  throughput writes to sometimes fail to enter streaming-wal mode
* replication (enterprise): Secondary clusters can now perform an extra gRPC
  call to all nodes in a primary
  cluster in an attempt to resolve the active node's address
* replication (enterprise): The replication status API now outputs
  `last_performance_wal`, `last_dr_wal`, and `connection_state` values
* replication (enterprise): DR secondary clusters can now be recovered by the
  `replication/dr/secondary/recover` API
* replication (enterprise): We now allow for an alternate means to create a
  Disaster Recovery token, by using a batch token that is created with an ACL
  that allows for access to one or more of the DR endpoints.
* secrets/database/mongodb: Switched internal MongoDB driver to mongo-driver
  [[GH-8140](https://github.com/hashicorp/vault/pull/8140)]
* secrets/database/mongodb: Add support for x509 client authorization to
  MongoDB [[GH-8329](https://github.com/hashicorp/vault/pull/8329)]
* secrets/database/oracle: Add support for static credential rotation
  [[GH-26](https://github.com/hashicorp/vault-plugin-database-oracle/pull/26)]
* secrets/consul: Add support to specify TLS options per Consul backend
  [[GH-4800](https://github.com/hashicorp/vault/pull/4800)]
* secrets/gcp: Allow specifying the TTL for a service key
  [[GH-54](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/54)]
* secrets/gcp: Add support for rotating root keys
  [[GH-53](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/53)]
* secrets/gcp: Handle version 3 policies for Resource Manager IAM requests
  [[GH-77](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/77)
* secrets/nomad: Add support to specify TLS options per Nomad backend
  [[GH-8083](https://github.com/hashicorp/vault/pull/8083)]
* secrets/ssh: Allowed users can now be templated with identity information
  [[GH-7548](https://github.com/hashicorp/vault/pull/7548)]
* secrets/transit: Adding RSA3072 key support
  [[GH-8151](https://github.com/hashicorp/vault/pull/8151)]
* storage/consul: Vault returns now a more descriptive error message when
  only a client cert or a client key has been provided
  [[GH-4930]](https://github.com/hashicorp/vault/pull/8084)
* storage/raft: Nodes in the raft cluster can all be given possible leader
  addresses for them to continuously try and join one of them, thus
  automating the process of join to a greater extent
  [[GH-7856](https://github.com/hashicorp/vault/pull/7856)]
* storage/raft: Fix a potential deadlock that could occur on leadership
  transition [[GH-8547](https://github.com/hashicorp/vault/pull/8547)]
* storage/raft: Refresh TLS keyring on snapshot restore
  [[GH-8546](https://github.com/hashicorp/vault/pull/8546)]
* storage/etcd: Bumped etcd client API SDK
  [[GH-7931](https://github.com/hashicorp/vault/pull/7931) &
  [GH-4961](https://github.com/hashicorp/vault/pull/4961) &
  [GH-4349](https://github.com/hashicorp/vault/pull/4349) &
  [GH-7582](https://github.com/hashicorp/vault/pull/7582)]
* ui: Make Transit Key actions more prominent
  [[GH-8304](https://github.com/hashicorp/vault/pull/8304)]
* ui: Add Core Usage Metrics
  [[GH-8347](https://github.com/hashicorp/vault/pull/8347)]
* ui: Add refresh Namespace list on the Namespace dropdown, and redesign of
  Namespace dropdown menu
  [[GH-8442](https://github.com/hashicorp/vault/pull/8442)]
* ui: Update transit actions to codeblocks & automatically encode plaintext
  unless indicated [[GH-8462](https://github.com/hashicorp/vault/pull/8462)]
* ui: Display the results of transit key actions in a modal window
  [[GH-8462](https://github.com/hashicorp/vault/pull/8575)]
* ui: Transit key version styling updates & ability to copy key from dropdown
  [[GH-8480](https://github.com/hashicorp/vault/pull/8480)]

BUG FIXES:
* agent: Fix issue where TLS options are ignored for agent template feature
  [[GH-7889](https://github.com/hashicorp/vault/pull/7889)]
* auth/jwt: Use lower case role names for `default_role` to match the `role`
  case convention
  [[GH-100](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/100)]
* auth/ldap: Fix a bug where the UPNDOMAIN parameter was wrongly used to
  lookup the group membership of the given user
  [[GH-6325]](https://github.com/hashicorp/vault/pull/8333)
* cli: Support autocompletion for nested mounts
  [[GH-8303](https://github.com/hashicorp/vault/pull/8303)]
* cli: Fix CLI namespace autocompletion
  [[GH-8315](https://github.com/hashicorp/vault/pull/8315)]
* identity: Fix incorrect caching of identity token JWKS responses
  [[GH-8412](https://github.com/hashicorp/vault/pull/8412)]
* metrics/stackdriver: Fix issue that prevents the stackdriver metrics
  library to create unnecessary stackdriver descriptors
  [[GH-8073](https://github.com/hashicorp/vault/pull/8073)]
* replication: Fix issue causing cubbyholes in namespaces on performance
  secondaries to not work.
* replication (enterprise): Unmounting a dynamic secrets backend could
  sometimes lead to replication errors.  Change the order of operations to
  prevent that.
* seal (enterprise): Fix seal migration when transactional seal wrap backend
  is in use.
* secrets/database/influxdb: Fix potential panic if connection to the
  InfluxDB database cannot be established
  [[GH-8282](https://github.com/hashicorp/vault/pull/8282)]
* secrets/database/mysql: Ensures default static credential rotation
  statements are used
  [[GH-8240](https://github.com/hashicorp/vault/pull/8240)]
* secrets/database/mysql: Fix inconsistent query parameter names: {{name}} or
  {{username}} for different queries. Now it allows for either for backwards
  compatibility [[GH-8240](https://github.com/hashicorp/vault/pull/8240)]
* secrets/database/postgres: Fix inconsistent query parameter names: {{name}}
  or {{username}} for different queries. Now it allows for either for
  backwards compatibility
  [[GH-8240](https://github.com/hashicorp/vault/pull/8240)]
* secrets/pki: Support FQDNs in DNS Name
  [[GH-8288](https://github.com/hashicorp/vault/pull/8288)]
* storage/raft: Allow seal migration to be performed on Vault clusters using
  raft storage [[GH-8103](https://github.com/hashicorp/vault/pull/8103)]
* telemetry: Prometheus requests on standby nodes will now return an error
  instead of forwarding the request to the active node
  [[GH-8280](https://github.com/hashicorp/vault/pull/8280)]
* ui: Fix broken popup menu on the transit secrets list page
  [[GH-8348](https://github.com/hashicorp/vault/pull/8348)]
* ui: Update headless Chrome flag to fix `yarn run test:oss`
  [[GH-8035](https://github.com/hashicorp/vault/pull/8035)]
* ui: Update CLI to accept empty strings as param value to reset
  previously-set values
* ui: Fix bug where error states don't clear when moving between action tabs
  on Transit [[GH-8354](https://github.com/hashicorp/vault/pull/8354)]

## 1.3.6 (May 21st, 2020)

SECURITY:
* core: proxy environment variables are now redacted before being logged, in
  case the URLs include a username:password. This vulnerability,
  CVE-2020-13223, is fixed in 1.3.6 and 1.4.2, but affects 1.4 and 1.4.1, as
  well as older versions of Vault
  [[GH-9022](https://github.com/hashicorp/vault/pull/9022)

BUG FIXES:
* auth/aws: Fix token renewal issues caused by the metadata changes in 1.3.5
  [[GH-8991](https://github.com/hashicorp/vault/pull/8991)]
* replication: Fix mount filter bug that allowed replication filters to hide
  local mounts on a performance secondary

## 1.3.5 (April 28th, 2020)

CHANGES:
* auth/aws: The default set of metadata fields added in 1.3.2 has been
  changed to `account_id` and `auth_type`
  [[GH-8783](https://github.com/hashicorp/vault/pull/8783)]

IMPROVEMENTS:
* auth/aws: The set of metadata stored during login is now configurable
  [[GH-8783](https://github.com/hashicorp/vault/pull/8783)]

## 1.3.4 (March 19th, 2020)

SECURITY:
* A vulnerability was identified in Vault and Vault Enterprise such that,
  under certain circumstances,  an Entity's Group membership may
  inadvertently include Groups the Entity no longer has permissions to. This
  vulnerability, CVE-2020-10660, affects Vault and Vault Enterprise versions
  0.9.0 and newer, and is fixed in 1.3.4.
  [[GH-8606](https://github.com/hashicorp/vault/pull/8606)]
* A vulnerability was identified in Vault Enterprise such that, under certain
  circumstances, existing nested-path policies may give access to Namespaces
  created after-the-fact. This vulnerability, CVE-2020-10661, affects Vault
  Enterprise versions 0.11 and newer, and is fixed in 1.3.4.

## 1.3.3 (March 5th, 2020)

BUG FIXES:
* approle: Fix excessive locking during tidy, which could potentially block
  new approle logins for long enough to cause an outage
  [[GH-8418](https://github.com/hashicorp/vault/pull/8418)]
* cli: Fix issue where Raft snapshots from standby nodes created an empty
  backup file [[GH-8097](https://github.com/hashicorp/vault/pull/8097)]
* identity: Fix incorrect caching of identity token JWKS responses
  [[GH-8412](https://github.com/hashicorp/vault/pull/8412)]
* kmip: role read now returns tls_client_ttl
* kmip: fix panic when templateattr not provided in rekey request
* secrets/database/influxdb: Fix potential panic if connection to the
  InfluxDB database cannot be established
  [[GH-8282](https://github.com/hashicorp/vault/pull/8282)]
* storage/mysql: Fix potential crash when using MySQL as coordination for
  high availability [[GH-8300](https://github.com/hashicorp/vault/pull/8300)]
* storage/raft: Fix potential crash when using Raft as coordination for high
  availability [[GH-8356](https://github.com/hashicorp/vault/pull/8356)]
* ui: Fix missing License menu item
  [[GH-8230](https://github.com/hashicorp/vault/pull/8230)]
* ui: Fix bug where default auth method on login is defaulted to auth method
  that is listing-visibility=unauth instead of "other"
  [[GH-8218](https://github.com/hashicorp/vault/pull/8218)]
* ui: Fix bug where KMIP details were not shown in the UI Wizard
  [[GH-8255](https://github.com/hashicorp/vault/pull/8255)]
* ui: Show Error messages on Auth Configuration page when you hit permission
  errors [[GH-8500](https://github.com/hashicorp/vault/pull/8500)]
* ui: Remove duplicate form inputs for the GitHub config
  [[GH-8519](https://github.com/hashicorp/vault/pull/8519)]
* ui: Correct HMAC capitalization
  [[GH-8528](https://github.com/hashicorp/vault/pull/8528)]
* ui: Fix danger message in DR
  [[GH-8555](https://github.com/hashicorp/vault/pull/8555)]
* ui: Fix certificate field for LDAP config
  [[GH-8573](https://github.com/hashicorp/vault/pull/8573)]

## 1.3.2 (January 22nd, 2020)

SECURITY:
 * When deleting a namespace on Vault Enterprise, in certain circumstances,
   the deletion process will fail to revoke dynamic secrets for a mount in
   that namespace. This will leave any dynamic secrets in remote systems
   alive and will fail to clean them up. This vulnerability, CVE-2020-7220,
   affects Vault Enterprise 0.11.0 and newer.

IMPROVEMENTS:
 * auth/aws: Add aws metadata to identity alias
   [[GH-7985](https://github.com/hashicorp/vault/pull/7985)]
 * auth/kubernetes: Allow both names and namespaces to be set to "*"
   [[GH-78](https://github.com/hashicorp/vault-plugin-auth-kubernetes/pull/78)]

BUG FIXES:
* auth/azure: Fix Azure compute client to use correct base URL
  [[GH-8072](https://github.com/hashicorp/vault/pull/8072)]
* auth/ldap: Fix renewal of tokens without configured policies that are
  generated by an LDAP login
  [[GH-8072](https://github.com/hashicorp/vault/pull/8072)]
* auth/okta: Fix renewal of tokens without configured policies that are
  generated by an Okta login
  [[GH-8072](https://github.com/hashicorp/vault/pull/8072)]
* core: Fix seal migration error when attempting to migrate from auto unseal
  to shamir [[GH-8172](https://github.com/hashicorp/vault/pull/8172)]
* core: Fix seal migration config issue when migrating from auto unseal to
  auto unseal [[GH-8172](https://github.com/hashicorp/vault/pull/8172)]
* plugin: Fix issue where a plugin unwrap request potentially used an expired
  token [[GH-8058](https://github.com/hashicorp/vault/pull/8058)]
* replication: Fix issue where a forwarded request from a performance/standby
  node could run into a timeout
* secrets/database: Fix issue where a manual static role rotation could
  potentially panic [[GH-8098](https://github.com/hashicorp/vault/pull/8098)]
* secrets/database: Fix issue where a manual root credential rotation request
  is not forwarded to the primary node
  [[GH-8125](https://github.com/hashicorp/vault/pull/8125)]
* secrets/database: Fix issue where a manual static role rotation request is
  not forwarded to the primary node
  [[GH-8126](https://github.com/hashicorp/vault/pull/8126)]
* secrets/database/mysql: Fix issue where special characters for a MySQL
  password were encoded
  [[GH-8040](https://github.com/hashicorp/vault/pull/8040)]
* ui: Fix deleting namespaces
  [[GH-8132](https://github.com/hashicorp/vault/pull/8132)]
* ui: Fix Error handler on kv-secret edit and kv-secret view pages
  [[GH-8133](https://github.com/hashicorp/vault/pull/8133)]
* ui: Fix OIDC callback to check storage
  [[GH-7929](https://github.com/hashicorp/vault/pull/7929)].
* ui: Change `.box-radio` height to min-height to prevent overflow issues
  [[GH-8065](https://github.com/hashicorp/vault/pull/8065)]

## 1.3.1 (December 18th, 2019)

IMPROVEMENTS:
* agent: Add ability to set `exit-after-auth` via the CLI
  [[GH-7920](https://github.com/hashicorp/vault/pull/7920)]
* auth/ldap: Add a `request_timeout` configuration option to prevent
  connection requests from hanging
  [[GH-7909](https://github.com/hashicorp/vault/pull/7909)]
* auth/kubernetes: Add audience to tokenreview API request for Kube
  deployments where issuer is not Kube.
  [[GH-74](https://github.com/hashicorp/vault/pull/74)]
* secrets/ad: Add a `request_timeout` configuration option to prevent
  connection requests from hanging
  [[GH-59](https://github.com/hashicorp/vault-plugin-secrets-ad/pull/59)]
* storage/postgresql: Add support for setting `connection_url` from
  enviornment variable `VAULT_PG_CONNECTION_URL`
  [[GH-7937](https://github.com/hashicorp/vault/pull/7937)]
* telemetry: Add `enable_hostname_label` option to telemetry stanza
  [[GH-7902](https://github.com/hashicorp/vault/pull/7902)]
* telemetry: Add accept header check for prometheus mime type
  [[GH-7958](https://github.com/hashicorp/vault/pull/7958)]

BUG FIXES:
* agent: Fix issue where Agent exits before all templates are rendered when
  using and `exit_after_auth`
  [[GH-7899](https://github.com/hashicorp/vault/pull/7899)]
* auth/aws: Fixes region-related issues when using a custom `sts_endpoint` by
  adding a `sts_region` parameter
  [[GH-7922](https://github.com/hashicorp/vault/pull/7922)]
* auth/token: Fix panic when getting batch tokens on a performance standby
  from a role that does not exist
  [[GH-8027](https://github.com/hashicorp/vault/pull/8027)]
* core: Improve warning message for lease TTLs
  [[GH-7901](https://github.com/hashicorp/vault/pull/7901)]
* identity: Fix identity token panic during invalidation
  [[GH-8043](https://github.com/hashicorp/vault/pull/8043)]
* plugin: Fix a panic that could occur if a mount/auth entry was unable to
  mount the plugin backend and a request that required the system view to be
  retrieved was made
  [[GH-7991](https://github.com/hashicorp/vault/pull/7991)]
* replication: Add `generate-public-key` endpoint to list of allowed
  endpoints for existing DR secondaries
* secrets/gcp: Fix panic if bindings aren't provided in roleset
  create/update.
  [[GH-56](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/56)]
* secrets/pki: Prevent generating certificate on performance standby when
  storing
  [[GH-7904](https://github.com/hashicorp/vault/pull/7904)]
* secrets/transit: Prevent restoring keys to new names that are sub paths
  [[GH-7998](https://github.com/hashicorp/vault/pull/7998)]
* storage/s3: Fix a bug in configurable S3 paths that was preventing use of
  S3 as a source during `operator migrate` operations
  [[GH-7966](https://github.com/hashicorp/vault/pull/7966)]
* ui: Ensure secrets with a period in their key can be viewed and copied
  [[GH-7926](https://github.com/hashicorp/vault/pull/7926)]
* ui: Fix status menu after demotion
  [[GH-7997](https://github.com/hashicorp/vault/pull/7997)]
* ui: Fix select dropdowns in Safari when running Mojave
  [[GH-8023](https://github.com/hashicorp/vault/pull/8023)]

## 1.3 (November 14th, 2019)

CHANGES:
 * Secondary cluster activation: There has been a change to the way that
   activating performance and DR secondary clusters works when using public
   keys for encryption of the parameters rather than a wrapping token. This
   flow was experimental and never documented. It is now officially supported
   and documented but is not backwards compatible with older Vault releases.
 * Cluster cipher suites: On its cluster port, Vault will no longer advertise
   the full TLS 1.2 cipher suite list by default. Although this port is only
   used for Vault-to-Vault communication and would always pick a strong
   cipher, it could cause false flags on port scanners and other security
   utilities that assumed insecure ciphers were being used. The previous
   behavior can be achieved by setting the value of the (undocumented)
   `cluster_cipher_suites` config flag to `tls12`.
 * API/Agent Renewal behavior: The API now allows multiple options for how it
   deals with renewals. The legacy behavior in the Agent/API is for the renewer
   (now called the lifetime watcher) to exit on a renew error, leading to a
   reauthentication. The new default behavior is for the lifetime watcher to
   ignore 5XX errors and simply retry as scheduled, using the existing lease
   duration. It is also possible, within custom code, to disable renewals
   entirely, which allows the lifetime watcher to simply return when it
   believes it is time for your code to renew or reauthenticate.

FEATURES:
 * **Vault Debug**: A new top-level subcommand, `debug`, is added that allows
   operators to retrieve debugging information related to a particular Vault
   node. Operators can use this simple workflow to capture triaging
   information, which can then be consumed programmatically or by support and
   engineering teams.  It has the abilitity to probe for config, host,
   metrics, pprof, server status, and replication status.
 * **Recovery Mode**: Vault server can be brought up in recovery mode to
   resolve outages caused due to data store being in bad state. This is a
   privileged mode that allows `sys/raw` API calls to perform surgical
   corrections to the data tore. Bad storage state can be caused by
   bugs. However, this is usually observed when known (and fixed) bugs are
   hit by older versions of Vault.
 * **Entropy Augmentation (Enterprise)**: Vault now supports sourcing entropy
   from external source for critical security parameters. Currently an HSM
   that supports PKCS#11 is the only supported source.
 * **Active Directory Secret Check-In/Check-Out**: In the Active Directory
   secrets engine, users or applications can check out a service account for
   use, and its password will be rotated when it's checked back in.
 * **Vault Agent Template**: Vault Agent now supports rendering templates
   containing Vault secrets to disk, similar to Consul Template
   [[GH-7652](https://github.com/hashicorp/vault/pull/7652)]
 * **Transit Key Type Support**: Signing and verification is now supported
   with the P-384 (secp384r1) and P-521 (secp521r1) ECDSA curves
   [[GH-7551](https://github.com/hashicorp/vault/pull/7551)] and encryption
   and decryption is now supported via AES128-GCM96
   [[GH-7555](https://github.com/hashicorp/vault/pull/7555)]
 * **SSRF Protection for Vault Agent**: Vault Agent has a configuration
   option to require a specific header before allowing requests
   [[GH-7627](https://github.com/hashicorp/vault/pull/7627)]
 * **AWS Auth Method Root Rotation**: The credential used by the AWS auth
   method can now be rotated, to ensure that only Vault knows the credentials
   it is using [[GH-7131](https://github.com/hashicorp/vault/pull/7131)]
 * **New UI Features**: The UI now supports managing users and groups for the
   Userpass, Cert, Okta, and Radius auth methods.
 * **Shamir with Stored Master Key**: The on disk format for Shamir seals has
   changed, allowing for a secondary cluster using Shamir downstream from a
   primary cluster using Auto
   Unseal. [[GH-7694](https://github.com/hashicorp/vault/pull/7694)]
 * **Stackdriver Metrics Sink**: Vault can now send metrics to
   [Stackdriver](https://cloud.google.com/stackdriver/). See the
   [configuration
   documentation](https://www.vaultproject.io/docs/config/index.html) for
   details. [[GH-6957](https://github.com/hashicorp/vault/pull/6957)]
 * **Filtered Paths Replication (Enterprise)**: Based on the predecessor
   Filtered Mount Replication, Filtered Paths Replication allows now
   filtering of namespaces in addition to mounts.
 * **Token Renewal via Accessor**: Tokens can now be renewed via the accessor
   value through the new `auth/token/renew-accessor` endpoint if the caller's
   token has permission to access that endpoint.
 * **Improved Integrated Storage (Beta)**: Improved raft write performance,
   added support for non-voter nodes, along with UI support for: using raft
   storage, joining a raft cluster, and downloading and restoring a
   snapshot.

IMPROVEMENTS:
 * agent: Add ability to set the TLS SNI name used by Agent
   [[GH-7519](https://github.com/hashicorp/vault/pull/7519)]
 * agent & api: Change default renewer behavior to ignore 5XX errors
   [[GH-7733](https://github.com/hashicorp/vault/pull/7733)]
 * auth/jwt: The redirect callback host may now be specified for CLI logins
   [[GH-71](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/71)]
 * auth/jwt: Bound claims may now contain boolean values
   [[GH-73](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/73)]
 * auth/jwt: CLI logins can now open the browser when running in WSL
   [[GH-77](https://github.com/hashicorp/vault-plugin-auth-jwt/pull/77)]
 * core: Exit ScanView if context has been cancelled
   [[GH-7419](https://github.com/hashicorp/vault/pull/7419)]
 * core: re-encrypt barrier and recovery keys if the unseal key is updated
   [[GH-7493](https://github.com/hashicorp/vault/pull/7493)]
 * core: Don't advertise the full set of TLS 1.2 cipher suites on the cluster
   port, even though only strong ciphers were used
   [[GH-7487](https://github.com/hashicorp/vault/pull/7487)]
 * core (enterprise): Add background seal re-wrap
 * core/metrics: Add config parameter to allow unauthenticated sys/metrics
   access. [[GH-7550](https://github.com/hashicorp/vault/pull/7550)]
 * metrics: Upgrade DataDog library to improve performance
   [[GH-7794](https://github.com/hashicorp/vault/pull/7794)]
 * replication (enterprise): Write-Ahead-Log entries will not duplicate the
   data belonging to the encompassing physical entries of the transaction,
   thereby improving the performance and storage capacity.
 * replication (enterprise): Added more replication metrics
 * replication (enterprise): Reindex process now compares subpages for a more
   accurate indexing process.
 * replication (enterprise): Reindex API now accepts a new `skip_flush`
   parameter indicating all the changes should not be flushed while the tree
   is locked.
 * secrets/aws: The root config can now be read
   [[GH-7245](https://github.com/hashicorp/vault/pull/7245)]
 * secrets/database/cassandra: Add ability to skip verfication of connection
   [[GH-7614](https://github.com/hashicorp/vault/pull/7614)]
 * secrets/gcp: Fix panic during rollback if the roleset has been deleted
   [[GH-52](https://github.com/hashicorp/vault-plugin-secrets-gcp/pull/52)]
 * storage/azure: Add config parameter to Azure storage backend to allow
   specifying the ARM endpoint
   [[GH-7567](https://github.com/hashicorp/vault/pull/7567)]
 * storage/cassandra: Improve storage efficiency by eliminating unnecessary
   copies of value data
   [[GH-7199](https://github.com/hashicorp/vault/pull/7199)]
 * storage/raft: Improve raft write performance by utilizing FSM Batching
   [[GH-7527](https://github.com/hashicorp/vault/pull/7527)]
 * storage/raft: Add support for non-voter nodes
   [[GH-7634](https://github.com/hashicorp/vault/pull/7634)]
 * sys: Add a new `sys/host-info` endpoint for querying information about
   the host [[GH-7330](https://github.com/hashicorp/vault/pull/7330)]
 * sys: Add a new set of endpoints under `sys/pprof/` that allows profiling
   information to be extracted
   [[GH-7473](https://github.com/hashicorp/vault/pull/7473)]
 * sys: Add endpoint that counts the total number of active identity entities
   [[GH-7541](https://github.com/hashicorp/vault/pull/7541)]
 * sys: `sys/seal-status` now has a `storage_type` field denoting what type
   of storage the cluster is configured to use
 * sys: Add a new `sys/internal/counters/tokens` endpoint, that counts the
   total number of active service token accessors in the shared token
   storage.
   [[GH-7541](https://github.com/hashicorp/vault/pull/7541)]
 * sys/config: Add  a new endpoint under `sys/config/state/sanitized` that
   returns the configuration state of the server. It excludes config values
   from `storage`, `ha_storage`, and `seal` stanzas and some values
   from `telemetry` due to potential sensitive entries in those fields.
 * ui: when using raft storage, you can now join a raft cluster, download a
   snapshot, and restore a snapshot from the UI
   [[GH-7410](https://github.com/hashicorp/vault/pull/7410)]
 * ui: clarify when secret version is deleted in the secret version history
   dropdown [[GH-7714](https://github.com/hashicorp/vault/pull/7714)]

BUG FIXES:
 * agent: Fix a data race on the token value for inmemsink
   [[GH-7707](https://github.com/hashicorp/vault/pull/7707)]
 * api: Fix Go API using lease revocation via URL instead of body
   [[GH-7777](https://github.com/hashicorp/vault/pull/7777)]
 * api: Allow setting a function to control retry behavior
   [[GH-7331](https://github.com/hashicorp/vault/pull/7331)]
 * auth/gcp: Fix a bug where region information in instance groups names could
   cause an authorization attempt to fail
   [[GH-74](https://github.com/hashicorp/vault-plugin-auth-gcp/pull/74)]
 * cli: Fix a bug where a token of an unknown format (e.g. in ~/.vault-token)
   could cause confusing error messages during `vault login`
   [[GH-7508](https://github.com/hashicorp/vault/pull/7508)]
 * cli: Fix a bug where the `namespace list` command with JSON formatting
   always returned an empty object
   [[GH-7705](https://github.com/hashicorp/vault/pull/7705)]
 * cli: Command timeouts are now always specified solely by the
   `VAULT_CLIENT_TIMEOUT`
   value. [[GH-7469](https://github.com/hashicorp/vault/pull/7469)]
 * core: Don't allow registering a non-root zero TTL token lease. This is
   purely defense in depth as the lease would be revoked immediately anyways,
   but there's no real reason to allow registration.
   [[GH-7524](https://github.com/hashicorp/vault/pull/7524)]
 * identity (enterprise): Fixed identity case sensitive loading in secondary
   cluster [[GH-7327](https://github.com/hashicorp/vault/pull/7327)]
 * identity: Ensure only replication primary stores the identity case
   sensitivity state
   [[GH-7820](https://github.com/hashicorp/vault/pull/7820)]
 * raft: Fixed VAULT_CLUSTER_ADDR env being ignored at startup
   [[GH-7619](https://github.com/hashicorp/vault/pull/7619)]
 * secrets/pki: Don't allow duplicate SAN names in issued certs
   [[GH-7605](https://github.com/hashicorp/vault/pull/7605)]
 * sys/health: Pay attention to the values provided for `standbyok` and
   `perfstandbyok` rather than simply using their presence as a key to flip on
   that behavior [[GH-7323](https://github.com/hashicorp/vault/pull/7323)]
 * ui: using the `wrapped_token` query param will work with `redirect_to` and
   will automatically log in as intended
   [[GH-7398](https://github.com/hashicorp/vault/pull/7398)]
 * ui: fix an error when initializing from the UI using PGP keys
   [[GH-7542](https://github.com/hashicorp/vault/pull/7542)]
 * ui: show all active kv v2 secret versions even when `delete_version_after`
   is configured [[GH-7685](https://github.com/hashicorp/vault/pull/7685)]
 * ui: Ensure that items in the top navigation link to pages that users have
   access to [[GH-7590](https://github.com/hashicorp/vault/pull/7590)]

## 1.2.4 (November 7th, 2019)

SECURITY:
 * In a non-root namespace, revocation of a token scoped to a non-root
   namespace did not trigger the expected revocation of dynamic secret leases
   associated with that token. As a result, dynamic secret leases in non-root
   namespaces may outlive the token that created them.  This vulnerability,
   CVE-2019-18616, affects Vault Enterprise 0.11.0 and newer.
 * Disaster Recovery secondary clusters did not delete already-replicated data
   after a mount filter has been created on an upstream Performance secondary
   cluster. As a result, encrypted secrets may remain replicated on a Disaster
   Recovery secondary cluster after application of a mount filter excluding
   those secrets from replication. This vulnerability, CVE-2019-18617, affects
   Vault Enterprise 0.8 and newer.
 * Update version of Go to 1.12.12 to fix Go bug golang.org/issue/34960 which
   corresponds to CVE-2019-17596.

CHANGES:
 * auth/aws: If a custom `sts_endpoint` is configured, Vault Agent and the
   CLI should provide the corresponding region via the `region` parameter
   (which already existed as a CLI parameter, and has now been added to
   Agent). The automatic region detection added to the CLI and Agent in 1.2
   has been removed.

IMPROVEMENTS:
  * cli: Ignore existing token during CLI login
    [[GH-7508](https://github.com/hashicorp/vault/pull/7508)]
  * core: Log proxy settings from environment on startup
    [[GH-7528](https://github.com/hashicorp/vault/pull/7528)]
  * core: Cache whether we've been initialized to reduce load on storage
    [[GH-7549](https://github.com/hashicorp/vault/pull/7549)]

BUG FIXES:
 * agent: Fix handling of gzipped responses
   [[GH-7470](https://github.com/hashicorp/vault/pull/7470)]
 * cli: Fix panic when pgp keys list is empty
   [[GH-7546](https://github.com/hashicorp/vault/pull/7546)]
 * cli: Command timeouts are now always specified solely by the
   `VAULT_CLIENT_TIMEOUT`
   value. [[GH-7469](https://github.com/hashicorp/vault/pull/7469)]
 * core: add hook for initializing seals for migration
   [[GH-7666](https://github.com/hashicorp/vault/pull/7666)]
 * core (enterprise): Migrating from one auto unseal method to another never
   worked on enterprise, now it does.
 * identity: Add required field `response_types_supported` to identity token
   `.well-known/openid-configuration` response
   [[GH-7533](https://github.com/hashicorp/vault/pull/7533)]
 * identity: Fixed nil pointer panic when merging entities
   [[GH-7712](https://github.com/hashicorp/vault/pull/7712)]
 * replication (Enterprise): Fix issue causing performance standbys nodes
   disconnecting when under high loads.
 * secrets/azure: Fix panic that could occur if client retries timeout
   [[GH-7793](https://github.com/hashicorp/vault/pull/7793)]
 * secrets/database: Fix bug in combined DB secrets engine that can result in
   writes to static-roles endpoints timing out
   [[GH-7518](https://github.com/hashicorp/vault/pull/7518)]
 * secrets/pki: Improve tidy to continue when value is nil
   [[GH-7589](https://github.com/hashicorp/vault/pull/7589)]
 * ui (Enterprise): Allow kv v2 secrets that are gated by Control Groups to
   be viewed in the UI
   [[GH-7504](https://github.com/hashicorp/vault/pull/7504)]
2020-09-10 22:10:59 +00:00
bsiegert
43f54ecac5 Revbump all Go packages after default Go version was changed to 1.15.1 2020-09-03 07:29:32 +00:00
bsiegert
9fad3613b8 Revbump all Go packages after go114 update 2020-08-14 20:01:19 +00:00
bsiegert
20b9b74c5f Revbump all Go packages after go114 update. 2020-07-17 18:04:11 +00:00
bsiegert
121a05e61b Revbump Go packages after Go 1.14.4 update. 2020-06-17 09:54:00 +00:00
wiz
188111f641 *: reset MAINTAINER for fhajny on his request 2020-05-27 19:37:36 +00:00
bsiegert
9429a8bf7a Revbump all Go packages after default version switch to 1.14. 2020-04-12 11:01:37 +00:00
bsiegert
f5efefe062 Revbump all Go packages after go113 update. 2020-03-21 16:57:00 +00:00
bsiegert
f6baaa9181 Revbump all Go packages after go113 update. 2020-02-02 14:18:56 +00:00
bsiegert
5220c156ea Revbump Go packages after Go default version bump. 2020-01-10 13:32:09 +00:00
bsiegert
924057ee4f Revbump all Go packages after Go 1.12.14 update. 2019-12-13 07:43:47 +00:00
he
41e9b98616 Upgrade security/vault to version 1.2.3.
Pkgsrc changes:
 * Fix == in shell script test.
 * Add some patches to make this build on NetBSD.

Upstream changes:

## 1.2.3 (September 12, 2019)

FEATURES:
 * Oracle Cloud (OCI) Integration: Vault now support using Oracle
   Cloud for storage, auto unseal, and authentication.

IMPROVEMENTS:
 * auth/jwt: Groups claim matching now treats a string response
   as a single element list [JWT-63]
 * auth/kubernetes: enable better support for projected tokens
   API by allowing user to specify issuer [GH-65]
 * auth/pcf: The PCF auth plugin was renamed to the CF auth plugin,
   maintaining full backwards compatibility [GH-7346]
 * replication: Premium packages now come with unlimited performance
   standby nodes

BUG FIXES:
 * agent: Allow batch tokens and other non-renewable tokens to be
   used for agent operations [GH-7441]
 * auth/jwt: Fix an error where newer (v1.2) token_* configuration
   parameters were not being applied to tokens generated using
   the OIDC login flow [JWT-67]
 * seal/transit: Allow using Vault Agent for transit seal operations
   [GH-7441]
 * storage/couchdb: Fix a file descriptor leak [GH-7345]
 * ui: Fix a bug where the status menu would disappear when trying
   to revoke a token [GH-7337]
 * ui: Fix a regression that prevented input of custom items in
   search-select [GH-7338]
 * ui: Fix an issue with the namespace picker being unable to
   render nested namespaces named with numbers and sorting of
   namespaces in the picker [GH-7333]

## 1.2.2 (August 15, 2019)

CHANGES:
 * auth/pcf: The signature format has been updated to use the
   standard Base64 encoding instead of the URL-safe variant.
   Signatures created using the previous format will continue to
   be accepted [PCF-27]
 * core: The http response code returned when an identity token
   key is not found has been changed from 400 to 404

IMPROVEMENTS:
 * identity: Remove 512 entity limit for groups [GH-7317]

BUG FIXES:
 * auth/approle: Fix an error where an empty token_type string
   was not being correctly handled as TokenTypeDefault [GH-7273]
 * auth/radius: Fix panic when logging in [GH-7286]
 * ui: the string-list widget will now honor multiline input [GH-7254]
 * ui: various visual bugs in the KV interface were addressed [GH-7307]
 * ui: fixed incorrect URL to access help in LDAP auth [GH-7299]

1.2.1 (August 6th, 2019)

BUG FIXES:
 * agent: Fix a panic on creds pulling in some error conditions
   in aws and alicloud auth methods [GH-7238]
 * auth/approle: Fix error reading role-id on a role created
   pre-1.2 [GH-7231]
 * auth/token: Fix sudo check in non-root namespaces on create
   [GH-7224]
 * core: Fix health checks with perfstandbyok=true returning the
   wrong status code [GH-7240]
 * ui: The web CLI will now parse input as a shell string, with
   special characters escaped [GH-7206]
 * ui: The UI will now redirect to a page after authentication
   [GH-7088]
 * ui (Enterprise): The list of namespaces is now cleared when
   logging out [GH-7186]

## 1.2.0 (July 30th, 2019)

CHANGES:
 * Token store roles use new, common token fields for the values
   that overlap with other auth backends. period, explicit_max_ttl,
   and bound_cidrs will continue to work, with priority being
   given to the token_ prefixed versions of those parameters. They
   will also be returned when doing a read on the role if they
   were used to provide values initially; however, in Vault 1.4
   if period or explicit_max_ttl is zero they will no longer be
   returned. (explicit_max_ttl was already not returned if empty.)
 * Due to underlying changes in Go version 1.12 and Go > 1.11.5,
   Vault is now stricter about what characters it will accept in
   path names. Whereas before it would filter out unprintable
   characters (and this could be turned off), control characters
   and other invalid characters are now rejected within Go's HTTP
   library before the request is passed to Vault, and this cannot
   be disabled. To continue using these (e.g. for already-written
   paths), they must be properly percent-encoded (e.g. \r becomes
   %0D, \x00 becomes %00, and so on).
 * The user-configured regions on the AWSKMS seal stanza will now
   be preferred over regions set in the enclosing environment.
   This is a breaking change.
 * All values in audit logs now are omitted if they are empty.
   This helps reduce the size of audit log entries by not reproducing
   keys in each entry that commonly don't contain any value, which
   can help in cases where audit log entries are above the maximum
   UDP packet size and others.
 * Both PeriodicFunc and WALRollback functions will be called if
   both are provided. Previously WALRollback would only be called
   if PeriodicFunc was not set. See GH-6717 for details.
 * Vault now uses Go's official dependency management system, Go
   Modules, to manage dependencies. As a result to both reduce
   transitive dependencies for API library users and plugin authors,
   and to work around various conflicts, we have moved various
   helpers around, mostly under an sdk/ submodule. A couple of
   functions have also moved from plugin helper code to the api/
   submodule. If you are a plugin author, take a look at some of
   our official plugins and the paths they are importing for
   guidance.
 * AppRole uses new, common token fields for values that overlap
   with other auth backends. period and policies will continue to
   work, with priority being given to the token_ prefixed versions
   of those parameters. They will also be returned when doing a
   read on the role if they were used to provide values initially.
 * In AppRole, "default" is no longer automatically added to the
   policies parameter. This was a no-op since it would always be
   added anyways by Vault's core; however, this can now be explicitly
   disabled with the new token_no_default_policy field.
 * In AppRole, bound_cidr_list is no longer returned when reading
   a role
 * rollback: Rollback will no longer display log messages when it
   runs; it will only display messages on error.
 * Database plugins will now default to 4 max_open_connections
   rather than 2.

FEATURES:
 * Integrated Storage: Vault 1.2 includes a tech preview of a new
   way to manage storage directly within a Vault cluster. This
   new integrated storage solution is based on the Raft protocol
   which is also used to back HashiCorp Consul and HashiCorp Nomad.
 * Combined DB credential rotation: Alternative mode for the
   Combined DB Secret Engine to automatically rotate existing
   database account credentials and set Vault as the source of
   truth for credentials.
 * Identity Tokens: Vault's Identity system can now generate
   OIDC-compliant ID tokens. These customizable tokens allow
   encapsulating a signed, verifiable snapshot of identity
   information and metadata. They can be use by other applications-even
   those without Vault authorization-as a way of establishing
   identity based on a Vault entity.
 * Pivotal Cloud Foundry plugin: New auth method using Pivotal
   Cloud Foundry certificates for Vault authentication.
 * ElasticSearch database plugin: New ElasticSearch database plugin
   issues unique, short-lived ElasticSearch credentials.
 * New UI Features: An HTTP Request Volume Page and new UI for
   editing LDAP Users and Groups have been added.
 * HA support for Postgres: PostgreSQL versions >= 9.5 may now
   but used as and HA storage backend.
 * KMIP secrets engine (Enterprise): Allows Vault to operate as
   a KMIP Server, seamlessly brokering cryptographic operations
   for traditional infrastructure.
 * Common Token Fields: Auth methods now use common fields for
   controlling token behavior, making it easier to understand
   configuration across methods.
 * Vault API explorer: The Vault UI now includes an embedded API
   explorer where you can browse the endpoints avaliable to you
   and make requests. To try it out, open the Web CLI and type
   api.

IMPROVEMENTS:
 * agent: Allow EC2 nonce to be passed in [GH-6953]
 * agent: Add optional namespace parameter, which sets the default
   namespace for the auto-auth functionality [GH-6988]
 * agent: Add cert auto-auth method [GH-6652]
 * api: Add support for passing data to delete operations via
   DeleteWithData [GH-7139]
 * audit/file: Dramatically speed up file operations by changing
   locking/marshaling order [GH-7024]
 * auth/jwt: A JWKS endpoint may now be configured for signature
   verification [JWT-43]
 * auth/jwt: A new verbose_oidc_logging role parameter has been
   added to help troubleshoot OIDC configuration [JWT-57]
 * auth/jwt: bound_claims will now match received claims that are
   lists if any element of the list is one of the expected values
   [JWT-50]
 * auth/jwt: Leeways for nbf and exp are now configurable, as is
   clock skew leeway [JWT-53]
 * auth/kubernetes: Allow service names/namespaces to be configured
   as globs [KUBEAUTH-58]
 * auth/token: Allow the support of the identity system for the
   token backend via token roles [GH-6267]
 * auth/token: Add a large set of token configuration options to
   token store roles [GH-6662]
 * cli: path-help now allows -format=json to be specified, which
   will output OpenAPI [GH-7006]
 * cli: Add support for passing parameters to vault delete operations
   [GH-7139]
 * cli: Add a log-format CLI flag that can specify either "standard"
   or "json" for the log format for the vault servercommand.
   [GH-6840]
 * cli: Add -dev-no-store-token to allow dev servers to not store
   the generated token at the tokenhelper location [GH-7104]
 * identity: Allow a group alias' canonical ID to be modified
 * namespaces: Namespaces can now be created and deleted from
   performance replication secondaries
 * plugins: Change the default for max_open_connections for DB
   plugins to 4 [GH-7093]
 * replication: Client TLS authentication is now supported when
   enabling or updating a replication secondary
 * secrets/database: Cassandra operations will now cancel on client
   timeout [GH-6954]
 * secrets/kv: Add optional delete_version_after parameter, which
   takes a duration and can be set on the mount and/or the metadata
   for a specific key [GH-7005]
 * storage/postgres: LIST now performs better on large datasets
   [GH-6546]
 * storage/s3: A new path parameter allows selecting the path
   within a bucket for Vault data [GH-7157]
 * ui: KV v1 and v2 will now gracefully degrade allowing a write
   without read workflow in the UI [GH-6570]
 * ui: Many visual improvements with the addition of Toolbars
   [GH-6626], the restyling of the Confirm Action component
   [GH-6741], and using a new set of glyphs for our Icon component
   [GH-6736]
 * ui: Lazy loading parts of the application so that the total
   initial payload is smaller [GH-6718]
 * ui: Tabbing to auto-complete in filters will first complete a
   common prefix if there is one [GH-6759]
 * ui: Removing jQuery from the application makes the initial JS
   payload smaller [GH-6768]

BUG FIXES:
 * audit: Log requests and responses due to invalid wrapping token
   provided [GH-6541]
 * audit: Fix bug preventing request counter queries from working
   with auditing enabled [GH-6767
 * auth/aws: AWS Roles are now upgraded and saved to the latest
   version just after the AWS credential plugin is mounted.
   [GH-7025]
 * auth/aws: Fix a case where a panic could stem from a malformed
   assumed-role ARN when parsing this value [GH-6917]
 * auth/aws: Fix an error complaining about a read-only view that
   could occur during updating of a role when on a performance
   replication secondary [GH-6926]
 * auth/jwt: Fix a regression introduced in 1.1.1 that disabled
   checking of client_id for OIDC logins [JWT-54]
 * auth/jwt: Fix a panic during OIDC CLI logins that could occur
   if the Vault server response is empty [JWT-55]
 * auth/jwt: Fix issue where OIDC logins might intermittently fail
   when using performance standbys [JWT-61]
 * identity: Fix a case where modifying aliases of an entity could
   end up moving the entity into the wrong namespace
 * namespaces: Fix a behavior (currently only known to be benign)
   where we wouldn't delete policies through the official functions
   before wiping the namespaces on deletion
 * secrets/database: Escape username/password before using in
   connection URL [GH-7089]
 * secrets/pki: Forward revocation requests to active node when
   on a performance standby [GH-7173]
 * ui: Fix timestamp on some transit keys [GH-6827]
 * ui: Show Entities and Groups in Side Navigation [GH-7138]
 * ui: Ensure dropdown updates selected item on HTTP Request
   Metrics page

## 1.1.4/1.1.5 (July 25th/30th, 2019)

NOTE:

Although 1.1.4 was tagged, we realized very soon after the tag was
publicly pushed that an intended fix was accidentally left out. As
a result, 1.1.4 was not officially announced and 1.1.5 should be
used as the release after 1.1.3.

IMPROVEMENTS:
 * identity: Allow a group alias' canonical ID to be modified
 * namespaces: Improve namespace deletion performance [GH-6939]
 * namespaces: Namespaces can now be created and deleted from
   performance replication secondaries

BUG FIXES:
 * api: Add backwards compat support for API env vars [GH-7135]
 * auth/aws: Fix a case where a panic could stem from a malformed
   assumed-role ARN when parsing this value [GH-6917]
 * auth/ldap: Add use_pre111_group_cn_behavior flag to allow
   recovering from a regression caused by a bug fix starting in
   1.1.1 [GH-7208]
 * auth/aws: Use a role cache to avoid separate locking paths
   [GH-6926]
 * core: Fix a deadlock if a panic happens during request handling
   [GH-6920]
 * core: Fix an issue that may cause key upgrades to not be cleaned
   up properly [GH-6949]
 * core: Don't shutdown if key upgrades fail due to canceled
   context [GH-7070]
 * core: Fix panic caused by handling requests while vault is
   inactive
 * identity: Fix reading entity and groups that have spaces in
   their names [GH-7055]
 * identity: Ensure entity alias operations properly verify
   namespace [GH-6886]
 * mfa: Fix a nil pointer panic that could occur if invalid Duo
   credentials were supplied
 * replication: Forward step-down on perf standbys to match HA
   behavior
 * replication: Fix various read only storage errors on performance
   standbys
 * replication: Stop forwarding before stopping replication to
   eliminate some possible bad states
 * secrets/database: Allow cassandra queries to be cancled [GH-6954]
 * storage/consul: Fix a regression causing vault to not connect
   to consul over unix sockets [GH-6859]
 * ui: Fix saving of TTL and string array fields generated by Open
   API [GH-7094]

## 1.1.3 (June 5th, 2019)

IMPROVEMENTS:
 * agent: Now supports proxying request query parameters [GH-6772]
 * core: Mount table output now includes a UUID indicating the
   storage path [GH-6633]
 * core: HTTP server timeout values are now configurable [GH-6666]
 * replication: Improve performance of the reindex operation on
   secondary clusters when mount filters are in use
 * replication: Replication status API now returns the state and
   progress of a reindex

BUG FIXES:
 * api: Return the Entity ID in the secret output [GH-6819]
 * auth/jwt: Consider bound claims when considering if there is at least one
   bound constraint [JWT-49]
 * auth/okta: Fix handling of group names containing slashes [GH-6665]
 * cli: Add deprecated stored-shares flag back to the init command [GH-6677]
 * cli: Fix a panic when the KV command would return no data [GH-6675]
 * cli: Fix issue causing CLI list operations to not return proper format when
   there is an empty response [GH-6776]
 * core: Correctly honor non-HMAC request keys when auditing requests [GH-6653]
 * core: Fix the `x-vault-unauthenticated` value in OpenAPI for a number of
   endpoints [GH-6654]
 * core: Fix issue where some OpenAPI parameters were incorrectly listed as
   being sent as a header [GH-6679]
 * core: Fix issue that would allow duplicate mount names to be used [GH-6771]
 * namespaces: Fix behavior when using `root` instead of `root/` as the
   namespace header value
 * pki: fix a panic when a client submits a null value [GH-5679]
 * replication: Properly update mount entry cache on a secondary to apply all
   new values after a tune
 * replication: Properly close connection on bootstrap error
 * replication: Fix an issue causing startup problems if a namespace policy
   wasn't replicated properly
 * replication: Fix longer than necessary WAL replay during an initial reindex
 * replication: Fix error during mount filter invalidation on DR
   secondary clusters
 * secrets/ad: Make time buffer configurable [AD-35]
 * secrets/gcp: Check for nil config when getting credentials [SGCP-35]
 * secrets/gcp: Fix error checking in some cases where the returned value could
   be 403 instead of 404 [SGCP-37]
 * secrets/gcpkms: Disable key rotation when deleting a key [GCPKMS-10]
 * storage/consul: recognize `https://` address even if schema not specified
   [GH-6602]
 * storage/dynamodb: Fix an issue where a deleted lock key in DynamoDB (HA)
   could cause constant switching of the active node [GH-6637]
 * storage/dynamodb: Eliminate a high-CPU condition that could occur if an
   error was received from the DynamoDB API [GH-6640]
 * storage/gcs: Correctly use configured chunk size values [GH-6655]
 * storage/mssql: Use the correct database when pre-created schemas exist
   [GH-6356]
 * ui: Fix issue with select arrows on drop down menus [GH-6627]
 * ui: Fix an issue where sensitive input values weren't being saved to the
   server [GH-6586]
 * ui: Fix web cli parsing when using quoted values [GH-6755]
 * ui: Fix a namespace workflow mapping identities from external namespaces by
   allowing arbitrary input in search-select component [GH-6728]
 * core: Fix issue that would allow duplicate mount names to be used [GH-6771]
 * namespaces: Fix behavior when using `root` instead of `root/` as the
   namespace header value
 * pki: fix a panic when a client submits a null value [GH-5679]
 * replication: Properly update mount entry cache on a secondary to apply all
   new values after a tune
 * replication: Properly close connection on bootstrap error
 * replication: Fix an issue causing startup problems if a namespace policy
   wasn't replicated properly
 * replication: Fix longer than necessary WAL replay during an initial reindex
 * replication: Fix error during mount filter invalidation on DR
   secondary clusters
 * secrets/ad: Make time buffer configurable [AD-35]
 * secrets/gcp: Check for nil config when getting credentials [SGCP-35]
 * secrets/gcp: Fix error checking in some cases where the returned value could
   be 403 instead of 404 [SGCP-37]
 * secrets/gcpkms: Disable key rotation when deleting a key [GCPKMS-10]
 * storage/consul: recognize `https://` address even if schema not specified
   [GH-6602]
 * storage/dynamodb: Fix an issue where a deleted lock key in DynamoDB (HA)
   could cause constant switching of the active node [GH-6637]
 * storage/dynamodb: Eliminate a high-CPU condition that could occur if an
   error was received from the DynamoDB API [GH-6640]
 * storage/gcs: Correctly use configured chunk size values [GH-6655]
 * storage/mssql: Use the correct database when pre-created schemas exist
   [GH-6356]
 * ui: Fix issue with select arrows on drop down menus [GH-6627]
 * ui: Fix an issue where sensitive input values weren't being saved to the
   server [GH-6586]
 * ui: Fix web cli parsing when using quoted values [GH-6755]
 * ui: Fix a namespace workflow mapping identities from external namespaces by
   allowing arbitrary input in search-select component [GH-6728]

## 1.1.2 (April 18th, 2019)

This is a bug fix release containing the two items below. It is otherwise
unchanged from 1.1.1.

BUG FIXES:
 * auth/okta: Fix a potential dropped error [GH-6592]
 * secrets/kv: Fix a regression on upgrade where a KVv2 mount could fail to be
   mounted on unseal if it had previously been mounted but not written to
   [KV-31]

## 1.1.1 (April 11th, 2019)

SECURITY:
 * Given: (a) performance replication is enabled; (b) performance standbys are
   in use on the performance replication secondary cluster; and (c) mount
   filters are in use, if a mount that was previously available to a secondary
   is updated to be filtered out, although the data would be removed from the
   secondary cluster, the in-memory cache of the data would not be purged on
   the performance standby nodes. As a result, the previously-available data
   could still be read from memory if it was ever read from disk, and if this
   included mount configuration data this could result in token or lease

BUG FIXES:
 * agent: Allow auto-auth to be used with caching without having to define any
   sinks [GH-6468]
 * agent: Disallow some nonsensical config file combinations [GH-6471]
 * auth/ldap: Fix CN check not working if CN was not all in uppercase [GH-6518]
 * auth/jwt: The CLI helper for OIDC logins will now open the
   browser to the correct URL when running on Windows [JWT-37]
 * auth/jwt: Fix OIDC login issue where configured TLS certs weren't
   being used [JWT-40]
 * auth/jwt: Fix an issue where the `oidc_scopes` parameter was
   not being included in the response to a role read request [JWT-35]
 * core: Fix seal migration case when migrating to Shamir and a seal block
   wasn't explicitly specified [GH-6455]
 * core: Fix unwrapping when using namespaced wrapping tokens [GH-6536]
 * core: Fix incorrect representation of required properties in OpenAPI output
   [GH-6490]
 * core: Fix deadlock that could happen when using the UI [GH-6560]
 * identity: Fix updating groups removing existing members [GH-6527]
 * identity: Properly invalidate group alias in performance secondary [GH-6564]
 * identity: Use namespace context when loading entities and groups to ensure
   merging of duplicate entries works properly [GH-6563]
 * replication: Fix performance standby election failure [GH-6561]
 * replication: Fix mount filter invalidation on performance standby nodes
 * replication: Fix license reloading on performance standby nodes
 * replication: Fix handling of control groups on performance standby nodes
 * replication: Fix some forwarding scenarios with request bodies using
   performance standby nodes [GH-6538]
 * secret/gcp: Fix roleset binding when using JSON [GCP-27]
 * secret/pki: Use `uri_sans` param in when not using CSR parameters [GH-6505]
 * storage/dynamodb: Fix a race condition possible in HA configurations
   that could leave the cluster without a leader [GH-6512]
 * ui: Fix an issue where in production builds OpenAPI model
   generation was failing, causing any form using it to render
   labels with missing fields [GH-6474]
 * ui: Fix issue nav-hiding when moving between namespaces [GH-6473]
 * ui: Secrets will always show in the nav regardless of access to
   cubbyhole [GH-6477]
 * ui: fix SSH OTP generation [GH-6540]
 * ui: add polyfill to load UI in IE11 [GH-6567]
 * ui: Fix issue where some elements would fail to work properly if using ACLs
   with segment-wildcard paths (`/+/` segments) [GH-6525]

## 1.1.0 (March 18th, 2019)

CHANGES:
 * auth/jwt: The `groups_claim_delimiter_pattern` field has been removed. If the
   groups claim is not at the top level, it can now be specified as a
   [JSONPointer](https://tools.ietf.org/html/rfc6901).
 * auth/jwt: Roles now have a "role type" parameter with a default type of
   "oidc". To configure new JWT roles, a role type of "jwt" must be explicitly
   specified.
 * cli: CLI commands deprecated in 0.9.2 are now removed. Please see the CLI
   help/warning output in previous versions of Vault for updated commands.
 * core: Vault no longer automatically mounts a K/V backend at the "secret/"
   path when initializing Vault
 * core: Vault's cluster port will now be open at all times on HA standby nodes
 * plugins: Vault no longer supports running netRPC plugins. These were
   deprecated in favor of gRPC based plugins and any plugin built since 0.9.4
   defaults to gRPC. Older plugins may need to be recompiled against the latest
   Vault dependencies.

FEATURES:
 * **Vault Agent Caching**: Vault Agent can now be configured to act as a
   caching proxy to Vault. Clients can send requests to Vault Agent and the
   request will be proxied to the Vault server and cached locally in Agent.
   Currently Agent will cache generated leases and tokens and keep them
   renewed. The proxy can also use the Auto Auth feature so clients do not need
   to authenticate to Vault, but rather can make requests to Agent and have
   Agent fully manage token lifecycle.
 * **OIDC Redirect Flow Support**: The JWT auth backend now supports OIDC
   roles. These allow authentication via an OIDC-compliant provider via the
   user's browser. The login may be initiated from the Vault UI or through
   the `vault login` command.
 * **ACL Path Wildcard**: ACL paths can now use the `+` character to enable
   wild card matching for a single directory in the path definition.
 * **Transit Auto Unseal**: Vault can now be configured to use the Transit
   Secret Engine in another Vault cluster as an auto unseal provider.

IMPROVEMENTS:
 * auth/jwt: A default role can be set. It will be used during
   JWT/OIDC logins if a role is not specified.
 * auth/jwt: Arbitrary claims data can now be copied into token &
   alias metadata.
 * auth/jwt: An arbitrary set of bound claims can now be configured for a role.
 * auth/jwt: The name "oidc" has been added as an alias for the
   jwt backend. Either name may be specified in the `auth enable` command.
 * command/server: A warning will be printed when 'tls_cipher_suites'
   includes a blacklisted cipher suite or all cipher suites are blacklisted
   by the HTTP/2 specification [GH-6300]
 * core/metrics: Prometheus pull support using a new sys/metrics
   endpoint. [GH-5308]
 * core: On non-windows platforms a SIGUSR2 will make the server log a dump of
   all running goroutines' stack traces for debugging purposes [GH-6240]
 * replication: The initial replication indexing process on newly
   initialized or upgraded clusters now runs asynchronously
 * sentinel: Add token namespace id and path, available in rules as
   token.namespace.id and token.namespace.path
 * ui: The UI is now leveraging OpenAPI definitions to pull in
   fields for various forms.  This means, it will not be necessary to add
   fields on the go and JS sides in the future.  [GH-6209]

BUG FIXES:
 * auth/jwt: Apply `bound_claims` validation across all login paths
 * auth/jwt: Update `bound_audiences` validation during non-OIDC
   logins to accept any matched audience, as documented and handled
   in OIDC logins [JWT-30]
 * auth/token: Fix issue where empty values for token role update call were
   ignored [GH-6314]
 * core: The `operator migrate` command will no longer hang on empty key names
   [GH-6371]
 * identity: Fix a panic at login when external group has a nil alias [GH-6230]
 * namespaces: Clear out identity store items upon namespace deletion
 * replication/perfstandby: Fixed a bug causing performance standbys to wait
   longer than necessary after forwarding a write to the active node
 * replication/mountfilter: Fix a deadlock that could occur when mount filters
   were updated [GH-6426]
 * secret/kv: Fix issue where a v1âv2 upgrade could run on a performance
   standby when using a local mount
 * secret/ssh: Fix for a bug where attempting to delete the last ssh role
   in the zeroaddress configuration could fail [GH-6390]
 * secret/totp: Uppercase provided keys so they don't fail base32 validation
   [GH-6400]
 * secret/transit: Multiple HMAC, Sign or Verify operations can now be
   performed with one API call using the new `batch_input` parameter [GH-5875]
 * sys: `sys/internal/ui/mounts` will no longer return secret or auth mounts
   that have been filtered. Similarly, `sys/internal/ui/mount/:path` will
   return a error response if a filtered mount path is requested. [GH-6412]
 * ui: Fix for a bug where you couldn't access the data tab after clicking on
   wrap details on the unwrap page [GH-6404]
 * ui: Fix an issue where the policies tab was erroneously hidden [GH-6301]
 * ui: Fix encoding issues with kv interfaces [GH-6294]

## 1.0.3.1 (March 14th, 2019) (Enterprise Only)

SECURITY:

 * A regression was fixed in replication mount filter code introduced in Vault
   1.0 that caused the underlying filtered data to be replicated to
   secondaries. This data was not accessible to users via Vault's API but via a
   combination of privileged configuration file changes/Vault commands it could
   be read.  Upgrading to this version or 1.1 will fix this issue and cause the
   replicated data to be deleted from filtered secondaries. More information
   was sent to customer contacts on file.

## 1.0.3 (February 12th, 2019)

CHANGES:
 * New AWS authentication plugin mounts will default to using the generated
   role ID as the Identity alias name. This applies to both EC2 and IAM auth.
   Existing mounts that explicitly set this value will not be affected but
   mounts that specified no preference will switch over on upgrade.
 * The default policy now allows a token to look up its associated identity
   entity either by name or by id [GH-6105]
 * The Vault UI's navigation and onboarding wizard now only displays items that
   are permitted in a users' policy [GH-5980, GH-6094]
 * An issue was fixed that caused recovery keys to not work on
   secondary clusters when using a different unseal mechanism/key
   than the primary. This would be hit if the cluster was rekeyed
   or initialized after 1.0. We recommend rekeying the recovery
   keys on the primary cluster if you meet the above requirements.

FEATURES:
 * **cURL Command Output**: CLI commands can now use the `-output-curl-string`
   flag to print out an equivalent cURL command.
 * **Response Headers From Plugins**: Plugins can now send back headers that
   will be included in the response to a client. The set of allowed headers can
   be managed by the operator.

IMPROVEMENTS:
 * auth/aws: AWS EC2 authentication can optionally create entity aliases by
   role ID [GH-6133]
 * auth/jwt: The supported set of signing algorithms is now configurable [JWT
   plugin GH-16]
 * core: When starting from an uninitialized state, HA nodes will now attempt
   to auto-unseal using a configured auto-unseal mechanism after the active
   node initializes Vault [GH-6039]
 * secret/database: Add socket keepalive option for Cassandra [GH-6201]
 * secret/ssh: Add signed key constraints, allowing enforcement of key types
   and minimum key sizes [GH-6030]
 * secret/transit: ECDSA signatures can now be marshaled in JWS-compatible
   fashion [GH-6077]
 * storage/etcd: Support SRV service names [GH-6087]
 * storage/aws: Support specifying a KMS key ID for server-side encryption
   [GH-5996]

BUG FIXES:
 * core: Fix a rare case where a standby whose connection is entirely torn down
   to the active node, then reconnects to the same active node, may not
   successfully resume operation [GH-6167]
 * cors: Don't duplicate headers when they're written [GH-6207]
 * identity: Persist merged entities only on the primary [GH-6075]
 * replication: Fix a potential race when a token is created and then used with
   a performance standby very quickly, before an associated entity has been
   replicated. If the entity is not found in this scenario, the request will
   forward to the active node.
 * replication: Fix issue where recovery keys would not work on secondary
   clusters if using a different unseal mechanism than the primary.
 * replication: Fix a "failed to register lease" error when using performance
   standbys
 * storage/postgresql: The `Get` method will now return an Entry object with
   the `Key` member correctly populated with the full path that was requested
   instead of just the last path element [GH-6044]

## 1.0.2 (January 15th, 2019)

SECURITY:
 * When creating a child token from a parent with `bound_cidrs`, the list of
   CIDRs would not be propagated to the child token, allowing the child token
   to be used from any address.

CHANGES:
 * secret/aws: Role now returns `credential_type` instead of `credential_types`
   to match role input. If a legacy role that can supply more than one
   credential type, they will be concatenated with a `,`.
 * physical/dynamodb, autoseal/aws: Instead of Vault performing environment
   variable handling, and overriding static (config file) values if found, we
   use the default AWS SDK env handling behavior, which also looks for
   deprecated values. If you were previously providing both config values and
   environment values, please ensure the config values are unset if you want to
   use environment values.
 * Namespaces (Enterprise): Providing "root" as the header value for
   `X-Vault-Namespace` will perform the request on the root namespace. This is
   equivalent to providing an empty value. Creating a namespace called "root" in
   the root namespace is disallowed.

FEATURES:
 * **InfluxDB Database Plugin**: Use Vault to dynamically create
   and manage InfluxDB users

IMPROVEMENTS:
 * auth/aws: AWS EC2 authentication can optionally create entity aliases by
   image ID [GH-5846]
 * autoseal/gcpckms: Reduce the required permissions for the GCPCKMS autounseal
   [GH-5999]
 * physical/foundationdb: TLS support added. [GH-5800]

BUG FIXES:
 * api: Fix a couple of places where we were using the `LIST` HTTP verb
   (necessary to get the right method into the wrapping lookup function) and
   not then modifying it to a `GET`; although this is officially the verb Vault
   uses for listing and it's fully legal to use custom verbs, since many WAFs
   and API gateways choke on anything outside of RFC-standardized verbs we fall
   back to `GET` [GH-6026]
 * autoseal/aws: Fix reading session tokens when AWS access key/secret key are
   also provided [GH-5965]
 * command/operator/rekey: Fix help output showing `-delete-backup` when it
   should show `-backup-delete` [GH-5981]
 * core: Fix bound_cidrs not being propagated to child tokens
 * replication: Correctly forward identity entity creation that originates from
   performance standby nodes (Enterprise)
 * secret/aws: Make input `credential_type` match the output type (string, not
   array) [GH-5972]
 * secret/cubbyhole: Properly cleanup cubbyhole after token revocation [GH-6006]
 * secret/pki: Fix reading certificates on windows with the file
   storage backend [GH-6013]
 * ui (enterprise): properly display perf-standby count on the
   license page [GH-5971]
 * ui: fix disappearing nested secrets and go to the nearest parent
   when deleting a secret - [GH-5976]
 * ui: fix error where deleting an item via the context menu would fail if the
   item name contained dots [GH-6018]
 * ui: allow saving of kv secret after an errored save attempt [GH-6022]
 * ui: fix display of kv-v1 secret containing a key named "keys" [GH-6023]

## 1.0.1 (December 14th, 2018)

SECURITY:
 * Update version of Go to 1.11.3 to fix Go bug
   https://github.com/golang/go/issues/29233 which corresponds to
   CVE-2018-16875
 * Database user revocation: If a client has configured custom revocation
   statements for a role with a value of `""`, that statement would be executed
   verbatim, resulting in a lack of actual revocation but success for the
   operation. Vault will now strip empty statements from any provided; as a
   result if an empty statement is provided, it will behave as if no statement
   is provided, falling back to the default revocation statement.

CHANGES:
 * secret/database: On role read, empty statements will be returned as empty
   slices instead of potentially being returned as JSON null values. This makes
   it more in line with other parts of Vault and makes it easier for statically
   typed languages to interpret the values.

IMPROVEMENTS:
 * cli: Strip iTerm extra characters from password manager input [GH-5837]
 * command/server: Setting default kv engine to v1 in -dev mode can now be
   specified via -dev-kv-v1 [GH-5919]
 * core: Add operationId field to OpenAPI output [GH-5876]
 * ui: Added ability to search for Group and Policy IDs when creating Groups
   and Entities instead of typing them in manually

BUG FIXES:
 * auth/azure: Cache azure authorizer [15]
 * auth/gcp: Remove explicit project for service account in GCE authorizer [58]
 * cli: Show correct stored keys/threshold for autoseals [GH-5910]
 * cli: Fix backwards compatibility fallback when listing plugins [GH-5913]
 * core: Fix upgrades when the seal config had been created on early versions
   of vault [GH-5956]
 * namespaces: Correctly reload the proper mount when tuning or reloading the
   mount [GH-5937]
 * secret/azure: Cache azure authorizer [19]
 * secret/database: Strip empty statements on user input [GH-5955]
 * secret/gcpkms: Add path for retrieving the public key [5]
 * secret/pki: Fix panic that could occur during tidy operation when malformed
   data was found [GH-5931]
 * secret/pki: Strip empty line in ca_chain output [GH-5779]
 * ui: Fixed a bug where the web CLI was not usable via the `fullscreen`
   command - [GH-5909]
 * ui: Fix a bug where you couldn't write a jwt auth method config [GH-5936]

## 0.11.6 (December 14th, 2018)

This release contains the three security fixes from 1.0.0 and 1.0.1 and the
following bug fixes from 1.0.0/1.0.1:

 * namespaces: Correctly reload the proper mount when tuning or reloading the
   mount [GH-5937]
 * replication/perfstandby: Fix audit table upgrade on standbys [GH-5811]
 * replication/perfstandby: Fix redirect on approle update [GH-5820]
 * secrets/kv: Fix issue where storage version would get incorrectly downgraded
   [GH-5809]

It is otherwise identical to 0.11.5.

## 1.0.0 (December 3rd, 2018)

SECURITY:
 * When debugging a customer incident we discovered that in the case of
   malformed data from an autoseal mechanism, Vault's master key could be
   logged in Vault's server log. For this to happen, the data would need to be
   modified by the autoseal mechanism after being submitted to it by Vault but
   prior to encryption, or after decryption, prior to it being returned to
   Vault. To put it another way, it requires the data that Vault submits for
   encryption to not match the data returned after decryption. It is not
   sufficient for the autoseal mechanism to return an error, and it cannot be
   triggered by an outside attacker changing the on-disk ciphertext as all
   autoseal mechanisms use authenticated encryption. We do not believe that
   this is generally a cause for concern; since it involves the autoseal
   mechanism returning bad data to Vault but with no error, in a working Vault
   configuration this code path should never be hit, and if hitting this issue
   Vault will not be unsealing properly anyways so it will be obvious what is
   happening and an immediate rekey of the master key can be performed after
   service is restored. We have filed for a CVE (CVE-2018-19786) and a CVSS V3
   score of 5.2 has been assigned.

CHANGES:
 * Tokens are now prefixed by a designation to indicate what type of token they
   are. Service tokens start with `s.` and batch tokens start with `b.`.
   Existing tokens will still work (they are all of service type and will be
   considered as such). Prefixing allows us to be more efficient when consuming
   a token, which keeps the critical path of requests faster.
 * Paths within `auth/token` that allow specifying a token or accessor in the
   URL have been removed. These have been deprecated since March 2016 and
   undocumented, but were retained for backwards compatibility. They shouldn't
   be used due to the possibility of those paths being logged, so at this point
   they are simply being removed.
 * Vault will no longer accept updates when the storage key has invalid UTF-8
   character encoding [GH-5819]
 * Mount/Auth tuning the `options` map on backends will now upsert any provided
   values, and keep any of the existing values in place if not provided. The
   options map itself cannot be unset once it's set, but the keypairs within the
   map can be unset if an empty value is provided, with the exception of the
   `version` keypair which is handled differently for KVv2 purposes.
 * Agent no longer automatically reauthenticates when new credentials are
   detected. It's not strictly necessary and in some cases was causing
   reauthentication much more often than intended.
 * HSM Regenerate Key Support Removed: Vault no longer supports destroying and
   regenerating encryption keys on an HSM; it only supports creating them.
   Although this has never been a source of a customer incident, it is simply a
   code path that is too trivial to activate, especially by mistyping
   `regenerate_key` instead of `generate_key`.
 * Barrier Config Upgrade (Enterprise): When upgrading from Vault 0.8.x, the
   seal type in the barrier config storage entry will be upgraded from
   "hsm-auto" to "awskms" or "pkcs11" upon unseal if using AWSKMS or HSM seals.
   If performing seal migration, the barrier config should first be upgraded
   prior to starting migration.
 * Go API client uses pooled HTTP client: The Go API client now uses a
   connection-pooling HTTP client by default. For CLI operations this makes no
   difference but it should provide significant performance benefits for those
   writing custom clients using the Go API library. As before, this can be
   changed to any custom HTTP client by the caller.
 * Builtin Secret Engines and Auth Methods are integrated deeper into the
   plugin system. The plugin catalog can now override builtin plugins with
   custom versions of the same name. Additionally the plugin system now
   requires a plugin `type` field when configuring plugins, this can be "auth",
   "database", or "secret".

FEATURES:
 * **Auto-Unseal in Open Source**: Cloud-based auto-unseal has been migrated
   from Enterprise to Open Source. We've created a migrator to allow migrating
   between Shamir seals and auto unseal methods.
 * **Batch Tokens**: Batch tokens trade off some features of service tokens for no
   storage overhead, and in most cases can be used across performance
   replication clusters.
 * **Replication Speed Improvements**: We've worked hard to speed up a lot of
   operations when using Vault Enterprise Replication.
 * **GCP KMS Secrets Engine**: This new secrets engine provides a Transit-like
   pattern to keys stored within GCP Cloud KMS.
 * **AppRole support in Vault Agent Auto-Auth**: You can now use AppRole
   credentials when having Agent automatically authenticate to Vault
 * **OpenAPI Support**: Descriptions of mounted backends can be served directly
   from Vault
 * **Kubernetes Projected Service Account Tokens**: Projected Service Account
   Tokens are now supported in Kubernetes auth
 * **Response Wrapping in UI**: Added ability to wrap secrets and easily copy
   the wrap token or secret JSON in the UI

IMPROVEMENTS:
 * agent: Support for configuring the location of the kubernetes service account
   [GH-5725]
 * auth/token: New tokens are indexed in storage HMAC-SHA256 instead of SHA1
 * secret/totp: Allow @ character to be part of key name [GH-5652]
 * secret/consul: Add support for new policy based tokens added in Consul 1.4
   [GH-5586]
 * ui: Improve the token auto-renew warning, and automatically begin renewal
   when a user becomes active again [GH-5662]
 * ui: The unbundled UI page now has some styling [GH-5665]
 * ui: Improved banner and popup design [GH-5672]
 * ui: Added token type to auth method mount config [GH-5723]
 * ui: Display additonal wrap info when unwrapping. [GH-5664]
 * ui: Empty states have updated styling and link to relevant actions and
   documentation [GH-5758]
 * ui: Allow editing of KV V2 data when a token doesn't have capabilities to
   read secret metadata [GH-5879]

BUG FIXES:
 * agent: Fix auth when multiple redirects [GH-5814]
 * cli: Restore the `-policy-override` flag [GH-5826]
 * core: Fix rekey progress reset which did not happen under certain
   circumstances. [GH-5743]
 * core: Migration from autounseal to shamir will clean up old keys [GH-5671]
 * identity: Update group memberships when entity is deleted [GH-5786]
 * replication/perfstandby: Fix audit table upgrade on standbys [GH-5811]
 * replication/perfstandby: Fix redirect on approle update [GH-5820]
 * secrets/azure: Fix valid roles being rejected for duplicate ids despite
   having distinct scopes
   [[GH-16]](https://github.com/hashicorp/vault-plugin-secrets-azure/pull/16)
 * storage/gcs: Send md5 of values to GCS to avoid potential corruption
   [GH-5804]
 * secrets/kv: Fix issue where storage version would get incorrectly downgraded
   [GH-5809]
 * secrets/kv: Disallow empty paths on a `kv put` while accepting empty paths
   for all other operations for backwards compatibility
   [[GH-19]](https://github.com/hashicorp/vault-plugin-secrets-kv/pull/19)
 * ui: Allow for secret creation in kv v2 when cas_required=true [GH-5823]
 * ui: Fix dr secondary operation token generation via the ui [GH-5818]
 * ui: Fix the PKI context menu so that items load [GH-5824]
 * ui: Update DR Secondary Token generation command [GH-5857]
 * ui: Fix pagination bug where controls would be rendered once for each
   item when viewing policies [GH-5866]
 * ui: Fix bug where `sys/leases/revoke` required 'sudo' capability to show
   the revoke button in the UI [GH-5647]
 * ui: Fix issue where certain pages wouldn't render in a namespace [GH-5692]

## 0.11.5 (November 13th, 2018)

BUG FIXES:
 * agent: Fix issue when specifying two file sinks [GH-5610]
 * auth/userpass: Fix minor timing issue that could leak the presence of a
   username [GH-5614]
 * autounseal/alicloud: Fix issue interacting with the API (Enterprise)
 * autounseal/azure: Fix key version tracking (Enterprise)
 * cli: Fix panic that could occur if parameters were not provided [GH-5603]
 * core: Fix buggy behavior if trying to remount into a namespace
 * identity: Fix duplication of entity alias entity during alias transfer
   between entities [GH-5733]
 * namespaces: Fix tuning of auth mounts in a namespace
 * ui: Fix bug where editing secrets as JSON doesn't save properly [GH-5660]
 * ui: Fix issue where IE 11 didn't render the UI and also had a broken form
   when trying to use tool/hash [GH-5714]

## 0.11.4 (October 23rd, 2018)

CHANGES:
 * core: HA lock file is no longer copied during `operator migrate` [GH-5503].
   We've categorized this as a change, but generally this can be considered
   just a bug fix, and no action is needed.

FEATURES:
 * **Transit Key Trimming**: Keys in transit secret engine can now be trimmed to
   remove older unused key versions
 * **Web UI support for KV Version 2**: Browse, delete, undelete and destroy
   individual secret versions in the UI
 * **Azure Existing Service Principal Support**: Credentials can
   now be generated against an existing service principal

IMPROVEMENTS:
 * core: Add last WAL in leader/health output for easier debugging [GH-5523]
 * identity: Identity names will now be handled case insensitively by default.
   This includes names of entities, aliases and groups [GH-5404]
 * secrets/aws: Added role-option max_sts_ttl to cap TTL for AWS STS
   credentials [GH-5500]
 * secret/database: Allow Cassandra user to be non-superuser so long as it has
   role creation permissions [GH-5402]
 * secret/radius: Allow setting the NAS Identifier value in the generated
   packet [GH-5465]
 * secret/ssh: Allow usage of JSON arrays when setting zero addresses [GH-5528]
 * secret/transit: Allow trimming unused keys [GH-5388]
 * ui: Support KVv2 [GH-5547], [GH-5563]
 * ui: Allow viewing and updating Vault license via the UI
 * ui: Onboarding will now display your progress through the chosen tutorials
 * ui: Dynamic secret backends obfuscate sensitive data by default and
   visibility is toggleable

BUG FIXES:
 * agent: Fix potential hang during agent shutdown [GH-5026]
 * auth/ldap: Fix listing of users/groups that contain slashes [GH-5537]
 * core: Fix memory leak during some expiration calls [GH-5505]
 * core: Fix generate-root operations requiring empty `otp` to be provided
   instead of an empty body [GH-5495]
 * identity: Remove lookup check during alias removal from entity [GH-5524]
 * secret/pki: Fix TTL/MaxTTL check when using `sign-verbatim` [GH-5549]
 * secret/pki: Fix regression in 0.11.2+ causing the NotBefore value of
   generated certificates to be set to the Unix epoch if the role value was not
   set, instead of using the default of 30 seconds [GH-5481]
 * storage/mysql: Use `varbinary` instead of `varchar` when creating HA tables
   [GH-5529]

## 0.11.3 (October 8th, 2018)

SECURITY:
 * Revocation: A regression in 0.11.2 (OSS) and 0.11.0 (Enterprise) caused
   lease IDs containing periods (`.`) to not be revoked properly. Upon startup
   when revocation is tried again these should now revoke successfully.

IMPROVEMENTS:
 * auth/ldap: Listing of users and groups return absolute paths [GH-5537]
 * secret/pki: OID SANs can now specify `*` to allow any value [GH-5459]

BUG FIXES:
 * auth/ldap: Fix panic if specific values were given to be escaped [GH-5471]
 * cli/auth: Fix panic if `vault auth` was given no parameters [GH-5473]
 * secret/database/mongodb: Fix panic that could occur at high load [GH-5463]
 * secret/pki: Fix CA generation not allowing OID SANs [GH-5459]
2019-10-23 15:00:05 +00:00
bsiegert
cb070cf0eb Revbump all Go packages after lang/go112 update 2019-10-18 14:58:43 +00:00
bsiegert
866c85b303 Revbump all Go packages after 1.12.10 update.
ok wiz@ for PMC
2019-09-26 20:10:39 +00:00
bsiegert
2b7e432294 Recursive bump of all packages using Go after Go 1.12.8 update. 2019-08-14 15:45:31 +00:00
bsiegert
6b2717c133 Revbump all Go packages after go112 update. 2019-05-27 15:18:17 +00:00
bsiegert
65fc216b57 Revbump all Go packages after go112 update 2019-04-16 18:41:08 +00:00
bsiegert
df61d022ce Revbump all Go packages after Go 1.12.1 update. 2019-03-16 08:35:37 +00:00
bsiegert
7455fa5a88 all: revbump Go packages, now that they use go112 to build 2019-03-09 10:05:01 +00:00
bsiegert
066e1db646 Revbump Go packages after lang/go111 update. 2019-01-24 10:00:33 +00:00
bsiegert
dcd9b75b1e Revbump all Go packages after go111 update. 2018-12-19 15:46:59 +00:00
wiz
1e9caac440 *: update email for fhajny 2018-12-15 21:12:18 +00:00
bsiegert
ac232c7df5 Revbump all Go packages after go111 update. 2018-11-04 18:37:54 +00:00
fhajny
3ba08d9b25 ## 0.11.2 (October 2nd, 2018)
CHANGES:

- `sys/seal-status` now includes an `initialized` boolean in the
  output. If Vault is not initialized, it will return a `200` with
  this value set `false` instead of a `400`.
- `passthrough_request_headers` will now deny certain headers from
  being provided to backends based on a global denylist.

FEATURES:

- AWS Secret Engine Root Credential Rotation: The credential used by
  the AWS secret engine can now be rotated, to ensure that only Vault
  knows the credentials it is using.
- Storage Backend Migrator: A new `operator migrate` command allows
  offline migration of data between two storage backends.
- AliCloud KMS Auto Unseal and Seal Wrap Support (Enterprise):
  AliCloud KMS can now be used a support seal for  Auto Unseal and
  Seal Wrapping.

BUG FIXES:

- auth/okta: Fix reading deprecated `token` parameter if a token was
  previously set in the configuration
- core: Re-add deprecated capabilities information for now
- core: Fix handling of cyclic token relationships
- storage/mysql: Fix locking on MariaDB
- replication: Fix DR API when using a token
- identity: Ensure old group alias is removed when a new one is
  written
- storage/alicloud: Don't call uname on package init
- secrets/jwt: Fix issue where request context would be canceled too
  early
- ui: fix need to have update for aws iam creds generation
- ui: fix calculation of token expiry

IMPROVEMENTS:

- auth/aws: The identity alias name can now configured to be either
  IAM unique ID of the IAM Principal, or ARN of the caller identity
- auth/cert: Add allowed_organizational_units support
- cli: Format TTLs for non-secret responses
- identity: Support operating on entities and groups by their names
- plugins: Add `env` parameter when registering plugins to the catalog
  to allow operators to include environment variables during plugin
  execution.
- secrets/aws: WAL Rollback improvements
- secrets/aws: Allow specifying STS role-default TTLs
- secrets/pki: Add configuration support for setting NotBefore
- core: Support for passing the Vault token via an Authorization
  Bearer header
- replication: Reindex process now runs in the background and does not
  block other vault operations
- storage/zookeeper: Enable TLS based communication with Zookeeper
- ui: you can now init a cluster with a seal config
- ui: added the option to force promote replication clusters
- replication: Allow promotion of a secondary when data is syncing
  with a "force" flag
2018-10-07 20:19:38 +00:00
fhajny
d0fc14b184 security/vault: Update to 0.11.1.
SECURITY:

- Random Byte Reading in Barrier: Prior to this release, Vault was not
  properly checking the error code when reading random bytes for the IV for
  AES operations in its cryptographic barrier. Specifically, this means that
  such an IV could potentially be zero multiple times, causing nonce re-use
  and weakening the security of the key. On most platforms this should never
  happen because reading from kernel random sources is non-blocking and always
  successful, but there may be platform-specific behavior that has not been
  accounted for. (Vault has tests to check exactly this, and the tests have
  never seen nonce re-use.)

FEATURES:

- AliCloud Agent Support: Vault Agent can now authenticate against the
  AliCloud auth method.
- UI: Enable AliCloud auth method and Azure secrets engine via the UI.

IMPROVEMENTS:

- core: Logging level for most logs (not including secrets/auth plugins) can
  now be changed on-the-fly via `SIGHUP`, reading the desired value from
  Vault's config file

BUG FIXES:

- core: Ensure we use a background context when stepping down
- core: Properly check error return from random byte reading
- core: Re-add `sys/` top-route injection for now
- core: Properly store the replication checkpoint file if it's larger than the
  storage engine's per-item limit
- identity: Update MemDB with identity group alias while loading groups
- secrets/database: Fix nil pointer when revoking some leases
- secrets/pki: Fix sign-verbatim losing extra Subject attributes
- secrets/pki: Remove certificates from store when tidying revoked
  certificates and simplify API
- ui: JSON editor will not coerce input to an object, and will now show an
  error about Vault expecting an object
- ui: authentication form will now default to any methods that have been tuned
  to show up for unauthenticated users
2018-09-06 20:41:53 +00:00
fhajny
08a9017f6f security/vault: Update to 0.11.0.
DEPRECATIONS/CHANGES:

- Request Timeouts: A default request timeout of 90s is now enforced. This
  setting can be overwritten in the config file. If you anticipate requests
  taking longer than 90s this setting should be updated before upgrading.
- (NOTE: will be re-added into 0.11.1 as it broke more than anticipated. There
  will be some further guidelines around when this will be removed again.)
  * `sys/` Top Level Injection: For the last two years for backwards
  compatibility data for various `sys/` routes has been injected into both the
  Secret's Data map and into the top level of the JSON response object.
  However, this has some subtle issues that pop up from time to time and is
  becoming increasingly complicated to maintain, so it's finally being
  removed.
- Path Fallback for List Operations: For a very long time Vault has
  automatically adjusted `list` operations to always end in a `/`, as list
  operations operates on prefixes, so all list operations by definition end
  with `/`. This was done server-side so affects all clients. However, this
  has also led to a lot of confusion for users writing policies that assume
  that the path that they use in the CLI is the path used internally. Starting
  in 0.11, ACL policies gain a new fallback rule for listing: they will use a
  matching path ending in `/` if available, but if not found, they will look
  for the same path without a trailing `/`. This allows putting `list`
  capabilities in the same path block as most other capabilities for that
  path, while not providing any extra access if `list` wasn't actually
  provided there.
- Performance Standbys On By Default: If you flavor/license of Vault
  Enterprise supports Performance Standbys, they are on by default. You can
  disable this behavior per-node with the `disable_performance_standby`
  configuration flag.
- AWS Secret Engine Roles: The AWS Secret Engine roles are now explicit about
  the type of AWS credential they are generating; this reduces reduce
  ambiguity that existed previously as well as enables new features for
  specific credential types. Writing role data and generating credentials
  remain backwards compatible; however, the data returned when reading a
  role's configuration has changed in backwards-incompatible ways. Anything
  that depended on reading role data from the AWS secret engine will break
  until it is updated to work with the new format.

FEATURES:

- Namespaces (Enterprise): A set of features within Vault Enterprise
  that allows Vault environments to support *Secure Multi-tenancy* within a
  single Vault Enterprise infrastructure. Through namespaces, Vault
  administrators can support tenant isolation for teams and individuals as
  well as empower those individuals to self-manage their own tenant
  environment.
- Performance Standbys (Enterprise): Standby nodes can now service
  requests that do not modify storage. This provides near-horizontal scaling
  of a cluster in some workloads, and is the intra-cluster analogue of
  the existing Performance Replication feature, which replicates to distinct
  clusters in other datacenters, geos, etc.
- AliCloud OSS Storage: AliCloud OSS can now be used for Vault storage.
- AliCloud Auth Plugin: AliCloud's identity services can now be used to
  grant access to Vault. See the plugin repository for more information.
- Azure Secrets Plugin: There is now a plugin (pulled in to Vault) that
  allows generating credentials to allow access to Azure. See the plugin
  repository for more information.
- HA Support for MySQL Storage: MySQL storage now supports HA.
- ACL Templating: ACL policies can now be templated using identity Entity,
  Groups, and Metadata.
- UI Onboarding wizards: The Vault UI can provide contextual help and
  guidance, linking out to relevant links or guides on vaultproject.io for
  various workflows in Vault.

IMPROVEMENTS:

- agent: Add `exit_after_auth` to be able to use the Agent for a single
  authentication
- auth/approle: Add ability to set token bound CIDRs on individual Secret IDs
- cli: Add support for passing parameters to `vault read` operations
- secrets/aws: Make credential types more explicit
- secrets/nomad: Support for longer token names
- secrets/pki: Allow disabling CRL generation
- storage/azure: Add support for different Azure environments
- storage/file: Sort keys in list responses
- storage/mysql: Support special characters in database and table names.

BUG FIXES:

- auth/jwt: Always validate `aud` claim even if `bound_audiences` isn't set
  (IOW, error in this case)
- core: Prevent Go's HTTP library from interspersing logs in a different
  format and/or interleaved
- identity: Properly populate `mount_path` and `mount_type` on group lookup
- identity: Fix persisting alias metadata
- identity: Fix carryover issue from previously fixed race condition that
  could cause Vault not to start up due to two entities referencing the same
  alias. These entities are now merged.
- replication: Fix issue causing some pages not to flush to storage
- secrets/database: Fix inability to update custom SQL statements on
  database roles.
- secrets/pki: Disallow putting the CA's serial on its CRL. While technically
  legal, doing so inherently means the CRL can't be trusted anyways, so it's
  not useful and easy to footgun.
- storage/gcp,spanner: Fix data races
2018-09-03 18:59:08 +00:00
bsiegert
762a0da660 Do not use "naked" go invocations.
Use ${GO} instead.
2018-07-08 13:54:39 +00:00
bsiegert
d22fe57854 Revbump all Go packages after lang/go update. 2018-06-12 17:50:20 +00:00
fhajny
d509f30245 security/vault: Update to 0.10.1.
DEPRECATIONS/CHANGES:

- `vault kv` and Vault versions: In 0.10.1 some issues with `vault kv` against
  v1 K/V engine mounts are fixed. However, using 0.10.1 for both the server
  and CLI versions is required.
- Mount information visibility: Users that have access to any path within a
  mount can now see information about that mount, such as its type and
  options, via some API calls.
- Identity and Local Mounts: Local mounts would allow creating Identity
  entities but these would not be able to be used successfully (even locally)
  in replicated scenarios. We have now disallowed entities and groups from
  being created for local mounts in the first place.

FEATURES:

- X-Forwarded-For support: `X-Forwarded-For` headers can now be used to set the
  client IP seen by Vault. See the TCP listener configuration
  page for details.
- CIDR IP Binding for Tokens: Tokens now support being bound to specific
  CIDR(s) for usage. Currently this is implemented in Token Roles; usage can be
  expanded to other authentication backends over time.
- `vault kv patch` command: A new `kv patch` helper command that allows
  modifying only some values in existing data at a K/V path, but uses
  check-and-set to ensure that this modification happens safely.
- AppRole Local Secret IDs: Roles can now be configured to generate secret IDs
  local to the cluster. This enables performance secondaries to generate and
  consume secret IDs without contacting the primary.
- AES-GCM Support for PKCS#11 [BETA] (Enterprise): For supporting HSMs,
  AES-GCM can now be used in lieu of AES-CBC/HMAC-SHA256. This has currently
  only been fully tested on AWS CloudHSM.
- Auto Unseal/Seal Wrap Key Rotation Support (Enterprise): Auto Unseal
  mechanisms, including PKCS#11 HSMs, now support rotation of encryption keys,
  and migration between key and encryption types, such as from AES-CBC to
  AES-GCM, can be performed at the same time (where supported).

IMPROVEMENTS:

- auth/approle: Support for cluster local secret IDs. This enables secondaries
  to generate secret IDs without contacting the primary
- auth/token: Add to the token lookup response, the policies inherited due to
  identity associations
- auth/token: Add CIDR binding to token roles
- cli: Add `vault kv patch`
- core: Add X-Forwarded-For support
- core: Add token CIDR-binding support
- identity: Add the ability to disable an entity. Disabling an entity does not
  revoke associated tokens, but while the entity is disabled they cannot be
  used.
- physical/consul: Allow tuning of session TTL and lock wait time
- replication: Dynamically adjust WAL cleanup over a period of time based on
  the rate of writes committed
- secret/ssh: Update dynamic key install script to use shell locking to avoid
  concurrent modifications
- ui: Access to `sys/mounts` is no longer needed to use the UI - the list of
  engines will show you the ones you implicitly have access to (because you have
  access to to secrets in those engines)

BUG FIXES:

- cli: Fix `vault kv` backwards compatibility with KV v1 engine mounts
- identity: Persist entity memberships in external identity groups across
  mounts
- identity: Fix error preventing authentication using local mounts on
  performance secondary replication clusters
- replication: Fix issue causing secondaries to not connect properly to a
  pre-0.10 primary until the primary was upgraded
- secret/gcp: Fix panic on rollback when a roleset wasn't created properly
- secret/gcp: Fix panic on renewal
- ui: Fix IE11 form submissions in a few parts of the application
- ui: Fix IE file saving on policy pages and init screens
- ui: Fixed an issue where the AWS secret backend would show the wrong menu
- ui: Fixed an issue where policies with commas would not render in the
  interface properly
- ui: Corrected the saving of mount tune ttls for auth methods
- ui: Credentials generation no longer checks capabilities before making
  api calls. This should fix needing "update" capabilites to read IAM
  credentials in the AWS secrets engine
2018-04-27 14:02:41 +00:00
fhajny
d3edb9a7a5 security/vault: Update to 0.10.0.
SECURITY:

- Log sanitization for Combined Database Secret Engine: In certain failure
  scenarios with incorrectly formatted connection urls, the raw connection
  errors were being returned to the user with the configured database
  credentials. Errors are now sanitized before being returned to the user.

DEPRECATIONS/CHANGES:

- Database plugin compatibility: The database plugin interface was enhanced to
  support some additional functionality related to root credential rotation
  and supporting templated URL strings. The changes were made in a
  backwards-compatible way and all builtin plugins were updated with the new
  features. Custom plugins not built into Vault will need to be upgraded to
  support templated URL strings and root rotation. Additionally, the
  Initialize method was deprecated in favor of a new Init method that supports
  configuration modifications that occur in the plugin back to the primary
  data store.
- Removal of returned secret information: For a long time Vault has returned
  configuration given to various secret engines and auth methods with secret
  values (such as secret API keys or passwords) still intact, and with a
  warning to the user on write that anyone with read access could see the
  secret. This was mostly done to make it easy for tools like Terraform to
  judge whether state had drifted. However, it also feels quite un-Vault-y to
  do this and we've never felt very comfortable doing so. In 0.10 we have gone
  through and removed this behavior from the various backends; fields which
  contained secret values are simply no longer returned on read. We are
  working with the Terraform team to make changes to their provider to
  accommodate this as best as possible, and users of other tools may have to
  make adjustments, but in the end we felt that the ends did not justify the
  means and we needed to prioritize security over operational convenience.
- LDAP auth method case sensitivity: We now treat usernames and groups
  configured locally for policy assignment in a case insensitive fashion by
  default. Existing configurations will continue to work as they do now;
  however, the next time a configuration is written `case_sensitive_names`
  will need to be explicitly set to `true`.
- TTL handling within core: All lease TTL handling has been centralized within
  the core of Vault to ensure consistency across all backends. Since this was
  previously delegated to individual backends, there may be some slight
  differences in TTLs generated from some backends.
- Removal of default `secret/` mount: In 0.12 we will stop mounting `secret/`
  by default at initialization time (it will still be available in `dev`
  mode).

FEATURES:

- OSS UI: The Vault UI is now fully open-source. Similarly to the CLI, some
  features are only available with a supporting version of Vault, but the code
  base is entirely open.
- Versioned K/V: The `kv` backend has been completely revamped, featuring
  flexible versioning of values, check-and-set protections, and more. A new
  `vault kv` subcommand allows friendly interactions with it. Existing mounts
  of the `kv` backend can be upgraded to the new versioned mode (downgrades
  are not currently supported). The old "passthrough" mode is still the
  default for new mounts; versioning can be turned on by setting the
  `-version=2` flag for the `vault secrets enable` command.
- Database Root Credential Rotation: Database configurations can now rotate
  their own configured admin/root credentials, allowing configured credentials
  for a database connection to be rotated immediately after sending them into
  Vault, invalidating the old credentials and ensuring only Vault knows the
  actual valid values.
- Azure Authentication Plugin: There is now a plugin (pulled in to Vault) that
  allows authenticating Azure machines to Vault using Azure's Managed Service
  Identity credentials. See the [plugin
  repository](https://github.com/hashicorp/vault-plugin-auth-azure) for more
  information.
- GCP Secrets Plugin: There is now a plugin (pulled in to Vault) that allows
  generating secrets to allow access to GCP. See the [plugin
  repository](https://github.com/hashicorp/vault-plugin-secrets-gcp) for more
  information.
- Selective Audit HMACing of Request and Response Data Keys: HMACing in audit
  logs can be turned off for specific keys in the request input map and
  response `data` map on a per-mount basis.
- Passthrough Request Headers: Request headers can now be selectively passed
  through to backends on a per-mount basis. This is useful in various cases
  when plugins are interacting with external services.
- HA for Google Cloud Storage: The GCS storage type now supports HA.
- UI support for identity: Add and edit entities, groups, and their associated
  aliases.
- UI auth method support: Enable, disable, and configure all of the built-in
  authentication methods.
- UI (Enterprise): View and edit Sentinel policies.

IMPROVEMENTS:

- core: Centralize TTL generation for leases in core
- identity: API to update group-alias by ID
- secret/cassandra: Update Cassandra storage delete function to not use batch
  operations
- storage/mysql: Allow setting max idle connections and connection lifetime

- storage/gcs: Add HA support
- ui: Add Nomad to the list of available secret engines
- ui: Adds ability to set static headers to be returned by the UI

BUG FIXES:

- api: Fix retries not working
- auth/gcp: Invalidate clients on config change
- auth/token: Revoke-orphan and tidy operations now correctly cleans up the
  parent prefix entry in the underlying storage backend. These operations also
  mark corresponding child tokens as orphans by removing the parent/secondary
  index from the entries.
- command: Re-add `-mfa` flag and migrate to OSS binary
- core: Fix issue occurring from mounting two auth backends with the same path
  with one mount having `auth/` in front
- mfa: Invalidation of MFA configurations (Enterprise)
- replication: Fix a panic on some non-64-bit platforms
- replication: Fix invalidation of policies on performance secondaries
- secret/pki: When tidying if a value is unexpectedly nil, delete it and move
  on
- storage/s3: Fix panic if S3 returns no Content-Length header
- ui: Fixed an issue where the UI was checking incorrect paths when operating
  on transit keys. Capabilities are now checked when attempting to encrypt /
  decrypt, etc.
- ui: Fixed IE 11 layout issues and JS errors that would stop the application
  from running.
- ui: Fixed the link that gets rendered when a user doesn't have permissions
  to view the root of a secret engine. The link now sends them back to the list
  of secret engines.
- replication: Fix issue with DR secondaries when using mount specified local
  paths.
- cli: Fix an issue where generating a dr operation token would not output the
  token
2018-04-11 15:35:49 +00:00
bsiegert
429ee23e50 Revbump all Go packages after 1.10.1 update.
ok wiz@ for committing during freeze
2018-03-30 11:56:19 +00:00
fhajny
11a26b4395 security/vault: Update to 0.9.6
DEPRECATIONS/CHANGES:

- The AWS authentication backend now allows binds for inputs as either a
  comma-delimited string or a string array. However, to keep consistency with
  input and output, when reading a role the binds will now be returned as
  string arrays rather than strings.
- In order to prefix-match IAM role and instance profile ARNs in AWS auth
  backend, you now must explicitly opt-in by adding a `*` to the end of the
  ARN. Existing configurations will be upgraded automatically, but when
  writing a new role configuration the updated behavior will be used.

FEATURES:

- Replication Activation Enhancements: When activating a replication
  secondary, a public key can now be fetched first from the target cluster.
  This public key can be provided to the primary when requesting the
  activation token. If provided, the public key will be used to perform a
  Diffie-Hellman key exchange resulting in a shared key that encrypts the
  contents of the activation token. The purpose is to protect against
  accidental disclosure of the contents of the token if unwrapped by the wrong
  party, given that the contents of the token are highly sensitive. If
  accidentally unwrapped, the contents of the token are not usable by the
  unwrapping party. It is important to note that just as a malicious operator
  could unwrap the contents of the token, a malicious operator can pretend to
  be a secondary and complete the Diffie-Hellman exchange on their own; this
  feature provides defense in depth but still requires due diligence around
  replication activation, including multiple eyes on the commands/tokens and
  proper auditing.

IMPROVEMENTS:

- api: Update renewer grace period logic. It no longer is static, but rather
  dynamically calculates one based on the current lease duration after each
  renew.
- auth/approle: Allow array input for bound_cidr_list
- auth/aws: Allow using lists in role bind parameters
- auth/aws: Allow binding by EC2 instance IDs
- auth/aws: Allow non-prefix-matched IAM role and instance profile ARNs
- auth/ldap: Set a very large size limit on queries
- core: Log info notifications of revoked leases for all leases/reasons, not
  just expirations
- physical/couchdb: Removed limit on the listing of items
- secret/pki: Support certificate policies
- secret/pki: Add ability to have CA:true encoded into intermediate CSRs, to
  improve compatibility with some ADFS scenarios
- secret/transit: Allow selecting signature algorithm as well as hash
  algorithm when signing/verifying
- server: Make sure `tls_disable_client_cert` is actually a true value rather
  than just set
- storage/dynamodb: Allow specifying max retries for dynamo client
- storage/gcs: Allow specifying chunk size for transfers, which can reduce
  memory utilization
- sys/capabilities: Add the ability to use multiple paths for capability
  checking

BUG FIXES:

- auth/aws: Fix honoring `max_ttl` when a corresponding role `ttl` is not also
  set
- auth/okta: Fix honoring configured `max_ttl` value
- auth/token: If a periodic token being issued has a period greater than the
  max_lease_ttl configured on the token store mount, truncate it. This matches
  renewal behavior; before it was inconsistent between issuance and renewal.
- cli: Improve error messages around `vault auth help` when there is no CLI
  helper for a particular method
2018-03-23 12:00:12 +00:00
bsiegert
9ab6e4ca7b Revbump all Go packages after Go 1.10 update. 2018-03-04 15:52:12 +00:00
fhajny
505ecb928a security/vault: Simplify Makefile, enable a basic test target. 2018-02-27 12:32:35 +00:00
fhajny
bc5c88a95d security/vault: Update to 0.9.5
## 0.9.5 (February 26th, 2018)

IMPROVEMENTS:

- auth: Allow sending default_lease_ttl and max_lease_ttl values when enabling
  auth methods.
- secret/database: Add list functionality to `database/config` endpoint
- physical/consul: Allow setting a specific service address
- replication: When bootstrapping a new secondary, if the initial cluster
  connection fails, Vault will attempt to roll back state so that
  bootstrapping can be tried again, rather than having to recreate the
  downstream cluster. This will still require fetching a new secondary
  activation token.

BUG FIXES:

- auth/aws: Update libraries to fix regression verifying PKCS#7 identity
  documents
- listener: Revert to Go 1.9 for now to allow certificates with non-DNS names
  in their DNS SANs to be used for Vault's TLS connections
- replication: Fix issue with a performance secondary/DR primary node losing
  its DR primary status when performing an update-primary operation
- replication: Fix issue where performance secondaries could be unable to
  automatically connect to a performance primary after that performance
  primary has been promoted to a DR primary from a DR secondary
- ui: Fix behavior when a value contains a `.`

## 0.9.4 (February 20th, 2018)

SECURITY:

- Role Tags used with the EC2 style of AWS auth were being improperly parsed;
  as a result they were not being used to properly restrict values.
  Implementations following our suggestion of using these as defense-in-depth
  rather than the only source of restriction should not have significant
  impact.

FEATURES:

- ChaCha20-Poly1305 support in `transit`: You can now encrypt and decrypt
  with ChaCha20-Poly1305 in `transit`. Key derivation and convergent
  encryption is also supported.
- Okta Push support in Okta Auth Backend: If a user account has MFA
  required within Okta, an Okta Push MFA flow can be used to successfully
  finish authentication.
- PKI Improvements: Custom OID subject alternate names can now be set,
  subject to allow restrictions that support globbing. Additionally, Country,
  Locality, Province, Street Address, and Postal Code can now be set in
  certificate subjects.
- Manta Storage: Joyent Triton Manta can now be used for Vault storage
- Google Cloud Spanner Storage: Google Cloud Spanner can now be used for
  Vault storage

IMPROVEMENTS:

- auth/centrify: Add CLI helper
- audit: Always log failure metrics, even if zero, to ensure the values appear
  on dashboards
- cli: Disable color when output is not a TTY
- cli: Add `-format` flag to all subcommands
- cli: Do not display deprecation warnings when the format is not table
- core: If over a predefined lease count (256k), log a warning not more than
  once a minute. Too many leases can be problematic for many of the storage
  backends and often this number of leases is indicative of a need for
  workflow improvements.
- secret/nomad: Have generated ACL tokens cap out at 64 characters
- secret/pki: Country, Locality, Province, Street Address, and Postal Code can
  now be set on certificates
- secret/pki: UTF-8 Other Names can now be set in Subject Alternate Names in
  issued certs; allowed values can be set per role and support globbing
- secret/pki: Add a flag to make the common name optional on certs
- secret/pki: Ensure only DNS-compatible names go into DNS SANs; additionally,
  properly handle IDNA transformations for these DNS names
- secret/ssh: Add `valid-principles` flag to CLI for CA mode
- storage/manta: Add Manta storage
- ui (Enterprise): Support for ChaCha20-Poly1305 keys in the transit engine.

BUG FIXES:
- api/renewer: Honor increment value in renew auth calls
- auth/approle: Fix inability to use limited-use-count secret IDs on
  replication performance secondaries
- auth/approle: Cleanup of secret ID accessors during tidy and removal of
  dangling accessor entries
- auth/aws-ec2: Avoid masking of role tag response
- auth/cert: Verify DNS SANs in the authenticating certificate
- auth/okta: Return configured durations as seconds, not nanoseconds
- auth/okta: Get all okta groups for a user vs. default 200 limit
- auth/token: Token creation via the CLI no longer forces periodic token
  creation. Passing an explicit zero value for the period no longer create
  periodic tokens.
- command: Fix interpreted formatting directives when printing raw fields
- command: Correctly format output when using -field and -format flags at the
  same time
- command/rekey: Re-add lost `stored-shares` parameter
- command/ssh: Create and reuse the api client
- command/status: Fix panic when status returns 500 from leadership lookup
- identity: Fix race when creating entities
- plugin/gRPC: Fixed an issue with list requests and raw responses coming from
  plugins using gRPC transport
- plugin/gRPC: Fix panic when special paths are not set
- secret/pki: Verify a name is a valid hostname before adding to DNS SANs
- secret/transit: Fix auditing when reading a key after it has been backed up
  or restored
- secret/transit: Fix storage/memory consistency when persistence fails
- storage/consul: Validate that service names are RFC 1123 compliant
- storage/etcd3: Fix memory ballooning with standby instances
- storage/etcd3: Fix large lists (like token loading at startup) not being
  handled
- storage/postgresql: Fix compatibility with versions using custom string
  version tags
- storage/zookeeper: Update vendoring to fix freezing issues
- ui (Enterprise): Decoding the replication token should no longer error and
  prevent enabling of a secondary replication cluster via the ui.
- plugin/gRPC: Add connection info to the request object
2018-02-27 11:20:42 +00:00
fhajny
d76039b62f Update security/vault to 0.9.3.
## 0.9.3 (January 28th, 2018)

A regression from a feature merge disabled the Nomad secrets backend in 0.9.2.
This release re-enables the Nomad secrets backend; it is otherwise identical to
0.9.2.

## 0.9.2 (January 26th, 2018)

SECURITY:

* Okta Auth Backend: While the Okta auth backend was successfully verifying
  usernames and passwords, it was not checking the returned state of the
  account, so accounts that had been marked locked out could still be used to
  log in. Only accounts in SUCCESS or PASSWORD_WARN states are now allowed.
* Periodic Tokens: A regression in 0.9.1 meant that periodic tokens created by
  the AppRole, AWS, and Cert auth backends would expire when the max TTL for
  the backend/mount/system was hit instead of their stated behavior of living
  as long as they are renewed. This is now fixed; existing tokens do not have
  to be reissued as this was purely a regression in the renewal logic.
* Seal Wrapping: During certain replication states values written marked for
  seal wrapping may not be wrapped on the secondaries. This has been fixed,
  and existing values will be wrapped on next read or write. This does not
  affect the barrier keys.

DEPRECATIONS/CHANGES:

* `sys/health` DR Secondary Reporting: The `replication_dr_secondary` bool
  returned by `sys/health` could be misleading since it would be `false` both
  when a cluster was not a DR secondary but also when the node is a standby in
  the cluster and has not yet fully received state from the active node. This
  could cause health checks on LBs to decide that the node was acceptable for
  traffic even though DR secondaries cannot handle normal Vault traffic. (In
  other words, the bool could only convey "yes" or "no" but not "not sure
  yet".) This has been replaced by `replication_dr_mode` and
  `replication_perf_mode` which are string values that convey the current
  state of the node; a value of `disabled` indicates that replication is
  disabled or the state is still being discovered. As a result, an LB check
  can positively verify that the node is both not `disabled` and is not a DR
  secondary, and avoid sending traffic to it if either is true.
* PKI Secret Backend Roles parameter types: For `ou` and `organization`
  in role definitions in the PKI secret backend, input can now be a
  comma-separated string or an array of strings. Reading a role will
  now return arrays for these parameters.
* Plugin API Changes: The plugin API has been updated to utilize golang's
  context.Context package. Many function signatures now accept a context
  object as the first parameter. Existing plugins will need to pull in the
  latest Vault code and update their function signatures to begin using
  context and the new gRPC transport.

FEATURES:

* **gRPC Backend Plugins**: Backend plugins now use gRPC for transport,
  allowing them to be written in other languages.
* **Brand New CLI**: Vault has a brand new CLI interface that is significantly
  streamlined, supports autocomplete, and is almost entirely backwards
  compatible.
* **UI: PKI Secret Backend (Enterprise)**: Configure PKI secret backends,
  create and browse roles and certificates, and issue and sign certificates via
  the listed roles.

IMPROVEMENTS:

* auth/aws: Handle IAM headers produced by clients that formulate numbers as
  ints rather than strings [GH-3763]
* auth/okta: Support JSON lists when specifying groups and policies [GH-3801]
* autoseal/hsm: Attempt reconnecting to the HSM on certain kinds of issues,
  including HA scenarios for some Gemalto HSMs.
  (Enterprise)
* cli: Output password prompts to stderr to make it easier to pipe an output
  token to another command [GH-3782]
* core: Report replication status in `sys/health` [GH-3810]
* physical/s3: Allow using paths with S3 for non-AWS deployments [GH-3730]
* physical/s3: Add ability to disable SSL for non-AWS deployments [GH-3730]
* plugins: Args for plugins can now be specified separately from the command,
  allowing the same output format and input format for plugin information
  [GH-3778]
* secret/pki: `ou` and `organization` can now be specified as a
  comma-separated string or an array of strings [GH-3804]
* plugins: Plugins will fall back to using netrpc as the communication protocol
  on older versions of Vault [GH-3833]

BUG FIXES:

* auth/(approle,aws,cert): Fix behavior where periodic tokens generated by
  these backends could not have their TTL renewed beyond the system/mount max
  TTL value [GH-3803]
* auth/aws: Fix error returned if `bound_iam_principal_arn` was given to an
  existing role update [GH-3843]
* core/sealwrap: Speed improvements and bug fixes (Enterprise)
* identity: Delete group alias when an external group is deleted [GH-3773]
* legacymfa/duo: Fix intermittent panic when Duo could not be reached
  [GH-2030]
2018-01-30 16:37:35 +00:00
fhajny
3abc583dc2 Update security/vault to 0.9.1.
DEPRECATIONS/CHANGES:

- AppRole Case Sensitivity: In prior versions of Vault, `list` operations
  against AppRole roles would require preserving case in the role name, even
  though most other operations within AppRole are case-insensitive with
  respect to the role name. This has been fixed; existing roles will behave as
  they have in the past, but new roles will act case-insensitively in these
  cases.
- Token Auth Backend Roles parameter types: For `allowed_policies` and
  `disallowed_policies` in role definitions in the token auth backend, input
  can now be a comma-separated string or an array of strings. Reading a role
  will now return arrays for these parameters.
- Transit key exporting: You can now mark a key in the `transit` backend as
  `exportable` at any time, rather than just at creation time; however, once
  this value is set, it still cannot be unset.
- PKI Secret Backend Roles parameter types: For `allowed_domains` and
  `key_usage` in role definitions in the PKI secret backend, input
  can now be a comma-separated string or an array of strings. Reading a role
  will now return arrays for these parameters.
- SSH Dynamic Keys Method Defaults to 2048-bit Keys: When using the dynamic
  key method in the SSH backend, the default is now to use 2048-bit keys if no
  specific key bit size is specified.
- Consul Secret Backend lease handling: The `consul` secret backend can now
  accept both strings and integer numbers of seconds for its lease value. The
  value returned on a role read will be an integer number of seconds instead
  of a human-friendly string.
- Unprintable characters not allowed in API paths: Unprintable characters are
  no longer allowed in names in the API (paths and path parameters), with an
  extra restriction on whitespace characters. Allowed characters are those
  that are considered printable by Unicode plus spaces.

FEATURES:

- Transit Backup/Restore: The `transit` backend now supports a backup
  operation that can export a given key, including all key versions and
  configuration, as well as a restore operation allowing import into another
  Vault.
- gRPC Database Plugins: Database plugins now use gRPC for transport,
  allowing them to be written in other languages.
- Nomad Secret Backend: Nomad ACL tokens can now be generated and revoked
  using Vault.
- TLS Cert Auth Backend Improvements: The `cert` auth backend can now
  match against custom certificate extensions via exact or glob matching, and
  additionally supports max_ttl and periodic token toggles.

IMPROVEMENTS:

- auth/cert: Support custom certificate constraints
- auth/cert: Support setting `max_ttl` and `period`
- audit/file: Setting a file mode of `0000` will now disable Vault from
  automatically `chmod`ing the log file
- auth/github: The legacy MFA system can now be used with the GitHub auth
  backend
- auth/okta: The legacy MFA system can now be used with the Okta auth backend
- auth/token: `allowed_policies` and `disallowed_policies` can now be specified
  as a comma-separated string or an array of strings
- command/server: The log level can now be specified with `VAULT_LOG_LEVEL`
- core: Period values from auth backends will now be checked and applied to the
  TTL value directly by core on login and renewal requests
- database/mongodb: Add optional `write_concern` parameter, which can be set
  during database configuration. This establishes a session-wide write
  concern for the lifecycle of the mount
- http: Request path containing non-printable characters will return 400 - Bad
  Request
- mfa/okta: Filter a given email address as a login filter, allowing operation
  when login email and account email are different
- plugins: Make Vault more resilient when unsealing when plugins are
  unavailable
- secret/pki: `allowed_domains` and `key_usage` can now be specified
  as a comma-separated string or an array of strings
- secret/ssh: Allow 4096-bit keys to be used in dynamic key method
- secret/consul: The Consul secret backend now uses the value of `lease` set
  on the role, if set, when renewing a secret.
- storage/mysql: Don't attempt database creation if it exists, which can help
  under certain permissions constraints

BUG FIXES:

- api/status (enterprise): Fix status reporting when using an auto seal
- auth/approle: Fix case-sensitive/insensitive comparison issue
- auth/cert: Return `allowed_names` on role read
- auth/ldap: Fix incorrect control information being sent
- core: Fix seal status reporting when using an autoseal
- core: Add creation path to wrap info for a control group token
- core: Fix potential panic that could occur using plugins when a node
  transitioned from active to standby
- core: Fix memory ballooning when a connection would connect to the cluster
  port and then go away -- redux!
- core: Replace recursive token revocation logic with depth-first logic, which
  can avoid hitting stack depth limits in extreme cases
- core: When doing a read on configured audited-headers, properly handle case
  insensitivity
- core/pkcs11 (enterprise): Fix panic when PKCS#11 library is not readable
- database/mysql: Allow the creation statement to use commands that are not yet
  supported by the prepare statement protocol
- plugin/auth-gcp: Fix IAM roles when using `allow_gce_inference`
2018-01-02 09:35:44 +00:00
fhajny
ec8c91d026 Update security/vault to 0.9.0.
DEPRECATIONS/CHANGES:

- API HTTP client behavior: When calling `NewClient` the API no longer
  modifies the provided client/transport.
- AWS EC2 client nonce behavior: The client nonce generated by the
  backend that gets returned along with the authentication response
  will be audited in plaintext.
- AWS Auth role options: The API will now error when trying to create
  or update a role with the mutually-exclusive options
  `disallow_reauthentication` and `allow_instance_migration`.
- SSH CA role read changes: When reading back a role from the `ssh`
  backend, the TTL/max TTL values will now be an integer number of
  seconds rather than a string. This better matches the API elsewhere
  in Vault.
- SSH role list changes: When listing roles from the `ssh` backend via
  the API, the response data will additionally return a `key_info` map
  that will contain a map of each key with a corresponding object
  containing the `key_type`.
- More granularity in audit logs: Audit request and response entires
  are still in RFC3339 format but now have a granularity of
  nanoseconds.
- High availability related values have been moved out of the
  `storage` and `ha_storage` stanzas, and into the top-level
  configuration. `redirect_addr` has been renamed to `api_addr`.
- A new `seal` stanza has been added to the configuration file, which
  is optional and enables configuration of the seal type to use for
  additional data protection, such as using HSM or Cloud KMS solutions
  to encrypt and decrypt data.

FEATURES:

- RSA Support for Transit Backend: Transit backend can now generate
  RSA keys which can be used for encryption and signing.
- Identity System: Now in open source and with significant
  enhancements, Identity is an integrated system for understanding
  users across tokens and enabling easier management of users directly
  and via groups.
- External Groups in Identity: Vault can now automatically assign
  users and systems to groups in Identity based on their membership in
  external groups.
- Seal Wrap / FIPS 140-2 Compatibility (Enterprise): Vault can now
  take advantage of FIPS 140-2-certified HSMs to ensure that Critical
  Security Parameters are protected in a compliant fashion.
- Control Groups (Enterprise): Require multiple members of an Identity
  group to authorize a requested action before it is allowed to run.
- Cloud Auto-Unseal (Enterprise): Automatically unseal Vault using AWS
  KMS and GCP CKMS.
- Sentinel Integration (Enterprise): Take advantage of HashiCorp
  Sentinel to create extremely flexible access control policies - even
  on unauthenticated endpoints.
- Barrier Rekey Support for Auto-Unseal (Enterprise): When using
  auto-unsealing functionality, the `rekey` operation is now
  supported; it uses recovery keys to authorize the master key rekey.
- Operation Token for Disaster Recovery Actions (Enterprise): When
  using Disaster Recovery replication, a token can be created that can
  be used to authorize actions such as promotion and updating primary
  information, rather than using recovery keys.
- Trigger Auto-Unseal with Recovery Keys (Enterprise): When using
  auto-unsealing, a request to unseal Vault can be triggered by a
  threshold of recovery keys, rather than requiring the Vault process to
  be restarted.
- UI Redesign (Enterprise): All new experience for the Vault
  Enterprise UI. The look and feel has been completely redesigned to
  give users a better experience and make managing secrets fast and
  easy.
- UI: SSH Secret Backend (Enterprise): Configure an SSH secret
  backend, create and browse roles. And use them to sign keys or
  generate one time passwords.
- UI: AWS Secret Backend (Enterprise): You can now configure the AWS
  backend via the Vault Enterprise UI. In addition you can create
  roles, browse the roles and Generate IAM Credentials from them
  in the UI.

IMPROVEMENTS:

- api: Add ability to set custom headers on each call
- command/server: Add config option to disable requesting client
  certificates
- core: Disallow mounting underneath an existing path, not just over
- physical/file: Use `700` as permissions when creating directories.
  The files themselves were `600` and are all encrypted, but this
  doesn't hurt.
- secret/aws: Add ability to use custom IAM/STS endpoints
- secret/cassandra: Work around Cassandra ignoring consistency levels
  for a user listing query
- secret/pki: Private keys can now be marshalled as PKCS#8
- secret/pki: Allow entering URLs for `pki` as both comma-separated
  strings and JSON arrays
- secret/ssh: Role TTL/max TTL can now be specified as either a string
  or an integer
- secret/transit: Sign and verify operations now support a `none` hash
  algorithm to allow signing/verifying pre-hashed data
- secret/database: Add the ability to glob allowed roles in the
  Database Backend
- ui (enterprise): Support for RSA keys in the transit backend
- ui (enterprise): Support for DR Operation Token generation,
  promoting, and updating primary on DR Secondary clusters

BUG FIXES:

- api: Fix panic when setting a custom HTTP client but with a nil
  transport
- api: Fix authing to the `cert` backend when the CA for the client
  cert is not known to the server's listener
- auth/approle: Create role ID index during read if a role is missing
  one
- auth/aws: Don't allow mutually exclusive options
- auth/radius: Fix logging in in some situations
- core: Fix memleak when a connection would connect to the cluster
  port and then go away
- core: Fix panic if a single-use token is used to step-down or seal
- core: Set rather than add headers to prevent some duplicated headers
  in responses when requests were forwarded to the active node
- physical/etcd3: Fix some listing issues due to how etcd3 does prefix
  matching
- physical/etcd3: Fix case where standbys can lose their etcd client
  lease
- physical/file: Fix listing when underscores are the first component
  of a path
- plugins: Allow response errors to be returned from backend plugins
- secret/transit: Fix panic if the length of the input ciphertext was
  less than the expected nonce length
- ui (enterprise): Reinstate support for generic secret backends -
  this was erroneously removed in a previous release
2017-11-16 11:31:12 +00:00
fhajny
19d11314c4 Update security/vault to 0.8.3.
CHANGES:

- Policy input/output standardization: For all built-in authentication
  backends, policies can now be specified as a comma-delimited string or an
  array if using JSON as API input; on read, policies will be returned as an
  array; and the `default` policy will not be forcefully added to policies
  saved in configurations. Please note that the `default` policy will continue
  to be added to generated tokens, however, rather than backends adding
  `default` to the given set of input policies (in some cases, and not in
  others), the stored set will reflect the user-specified set.
- `sign-self-issued` modifies Issuer in generated certificates: In 0.8.2 the
  endpoint would not modify the Issuer in the generated certificate, leaving
  the output self-issued. Although theoretically valid, in practice crypto
  stacks were unhappy validating paths containing such certs. As a result,
  `sign-self-issued` now encodes the signing CA's Subject DN into the Issuer
  DN of the generated certificate.
- `sys/raw` requires enabling: While the `sys/raw` endpoint can be extremely
  useful in break-glass or support scenarios, it is also extremely dangerous.
  As of now, a configuration file option `raw_storage_endpoint` must be set in
  order to enable this API endpoint. Once set, the available functionality has
  been enhanced slightly; it now supports listing and decrypting most of
  Vault's core data structures, except for the encryption keyring itself.
- `generic` is now `kv`: To better reflect its actual use, the `generic`
  backend is now `kv`. Using `generic` will still work for backwards
  compatibility.

FEATURES:

- GCE Support for GCP Auth: GCE instances can now authenticate to Vault
  using machine credentials.
- Support for Kubernetes Service Account Auth: Kubernetes Service Accounts
  can now authenticate to vault using JWT tokens.

IMPROVEMENTS:

- configuration: Provide a config option to store Vault server's process ID
  (PID) in a file
- mfa (Enterprise): Add the ability to use identity metadata in username
  format
- mfa/okta (Enterprise): Add support for configuring base_url for API calls
- secret/pki: `sign-intermediate` will now allow specifying a `ttl` value
  longer than the signing CA certificate's NotAfter value.
- sys/raw: Raw storage access is now disabled by default

BUG FIXES:

- auth/okta: Fix regression that removed the ability to set base_url
- core: Fix panic while loading leases at startup on ARM processors
- secret/pki: Fix `sign-self-issued` encoding the wrong subject public key
2017-09-26 07:41:14 +00:00
fhajny
cb73ef5c2a ## 0.8.2 (September 5th, 2017)
SECURITY:

- In prior versions of Vault, if authenticating via AWS IAM and
  requesting a periodic token, the period was not properly respected.
  This could lead to tokens expiring unexpectedly, or a token lifetime
  being longer than expected. Upon token renewal with Vault 0.8.2 the
  period will be properly enforced.

DEPRECATIONS/CHANGES:

- `vault ssh` users should supply `-mode` and `-role` to reduce the
  number of API calls. A future version of Vault will mark these
  optional values are required. Failure to supply `-mode` or `-role`
  will result in a warning.
- Vault plugins will first briefly run a restricted version of the
  plugin to fetch metadata, and then lazy-load the plugin on first
  request to prevent crash/deadlock of Vault during the unseal process.
  Plugins will need to be built with the latest changes in order for them
  to run properly.

FEATURES:

- Lazy Lease Loading: On startup, Vault will now load leases from
  storage in a lazy fashion (token checks and revocation/renewal
  requests still force an immediate load). For larger installations this
  can significantly reduce downtime when switching active nodes or
  bringing Vault up from cold start.
- SSH CA Login with `vault ssh`: `vault ssh` now supports the SSH CA
  backend for authenticating to machines. It also supports remote host
  key verification through the SSH CA backend, if enabled.
- Signing of Self-Issued Certs in PKI: The `pki` backend now supports
  signing self-issued CA certs. This is useful when switching root CAs.

IMPROVEMENTS:

- audit/file: Allow specifying `stdout` as the `file_path` to log to
  standard output
- auth/aws: Allow wildcards in `bound_iam_principal_id`
- auth/okta: Compare groups case-insensitively since Okta is only
  case-preserving
- auth/okta: Standarize Okta configuration APIs across backends
- cli: Add subcommand autocompletion that can be enabled with `vault
  -autocomplete-install`
- cli: Add ability to handle wrapped responses when using `vault auth`.
  What is output depends on the other given flags; see the help output
  for that command for more information.
- core: TLS cipher suites used for cluster behavior can now be set via
  `cluster_cipher_suites` in configuration
- core: The `plugin_name` can now either be specified directly as part
  of the parameter or within the `config` object when mounting a secret
  or auth backend via `sys/mounts/:path` or `sys/auth/:path` respectively
- core: It is now possible to update the `description` of a mount when
  mount-tuning, although this must be done through the HTTP layer
- secret/databases/mongo: If an EOF is encountered, attempt reconnecting
  and retrying the operation
- secret/pki: TTLs can now be specified as a string or an integer number
  of seconds
- secret/pki: Self-issued certs can now be signed via
  `pki/root/sign-self-issued`
- storage/gcp: Use application default credentials if they exist

BUG FIXES:

- auth/aws: Properly use role-set period values for IAM-derived token
  renewals
- auth/okta: Fix updating organization/ttl/max_ttl after initial setting
- core: Fix PROXY when underlying connection is TLS
- core: Policy-related commands would sometimes fail to act
  case-insensitively
- storage/consul: Fix parsing TLS configuration when using a bare IPv6
  address
- plugins: Lazy-load plugins to prevent crash/deadlock during unseal
  process.
- plugins: Skip mounting plugin-based secret and credential mounts when
  setting up mounts if the plugin is no longer present in the catalog.
2017-09-06 11:44:07 +00:00
wiz
1fc957a0ce Follow some redirects. 2017-09-06 09:02:59 +00:00
fhajny
dd9bb7801d Update security/vault to 0.8.1.
DEPRECATIONS/CHANGES:

- PKI Root Generation: Calling `pki/root/generate` when a CA cert/key already
  exists will now return a `204` instead of overwriting an existing root. If
  you want to recreate the root, first run a delete operation on `pki/root`
  (requires `sudo` capability), then generate it again.

FEATURES:

- Oracle Secret Backend: There is now an external plugin to support leased
  credentials for Oracle databases (distributed separately).
- GCP IAM Auth Backend: There is now an authentication backend that allows
  using GCP IAM credentials to retrieve Vault tokens. This is available as
  both a plugin and built-in to Vault.
- PingID Push Support for Path-Baased MFA (Enterprise): PingID Push can
  now be used for MFA with the new path-based MFA introduced in Vault
  Enterprise 0.8.
- Permitted DNS Domains Support in PKI: The `pki` backend now supports
  specifying permitted DNS domains for CA certificates, allowing you to
  narrowly scope the set of domains for which a CA can issue or sign child
  certificates.
- Plugin Backend Reload Endpoint: Plugin backends can now be triggered to
  reload using the `sys/plugins/reload/backend` endpoint and providing either
  the plugin name or the mounts to reload.
- Self-Reloading Plugins: The plugin system will now attempt to reload a
  crashed or stopped plugin, once per request.

IMPROVEMENTS:

- auth/approle: Allow array input for policies in addition to comma-delimited
  strings
- auth/aws: Allow using root credentials for IAM authentication
- plugins: Send logs through Vault's logger rather than stdout
- secret/pki: Add `pki/root` delete operation
- secret/pki: Don't overwrite an existing root cert/key when calling generate

BUG FIXES:

- aws: Don't prefer a nil HTTP client over an existing one
- core: If there is an error when checking for create/update existence, return
  500 instead of 400
- secret/database: Avoid creating usernames that are too long for legacy MySQL
2017-08-17 07:58:53 +00:00