Repository navigation
3ngram 1.8.7
3ngram v1.8.7
Patch: the database and HTTP runtime pins move to their newest releases past
the 7-day cooldown, and every request body that body-parser rejects now gets
its client error instead of a 500.
Changes
-
Rejected request bodies are client errors (#312, resolves #301).
express.json()runs before any route, and only a malformed JSON body was
mapped to 400invalid_request; an oversized body or an unsupported
content encoding fell through to 500internal_errorand an unhandled-error
log line. A body over the 100 KB default limit now returns 413
payload_too_large, an unsupportedContent-Encodingor charset returns
415unsupported_media_type, and a corrupt or truncated compressed body
returns 400invalid_request. Each is logged at warn with the status and
body-parser type only, never the body./mcp,/api/v1and the
form-encoded OAuth endpoints share the handler. -
drizzle-orm 0.45.4, pg 8.23.1, hono 4.13.13 (#303).
drizzle-orm
0.45.3 adds a Netlify DB driver entry point and 0.45.4 fixes explicit
.prepare(name)on thepostgres-jsdriver; thenode-postgresdriver
this engine uses is unchanged.pg8.22/8.23 add opt-in direct SSL
negotiation and query pipelining (both off unless configured), rewrite the
Bind serializer, warn on an invalidDateparameter, and surface a socket
reset on a pooled client asECONNRESETinstead of a later "Connection
terminated unexpectedly".withTenant()'sset_config(..., true)path,
pg-pool3.14.0 and thessldefault are unchanged.hono4.13.12/13
are fixes in modules the engine does not import; the pin governs the copy
@modelcontextprotocol/nodepulls in. -
express 5.3.0 (#311).
res.send()no longer addsContent-Length
whenTransfer-Encodingis already set,req.freshrevalidates QUERY
requests, HTML redirect bodies gain a doctype and title, and
content-typemoves to 2.0 (faster parser;res.send()keeps existing
Content-Typeparameters when it appends the charset and no longer throws
on an unparsableContent-Type) withtype-is2.1 and
content-disposition2.0.1. No route or error-handling behaviour changes. -
CI: the unused Turbo remote cache wiring is gone and the cache is
disabled explicitly (#308). No published output changes.
Compatibility
- Runtime pin lockstep. Consumers that pin
drizzle-orm,pg,honoor
expressexactly next to@3ngram/dbor@3ngram/servermust move to
0.45.4, 8.23.1, 4.13.13 and 5.3.0 together.@3ngram/dbpins drizzle-orm
and pg exactly, and a second drizzle-orm copy fails to typecheck against
the engine's table types;@3ngram/serverpins express exactly, and a
consumer that mounts its own routers into the engine app must share that
one copy. - New error codes. Clients that switch on the JSON
errorfield may see
payload_too_large(413) andunsupported_media_type(415) where they
previously receivedinternal_error(500).
Operations
No migration and no configuration change.
Immutable container reference
ghcr.io/b3dmar/3ngram@sha256:051b47f94fb8c5dd670b3c209e75e6ef71b4a96c62d99427a675f0a537986792