Skip to content

Commit 11e8e87

Browse files
digest: add issues for 2026-07-21
1 parent f27d910 commit 11e8e87

12 files changed

Lines changed: 321 additions & 0 deletions
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
date: 2026-07-20
3+
repo: biomejs/biome
4+
size: L
5+
title: "YAML, CSS, and inference fixes land"
6+
excerpt: "Big linting and formatting improvements: incomplete type inference is suppressed, CSS comments are preserved, YAML docs format better, and daemon/LSP shutdown is fixed."
7+
commits: 8
8+
authors: [ematipico, ayaangazali, dyc3, Netail, denbezrukov]
9+
commit_authors: {"ab8c21b": ematipico, "edc0ed7": ayaangazali, "546e5ba": dyc3, "5039a1e": ematipico, "b7a9694": denbezrukov, "726fa14": ematipico}
10+
---
11+
12+
### **Type inference now avoids incomplete-result false positives** (726fa14, ab8c21b)
13+
Biome tightened its JS/TS inference so partially resolved types no longer drive incorrect diagnostics in rules like `noMisusedPromises`, `useAwaitThenable`, `useExhaustiveSwitchCases`, `noBaseToString`, and `useNullishCoalescing`. The underlying inference work also improves member/Promise resolution and now handles generic defaults more faithfully, which should make several type-aware rules both more accurate and less noisy.
14+
15+
### **CSS formatter preserves selector-boundary comments** (b7a9694)
16+
Comments around CSS selector combinators are now kept on the correct side of the boundary instead of being misplaced during formatting. The formatter also better handles escaped newlines in attribute selectors, which fixes a class of layout-stability and comment-placement regressions in CSS and SCSS output.
17+
18+
### **YAML formatter now handles document markers and directives** (546e5ba)
19+
YAML formatting gained dedicated handling for `---`/`...` markers and directives, so comments stay attached to the right document element across multi-document streams. The verbatim formatter was also adjusted to avoid double-printing comments and to preserve source ranges more accurately.
20+
21+
### **Daemon proxy no longer dies when one client disconnects** (5039a1e)
22+
The LSP proxy path was reworked so stdin/stdout forwarding stops cleanly when either side disconnects, instead of letting one editor close out a shared daemon for everyone else. That’s a significant reliability fix for users running Biome through long-lived editor integrations.
23+
24+
### **HTML ARIA role inference now respects shorthand attributes** (edc0ed7)
25+
`useAriaPropsSupportedByRole` now accounts for shorthand attributes when computing an element’s implicit ARIA role in Astro, Svelte, and Vue-like templates. This removes false positives for patterns like `<a {href} aria-label="...">`, where the element should still be recognized as a link.
26+
27+
### Other misc changes
28+
- Updated `globset` to 0.4.19
29+
- Added/adjusted Cargo audit ignore entries
30+
- Preview CI config tweak
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
date: 2026-07-20
3+
repo: denoland/deno
4+
size: L
5+
title: "Deno hardens loaders, cache, and HTTP/2"
6+
excerpt: "JSON module mismatches, persistent web cache storage, inspector console bridging, and HTTP/2 backpressure got major fixes."
7+
commits: 21
8+
authors: [nathanwhit, bartlomieju, crowlbot, Hixie, wilkmaciej, divybot, akazwz]
9+
commit_authors: {"2652840": nathanwhit, "9049005": nathanwhit, "e0431ff": nathanwhit, "01c89b8": nathanwhit, "19c7442": nathanwhit, "e471f87": nathanwhit, "8fd04bc": bartlomieju, "5419c02": wilkmaciej, "13ce29b": Hixie, "191a0cb": bartlomieju, "f2ac97c": bartlomieju, "530c088": divybot, "57e67f1": akazwz, "4feb77b": crowlbot, "ac57574": crowlbot, "d7fbd3d": Hixie, "f9ea4e8": bartlomieju, "39f0c9d": crowlbot, "b939e9e": nathanwhit, "f6b2b65": bartlomieju}
10+
---
11+
12+
### **JSON imports are now enforced in both directions** (e0431ff)
13+
`FsModuleLoader` now rejects files that don’t actually resolve to JSON when a JSON module is requested, closing the reverse mismatch that could previously return JavaScript for a JSON import. That makes loader behavior consistent and surfaces a clearer `TypeError` with the real module type and specifier.
14+
15+
### **Resolver loader now blocks non-JSON sources for `type: "json"`** (9049005)
16+
The loader path now checks that modules requested with `type: "json"` really resolve to JSON media, including prepared modules and npm/BYONM loading. This fixes an inconsistency where JavaScript could slip through a JSON import and adds a targeted regression for that mismatch.
17+
18+
### **Cache API storage moves under origin data** (01c89b8)
19+
Web Cache data is no longer stored in a temp directory; it now lives beneath Deno’s origin-data location with per-origin hashed subdirectories. That makes Cache API state persistent in the expected place and tightens the filesystem handling around redirected cache paths.
20+
21+
### **HTTP/2 writes now apply real backpressure** (19c7442)
22+
Node-compatible HTTP/2 stream writes are now queued and completed only after nghttp2 actually frames the bytes, so `Http2Stream.write()` can correctly signal backpressure. The change also cancels queued writes when a stream is destroyed, preventing unbounded native buffering.
23+
24+
### **N-API external string finalizers are synchronized** (e471f87)
25+
External string cleanup was reworked into a single synchronized registry that preserves the right callback/hint pair for each V8 resource and safely handles teardown races. This closes a class of use-after-free and wrong-finalizer issues for external strings.
26+
27+
### **Local `.wasm` imports now type-check correctly** (8fd04bc)
28+
`deno check` and `sync-types` now include local `file://` wasm modules, generating declarations and wiring them into the temporary tsconfig so relative wasm imports resolve. This fixes the spurious “Cannot find module” error for typed local wasm exports.
29+
30+
### **Late-opened inspectors now receive console output** (5419c02)
31+
The main runtime now always bridges `console` into the inspector, instead of only doing so when `--inspect*` was set at startup. That restores `Runtime.consoleAPICalled` events for sessions opened later via `node:inspector` or SIGUSR1, matching worker behavior and improving the debugger experience.
32+
33+
### **`deno fmt` preserves embedded CSS indentation** (13ce29b)
34+
Formatting for multiline embedded CSS custom properties is now stable, preventing indentation churn in formatted output. This is a narrow but user-visible formatting fix.
35+
36+
### **`jsr:` entrypoints now discover config files** (191a0cb)
37+
Entry-point resolution now finds the appropriate config file for `jsr:`-based runs, fixing cases where dependency-age and config discovery logic disagreed. That makes `deno run` behavior more predictable for JSR entrypoints.
38+
39+
### **Outdated/npm updates stop downgrading on stale cache** (f2ac97c)
40+
The lockfile update flow now avoids downgrading packages when the npm cache is stale. That prevents a subtle but important regression in update behavior and keeps dependency resolution moving forward.
41+
42+
### **The extensionless-CJS guard is now tested** (530c088)
43+
Added coverage for the resolver’s extensionless CommonJS binary guard. This is test-only validation of an existing internal rule.
44+
45+
### **React Router desktop HMR is enabled** (57e67f1)
46+
The desktop framework path now enables `--hmr` for React Router. This is a small feature toggle change with limited surface area.
47+
48+
### **DNS queries retry after per-attempt timeout** (4feb77b)
49+
The Node-compatible DNS layer now retries queries when an individual attempt times out. This improves reliability under transient resolver slowness.
50+
51+
### **CI disk usage is reduced before deno_core tests** (ac57574)
52+
The CI workflow now frees disk space before the `deno_core` test job. This is a build/infrastructure tweak to reduce job failures from storage pressure.
53+
54+
### **Type-only dependencies are retained in outdated lockfiles** (d7fbd3d)
55+
The outdated/update flow now keeps type-only dependencies in the lockfile instead of dropping them. This fixes an important dependency-graph edge case for projects that rely on type-only JSR packages.
56+
57+
### **Hot internal hash maps switch to FxHash** (f9ea4e8)
58+
Several frequently used internal maps and sets were migrated to `FxHash`-based hashing for faster lookups. This is a performance-oriented refactor across resolver, checker, and npm-resolution code paths.
59+
60+
### **N-API async sends are canceled after close** (2652840)
61+
Async `uv` work now stops dispatching once a handle is closed, preventing callbacks from racing teardown. That protects against late work running on already-closed native state.
62+
63+
### **npm test registry tolerates malformed advisories bodies** (39f0c9d)
64+
The test npm registry now accepts a bad advisories request body without failing the test harness. This is a test-server robustness fix.
65+
66+
### **Published source rewrites are more tightly constrained** (b939e9e)
67+
The publish/unfurl pipeline got a substantial rewrite to limit when generated source paths are rewritten. That reduces the risk of publishing incorrect or over-transformed source references.
68+
69+
### **Per-file check tsconfigs now live in temp** (f6b2b65)
70+
`deno check` now writes its per-file tsconfig to the system temp directory instead of the project root. This avoids polluting repositories with generated config files.
71+
72+
### Other misc changes
73+
- Dependency bumps and lockfile updates
74+
- CI/build tweaks and workflow edits
75+
- Test-only harness updates and new regression fixtures
76+
- Small internal refactors and helper cleanups
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-20
3+
repo: denoland/std
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+

src/posts/2026-07-20_jsr-io-jsr.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-20
3+
repo: jsr-io/jsr
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
date: 2026-07-20
3+
repo: leanprover/lean4
4+
size: L
5+
title: "VCGen fix, stateful linters, and grind cleanup"
6+
excerpt: "Lean4 adds stateful linter plumbing, fixes a vcgen annotation bug, improves grind homomorphism support, and tightens universe linting."
7+
commits: 16
8+
authors: [leodemoura, sgraf812, hargoniX, TwoFX, wkrozowski, eric-wieser]
9+
commit_authors: {"3259610": sgraf812, "f77ee21": leodemoura, "dc1498b": hargoniX, "8e7d074": hargoniX, "29f574e": leodemoura, "e300ebc": TwoFX, "9a61e83": wkrozowski, "e1832d7": wkrozowski, "1e207c4": TwoFX, "33ae929": eric-wieser, "5ea1d32": leodemoura}
10+
---
11+
12+
### **Stateful linters land in command elaboration** (9a61e83)
13+
Lean now supports persistent, two-phase linters that can carry state across commands. The new API lets linters run an early phase and a late phase with shared state, opening the door to more powerful checks and cross-command analysis.
14+
15+
### **vcgen now reads goal types through `have`/`let`/`suffices`** (3259610)
16+
This fixes a failure where `vcgen` could not determine the program type after tactic annotations desugared through `noImplicitLambda` metadata. In practice, `vcgen` now works in more common proof patterns instead of dropping through and emitting an unusable triple.
17+
18+
### **`grind` homomorphism support is expanded and renamed** (f77ee21, 29f574e, 5ea1d32)
19+
The `grind` attribute modifiers are being migrated from `homo`/`homo_pred` to `hom`/`hom_pred`, with the new spellings wired through parsing and validation. At the same time, `grind` now records source types for homomorphism rules, which helps it track which terms should be treated as solver-relevant.
20+
21+
### **`Sym.(D)Simp.evalGround` learns more BitVec and Bool operations** (dc1498b, 8e7d074)
22+
Ground evaluation now covers additional `BitVec` operations, and boolean equality/inequality cases are handled more directly. `Sym.dsimp` also gains an option to rewrite inside instances, which is useful when rewriting ground terms to make instance heads syntactically match.
23+
24+
### **IO error decoding is fixed, then the fix is reverted for Windows** (33ae929, e300ebc)
25+
A runtime change made `lean_decode_io_error` use thread-safe error decoding and adjusted `IO.Error.osCode` semantics to better match POSIX-style errno handling. That was immediately reverted pending Windows follow-up work, so the day ends with the runtime change backed out.
26+
27+
### **`checkUnivs` now accounts for mutual declarations and constructors** (e1832d7)
28+
The universe linter now considers related declarations in a mutual block, including constructors for inductives, when deciding whether universes only ever appear together. This reduces false positives for structures and inductive types whose self-references would otherwise skew the analysis.
29+
30+
### **`Nat.nextPowerOfTwo` gets more lemmas** (1e207c4)
31+
Lean adds a batch of new lemmas around `Nat.nextPowerOfTwo`, along with some reshuffling of the surrounding `Power2` files. This broadens the library support for power-of-two reasoning.
32+
33+
### Other misc changes
34+
- Stage0 updates (4 commits)
35+
- `repeatM` docstring/internal-lemma cleanup
36+
- Minor grind/core attribute and test adjustments
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
date: 2026-07-20
3+
repo: microsoft/typescript-go
4+
size: M
5+
title: "API adds type parameter accessors; LS selection improves"
6+
excerpt: "New native-preview APIs expose type parameter constraints/defaults, while language service smart-selection and a diagnostic fix land."
7+
commits: 3
8+
authors: [navya9singh, weswigham]
9+
commit_authors: {"d1dc426": navya9singh, "7a831bd": weswigham}
10+
---
11+
12+
### **TypeParameter now exposes constraint/default getters** (7f717c5)
13+
The native-preview API now lets clients query a type parameter’s constraint and default directly, with async and sync surfaces updated in lockstep. The checker logic distinguishes type parameters from substitution types so these getters can return `undefined` when appropriate instead of forcing a type, which makes the API safer and more accurate.
14+
15+
### **Smart selection handles mapped types better** (d1dc426)
16+
Selection-range generation was expanded to build a more structured tree for mapped types, grouping modifiers and bracketed type-parameter sections so editor selection behaves more naturally inside these constructs. That should improve expand/shrink selection in mapped type declarations and reduce awkward jumps.
17+
18+
### **Suppress diagnostics for context-sensitive parameter lookups** (7a831bd)
19+
The checker no longer emits extra diagnostics when it is only fetching parameter types for context-sensitive signatures, avoiding noise from temporary or soon-to-be-overridden inference states. This also fixes the related baseline instability seen in reverse-mapped type inference cases.
20+
21+
### Other misc changes
22+
- API naming/wiring tweak in native-preview request payloads
23+
- Test baseline updates for smart selection and checker diagnostics
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
date: 2026-07-20
3+
repo: nodejs/node
4+
size: M
5+
title: "FFI wrapper fix, docs cleanup, stale policy shortened"
6+
excerpt: "Node.js tightens FFI signature handling, refreshes key crypto/net docs, and reduces the stale issue window from 7 months to 3."
7+
commits: 4
8+
authors: [samuel871211, panva, avivkeller, trivikr]
9+
commit_authors: {"5b27fb9": panva, "00917ba": trivikr}
10+
---
11+
12+
### **FFI wrappers now read signatures only once** (00917ba)
13+
`DynamicLibrary.getFunction()` and `getFunctions()` now build wrappers from metadata captured by native code instead of re-reading signature objects in JavaScript. That fixes cases where getters, proxies, or mutated signature objects could make the native and JS views disagree, and it adds coverage for the single-read behavior.
14+
15+
### **Crypto/WebCrypto docs switched from dense tables to grouped lists** (5b27fb9)
16+
The crypto and WebCrypto API docs were reorganized to make algorithm support easier to scan, replacing large capability tables with grouped lists by supported formats/APIs. This is mostly documentation churn, but it materially improves readability for a complex part of the API surface.
17+
18+
### Other misc changes
19+
- Clarified `socket.readyState` descriptions in `net.md` and added the `closed` state.
20+
- Lowered the stale workflow thresholds from 210/240 days to 90/120 days.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
date: 2026-07-20
3+
repo: oven-sh/bun
4+
size: L
5+
title: "Windows fixes, Node compat, and cleanup"
6+
excerpt: "Big day for Bun on Windows and HTTP compatibility: AppContainer/no-orphans support, timer precision, path/FS fixes, plus several security/compat fixes."
7+
commits: 42
8+
authors: [robobun, cirospaciari, dylan-conway, Jarred-Sumner]
9+
commit_authors: {"6062448": robobun, "a4c1ddd": robobun, "432ee31": cirospaciari, "cb1e825": robobun, "7b1fb7f": robobun, "3979cbe": dylan-conway, "9f4682d": robobun, "1f71ec3": robobun, "f6c9474": robobun, "0278471": robobun, "86fc072": robobun, "a3b82c4": robobun, "84452b8": robobun, "02fde87": robobun, "f64cade": Jarred-Sumner, "0b0d17a": robobun}
10+
---
11+
12+
### **Run Bun inside Windows AppContainer** (3979cbe)
13+
Bun can now run inside Windows AppContainer / lowbox sandboxes, which is important for packaged apps and embedders that launch workers under restricted tokens. The change wires in the required Windows-side process, filesystem, resolver, and terminal handling plus a large test matrix.
14+
15+
### **Implement `--no-orphans` on Windows** (f6c9474)
16+
`--no-orphans` / `BUN_FEATURE_FLAG_NO_ORPHANS` now works on Windows instead of being a stub. It uses a kill-on-close Job Object for descendants and a parent-process wait to exit when the launcher dies, matching the POSIX behavior closely enough to matter in supervisors and CI.
17+
18+
### **Fix HTTP/2 request header validation** (6062448)
19+
Bun now rejects malformed HTTP/2 request blocks that Node/nghttp2 rejects, including empty `:path`, missing required pseudo-headers, and invalid CONNECT shapes. This closes a compat gap that could previously let invalid requests reach the handler.
20+
21+
### **Reject forbidden trailer headers in `node:http`** (7b1fb7f)
22+
Request trailers can no longer smuggle `Content-Length` or `Transfer-Encoding` through Bun's HTTP parser. That brings Bun in line with Node's hard 400/clientError behavior and avoids accepting framed requests Node would reject.
23+
24+
### **Windows path, file, and timer correctness fixes** (0278471, 86fc072, 84452b8)
25+
Several Windows-specific bugs were fixed: `path.resolve("C:foo")` now resolves drive-relative paths correctly, `NtCreateFile` disposition is derived from `O_TRUNC` instead of access mode, and timers now use a monotonic clock so wall-clock adjustments don't skew deadlines. Together these remove real cross-platform correctness issues in core APIs.
26+
27+
### **Windows and Node compatibility polish** (a4c1ddd, 432ee31, cb1e825, 9f4682d, 02fde87, a3b82c4, f64cade, 1f71ec3, 0b0d17a)
28+
Bun picked up a batch of user-visible compatibility fixes: better `which` behavior for Windows reparse points, per-stream `console.inspectOptions`, Node-style `connect` error suffixes, `cd` semantics in shell, safer `process.dlopen` errors on Windows, and FFI support on Windows ARM64. Crash reports now record the running CLI command, and HTTP/3 client resets no longer trigger a use-after-free.
29+
30+
### Other misc changes
31+
- High-resolution Windows event-loop timer accuracy via libuv update
32+
- Redis timer lifetime refactor to prevent UAFs
33+
- Multiple dead-code / redundant-guard cleanups across bundler, parser, HTTP, SQL, semver, shell, server, and JSC bindings
34+
- CI/build annotation improvements for early-failing steps
35+
- Dependency bumps and repo scaffolding cleanup (libuv, WebKit, TinyCC)

0 commit comments

Comments
 (0)