Skip to content

Commit 0ef1c39

Browse files
digest: add issues for 2026-06-12
1 parent 1bd2e2d commit 0ef1c39

12 files changed

Lines changed: 315 additions & 0 deletions
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
date: 2026-06-11
3+
repo: biomejs/biome
4+
size: M
5+
title: "Module graph refactor removes DB mutex"
6+
excerpt: "A broad internal refactor rewires module-graph symbol lookups to avoid the salsa DB mutex and updates several lints and services to use the new flow."
7+
commits: 1
8+
authors: [ematipico]
9+
commit_authors: {"ac6615c": ematipico}
10+
---
11+
12+
### **Module graph lookups drop the salsa DB mutex** (ac6615c)
13+
Biome’s module-graph internals were refactored to remove mutex-based access around the salsa database and replace it with module-scoped symbol handling. That change ripples through import/class resolution, lints, and service “go to” paths, which should simplify concurrent access and reduce contention in these code paths.
14+
15+
### Other misc changes
16+
- CI workflow tweak: removed a pinned `tombi` version from autofix.
17+
- Cargo manifest formatting and dependency feature list cleanup in `biome_cli`.
18+
- Spec test updates and assorted internal refactors across module-graph and service code.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
date: 2026-06-11
3+
repo: denoland/deno
4+
size: L
5+
title: "Deno publish gets faster, safer, and smoother"
6+
excerpt: "Notable publish, runtime, and web-platform fixes land alongside fs streaming and several developer-facing bug fixes."
7+
commits: 17
8+
authors: [divybot, bartlomieju, fibibot, denobot, nathanwhit]
9+
commit_authors: {"043a4d3": fibibot, "38710d5": bartlomieju, "9aff2d5": divybot, "d9703a4": divybot, "ecf9dc6": divybot, "1eebdde": nathanwhit, "e62a217": divybot, "a0493e9": divybot, "4386bf7": divybot, "05a686c": divybot, "e588f24": divybot, "8f4dbff": divybot, "6948eed": divybot, "5b71a56": bartlomieju, "ff7a18e": divybot, "34f8f94": bartlomieju}
10+
---
11+
12+
### **`deno publish` now skips already-published versions up front** (9aff2d5)
13+
`deno publish` now checks the registry for each package version before doing expensive type-checking and tarball preparation, so already-published releases are skipped early instead of wasting work. This makes publish reruns more idempotent and can significantly cut time for packages that are already on the registry.
14+
15+
### **`Deno.readDir()` is now streamed asynchronously** (ecf9dc6)
16+
Async directory reads no longer materialize the whole listing up front; they open a directory resource and yield entries one at a time as the iterator is consumed. That reduces memory/latency for large directories and aligns Node `fs.readdir` / `fs.Dir` async iteration with the new streaming behavior.
17+
18+
### **Native op snapshots avoid unnecessary callback overhead** (1eebdde)
19+
Core op binding generation now distinguishes constructable functions from plain functions and uses lighter-weight function shapes during snapshot creation when possible. This trims startup snapshot deserialization overhead and adds an explicit opt-in for ops that must preserve a constructor-like JS shape.
20+
21+
### **`Deno.serve` now surfaces streaming body errors** (e62a217)
22+
Errors thrown while draining a streaming response body are now reported through the server’s error path instead of being swallowed after the headers are already sent. This fixes a long-standing debugging blind spot where a bad `TransformStream` callback could truncate the response without any useful stack trace.
23+
24+
### **URLPattern parse failures now explain the bad input** (4386bf7)
25+
`URLPattern` construction errors are now rewritten into messages that name the offending pattern, point at the failing character when possible, and add a hint for the common `:`-vs-named-group mistake. That should make router-style mistakes much easier to diagnose.
26+
27+
### **`deno test` waits for worker shutdown before reporting pending-promise failures** (05a686c)
28+
The test runner now keeps worker termination alive until both channels close, preventing premature "idle" completion while the worker is still tearing down. It also reports the actual pending-promise deadlock as the test failure instead of ending with a process-level error after an apparently successful run.
29+
30+
### **Markdown doctest extraction handles escaped fences correctly** (e588f24)
31+
Doc test parsing now respects the opening fence length when matching fenced code blocks, so literal triple-backtick snippets embedded inside longer escaped fences aren’t mis-extracted as tests. This fixes a real markdown extraction bug that could corrupt `deno test --doc` behavior on certain docs.
32+
33+
### **Worker `Deno.exit()` behavior is clarified in docs and tests** (043a4d3)
34+
The runtime docs and targeted worker tests were updated to make worker exit semantics explicit, especially around setting exit codes from within workers. This tightens the contract for code that depends on worker termination behavior.
35+
36+
### **Node V8 serializer fixes memory retention** (d9703a4)
37+
A leaking `node:v8` `Serializer` path is fixed by tracing the JS-side serializer object correctly, breaking a GC cycle that could keep serialized object graphs alive forever. This is a notable memory-leak fix for Node compatibility code that repeatedly creates serializers.
38+
39+
### **Node-compatible `v8.serialize` output is restored** (34f8f94)
40+
Deno’s V8 wire format bump had made `v8.serialize()` output unreadable by released Node.js/Electron versions; this patch restores interoperability for data crossing the Deno → Node boundary. That matters for tools like the Vitest VS Code extension that exchange serialized messages between runtimes.
41+
42+
### **`Deno.compile` now uses the forked child’s module in Node IPC flows** (5b71a56)
43+
Compiled binaries now correctly run the forked child’s module instead of the parent entrypoint when launched via `node:child_process.fork()`. This fixes a real compatibility break for Node-style child process IPC in compiled output.
44+
45+
### **Prompt `Esc` now cancels instead of sending SIGINT** (6948eed)
46+
The REPL/TTY prompt distinguishes an `Esc`-initiated cancel from a real interrupt, returning `null` cleanly instead of always raising `SIGINT`. That makes interactive prompts behave more like users expect in both `run` and `eval` flows.
47+
48+
### **`Deno.readDir()` and other runtime behaviors get assorted fixes** (a0493e9, 8f4dbff, ff7a18e, 38710d5, 5a686c)
49+
- REPL multiline input now treats a trailing `.` as incomplete input.
50+
- Jupyter completion now interprets cursor positions as Unicode codepoints.
51+
- Handled stream-writer rejections no longer trip the debugger.
52+
- The npm publish workflow now tolerates extra `pnpm exec` stdout noise.
53+
- Test/worker shutdown and other runtime edge cases got regression coverage.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-06-11
3+
repo: denoland/std
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+

src/posts/2026-06-11_jsr-io-jsr.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
date: 2026-06-11
3+
repo: jsr-io/jsr
4+
size: L
5+
title: "Publish hangs and stale cache fixed"
6+
excerpt: "Stops caching live publish-status and routes package caching by public URL so metadata invalidates correctly after publish."
7+
commits: 1
8+
authors: [igorbdl]
9+
commit_authors: {"7c43581": igorbdl}
10+
---
11+
12+
**Fix publish-status polling and package metadata cache invalidation** (7c43581)
13+
This change closes the loop on hung `deno publish` flows and stale package metadata. It marks dynamic auth/publish-status endpoints as `Cache-Control: no-store` and changes the load balancer cache key to the public URL, so CDN purges hit the right entries and newly published metadata becomes visible immediately.
14+
15+
### Other misc changes
16+
- None
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
date: 2026-06-11
3+
repo: leanprover/lean4
4+
size: L
5+
title: "Lean4 lands grind fixes and incr snapshots"
6+
excerpt: "Major grind correctness fixes, new incremental snapshot CLI flags, and several performance and Std.Internal.Do refactors landed."
7+
commits: 16
8+
authors: [leodemoura, Kha, wkrozowski, kim-em, sgraf812, TwoFX, Garmelon, hargoniX, frangio]
9+
commit_authors: {"f92bd6a": leodemoura, "ed0ad14": leodemoura, "6dbb96a": leodemoura, "45c6939": wkrozowski, "df63d6b": Kha, "b8b35fc": Kha, "c3cacf6": TwoFX, "d6ecb89": Kha, "3228e08": wkrozowski, "d11f9de": Garmelon, "7bb3fe8": kim-em, "5ada5e6": hargoniX, "aa2317a": sgraf812, "8ce8a63": kim-em, "9c18b08": frangio}
10+
---
11+
12+
### **Fix grind’s generalized-pattern metavariable bug** (f92bd6a)
13+
`grind` no longer trips an `unknown metavariable` error when instantiating delayed `match`-equation generalized patterns. The fix carefully internalizes and proves the equality while avoiding dangling metavariables from theorem parameters that are only assigned later.
14+
15+
### **Fix invalid proofs for `match` conditions in grind** (ed0ad14)
16+
`grind` was sometimes constructing kernel-rejected proofs for `match` expressions with overlapping patterns and proof discriminants. The fix tightens which hypotheses get `MatchCond` annotations and uses `False` as the `noConfusion` target, matching the actual shape of `match` conditions.
17+
18+
### **Add `cbv` to `grind`’s `sym =>` mode** (45c6939)
19+
`grind` can now use call-by-value reduction interactively via `sym => cbv`, including `at` locations like `cbv at h` and `cbv at *`. This makes it easier to simplify goals and hypotheses directly inside `grind`, and equation goals can close automatically with `refl` after reduction.
20+
21+
### **Add experimental disk-based elaboration resumption flags** (b8b35fc)
22+
Lean now has `--incr-save`, `--incr-load`, and `--incr-header-save` for reusing elaboration state across runs. This is a big workflow and performance feature for large projects, enabling snapshot reuse when syntax and imports haven’t changed.
23+
24+
### **Speed up snapshot loading by deferring dep-region sorting** (df63d6b)
25+
`--incr-load` gets a fast-path optimization that skips sorting dependency regions unless the slower structural fixup walk is actually needed. The change reportedly cuts import snapshot load time by about 5× on large headers.
26+
27+
### **Add `lake lint --record-exceptions`** (3228e08)
28+
`lake lint` can now record lint exceptions back into the build output by inserting the appropriate `set_option`. That makes it easier to suppress known warnings at the source instead of managing them externally.
29+
30+
### **Add constant folding for `USize` and bitwise ops** (5ada5e6)
31+
The compiler’s constant folder now handles more `USize` arithmetic and common bitwise operations. That should improve simplification opportunities in generated code and reduce runtime work in optimized paths.
32+
33+
### **Improve `grind`’s `cbv` support and printability fixes** (6dbb96a)
34+
`mkSimpleThunkType` now uses `_` instead of `Name.anonymous`, avoiding accidental shadowing and misleading inaccessible names in pretty-printed output. This fixes a subtle compiler/tactic hygiene issue that could affect generated binder names.
35+
36+
### **Rework `Std.Internal.Do` order metatheory** (aa2317a)
37+
The `Std.Internal.Do` proof infrastructure was reorganized into dedicated `Order/` modules, with many lemmas renamed and delaborators added for better pretty-printing. It’s a substantial internal refactor that should make the library easier to maintain and extend.
38+
39+
### **Separate `Std.Internal.Do` exception-post/order naming cleanup** (2686e08)
40+
`Std.Internal.Do` got a broad naming and attribute cleanup, including renamed exception-postcondition and order lemmas. This is mostly mechanical, but it helps align the API with Lean’s naming conventions and reduces speculative `grind` annotations.
41+
42+
### **Add `Environment.hasExposedBody` helper** (8ce8a63)
43+
Lean now exposes a dedicated helper for checking whether a declaration’s body is exported to downstream modules. This removes duplicated inline logic and gives both core Lean and downstream code a clearer API.
44+
45+
### Other misc changes
46+
- Performance: avoid kernel env blocks in `replayKernel` (d6ecb89)
47+
- Message/linter plumbing updates for persistent lint recording (3228e08)
48+
- Trace emoji rendering moved out of stored trace headers (7bb3fe8)
49+
- Float NaN normalization now uses a fixed bit pattern (c3cacf6)
50+
- CI workflow pin fix for `potiuk/get-workflow-origin` (d11f9de)
51+
- Added/updated tests for the above changes and a small `LawfulApplicative` simp lemma set (9c18b08)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
date: 2026-06-11
3+
repo: microsoft/typescript-go
4+
size: L
5+
title: "API expansion, parser fixes, scanner speedups"
6+
excerpt: "Added completions API and broader language-service fixes, plus parser/emit correctness fixes and scanner performance work."
7+
commits: 13
8+
authors: [weswigham, piotrtomiak, mds-ant, DanielRosenwasser, iisaduan]
9+
commit_authors: {"42eb4d4": DanielRosenwasser, "45df665": weswigham, "4a461b7": piotrtomiak, "a58d885": piotrtomiak, "f0113b7": weswigham, "0a1ff41": iisaduan, "6038f11": weswigham, "cd961a7": mds-ant, "3b59895": mds-ant}
10+
---
11+
12+
### **Completions API lands in TS Go** (4a461b7)
13+
Added `getCompletionsAtPosition` to the native preview API, along with `CompletionInfo`, `CompletionEntry`, `CompletionOptions`, and `CompletionItemKind` plumbing. The implementation now optionally includes symbol handles for symbol-based completions, which makes completion results usable for richer tooling and editor features.
14+
15+
### **Parser now repairs invalid JSDoc names instead of crashing or misparsing** (f0113b7)
16+
Non-identifier JSDoc names are now reparsed when possible, with invalid cases surfaced as `Identifier expected` errors. This tightens parsing around malformed typedefs/callbacks and avoids a class of crashes and bad AST/source-map mismatches.
17+
18+
### **CommonJS export duplication is deduped** (45df665)
19+
The declaration emitter now tracks witnessed CommonJS export names and avoids emitting the same export assignment multiple times. That fixes duplicated `exports.foo = ...` output and the downstream symbol/type noise it caused.
20+
21+
### **Declaration emit learns a new class-property path** (6038f11)
22+
Declaration transform now walks into class children to find `this` property assignments beyond the top level, and it can consult base declarations before deciding whether to emit them. This improves `.d.ts` generation for class properties and reduces incorrect renaming/emission in inheritance-heavy code.
23+
24+
### **Speculative parse-cache acquisition now releases the right file** (79fe60a)
25+
`Program.UpdateProgram` now returns the acquired `SourceFile`, letting project code release the exact speculative parse-cache entry when a rebuild happens. This fixes a subtle cache accounting bug that could leak refcounts or leave the cache in the wrong state after updates.
26+
27+
### **LSP accepts null initializationOptions** (de1bb2e)
28+
`initialize.initializationOptions` is now modeled as nullable, matching the LSP spec and accepting clients that send `null`. This makes startup more tolerant of loose or legacy clients.
29+
30+
### **Scanner and checker get performance wins** (cd961a7, 3b59895)
31+
The scanner hot path was optimized with ASCII fast paths and tighter token scanning, and the checker now defers an `orderedSet` map allocation until it grows beyond 16 elements. These are runtime improvements aimed at reducing overhead in common code paths.
32+
33+
### **Other misc changes**
34+
- Auto-imports no longer offer non-identifiers (42eb4d4)
35+
- JSDoc non-identifier reparsing test coverage and enum plumbing updates (f0113b7)
36+
- Added `IndexInfo.declaration` to the public API (a58d885)
37+
- Extension localization support and packaging/workflow updates (0a1ff41)
38+
- Build/import handling tweak for included `tsconfig.json` files (c7f7cb8)
39+
- Minor async downlevel renaming fix and related tests (f83eec5)
40+
- Nop logger helper and session null-logger fallback (79fe60a)
41+
- Small logging, CI, and test harness adjustments (de1bb2e)
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
date: 2026-06-11
3+
repo: nodejs/node
4+
size: L
5+
title: "OpenSSL 3.5.7 lands; VM sandbox fix"
6+
excerpt: "Node updates OpenSSL to 3.5.7 with security fixes and corrects vm proxy sandbox property queries; SEA Linux arm debug flakes are marked."
7+
commits: 4
8+
authors: [nodejs-github-bot, trivikr, brianathere]
9+
commit_authors: {"141a504": trivikr, "0b07f2c": brianathere, "da00166": nodejs-github-bot, "0a58d44": nodejs-github-bot}
10+
---
11+
12+
### **OpenSSL upgraded to 3.5.7 with security fixes** (0a58d44)
13+
Node bumps vendored OpenSSL to 3.5.7, pulling in a broad set of upstream fixes including multiple security advisories. The release notes in-tree call out a high-severity PKCS7 use-after-free plus several moderate and low-severity issues, so this is a meaningful security maintenance update.
14+
15+
### **vm proxy sandboxes now query own properties correctly** (0b07f2c)
16+
Property queries for Proxy-backed vm sandboxes now use own-property checks and fetch attributes through the corresponding property API, instead of treating inherited properties as a match. This aligns descriptor/membership behavior and fixes the inconsistency covered by the new regression test.
17+
18+
### Other misc changes
19+
- Updated OpenSSL arch config files for 3.5.7 (da00166)
20+
- Marked SEA build/application tests flaky on linux arm debug (141a504)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
date: 2026-06-11
3+
repo: oven-sh/bun
4+
size: L
5+
title: "SQL pool fixes and bake decoupling land"
6+
excerpt: "Bun tightened SQL pool shutdown/throw handling, deduped SQL internals, and refactored bake sourcemap dispatch to be type-erased."
7+
commits: 7
8+
authors: [alii, robobun]
9+
commit_authors: {"7013497": alii, "ddd1ff0": alii, "5c02cc1": robobun, "170fcd7": alii, "6e91d24": alii, "f8723b1": robobun, "8354af5": robobun}
10+
---
11+
12+
### **SQL pool shutdown now resolves cleanly mid-handshake** (5c02cc1)
13+
Forced `sql.close({ timeout: "0" })` now settles even if a connection is accepted but still negotiating with the database. The pool stores the native handle earlier and explicitly tears it down when a forced close races with connection creation, fixing a hang on startup-time close.
14+
15+
### **User callback throws no longer corrupt SQL pools** (8354af5)
16+
The MySQL and Postgres pool handlers now wrap `onconnect`/`onclose` in `try/finally` so pool bookkeeping always runs, even if user code throws. That prevents stuck pending state, missing error propagation, and hung `release()`/`onFinish` paths.
17+
18+
### **SQL protocol code got a broad internal cleanup** (7013497, ddd1ff0, 170fcd7)
19+
The SQL Rust crates were refactored to collapse duplicated protocol types and move shared cursor/constructor parsing into common modules. This trims a lot of repeated code across MySQL/Postgres and reduces the surface area for future protocol drift, without changing the public JS API.
20+
21+
### **Bake sourcemap/provider dispatch was type-erased** (6e91d24)
22+
The dev-server sourcemap plumbing no longer hardcodes bake-specific source-provider types inside the generic sourcemap crate. That decouples the generic layer from bake internals and makes the dispatch path cleaner for the server-components separate-SSR setup.
23+
24+
### **Inspector no longer double-fires client navigation events** (f8723b1)
25+
A successful HMR `SetUrl` navigation now emits exactly one `clientNavigated` inspector event instead of two. This fixes duplicate notifications for route changes and aligns the inspector stream with actual navigation outcomes.
26+
27+
### Other misc changes
28+
- SQL internal/protocol refactors and deduplication across shared modules
29+
- Bake/server-components target rename and bundler plumbing updates
30+
- Added and updated tests for SQL close behavior, SQL callback throws, sourcemap provider behavior, and inspector navigation events

0 commit comments

Comments
 (0)