Repository navigation
Formbase 0.12.0
Pairs with MorphDB 0.12.x, unchanged. A durable schema now records the namespace it holds and
refuses a host serving another name, an idempotency key belongs to one request, and a refused
configuration ends the process with exit code 78. Two changes are visible to existing deployments:
hosts that shared one schema under different namespaces no longer both start (see Upgrading under
the namespace section of the API reference), and a document naming a property twice is refused.
Added
GET /settingsreportsstorage— the PostgreSQL schema and MorphDB project a durable host keeps
its data in (nullin-process). Two hosts reporting the same storage serve the same data, whatever
namespace each answers to; the API reference and README now say that several namespaces sharing one
PostgreSQL and one MorphDB need a schema and a project each.
Changed
-
A host that refuses its configuration — an unknown store profile, a durable profile missing a
setting, half a model configuration, a schema holding another namespace — exits with code78
(EX_CONFIG) and says why once. It used to end on an unhandled exception: the runtime's crash exit
code, and the message repeated under a stack trace. -
A document whose JSON names a property twice in one object is refused with
400
/problems/invalid-request(andDocumentBody.From/Parsethrow). It used to be accepted, and
the durable store kept only the last value while the in-process store kept both, so the body read
back depended on the store. -
A durable host's PostgreSQL schema records the namespace that first used it, and a host
configured with another namespace over that schema refuses to start. Two names over one schema
used to both start and serve each other's documents. A schema in use before this records the
first namespace to start over it, so a deployment with one namespace per schema sees no change.
A host whose database could not be reached at startup makes the check before its first request
and answers503/problems/namespace-unverifieduntil it passes; the readiness probe reports
it too. The MorphDB project is not checked: namespaces sharing one replace each other's projected
tables of the same name.If two namespaces already share one schema, decide which of them keeps it before upgrading, and
start that host first and alone: whichever starts first claims the schema, so hosts started
together are decided by which one got there first. Give every other namespace its own
Formbase:Schema(and MorphDB project). The documents those hosts wrote while sharing stay in the
claimed schema, under the namespace that claimed it — the raw stream does not record which host
wrote a document, so Formbase cannot separate them.
Fixed
- An
Idempotency-Keysent again with a different request — another form type, or the same form
type with a different body — is refused with422/problems/idempotency-key-reused. It used to
answer201while storing nothing: the key's document stayed as it was and the new body was
dropped. A retry of the accepted request still returns the same document; bodies are compared as
JSON values, so property order and whitespace do not matter.