Skip to content
AbloAblo
Esc
navigateopen⌘Jpreview
On this page

v0.48.0

A branch is unbound until you connect a database to it

A branch keeps its own storage, and it does not quietly get Ablo’s. Until a database is connected to that branch, a request needing one fails with no_data_source_registered and says what to do:

This branch is not connected to your database yet.
Run `ablo connect` for this branch, then retry.

The old test_database_not_registered is gone. It described a sandbox that no longer exists, it arrived on requests that had nothing to do with a test database, and its advice pointed at options the SDK had already removed. A branch created by ablo dev now reports its state plainly rather than looking ready and then refusing the first schema push.

Action required. Replace any handler matching test_database_not_registered with no_data_source_registered. The new code carries the same 4xx meaning and a recovery path a caller can act on.

Failures say which branch they happened on

An unconnected branch previously returned its refusal with nothing written server-side, so a support question about one customer’s branch could not be answered from logs at all. These now carry the request, organization, project, branch, key kind and storage state, indexed in Sentry, so a failure can be looked up by branch instead of reconstructed from database tables.

Replication uses your branch’s own publication and slot

Registration, validation, writer checks, replication, drift detection and ablo connect all require the branch-scoped names recorded when the source was registered. Nothing falls back to a shared ablo_publication or ablo_slot any more, so two branches on one database can never quietly share a stream. ablo connect scan reports legacy unsuffixed objects as retired.

Once your engine is on this release and ablo connect check is clean, the temporary alias can go:

DROP PUBLICATION IF EXISTS "ablo_publication";

ablo dev --local connects a branch to the database on your machine

The rule above raises a fair question: if a branch is unbound until a database is connected, what connects one during development? --local does.

npx ablo dev --local

It registers a connector-only endpoint for that exact branch and opens a long-lived secure connector. Your database stays where it is: Ablo receives an endpoint descriptor and a signing key, never a connection string, and reaches your source back through the connector rather than dialling it. DATABASE_URL is read from .env.local into the handler running on your machine and goes no further.

The branch is then connected like any other, so schema pushes, reads and writes behave the way they will in production. Because the connector is long-lived, --local cannot be combined with --no-watch.

Renamed

FootprintPlane is now DataSourceIdentity, with the same three fields. The old name described an internal layout; the new one describes what it identifies.

Was this page helpful?