HHeros Developers

Changelog

Every change to the published API, newest first. M1 acceptance row 7 asks for this to be published on the portal, and section 3 of the API conventions decides what belongs in it: anything a consumer could notice.

The specifications published at M1 are the contract. Within a major version changes are additive, and section 3.1 is the lookup for what counts as breaking.

Unreleased

Changed

Added

Nothing is removed, and nothing is asked of you. The Droomwork- spellings keep working for the whole of v1. Section 3 of the API conventions makes changes within a major version additive only, and section 18 is explicit that nothing is removed inside one, so an integration that never changes never breaks. Move when it suits you, or not at all.

The specifications still show the Droomwork- spelling in their security schemes, so a client you generated from one is unaffected and goes on working unchanged.

One rule if you move gradually. Send a credential under both spellings with the same value and it is read once, exactly as before. Send the two spellings with different values and the request is refused with invalid_request: a request naming two different credentials has no single answer, and guessing which of them you meant is not a thing to do with a credential. Send one.

Unchanged by this: the prefixes your credentials already carry, the Droomwork-Signature header on a webhook delivery, the Droomwork-Request-Id and Droomwork-Idempotent-Replay headers on a response, and the type URI on a problem document. Change control: additive, section 3.1.

1.0.0, 18 September 2026

The M1 specifications, accepted by Heros on 18 September 2026. From this day they are the contract: what you integrate against keeps working, and a change to any of them is announced here first. The entries below are what changed on the way to acceptance.

Changed

Added

Removed

Changed

A consumer sees two changes. Nothing is skipped, which is the point. And an event can be absent from a page taken immediately after it was created, for as long as some older write is still in flight, where before it would have been there or gone. starting_after still takes an event identifier and is unchanged in shape.

The per stream read is not affected. ?stream=&after={sequence} is exact, its sequence is assigned under a lock and has no gaps, and it remains what section 17.3 tells a consumer replaying to use. See ADR-0019.

Fixed