New Ory Agent Security is now live! Claim your complimentary test drive. Get Started!

Skip to main content

v26.4.2

v26.4.2​

External IDs can now be up to 256 characters​

An identity's external_id was limited to 64 characters by the database column. Creating or updating an identity with a longer value failed. The limit is now 256 characters, and a longer value is rejected with a 400 Bad Request.

Nothing else about external IDs changes. They stay optional, and they still have to be unique per network.

The release adds three migrations to the identities table, which run in order:

  1. On CockroachDB, a non-unique index on (external_id, nid). It keeps writes that set an external ID fast while the next index is built. Other databases skip this step.
  2. A unique index on (external_id, nid), which replaces the previous partial index. On large tables this build takes a while; it runs online on CockroachDB, CONCURRENTLY on PostgreSQL, and in place on MySQL.
  3. The previous partial unique index is dropped, and the column is widened to 256 characters. A later migration drops the CockroachDB index from step 1.

Rolling the widening back leaves the column at 256 characters. An earlier version of Kratos runs unchanged against the wider column, and narrowing it back would fail once any identity stores a longer value.

Finer latency histogram buckets​

The request latency histograms http_requests_duration_seconds and http_response_time_seconds (ory_oathkeeper_requests_duration_seconds and ory_oathkeeper_response_time_seconds in Ory Oathkeeper) now use boundaries chosen for request latency: 10 ms, 25 ms, 50 ms, 100 ms, then every 100 ms to 500 ms, 750 ms, 1 s, 1.5 s, 2 s, 3 s, 5 s, 10 s and 20 s.

Percentiles computed with histogram_quantile over a window that spans the upgrade mix both layouts and read wrong until the window has moved past it. Update dashboards and alerts that match on specific le values to the new boundaries.