# Versions and changelog

Last updated 10 September 2026
Source: https://plas.redia.dk/en/changelog/

What is running now, and what changed along the way. The versions are read from PLAS Status, the only version authority; the changes are the source's own words alongside the measured difference between the specifications.

## Versions

| API | Role | In production | In specification | Reference |
| --- | --- | --- | --- | --- |
| Provider API | Entry point | v0.6.5 | v0.6.6 | [Provider API v0.6.5](https://plas.redia.dk/en/provider/v0.6.5/) |
| Search API | Profile of Provider API — 8 of 54 operations | v0.6.5 | — | [Search API v0.6.5](https://plas.redia.dk/en/search/v0.6.5/) |
| Content API | Profile of Provider API — 4 of 54 operations | v0.6.5 | — | [Content API v0.6.5](https://plas.redia.dk/en/content/v0.6.5/) |
| Vendor Consumer API | Entry point | v0.6.5 | — | [Vendor API v0.6.5](https://plas.redia.dk/en/vendor/v0.6.5/) |

## How to read the table

- **In production** is the version providers implement and clients can rely on today. It is also the version the reference on this site is generated from.
- **In specification** is the version the PLAS team is working on. It is not released, and fields may change until it is.
- **Reference** points to the generated documentation of the production version.

If `PLAS Status` changes in Confluence, the copy in the repository is renewed as a deliberate act, and the table follows.

**One version number, four APIs.** The four APIs are released on the same number, and that is measured rather than assumed: Search and Content went from 0.6.4 to 0.6.5 without a single structural change — only the version number is new — while Vendor skipped 0.6.4 and went straight from 0.6.3 to 0.6.5, where its one new operation is exactly the one `PLAS Status` notes under v0.6.5.

## Older versions

Only the production version has generated pages. Older releases are still running at providers but have no reference here yet — their identifiers therefore appear without links. A reference URL, once published, keeps working, so older versions are added when the need is settled; they are not removed again.

## How to read a version

- **According to PLAS Status** is the source's text. Where the source itself writes "(Added) Patron API", it appears as markers in front of the line.
- **Changes to the specification** appear as one block per API. "Moved" means an operation changed method or path with the same `operationId`; if it got a new `operationId`, it appears as removed and added — that is what the specification says.
- **Zero changes is a result too.** A block saying nothing changed says the API got a new version number and otherwise stood still.
- Versions without a specification in the copy show only the source's text, and say so.

The filter above the list shows one API at a time. Without JavaScript, all four are shown.

## Changes per version

### v0.6.6 — In specification

#### According to PLAS Status

No changelog text in PLAS Status for this version.

No specification in the copy for this version — only the PLAS Status text.

### v0.6.5 — In production

#### According to PLAS Status

> updated · Patron API · Replace GET /patron/authentication/identity-provider with POST /patron/authentication/identity-provider, and changed the return object
>
> added · Patron API · Added GET /patron/authentication/authenticate-token
>
> added · Vendor API · Added GET /callbacks/patron/auth

#### Changes in the specification — Provider API (from v0.6.4)

##### Operations

2 added:

- `POST` `/patron/authentication/authenticate-token` [`AuthenticatePatronByCodeAndCodeVerifier`](https://plas.redia.dk/en/provider/v0.6.5/patron-authentication/#AuthenticatePatronByCodeAndCodeVerifier)
- `POST` `/patron/authentication/identity-provider` [`GetPatronAuthenticationUrlByIdentityProvider`](https://plas.redia.dk/en/provider/v0.6.5/patron-authentication/#GetPatronAuthenticationUrlByIdentityProvider)

1 removed:

- `GET` `/patron/authentication/identity-provider` `AuthenticatePatronByIdentityProvider`

##### Schemas

2 added: [`ConfigurationPatronIdentityProviderType`](https://plas.redia.dk/en/provider/v0.6.5/schemas/#ConfigurationPatronIdentityProviderType) · [`PatronAuthenticationByCodeAndCodeVerifierResponseBody`](https://plas.redia.dk/en/provider/v0.6.5/schemas/#PatronAuthenticationByCodeAndCodeVerifierResponseBody)

1 changed:

- [`PatronAuthenticationIdentityProviderResponseBody`](https://plas.redia.dk/en/provider/v0.6.5/schemas/#PatronAuthenticationIdentityProviderResponseBody)
  - field url (string (uri)) added
  - field patron removed

#### Changes in the specification — Search API (from v0.6.4)

No structural changes between the two specifications.

#### Changes in the specification — Content API (from v0.6.4)

No structural changes between the two specifications.

#### Changes in the specification — Vendor API (from v0.6.3)

##### Operations

1 added:

- `GET` `/callbacks/patron/auth` [`CallbackPatronAuthentication`](https://plas.redia.dk/en/vendor/v0.6.5/callback/#CallbackPatronAuthentication)

### v0.6.4 — In production

#### According to PLAS Status

> added · Content · Added the Content Events API

#### Changes in the specification — Provider API (from v0.6.3)

##### Operations

3 added:

- `GET` `/configuration/content` `GetContentConfiguration`
- `GET` `/content/event` `GetContentEvents`
- `GET` `/content/event/series/{seriesId}` `GetContentEventsInSeries`

##### Schemas

43 added: `Address` · `AllDayScheduling` · `ConfigurationContentApi` · `ConfigurationContentResponseBody` · `ConfigurationContentWithApi` · `ContactInfo` · `Event` · `EventAdmission` · `EventAudience` · `EventBranch` · `EventCategory` · `EventLocation` · `EventLocationAtBranch` · `EventLocationExternal` · `EventOrganizer` · `EventPriceCategory` · `EventPricing` · `EventPricingPriceCategories` · `EventPricingSimple` · `EventScheduling` · `EventSeries` · `EventState` · `GetContentEventsInSeriesResponseBody` · `GetContentEventsResponseBody` · `ImageAlt` · `ImageCredit` · `ImageFocalPoint` · `ImageFocalPointHotspot` · `ImageOriginal` · `ImageTypeContent` · `OpenAdmission` · `Promoted` · `PromotedType` · `PromotedTypeEnum` · `PromotedTypeLiteral` · `QueryRelevantWorks` · `RegistrationAdmission` · `RelatedEvents` · `RelevantWorks` · `TicketAdmission` · `TicketState` · `TimeSpanScheduling` · `WorksRelevantWorks`

4 changed:

- `ConfigurationResponseBody`
  - field content (ConfigurationContentWithApi) added
- `LocationBranch`
  - field pickup (object) added
- `LocationsResponseBody`
  - field mainBranch is now optional
- `PatronAddress`
  - shape: object → Address
  - field city removed
  - field country removed
  - field postalCode removed
  - field street removed

#### Changes in the specification — Search API

First vendored release — nothing older to compare with.

#### Changes in the specification — Content API

First vendored release — nothing older to compare with.

### v0.6.3 — In production

Note from PLAS Status: Expected release to production: Week 19

#### According to PLAS Status

> Added mainBranch to /locations
>
> Added that it is recommended to use UUIDs as patron IDs
>
> Added suggestions on ways of controlling customers and vendors
>
> Added a security recommendation for patron authentication
>
> Added error code for "Consent has not been given for 'loan history'"
>
> Bugfix in GET /holdings, change explode from true to false, for the two parameters publicationId and showTo
>
> Added a general description of the response structure for endpoints that takes an array of ids
>
> Bugfix ensuring all query parameters are in snake case
>
> Added patron_id to /holdings
>
> Added pickupBranches to /locations, and removed branches[]->pickup->allow
>
> Added GET /patron/{patronId}/configuration containing reservation limits and pickupBranches so that pickup branches can differ between patrons.
>
> Added pickupBranches to /holdings, so that titles and items can overwrite pickup branches settings from /patron/{patronId}/configuration and /locations.
>
> Added "fulfillmentBy" to reservation and removed "isInterlibraryLoan"
>
> Added "acquiredFrom" to loan and removed "isInterlibraryLoan"
>
> Added "acquiredFrom" to checkout and removed "isInterlibraryLoan"
>
> Added "acquiredFrom" to checkin and removed "isInterlibraryLoan"
>
> Added "acquiredFrom" to fee and removed "isInterlibraryLoan"
>
> Added "acquiredFrom" to loan history and removed "isInterlibraryLoan", for both get loan history and add to loan history.

#### Changes in the specification — Provider API

First vendored release — nothing older to compare with.

#### Changes in the specification — Vendor API

First vendored release — nothing older to compare with.

### v0.6.2 — In production

#### According to PLAS Status

> Bug fix in the description of AudienceTypeAgeGroupCode
>
> Added 'verified' to PatronEmail and PatronPhoneNumber
>
> Added 'fields' to ConfigurationPatron, including ConfigurationPatronFieldEmails, ConfigurationPatronFieldPhoneNumbers and ConfigurationPatronFieldPickupLocation
>
> Added errors code for if maxNumberOfEmailAddresses or maxNumberOfPhoneNumbers is exceeded
>
> Bug fix, change section to an array in PickupLocation, CheckOutOrInLocationWithoutNames and PickupLocationWithoutNames
>
> Added default patron list id
>
> Added minimum patron list id length
>
> Replaced PatronListItemWork and PatronListItemPublication with PatronListItemWorkAndPublication

No specification in the copy for this version — only the PLAS Status text.
