Skip to content

Commit f27d910

Browse files
digest: add issues for 2026-07-20
1 parent 2803106 commit f27d910

24 files changed

Lines changed: 518 additions & 0 deletions
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
date: 2026-07-19
3+
repo: biomejs/biome
4+
size: M
5+
title: "Type inference fix strengthens promise lint"
6+
excerpt: "Biome improved tuple and generic inference for noMisusedPromises, plus two dependency bumps."
7+
commits: 3
8+
authors: [ematipico]
9+
commit_authors: {"4bf9b21": ematipico}
10+
---
11+
12+
### **Promise callback inference now catches tuple-spread cases** (4bf9b21)
13+
The `noMisusedPromises` lint now reports Promise-returning callbacks in calls that use tuple spreads or tuple rest parameters, including generic and deeply nested tuples. It also handles constructor signatures from interface and object types, with a conservative fallback for recursive or overly nested tuple spreads so analysis terminates.
14+
15+
### Other misc changes
16+
- Dependency bumps: `rustc-hash` to 2.1.3, `quote` to 1.0.47
17+
- Added/updated internal agent guidance docs and comments
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-19
3+
repo: denoland/deno
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-19
3+
repo: denoland/std
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+

src/posts/2026-07-19_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-19
3+
repo: jsr-io/jsr
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
date: 2026-07-19
3+
repo: leanprover/lean4
4+
size: L
5+
title: "Grind gains homomorphism attrs"
6+
excerpt: "Lean4 adds `grind homo_pred`, validates `grind homo` rules, and ships a broad set of homomorphism lemmas for numeric types and `BitVec`/`Fin`."
7+
commits: 5
8+
authors: [leodemoura]
9+
commit_authors: {"5772089": leodemoura, "263276d": leodemoura, "2cf39b8": leodemoura}
10+
---
11+
12+
### **Grind gets a new eager predicate mechanism** (2cf39b8)
13+
Lean now supports `[grind homo_pred]`, a separate attribute for eager fact injection keyed by a theorem’s head symbol. It complements `[grind homo]` by letting `grind` derive facts as soon as matching terms enter the E-graph, which is especially useful for range and relation lemmas.
14+
15+
### **`[grind homo]` rules are now validated and enforced** (263276d)
16+
`grind` now rejects homomorphism theorems that would require conditional rewriting or otherwise can’t be instantiated from the left-hand side. The reset command also clears both homo-related extensions, tightening correctness and making attr state resets complete.
17+
18+
### **Core `grind` gains a full homomorphism library** (5772089)
19+
A new `Init.Grind.Homo` module wires `grind` to homomorphism lemmas for `BitVec`, `Fin`, `Nat`, `Int`, fixed-width signed/unsigned integers, `USize`/`ISize`, and `List`. This broadens the tactic’s ability to normalize and reason across machine integers and embedded representations without manual bridging lemmas.
20+
21+
### Other misc changes
22+
- Stage0 updates (2 commits)
23+
- Minor attr/parser plumbing for new `grind` modifiers
24+
- Tests added/expanded for homo and homo_pred attributes
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-19
3+
repo: microsoft/typescript-go
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
date: 2026-07-19
3+
repo: nodejs/node
4+
size: M
5+
title: "Node help gets styled; ALS leak fixed"
6+
excerpt: "Help output is now colorized when appropriate, timers stop retaining async stores, and WebCrypto adds a KT customization limit."
7+
commits: 4
8+
authors: [bitpshr, edsadr, mcollina, panva]
9+
commit_authors: {"c286592": bitpshr, "0bcc6ef": edsadr, "d25cde4": mcollina, "d90d9d5": panva}
10+
---
11+
12+
### **Style `node --help` output with colors and emphasis** (0bcc6ef)
13+
`node --help` now uses `util.styleText` to highlight headings, option names, environment variables, and the docs URL when the output stream supports color. This makes the built-in help easier to scan without changing plain-text output for redirected pipes or `NO_COLOR`.
14+
15+
### **Stop timers from retaining AsyncLocalStorage state** (d25cde4)
16+
Timers are now cleaned up after firing so they no longer hold on to an async store reference. That fixes a memory-retention issue in AsyncLocalStorage and is backed by a regression test for store leakage.
17+
18+
### **Limit KangarooTwelve customization strings to 512 bytes** (d90d9d5)
19+
WebCrypto now enforces a 512-byte maximum for `KangarooTwelveParams.customization`, matching the intended OpenSSL limit. Requests over the limit fail with a clear `OperationError`, and the docs and tests were updated accordingly.
20+
21+
### Other misc changes
22+
- Docs: note that `--env-file` does not apply to commands run via `--run` (c286592)
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
date: 2026-07-19
3+
repo: oven-sh/bun
4+
size: L
5+
title: "Bun hardens GC and HTTP/socket lifetimes"
6+
excerpt: "Major fixes for refcount/GC lifetime bugs, HTTP double-delivery/UAFs, and several protocol/runtime correctness issues landed alongside CI and test harness work."
7+
commits: 31
8+
authors: [robobun]
9+
commit_authors: {"3821241": robobun, "99fc2f8": robobun, "37ed95f": robobun, "d8dadda": robobun, "f5ba155": robobun, "8d85482": robobun, "7bf888e": robobun}
10+
---
11+
12+
### **Fix redis refcount over-release causing heap UAF** (99fc2f8)
13+
Refactors the Valkey/Redis client’s lifetime handling to use a scoped ref guard instead of manual ref/deref pairs, and adds a `forget()` helper to safely hand off ownership. This addresses a heap-use-after-free from refcount over-release and includes regression coverage around GC churn.
14+
15+
### **Prevent HTTP final-result double delivery after failures** (3821241)
16+
Hardens `HTTPClient` so terminal failure states stay terminal even after internal state reset, preventing late events from dispatching a second final result into freed memory. It also tightens retry and timeout handling so failed clients don’t re-enter start/fail paths after their AsyncHTTP backing has already been released.
17+
18+
### **Root TLS upgraded-duplex callbacks on the wrapper, not Strong handles** (37ed95f)
19+
Moves the TLS duplex origin and listener thunks off native `StrongOptional` roots and onto GC-traced wrapper slots, which better matches the object’s real lifetime. This reduces retention/leak risk and protects against re-entrant close paths that could otherwise run while the wrapper is becoming unreachable.
20+
21+
### **Fix a UUIDv7 explicit-timestamp monotonicity bug** (8d85482)
22+
Separates clock-driven and caller-supplied UUIDv7 state so explicit timestamps are encoded verbatim without disturbing the default monotonic sequence. That makes `randomUUIDv7(timestamp)` deterministic and sortable across repeated calls while preserving the normal clock-path behavior.
23+
24+
### **Keep HTTP/2 writable/close callbacks alive across JS re-entry** (d8dadda)
25+
Adds keepalives around `on_native_writable`, `on_native_close`, and frame dispatch paths so JS callbacks can destroy sessions without leaving the parser or socket dangling mid-loop. This is a concrete UAF fix for ASAN-fuzzed HTTP/2 paths.
26+
27+
### **Fix Bun.mmap to honor the requested offset** (f5ba155)
28+
Changes `Bun.mmap` to return a view at the caller’s requested offset instead of silently page-aligning it. That restores correctness for code depending on exact mapping offsets and aligns behavior with the documented API.
29+
30+
### **Preserve 404 behavior for falsey Bun.serve routes without a fetch handler** (7bf888e)
31+
Adjusts server routing so `false` routes correctly resolve to a 404 when no fetch handler exists. This fixes a public-facing routing edge case that could otherwise return the wrong response shape.
32+
33+
### Other misc changes
34+
- CI retry / quarantine / shard-threshold tweaks, including a new musl lane and baked install caches
35+
- Test harness and reliability doc updates
36+
- Node API compatibility fixes: `events`, `http`, `http2`, `sqlite`, `path`, `fs`, `dotenv`, `util.parseArgs`
37+
- Shell I/O and FIFO redirect fixes
38+
- CSS tokenizer underflow fix and TLS/terminal retention cleanup
39+
- Misc build/docs/dependency/test-only changes

src/posts/2026-07-19_pnpm-pnpm.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
date: 2026-07-19
3+
repo: pnpm/pnpm
4+
size: L
5+
title: "Pacquet lands runtimes, GVS, and install parity"
6+
excerpt: "A dense day of pacquet feature work: runtime installs, global virtual store parity, repeat-install reconciliation, and several correctness fixes."
7+
commits: 22
8+
authors: [zkochan, kairosci, aqeelat]
9+
commit_authors: {"6f83d81": zkochan, "5e0788a": zkochan, "f8e0f3c": zkochan, "9843b4f": zkochan, "62ab9cb": zkochan, "00855bb": zkochan}
10+
---
11+
12+
### **Runtime installation parity lands for Node, Deno, and Bun** (9843b4f)
13+
Pacquet now threads runtime failure policy and runtime-derived Node versions through config and install paths, and selects the right archive variant from `supportedArchitectures`. It also resolves `engines.runtime` on dependency manifests without cloning full manifests in the resolver hot path, while preserving explicit runtime deps when engine entries don’t match.
14+
15+
### **Global virtual store behavior gets much closer to pnpm** (f8e0f3c)
16+
This ports the full global-virtual-store suite and adds a new `virtualStoreOnly` mode that populates the virtual store without linking, hoisting, or lifecycle scripts. It also tightens cleanup and slot-state handling so failed builds are discarded correctly, side-effects cache hits don’t reuse stale slot state, and `.modules.yaml` records the build-approval set used during install.
17+
18+
### **Repeat installs now reconcile existing `node_modules`** (62ab9cb)
19+
Pacquet now prunes stale direct-dep links, bin shims, and hoisted aliases before linking on repeat installs, so deleted or hand-removed packages are re-evaluated instead of being silently left behind. This also wires the install pipeline to distinguish “install-only” flows more consistently across commands, reducing drift in add/remove/rebuild behavior.
20+
21+
### **Pending builds are tracked and rebuildable** (6f83d81)
22+
`pnpm install --ignore-scripts` now records skipped builds in `.modules.yaml`, and `pnpm rebuild --pending` drains that queue instead of doing nothing. The change covers both dependency build scripts and workspace project scripts, so deferred work survives install/rebuild boundaries the way users expect.
23+
24+
### **Proxy, auth, and registry URL handling are fixed** (5e0788a)
25+
Global and CLI proxy settings now flow through config and request setup with pnpm-compatible precedence, including bootstrap and optimistic install requests. The day also fixes auth command URL normalization for subpath registries so tokens and endpoints aren’t written against truncated paths.
26+
27+
### **Large-install memory retention is reduced** (00855bb)
28+
Resolver metadata is now condensed before it stays cached, which prevents full packuments from lingering in memory across multiple resolution paths. That matters for large workspaces: the change targets the multi-GB heap growth that could OOM plain installs.
29+
30+
### Other misc changes
31+
- Pacquet test-porting continued aggressively across git-hosted installs, progress reporting, optional dependencies, patchedDependencies, current lockfile, catalog, multi-importer, and lockfile-verification suites.
32+
- New coverage and fixes for `team`, deprecation events, patch verification, setup/self-update shim cleanup, and various repeat-install / hoist / architecture edge cases.
33+
- Release/version churn and lockfile updates (2 commits).
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-19
3+
repo: tc39/ecma262
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+

0 commit comments

Comments
 (0)