Skip to content

build(deps): adopt @antelopejs/interface-database 0.4.0 - #94

Merged
Upd4ting merged 1 commit into
mainfrom
feat/interface-database-0-4
Nov 13, 2026
Merged

Upd4ting merged 1 commit into
mainfrom
feat/interface-database-0-4

Conversation

@Upd4ting

Copy link
Copy Markdown
Member

Why

interface-database 0.4.0 is released. postgres declares >=0.3.3 <0.4.0, so a project on 0.4.0 refuses to start it (ANT-2389). This PR moves the range to >=0.4.0 <0.5.0, runs every query the suites send through .run(), and passes the 0.4.0 conformance suites.

What

  • package.json takes @antelopejs/interface-database >=0.4.0 <0.5.0, and the lockfile resolves 0.4.0. antelopejs-sync regenerated the README compatibility table, and AGENTS.md states the new range.
  • In 0.4.0 a query is no longer a promise, so await query sends nothing. A codemod read each typescript/await-thenable finding's span from oxlint -f json and appended .run() to the awaited query, 161 sites in 10 suites. It asserts that each span follows await and ends in a call or an identifier. Two sites were fixed by hand:
    • indexes.test.ts runs each lookup it passes to Promise.all.
    • duplicate-key.test.ts's expectDuplicate takes the query and runs it itself, so its six callers are unchanged.
  • The longer .run() lines pushed two suites past the 120-line function limit. Their before seeding moved into named functions (SeedTables, SeedRow) that run the same statements.
  • No production code changes. The module never awaited a query, and it does not use cast() identity or a typed Schema.get.
flowchart LR
  test[suite] -->|"before: await query (thenable)"| run1[provider runs it]
  test -->|"after: await query.run()"| run2[provider runs it]
  test -.->|"after: await query alone"| none[nothing sent; await-thenable reports it]
Loading

SAFETY comments added

None.

Proof

Before. origin/main built against interface-database 0.4.0:

error TS... (49 errors, every one in src/test and src/test-external)
oxlint: 162 typescript(await-thenable) findings, all in src/test and src/test-external
range ">=0.3.3 <0.4.0" excludes 0.4.0

After.

pnpm run checks
Checks: 11 passed, 0 failed.

pnpm test   (owned suites with the 0.4.0 conformance suites, then the external-mode suites)
  1634 passing (6s)
  140 passing (5s)

antelopejs-api-diff (below) compares declarations, and they are unchanged. Its runtime half could not build the base, because it builds origin/main with this branch's dependencies, and origin/main's tests do not compile against 0.4.0. The same comparison, run by hand with each side built on its own lockfile:

base:["construct:function","destroy:function"]
head:["construct:function","destroy:function"]
runtime exports identical
published declarations identical

API: 1 packages, 1 entries unchanged against origin/main (committed HEAD).
API: skipped .agents/skills/verify-module, private.
Runtime API: comparison incomplete due to execution errors.
Execution error: .: Command failed: pnpm run build
No behavioural probe ran.

Suppressions in authored code files (origin/main and committed HEAD). A lint directive counts once per rule it names; * is a directive naming none.

Suppressions base HEAD
Lint suppressions, all rules 1 1
Lint suppressions, anti-slop/no-unknown-parameters 1 1
@ts-expect-error 0 0
@ts-ignore 0 0
SAFETY: comments 0 0
Lint config rule-offs, all rules 0 0

@Upd4ting
Upd4ting merged commit 442cb30 into main Nov 13, 2026
10 checks passed
@Upd4ting
Upd4ting deleted the feat/interface-database-0-4 branch November 13, 2026 11:35
Upd4ting added a commit that referenced this pull request Nov 13, 2026
## Why

postgres 0.4.0 is released and implements
`@antelopejs/interface-database` `>=0.4.0 <0.5.0` (#94, ANT-2389). A
project on interface-database 0.3.x cannot start it. AGENTS.md asks that
a release needing action from users get an `### Upgrade notes` section
in `CHANGELOG.md`, above the generated entries. v0.2.2 got its notes the
same way after release (#25).

## What

`CHANGELOG.md` gains an `### Upgrade notes` section under `## v0.4.0`,
between the compare link and the generated entries:

```markdown
### Upgrade notes

- Implements `@antelopejs/interface-database` `>=0.4.0 <0.5.0` ([#94](#94)). A project on interface-database 0.4.0 needs this release. A project still on interface-database 0.3.x keeps postgres 0.3.x, since this release refuses to start with it.
- Nothing changes in the module config or in stored data.
```

No other file changes.

## Proof

`pnpm run checks`: `Checks: 11 passed, 0 failed.`

API: 1 packages, 1 entries unchanged against origin/main (committed
HEAD).
API: skipped .agents/skills/verify-module, private.
Runtime API: 1 packages, 1 entries unchanged against origin/main
(committed HEAD).
No behavioural probe ran.

Suppressions in authored code files (origin/main and committed HEAD). A
lint directive counts once per rule it names; `*` is a directive naming
none.
| Suppressions | base | HEAD |
| --- | ---: | ---: |
| Lint suppressions, all rules | 1 | 1 |
| Lint suppressions, `anti-slop/no-unknown-parameters` | 1 | 1 |
| `@ts-expect-error` | 0 | 0 |
| `@ts-ignore` | 0 | 0 |
| `SAFETY:` comments | 0 | 0 |
| Lint config rule-offs, all rules | 0 | 0 |
<!-- antelopejs-proof base=4ab69f86ca42bd39abdd0cdf8a5ec78757b8c04b
head=a2205af29d72dd2e21f8d3da5c540607d1fe14de lines=13
digest=620908a599707968 command: antelopejs-api-diff origin/main -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant