Last 12 weeks · 390 commits
5 of 6 standards met
/ / (default and relative ) and (relative watch paths) read the process cwd directly with . Everything else that depends on cwd already goes through the runtime's injected (, , , and all / operations). So when an embedder provides a with its own notion of cwd, subprocesses and watchers disagree with . This PR makes those two call sites use from , so the runtime has a single source of truth for cwd. : now receives the cwd from instead of calling . / semantics are unchanged. : resolves relative paths against . As before, it only queries the cwd for relative paths. Two escapes are removed. Adds unit tests for both. There's no behavior change for the CLI: is . Context: this replaces the earlier thread-local cwd override that this PR originally proposed. Per review feedback, instance-scoped cwd now lives in sys_traits (, dsherret/sys_traits#85). An embedder can pass as the permissions sys and back its / with the same . With this change, subprocesses and then follow that cwd too, and Deno doesn't need any new cwd API. AI disclosure: This pull request was developed with assistance from an AI coding assistant and reviewed and tested by the submitter.
Version: Deno 2.8.7 Saw a user report this on reddit and repro'd it myself. Not sure if bug or feature request. Deno appears to ignore both "latest" tag on npm and any "deprecations" when selecting version to install. Repro steps: Expected: socket 1.4.0 installed (latest tag, highest non-deprecated version) Actual: socket 2.1.0 installed (version marked as deprecated on npm) I didn't see anything in the docs.deno.com that covered this version selection behavior so it may catch some users off guard
Version: Deno 2.9.7 (stable, release, aarch64-apple-darwin) silently truncates a TEXT result at the first embedded U+0000. Binding the value stores all bytes, but reading it back as a JavaScript string loses the NUL and everything after it. Minimal reproduction Save as . No dependencies, permissions, external services, or database files are needed; the database is in memory. Run: Actual behavior The assertion checking the stored bytes passes. The assertion checking the returned string fails, and the process exits with code 1: Expected behavior The returned should contain three characters: , U+0000, and ; should be . Both assertions should pass: the returned string should preserve the embedded NUL and trailing . Node comparison Running the same file with on Node v24.21.0 produces the expected output and exits with code 0. Relevant documentation SQLite: NUL Characters In Strings documents that embedded NULs can be stored in TEXT. Its documented , , and CLI display limitations are distinct from retrieving the complete value through a driver. SQLite result-value API documents using followed by to obtain the UTF-8 data and its byte length. Node's corresponding TEXT decoding change, included in Node 24.16.0, uses the explicit SQLite byte length when creating the JavaScript string.
Repository: denoland/deno. Description: A modern runtime for JavaScript and TypeScript. Stars: 108554, Forks: 6385. Primary language: Rust. Languages: Rust (62.3%), TypeScript (26.1%), JavaScript (10.3%), C (1.2%), HTML (0%). License: MIT. Homepage: https://deno.com Topics: deno, javascript, rust, typescript. Latest release: v2.9.7 (1w ago). Open PRs: 100, open issues: 1531. Last activity: 1d ago. Community health: 100%. Top contributors: bartlomieju, dsherret, ry, littledivy, nayeemrmn, nathanwhit, lucacasonato, kt3k, divybot, kitsonk and others.