Skip to content

Commit 56aa1c9

Browse files
digest: add issues for 2026-07-27
1 parent 17866da commit 56aa1c9

24 files changed

Lines changed: 546 additions & 0 deletions
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
date: 2026-07-26
3+
repo: biomejs/biome
4+
size: L
5+
title: "YAML formatter gets major behavior upgrades"
6+
excerpt: "Biome added several YAML formatting fixes, plus new Svelte declaration-tag support and Symbol global type migration."
7+
commits: 6
8+
authors: [dyc3, minseong0324, Mokto]
9+
commit_authors: {"5809875": Mokto, "762c8c1": minseong0324, "a79bb36": dyc3, "c91ce44": dyc3, "52283b6": dyc3, "903b177": dyc3}
10+
---
11+
12+
### **Svelte declaration tags with `let`/`const` now parse, format, and lint** (903b177)
13+
Biome now supports Svelte declaration tags, including formatting and linting bindings declared with `{let ...}` and `{const ...}`. This expands HTML/Svelte coverage and closes a notable language-support gap for real-world component files.
14+
15+
### **YAML formatting gets cleaner handling for comments, scalars, and node properties** (c91ce44, a79bb36, 52283b6)
16+
Biome’s YAML formatter picked up three substantial behavior changes: comments are now indented according to block structure, flow scalar content is normalized more accurately, and node properties stay on the entry line where appropriate. Together these improve readability and reduce surprising rewrites across mappings, sequences, anchors, tags, and multiline scalars.
17+
18+
### **HTML/Svelte embedded code no longer reindents verbatim regions** (5809875)
19+
`biome check --write` is now idempotent for Svelte files in the cases covered here: multiline template literals in `<script>` blocks and block comments in `<style>` blocks stop gaining extra indentation on repeated runs. That fixes a concrete formatting bug that could otherwise churn files on every autofix pass.
20+
21+
### **Symbol global types were migrated into generated type data** (762c8c1)
22+
The JS type-info generator now owns `Symbol`, `Symbol.dispose`, and `Symbol.asyncDispose` type definitions, instead of keeping them as manual globals. This tightens the global-type model and preserves the expected static members on `Symbol` while aligning the generated metadata with the rest of the predefined globals.
23+
24+
### Other misc changes
25+
- YAML formatter test coverage expanded across many multiline/comment/anchor fixtures.
26+
- Svelte formatter/analyzer test updates and snapshot additions.
27+
- HTML service/parser internals adjusted to support the embedded formatting fix.
28+
- Added changeset entries for the released patch-level behavior changes.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
date: 2026-07-26
3+
repo: denoland/deno
4+
size: M
5+
title: "Deno desktop and Node compat get notable fixes"
6+
excerpt: "Desktop navigation events, node:test tags, and web stream interop were improved; Laufey was also bumped to 0.6.1."
7+
commits: 4
8+
authors: [littledivy, bartlomieju]
9+
commit_authors: {"34c4661": littledivy, "bec84a0": bartlomieju, "39cc464": bartlomieju, "dc80b47": littledivy}
10+
---
11+
12+
### **Desktop now exposes page-load events and fixes HMR URL parsing** (34c4661)
13+
Deno Desktop now surfaces a `load` event on `BrowserWindow` and forwards completed navigation as a `pageLoad` event, which also preserves the initial hidden-window reveal behavior on first load. The same change strips ANSI codes from framework dev-server output so colored HMR URLs can be parsed correctly.
14+
15+
### **node:test gains tag filtering support** (bec84a0)
16+
`node:test` now accepts experimental `testTagFilters`, normalizes a single string into an array, validates the filter types, and emits the one-time experimental warning when tags are used. Test contexts also carry canonical tags through parent/child suites so tag inheritance and filtering work consistently.
17+
18+
### **Web stream and Node stream interop is tightened** (39cc464)
19+
Node compat for streams was expanded to handle real web `TransformStream`s in `eos`, unwrap `ArrayBuffer`/`SharedArrayBuffer` writes for non-object-mode writable streams, and wire abort handling into web stream controllers. That improves behavior for `addAbortSignal` and other stream bridges that previously could fail with awkward type errors.
20+
21+
### Other misc changes
22+
- Bumped `laufey` to 0.6.1 and updated the desktop ABI guard/checksum pins (dc80b47)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-26
3+
repo: denoland/std
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+

src/posts/2026-07-26_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-26
3+
repo: jsr-io/jsr
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
date: 2026-07-26
3+
repo: leanprover/lean4
4+
size: L
5+
title: "Lean init bugfix and benchmark refresh"
6+
excerpt: "Fixes a private-import initialization segfault and overhauls Lake inundation benchmarks with precompile variants."
7+
commits: 2
8+
authors: [Kha, tydeu]
9+
commit_authors: {"0bfc3ac": Kha, "3b7f377": tydeu}
10+
---
11+
12+
### **Fix Lean runtime initialization for private imports** (0bfc3ac)
13+
Lean-generated modules now call the right initialization entrypoint even when `Lean` is only imported privately, preventing segfaults from missing `lean_initialize` calls. The runtime init functions were also made idempotent so repeated module initialization is safe, and FFI users no longer need to call the initialization helpers themselves.
14+
15+
### **Overhaul Lake inundation benchmarks** (3b7f377)
16+
The `inundation` benchmark suite was reorganized into multiple sub-libraries with configurable layers, width, and precompile mode. This trims benchmark size back into a reasonable runtime budget while adding variants that better exercise precompiled module builds.
17+
18+
### Other misc changes
19+
- Added a regression test for private `Lean` imports in executable packages
20+
- Updated the reverse-FFI example to rely on implicit runtime initialization
21+
- Benchmark script and test harness refactors
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-26
3+
repo: microsoft/typescript-go
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-26
3+
repo: nodejs/node
4+
size: L
5+
title: "Node tightens DNS, REPL, sqlite and streams"
6+
excerpt: "Security and correctness fixes land across DNS reverse lookups, sqlite session lifetimes, REPL highlighting, and web streams."
7+
commits: 9
8+
authors: [avivkeller, 3zrv, Archkon, remcohaszing, arcanis, iliaal]
9+
commit_authors: {"54a5095": Archkon, "4a5eb1c": avivkeller, "1ba3ce4": avivkeller, "893602c": avivkeller, "4314d13": 3zrv, "d4d35c6": 3zrv, "2c4ea73": remcohaszing, "c8da4ec": arcanis, "eb7ee32": iliaal}
10+
---
11+
12+
### **DNS reverse lookups now ignore hosts files** (54a5095)
13+
`dns.reverse()` is now forced to use DNS/PTR lookups only, matching the documented behavior of other `dns.resolve*()` APIs and avoiding `/etc/hosts` bleed-through via c-ares lookup order. This closes a surprising inconsistency for reverse lookups and adds a focused regression test.
14+
15+
### **REPL gains basic syntax highlighting** (4a5eb1c)
16+
Node’s REPL now colorizes user input with a new tokenizer-based highlighter, wired through readline’s refresh path so multiline prompts and cursor movement stay visually correct. This is a user-facing polish change that makes interactive REPL use noticeably nicer without changing REPL semantics.
17+
18+
### **Buffer copyArrayBuffer gets a bounds check fix** (eb7ee32)
19+
`process.binding('buffer').copyArrayBuffer()` now asserts offsets are within the buffer before subtracting, preventing unsigned wraparound from turning an out-of-bounds offset into a huge length. The fix addresses a real memory-safety bug in an internal binding.
20+
21+
### **sqlite sessions now keep their database alive** (d4d35c6)
22+
`DatabaseSync.createSession()` now holds a strong reference to the database so a session can’t outlive freed database memory. That prevents a crash when the database handle is dropped first, and the new test covers the GC/lifetime behavior.
23+
24+
### **Module hooks support `Symbol.dispose`** (2c4ea73)
25+
`registerHooks()` return values now implement `Symbol.dispose` as an alias for `deregister()`, which means they work with the `using` keyword and explicit resource management. This is a small but useful public API addition for cleaner hook lifecycle handling.
26+
27+
### **Web Streams adapters stop throwing after teardown** (4314d13)
28+
The writable-side adapter now guards calls to `controller.error()` after the controller may already be gone, fixing an uncatchable error when closing half-open `Duplex.toWeb()` writables. This makes stream teardown behavior more robust in edge cases.
29+
30+
### **Loader package-map lookup normalizes paths first** (c8da4ec)
31+
Package-map path resolution now normalizes incoming paths before cache lookup, which fixes resolution when `createRequire()` paths use mixed separators. This is a correctness fix for package-map users, especially on cross-platform path inputs.
32+
33+
### Other misc changes
34+
- Test runner V8 deserializer unsigned-length handling fix + regression test (1ba3ce4)
35+
- Mark `test-repl-user-error-handler` as flaky (893602c)
36+
- Misc REPL test adjustments and internal cleanup around highlighting and multiline rendering (4a5eb1c)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
date: 2026-07-26
3+
repo: oven-sh/bun
4+
size: M
5+
title: "Builder images refreshed for new secret flow"
6+
excerpt: "CI builder images were republished with updated bootstrap logic, moving Buildkite token lookup to cloud secrets and trimming launch tags."
7+
commits: 1
8+
authors: [Jarred-Sumner]
9+
commit_authors: {"43d60f6": Jarred-Sumner}
10+
---
11+
12+
### **Builder images refreshed for current agent bootstrap** (43d60f6)
13+
Republished the builder images with updated bootstrap logic so Buildkite agents can fetch their registration token from cloud secret stores instead of launch-time tags. AWS now reads from Secrets Manager and Azure from Key Vault, with a fallback to the older metadata tag path for pre-secret images.
14+
15+
This also removes token-related launch parameters/tags from machine provisioning, tightening how credentials are passed to CI machines and reducing dependence on instance metadata for new images.
16+
17+
### Other misc changes
18+
- None beyond the builder-image/bootstrap refresh.

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

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
date: 2026-07-26
3+
repo: pnpm/pnpm
4+
size: L
5+
title: "pnpm lands major install and resolver fixes"
6+
excerpt: "Big day of install-lifecycle, lockfile, and peer-resolution fixes, plus CLI parity and a GVS crash fix."
7+
commits: 17
8+
authors: [zkochan]
9+
commit_authors: {"5ed47dc": zkochan, "1e22aa1": zkochan, "5de55a1": zkochan, "b9df82e": zkochan, "d7d0ba7": zkochan, "b726d9f": zkochan, "51c849f": zkochan, "723dc76": zkochan, "208e5af": zkochan, "f892e3d": zkochan, "076f6cc": zkochan, "760b2ec": zkochan, "8c041fe": zkochan, "291ab43": zkochan, "01dc5ac": zkochan}
10+
---
11+
12+
### **Record bundledDependencies correctly** (5ed47dc)
13+
pnpm now preserves and honors `bundledDependencies` during install and bin linking, including the `bundleDependencies: true` form that means “bundle everything in `dependencies`.” This fixes a real packaging bug where bundled names could be dropped from the lockfile/install flow.
14+
15+
### **Run `pnpm:devPreinstall` at the right time** (1e22aa1)
16+
The root project’s `pnpm:devPreinstall` hook now runs once per install before resolution/linking, matching pnpm’s behavior and unblocking workspaces that rely on it to prepare install-time state. It’s skipped in the expected no-script paths like `--ignore-scripts`, `--dry-run`, `--lockfile-only`, `fetch`, `rebuild`, and already-up-to-date installs.
17+
18+
### **Resolve `$dep-name` override self-references** (5de55a1)
19+
Overrides that use `$foo` now resolve to the root manifest’s declared specifier for `foo` instead of staying as a raw `$foo` reference. That restores frozen-install compatibility with lockfiles written by pnpm 11 and prevents false `ERR_PNPM_OUTDATED_LOCKFILE` failures.
20+
21+
### **Fix peer-edge keys to keep the provider’s depPath** (b9df82e)
22+
Peer edges are now keyed to the provider node’s own resolved depPath instead of being rewritten to a fabricated variant. This closes a lockfile/resolution mismatch that showed up in large workspace installs, including the remaining `next.js` reproduction.
23+
24+
### **Make `dedupe --check` report the actual diff** (d7d0ba7)
25+
`pnpm dedupe --check` now prints what would change, returns a dedicated `ERR_PNPM_DEDUPE_CHECK_ISSUES` diagnostic, and warns when peer issues remain. The same work also restores `pnpm peers check` as a valid command spelling, matching the documented CLI surface.
26+
27+
### **Give local directory deps their own GVS slot** (51c849f)
28+
Installing local `file:` directory dependencies with the global virtual store no longer crashes, and directory snapshots now get a project-scoped slot instead of being shared across unrelated projects. That fixes the broken symlink / `undefined.split` failure mode for local and injected directory packages.
29+
30+
### **Rewrite `jsr:` deps on `update --latest`** (723dc76)
31+
`update --latest` now rewrites `jsr:` specifiers back to the picked version instead of leaving them stale. Without this, JSR dependencies could survive a latest update unchanged because the resolver never reported a normalized bare specifier.
32+
33+
### **Match pnpm’s lifecycle-script selection rules** (208e5af)
34+
Projects now run their own lifecycle scripts based on pnpm’s per-project mutation rules instead of a single full-install flag. This fixes `add`, targeted `update`, workspace-root behavior, and other install-family commands that previously fired scripts for the wrong set of projects.
35+
36+
### **Hoist root local deps by version, not path** (f892e3d)
37+
When a workspace root dependency is declared with `link:`, `file:`, or path-style `workspace:`, peers hoisted from that root now resolve against the linked package’s version rather than the raw path. That avoids broken symlinks and incorrect peer resolution for root-local packages.
38+
39+
### **Free disk before coverage runs** (076f6cc)
40+
The codecov workflow now cleans up preinstalled toolchains before the coverage build. This is a CI reliability fix to stop the runner from hitting “No space left on device” mid-job.
41+
42+
### **Close remaining CLI-surface parity gaps** (760b2ec)
43+
Several pnpm 12 CLI/reporting mismatches were restored, including the `Scope:` line, cached lockfile-verification timing, and the build-approval placeholder in `pnpm-workspace.yaml`. This is mostly parity work, but it touches user-facing output and workflow behavior.
44+
45+
### **Fix peer-context divergences in large workspaces** (8c041fe)
46+
The resolver now matches pnpm’s handling for packages that shadow a peer in `dependencies`, and it collapses duplicate peer-suffixed variants more consistently. This addresses lockfile drift seen in larger workspaces where pnpm 11 and pacquet were producing different graphs.
47+
48+
### **Support `publishConfig.name` for renamed publishes** (291ab43)
49+
Publishing now respects `publishConfig.name`, letting a package publish under a different registry name than its workspace manifest name. That also unblocks changelog, ledger, and release tooling paths that key off the published name.
50+
51+
### **Fail frozen installs when recorded settings drift** (01dc5ac)
52+
Frozen installs now check more lockfile settings, including `autoInstallPeers`, `dedupePeers`, and `excludeLinksFromLockfile`. This closes a reproducibility hole where pnpm would have rejected the install but pacquet previously proceeded against a stale lockfile.
53+
54+
### Other misc changes
55+
- Dependency and toolchain bumps, including Node.js, pnpm, and GitHub Actions configs (b726d9f)
56+
- Additional resolver/install test coverage across workspaces, peers, GVS, and lifecycle scripts
57+
- Minor internal refactors and reporter/output plumbing to support the fixes above
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
date: 2026-07-26
3+
repo: tc39/ecma262
4+
size: N
5+
title: "No changes"
6+
excerpt: ""
7+
commits: 0
8+
---
9+
10+

0 commit comments

Comments
 (0)