Releases
0.25.0
Compare
Sorry, something went wrong.
No results found
Features
cli : the changelog publishes an allowlist, not whatever was not denied (6a49fa53)
files : la route d'upload prend les octets en vol (c6f5dbee)
bucket : R2 et S3 televersent un flux, prouve sur workerd (8ce40ed6)
bucket : S3 televerse un flux dont la taille est inconnue (3c1172d8)
server : z.stream() rend les octets au handler, en vol (145d7e97)
command : stdout pour ce que produit une commande, le logger pour ce qu'elle raconte [BREAKING] (2c748fdb)
files : le bucket vise decide le budget de la requete (fc623115)
server : le plafond multipart se decide par requete, et le parseur remplace formData() (aa1405dd)
server : alepha/server/multipart, un parseur qui ne retient rien (aee7b577)
cli : un nouveau projet ne pose plus de question et naît lint-clean (24ce501c)
core : z.custom, l'echappatoire du passthrough type (8586916d)
cli : adapter lore, qui ne rend la main que quand l'app sert (89ed7a74)
security : l'application declare si elle est multi-tenant [BREAKING] (8c58731e)
users : le reset de mot de passe demande un captcha, et l'ancien flux s'en va [BREAKING] (a456d5c1)
logger : per-context log buffer, and breadcrumbs on the errors that need them (27246e84)
server : /health is part of AlephaServer, not an opt-in module [BREAKING] (de473344)
platform : alepha platform auth login|logout (67ef88aa)
cli : wire $room apps into the cloudflare build (f5c6ea4c)
oauth : device authorization grant (RFC 8628) (6c248482)
cli : deploy to Bay with alepha platform up (62a14c8c)
cli : emit dist/manifest.json for every build target (80353bdd)
websocket : configurable maxPayload on the node ws server (3ca9e032)
websocket : authenticate ws upgrades from the session cookie (b89c02e5)
websocket : surface the URL query on room connections and serve ws upgrades in vite dev (348029ad)
orm : filter a query by a relation's columns (f53f7c18)
orm : let a relational read ask for soft-deleted rows (d21733a9)
orm : run $relations on Drizzle's relational query builder (99949f09)
orm : object-shaped writes, full delegation, $repositories (f0a299b0)
orm : complete the $relations feature set (7121765b)
orm : $relations proof of concept with a fully inferred include (de3f3fa8)
cli : wire D1 baseline-mark reset into alepha platform db baseline mark (46d6127a)
cli : add d1MigrationsBaseline for the wrangler bookkeeping path (d514a1ef)
orm,cli : add 'alepha db baseline mark' (247d994d)
cli : add 'alepha db baseline create' (d89b3419)
orm : upgrade drizzle-orm and drizzle-kit to 1.0.0-rc.4 (e4617c46)
server : answer 403 for actions pruned by permissions (e5a35ea1)
devtools : match the v3 design across every screen (43c712ae)
files,bucket : replace $bucket with $storage; one bucket, prefixed containers [BREAKING] (b32fa197)
devtools : v1 — dark instrument panel, JSON Schema metadata, jobs [BREAKING] (04bd5596)
queue,scheduler : delete $queue, $consumer and $scheduler; $job is the only background primitive [BREAKING] (1107f0c4)
cli : one project shape for alepha init, PM detected from invoker [BREAKING] (9b9a23a0)
users,email,cli : close registration enumeration, CF email REST, devtools by default (f36f01f7)
orm,security,react : portable SQL, $owns, keyed query cache (cca4ef7f)
api/parameters : document a parameter, and let apps own a field (179d9cbd)
api/parameters : resolve the version in force at a given instant (6f6450cc)
websocket : add $room and RoomEngine for stateful WebSocket rooms (6c7ec940)
payments-stripe : embedded Connect onboarding support (3dfcc4e1)
websocket : Cloudflare alarm() watchdog — recover a ticking room after isolate reset (639c6bef)
websocket : host the RoomEngine inside the Cloudflare Durable Object (3fd6aa32)
websocket : $room primitive + Node hosting (tick rooms + headless coordinators) (895fa085)
websocket : runtime-neutral RoomEngine (state + tick loop + per-recipient send + lifecycle) (5aeadae6)
websocket : revive module + Cloudflare Durable Object provider (222fd03e)
cli : export AlephaWebSocketDurableObject through the workerd server bundle (9d6985ef)
cli : worker entry routes ws upgrades to room DO + exports DO class (851bf2f8)
cli : emit Durable Object binding + migration for websocket apps (81f496b4)
websocket : Cloudflare Durable Object provider + workerd module (f7ca171b)
websocket : AlephaWebSocketDurableObject (hibernatable room object) (52bb4c37)
websocket : finish handshake auth + multi-room dev warning (node) (426f8a58)
websocket : shared handshake auth resolver + getEndpoint contract (20eec9ee)
Bug Fixes
orm,core : give each transaction its own context, not one shared slot (c6274f5b)
security : revert the hook reorder — resolvers need the cookies [BREAKING] (29c26068)
security : resolve who is calling before the body is read (4d2f64fc)
bucket : a refusal keeps its status, and both providers give the same one (43ea7ba9)
api/files : a suffix is not an identity, and a default nobody honoured (05dbad3d)
server : the message budget bounds reading, and the walk gets closed (3fc89782)
server : the sender does not get to pick which field its part lands in (465a409c)
server : one reading of "is this multipart", not two [BREAKING] (5c7ef03f)
server : un champ fichier optionnel reste du multipart (cfb68951)
server : une route qui streame est multipart, elle aussi (3e34c07a)
react : la langue résolue par le serveur arrive enfin au client (ebedbacb)
core : une contrainte d'ordre de hook qui ne fait rien vaut moins que pas de contrainte (5890952b)
react : un $page peut répondre 404, $secure prévient, et @alepha/ui parle français (00cbf437)
cli : le CLI est teste tel que npm le livre, et huit bugs tombent avec [BREAKING] (7cd8924e)
cli : --hints carries a JSON document, not a 255-char label (358f07a2)
orm,security,server : ten defects, each reproduced before it was fixed (7b709588)
cli : npm needs npx, not npm run (1e4234ff)
cli : the Bay adapter assumed yarn (116d40c2)
cli : three fixes that were living only in a vendored copy (623d5ec4)
server : only warn about /metrics when it is actually reachable (5f414a56)
websocket : expose the upgrade query on cloudflare room connections (81a810fb)
oauth : close the three P0s in the authorization server (5df5fd9e)
core : resolve substituted services when injecting by name (6d2c9348)
websocket : keep the ws Node provider out of the workerd entry graph (53ae02d2)
cli : stub import.meta.url in workerd server chunks so module-scope asset URLs survive validation (8284179a)
cli : neutralize createRequire(import.meta.url) banners in workerd server chunks (f3ce3583)
platform : keep the refresh token, or a Bay login dies in 15 minutes (7d3b757d)
cli : honor the app vite config's publicDir in client builds (f701fd29)
cli : refuse to pack a database app with no migrations (9e121045)
react : survive a Redirection thrown by the very first render's loader (ead9fbb8)
bucket,email : let the host place blobs and scratch data outside the bundle (c638828d)
orm : let a generated column stay optional on a raw insert (7225a52e)
orm : make nested create atomic, and classify relational read errors (82a1cbe1)
orm : make SchemaToTableConfig carry column value types (fd8e03b4)
orm : match driver errors through drizzle rc.4's cause chain (53de81a6)
orm : give downstream un-baselined projects an actionable migrate error (05a88691)
cli : archive drizzle-kit v1 migration folders, not just flat .sql (ad92ef49)
cli : close the D1 anti-silence guard hole and drop dead configPath (10f9daa6)
cli : close the v1-layout blind spot in the DROP TABLE guard + strip (549486a7)
cli : teach D1 migration discovery drizzle-kit v1's folder layout (5ddd60ed)
cli : archive into a real directory, and check drizzle-kit v1 migrations (27de99de)
cli,orm : stop the D1 baseline-mark Postgres guard reading process.env (dbc69cf5)
orm : reset NodeSqliteProvider's connection state in close() (052e4428)
orm,cli : connect providers before baseline mark; correct D1 error text (481516ba)
orm : convert pre-rc.4 snapshots and guard the sqlite insertDefaultValues gap (5c2befed)
cli : let an explicit R2_BUCKET_NAME declare object storage (bb1ae42c)
cli : apply D1 migrations without wrangler's transaction (ae5484bc)
react,orm,cli : the high-value P3s, plus a dead-code sweep (14beebc6)
orm : stop table rebuilds from cascading child rows away (da276e3b)
server,orm,cli : quieter 4xx logs, bare-Error warning, contract docs (a710ebc7)
orm : distinct+joins guard, upsert empty SET, FK message direction (a6444133)
websocket : room connections in the registry, tick reentrancy, nits (b287a338)
core : array-of-objects decode corruption, and clear five review findings (30c26569)
devtools : show server-only atom values, and stop the form icons overlapping (d56e512c)
orm,cache : the four Cloudflare-runtime P2s (8c371742)
react/form,core : nested initial values, union arrays, schema docs (2b1b09e5)
orm : audit pass over every closed finding — one was half-applied (69958c89)
react : close every open react P2 (form, router, head, i18n, core) (b2300d27)
cli,system,datetime,mcp : seven findings (8c5e6060)
orm : five query, schema and migration bugs (37f6f78f)
server : nine findings across core, static, proxy and links (b711b7a7)
core : five container lifecycle bugs (9485f1d4)
queue,topic,retry,batch : seven silent-failure bugs (356ec50e)
keys : revocation could be undone by an in-flight validation (b7156601)
cli : nine command and build-task bugs (b623d3d4)
auth,cookies : five session-lifecycle bugs (b140a1b4)
orm : five silent data-correctness bugs (6292b79d)
router : backtracking match, wildcard captures, percent-encoding (069678bd)
server : sanitize 5xx in /api/_batch + review audit pass (3f42448e)
jobs,parameters : retention, sweep containment + refund ordering (CI red) (91c7f1dd)
security : 8 security-adjacent P2s across cli, server, crypto and keys (d7f86a1a)
websocket : room teardown, connection ids and cross-room frames (batch 6) (c4060482)
react : DX bugs in useQuery, anchors and query-only navigation (batch 5) (5914f450)
jobs : claim 'cancelled' before aborting the handler (CI race) (1352f016)
server : identity-scope HttpClient cache and in-flight dedup (0f9d9553)
users : stop leaking admin allowlist from public /realms/config (77eac5f6)
orm : scope upsert conflict-update to the caller's tenant (6eb34522)
react : handle cleared date/time inputs without crashing (9ab8e58f)
command : accept uppercase answers in ask.permission (35a80b26)
cli : correct db check migration hint (ef4f0046)
core : exit non-zero after an uncaughtException (e7632647)
core : return false instead of throwing in isFileLike (60312663)
websocket : stop zombie reconnect and off-browser setTimeout crash (cd58f731)
server : preserve multiple Set-Cookie headers in proxy (9aae793a)
datetime : catch $interval handler errors (b3a86afc)
datetime : correct travel() double-count and clearInterval leak (7afb6de2)
logger : guard JSON formatter against circular/BigInt data (cbcf3f8e)
system : reject signal-killed child processes (001487eb)
cache : don't cache undefined handler results (7741f030)
cache : don't wipe the container on a zero-match wildcard invalidation (5ea8f6de)
server : accept application/json with charset in HttpClient (cc6cdcdf)
server : serialize falsy handler return values (9647c548)
bucket : reject path traversal via fileId in LocalFileStorageProvider (91d8b2b2)
users : require email_verified for OAuth account auto-link (e07c2972)
server : reject backslash paths in validateRedirectUri (5ab247be)
subscriptions : guard org-less users on /subscriptions/mine/* (2d863f06)
cli,websocket : strip forged ws identity header, guard CF cross-room reply, carry websocketPaths in manifest (7cad000a)
websocket : harden WebSocketRoom message error handling, test broadcast RPC (f94430bd)
websocket : relative import in auth.spec to break websocket->websocket cycle; sync build-generated exports (workerd re-added by build when index.workerd.ts lands in Task 6) (69dec958)
websocket : add missing workerd export condition to ./websocket (2db6c77a)
You can’t perform that action at this time.