Changelog

What changed in the SIDES LABS API

The API is a contract. Adding a field, an endpoint or an enum value is something you will find here; removing, renaming or re-typing one is something that needs a new major version and six months of notice. This page is where both are recorded, in the order they were released.

The entries

Released changes, newest first

Rendered from GET /v1/publication/public/changelog-entries. An entry appears here only once SIDES has released it — a pipeline that pushes one creates a draft, and a draft is not a changelog.

What the entry says happened.

An exact match. Every entry names the API it concerns.

An exact match on the release version.

Leave both dates empty for the whole history.

A day, not a time — the API dates a release, not a deploy.

No entries yet

Nothing has been released to the public changelog so far. Every release writes an entry, so this fills up with the first one.

How to read an entry

Six kinds, and only two of them ask anything of you

Every entry carries one of these. They are not severities and they are not ordered — they say what happened, and two of them mean there is a date you should know about.

Added
A new endpoint, field, enum value or header. Nothing you already send or parse changes. A client that ignores unknown fields — which the contract asks every client to do — needs no work at all.
Changed
Behaviour that moved without breaking the contract: a default, a limit, an ordering, an error message. The shape is the same; what comes back may not be.
Deprecated
Still there, still working, and on notice. A deprecation entry carries a sunset date and the API sends the same date in the X-SIDES-Deprecation header on every response from the endpoint it concerns. This is the entry to act on, and you have at least six months.
Removed
Gone, and only ever in a new major version. Nothing is removed from a version that is in force — that is what "the API is a contract" means in practice.
Fixed
The API was not doing what this specification said it did, and now it is. If you worked around the old behaviour, this is the entry that tells you the workaround can go.
Security
A security-relevant change. It is published once it is deployed, never before, and it says what class of problem was closed without handing anybody a recipe for reproducing it.

Questions

Before you ask us

Is everything here, or only what SIDES chose to mention?

Every release writes an entry — that is a rule in the delivery standard, not a habit. What this page does not show is entries whose audience is partner rather than the open internet: those reach a signed-in partner and are never in this feed. The distinction is the entry's, not the reader's, and nothing you can send to this endpoint changes it.

Can I get this without opening a browser?

Yes. The same entries are an Atom 1.0 feed, with the same filters as this page, and every entry id is stable across a withdrawal and a re-release — so a reader that has already shown you an entry will not show it again because SIDES corrected a typo. The feed lives at /changelog.atom here; the same entries are GET /v1/publication/public/changelog-entries on the API as JSON, which needs the storefront scope — any registered client may ask for it and is granted it.

Why does an entry list endpoints?

So you can tell in one line whether a change is yours to care about. An entry names the API it concerns, the version it was released in, and the endpoints it touches, spelled the way this specification spells them — template segments included. A change to an endpoint you do not call is a change you can skip.

My pipeline wants to push its own entries. Can it?

That is what the ingestion API is for: POST /v1/publication/changelog-entries under publication.changelog:write, idempotent on your own reference, so re-running the job does not create a second entry. It creates a draft; releasing it stays a deliberate act. The tier your partnership is on says whether the capability is included.

Build against a contract with advance notice

No breaking change without a new major version and six months of notice, every deprecation dated in the response header as well as on this page, and an ingestion API so your own releases can appear here too.