Release notes
GuildGate 1.1.1
Validation and package boundary
- Kernel execution rejects action objects that were not created through
defineAction()by the installed package instance. - Operator payload parsers reject unknown fields, non-plain objects, and the dangerous keys
__proto__,constructor, andprototype. - The npm tarball excludes source maps, source files, tests, workflows, environment files, checksums, and internal review reports.
- Packed-package verification installs the generated tarball into an empty consumer project, imports all 16 public export paths, and runs all 3 CLI help targets.
- Release metadata, secret-pattern scanning, package contents, coverage, load regression, and the public API map are part of
release:verify.
Publishing
- The publish workflow uses npm Trusted Publishing through GitHub Actions OIDC instead of a repository npm token.
- The verify job creates one tarball; the publish job downloads and publishes that exact artifact.
- Release tag, package version, unpublished-version status, Node.js version, and npm CLI prerequisites are checked before publication.
Compatibility
This is a patch release. Adapter contract 1.1, action contract 1.0, and realtime contract 1.0 remain unchanged. Existing consumers do not need a migration unless they created action-shaped objects manually or sent undocumented operator payload fields.
GuildGate 1.1.0 · July 26, 2026
Transactions and idempotency
- PostgreSQL commit was separated from post-commit callback execution.
- Nested PostgreSQL work gained savepoints and scoped rollback.
- Idempotency records gained reservation ownership and compare-and-set completion.
- Action deadlines began returning at the configured response boundary.
reliability.maximumLateSettlementMsbounded late-settlement observation.
Stores, realtime, and operations
- Official stores began enforcing per-user session caps atomically.
- Audit paging moved to an opaque
(createdAt, id)cursor. - Redis cache retagging and tag cleanup became atomic.
- Discord OAuth refresh gained a distributed single-flight lease.
- WebSocket and Socket.IO began sharing payload, rate, subscription, activity, and backpressure controls.
- Outbox claim leases, batch size, and dispatch concurrency were bounded.
See migration and versioning for the 1.0.0 to 1.1.x adapter changes.
Documentation site 0.4.1
- Dependency overrides pin patched transitive versions of
brace-expansion,fast-uri,serialize-javascript, anduuidwithout changing the Docusaurus public configuration. - Documentation readers normalize UTF-8 BOM, LF, and CRLF input before frontmatter and search-index processing.
- Generated search data is kept on LF line endings across Windows and Linux checkouts.
- Production verification distinguishes live content checks from response headers controlled by the external Pages and js.org layer.
Documentation site 0.4.0
- English is the default locale at
/; Turkish remains available under/tr/. - Former
/en/routes redirect to the matching English route without a redirect chain. - Locale, canonical, alternate-language, search-index, navbar, footer, and 404 checks were added to the build gate.
- Release metadata is maintained in one site module and checked against package and documentation versions.
- The browser verification console gained bounded tokenization, input, line, token, flag, and rate limits.
- Console security checks cover executable APIs, network APIs, browser storage, dangerous object keys, HTML payloads, and secret-like text.
- Light-theme search contrast and IDE-style code block colors remain in place.
- Security-header requirements are documented separately from what GitHub Pages can prove at repository level.
Documentation site 0.3.3
- Turkish and English pages were aligned with the GuildGate
1.1.0public surface. - Documentation was expanded for transaction finality, reservation ownership, hard deadlines, atomic session caps, audit cursors, Redis retagging, OAuth single-flight, Socket.IO parity, and bounded outbox delivery.