Version Packages - #8
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
August 27, 2026 09:08
6d7407e to
14004bb
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 27, 2026 09:23
14004bb to
a56387a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
resilix@0.6.0
Minor Changes
283d5d6: New:
resilix/undici— guard undici'sDispatcherand every call site in the process iscovered at once, including ones you do not own.
resilix/fetchcovers the WHATWG API, but Node services reach the network through undici — it iswhat
fetch,undici.requestand most SDK HTTP layers sit on.onResponseStart, never the time to drain the body.RejectedErrorarrives viaonResponseError.404isansweredand a503isoverload.compose()exists on6.x too, so an undici 6 install would get a silently inert interceptor. Verified against real
6.28, 7.29 and 8.10 rather than assumed. Optional peer; core stays at zero dependencies.
timeoutMs,retryandhedgeare not available here:dispatchis callback-driven andreturns synchronously, so the executor cannot wrap it (ADR-013). Compose undici's own
interceptors.retry/headersTimeoutalongside. Every policy works unchanged.Also widens the
Gate.settleVerdicttype to acceptretryAfterMs. The implementation alwaystook it; only the type omitted it, so anyone driving policies by hand had to discard the
upstream's own
Retry-After.resilix/undiciwas the first caller to need it.Patch Changes
f09f4d9: The opossum compatibility suite is now pinned to a commit instead of tracking
main..opossum-compat/is not cached in CI, so every run re-fetched the suite — meaning the README's"362 of 362" was measured against whatever opossum had merged that morning. A required check whose
expected value can change upstream without us is not a check. Bumping the pin is now a deliberate
act, with the new total.
A stalled file also reports its exit status and the tail of its output. It previously printed only
the word
STALLEDwith the child's output discarded, so whentest.jsproduced no TAP summary ona CI runner while passing locally, there was nothing to diagnose from.
9dd5d1a:
release.ymlcan now be triggered manually (workflow_dispatch).The publish fires on a push to
main, and a push gives exactly one chance to run it. During the2026-08-26 GitHub Actions outage no runs were created at all, which means a release commit landing
in that window would have consumed its changesets and left the version on
mainwith nothingpublished — recoverable only by pushing another commit purely to fire the event. Exposing the
dispatch is safe:
changeset publishis a no-op for a version already on the registry.CONTRIBUTING.mdalso now states when the branch-protection bypass is legitimate — a platformoutage or a production incident, with the local checks run first — and that it never extends to
force-push, branch deletion or tag immutability.
f09f4d9:
pnpm test:integrationis runnable again, and says what to do when it is not.The path fix landed separately; this is what running it revealed. The describe-level gate only
checks whether
RESILIX_TEST_DATABASE_URLis set, and the script always sets it with alocalhost default — so without a database the suite failed with a bare
AggregateErrorand twonode:netstack frames. It now names the URL it tried, gives thedocker runline, and points atpnpm testfor skipping.Verified end to end against a real PostgreSQL 14.15: 13 of 13 pass, so
classifySql'smappings hold on 14 as well as the 16 they were captured against. One caveat now documented:
initdb --auth=trustmakes the "bad password" case unfalsifiable, and that test reportsNO THROWuntilpg_hba.confusesscram-sha-256for127.0.0.1.48d89e2: Three test suites had been silently disabled since the
src/reorganisation, and none of themran in CI, so nothing reported it.
test:integrationpointed atsrc/sql-integration.test.ts(nowsrc/scenarios/)test:perfpointed atsrc/limiter.simulation.test.ts(nowsrc/policies/)test:compatgenerated its opossum shim once and cached it, so every harness kept requiringdist/compat/opossum.cjsafter the shim moved todist/adapters/. The whole suite reported0 of 0 STALLED — meaning the README's "362 of 362" claim was unverifiable for days. The
shim is now rewritten on every run, since it is a generated file rather than a cached one.
All three now run in CI, and
pnpm test:pathsfails the build if any path named in apackage.jsonscript does not exist.verifyruns it first, so it fails in a second rather thanafter a full coverage pass.