Repository navigation
·
210 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's Changed
Features
- ✨ feat(bench): add -L/--directory to search extra module directories by @harehare in #2482
- ✨ feat(bench): show progress bars while running benches by @harehare in #2521
- ✨ feat(lang): recover from broken input in the CST parser by @harehare in #2495
- ✨ feat(lang): add math, array, dict and string builtins by @harehare in #2499
- ✨ feat(lang): add fn: lambda without a parameter list by @harehare in #2528
- ✨ feat(lang): add csv::sort_rows by @harehare in #2556
- ✨ feat(run): treat
-as stdin in input file arguments by @harehare in #2476 - ✨ feat(run): gate -o/--output behind --allow-write under --sandbox by @harehare in #2494
- ✨ feat(run): show mq-dbg in the repl banner by @harehare in #2557
- ✨ feat(test): add -L option to search extra module directories by @harehare in #2520
- ✨ feat(chrome-extension): add example queries for links, tables, code, sections by @harehare in #2464
- 🧹 chore: remove no-op std feature, add Windows ARM64 binaries, tighten mq-check API by @harehare in #2545
Fixes
- 🐛 fix(mq-check): reduce false positives on dynamic mq code by @harehare in #2522
- 🐛 fix(lang): limit parser nesting depth to avoid stack overflow by @harehare in #2475
- 🐛 fix(lang): apply binary operator precedence in the CST parser by @harehare in #2504
- 🐛 fix(lang): return none for Markdown selectors on plain dicts by @harehare in #2513
- 🐛 fix(lang): report accurate locations for errors inside string interpolation by @harehare in #2517
- 🐛 fix(lang): give an attr call its own token id by @harehare in #2549
- 🐛 fix(mq-markdown): improve html to markdown conversion quality by @harehare in #2512
- 🐛 fix(run): include file path in input file read errors by @harehare in #2474
- 🐛 fix(test): keep running after a test errors and group file errors at the end by @harehare in #2555
- fix(builtin): return None from to_h, to_code, to_math when input is None by @opencode13241-eng in #2490
- 🐛 fix(csv): keep 0/false, union dict keys, and escape control chars by @harehare in #2485
- 🐛 fix(json): write inf/NaN as null and fix markdown table edge cases by @harehare in #2486
- 🐛 fix(scripts): pass version to bump_version module functions by @harehare in #2560
- 🐛 fix(toml): fix datetime/inf/nan parsing and emit nested tables as [a.b] by @harehare in #2484
- 🐛 fix(yaml): fix parsing of .inf and non-string keys and improve stringify output by @harehare in #2483
Documentation
- 📝 docs: add MacPorts installation instructions by @harehare in #2473
- 📝 docs: make AGENTS.md specific to this repository by @harehare in #2519
Refactoring
- ♻️ refactor(bench): index sorted durations instead of unwrapping first/last by @harehare in #2551
- ♻️ refactor(help): move builtin docs from mq-lang to mq-help by @harehare in #2535
- ♻️ refactor(help): list feature-gated builtins only when they are enabled by @harehare in #2536
- ♻️ refactor(lang): shrink StackValue from 24 to 16 bytes by @harehare in #2471
- ♻️ refactor(lang): share binary operator precedence between parsers and by @harehare in #2514
- ♻️ refactor(lang): derive suggestion candidates from the builtin registry by @harehare in #2534
- ♻️ refactor(lang)!: make DictMap a newtype over the backing map by @harehare in #2539
- ♻️ refactor(lang): end non-root program bodies at , and closing brackets by @harehare in #2546
- ♻️ refactor(lang): store tokens by value in the token arena by @harehare in #2548
- 🔧 build(run): fail the mq release build when debugger leaks in by @harehare in #2558
Performance
- ⚡perf(mq-check): mq check accuracy and performance by @harehare in #2526
- ⚡ perf(lang): replace the nom lexer with a hand-written one by @harehare in #2505
- ⚡ perf(lang): append to string locals in place and borrow self for builtin calls by @harehare in #2506
- ⚡ perf(lang): thread jumps through jumps and into returns by @harehare in #2507
- ⚡ perf(lang): branch on negated conditions with JumpIfTrue by @harehare in #2509
- ⚡ perf(lang): compile && and || in conditions into direct jumps by @harehare in #2510
- ⚡ perf(lang): compile prefix
!and-to VM opcodes through a UnaryOp node by @harehare in #2511 - ⚡ perf(lang): bind native builtins at compile time with CallNative by @harehare in #2515
- ⚡ perf(lang): update index assignments and array appends in place by @harehare in #2516
- ⚡ perf(vm): reuse scalar bytecode constants by @harehare in #2463
Test
- ✅ test(mq-run): use FIFO instead of Unix socket in atomic_output tests by @harehare in #2472
- test(mq-run): use message helper in test_usage_errors by @opencode13241-eng in #2477
Dependency Updates
- chore(deps): bump rand from 0.10.2 to 0.10.3 in the dependencies group by @dependabot[bot] in #2468
- chore(deps): bump taiki-e/install-action from 2.87.15 to 2.87.17 in the dependencies group by @dependabot[bot] in #2469
- chore(deps): bump the dependencies group with 2 updates by @dependabot[bot] in #2479
- Revert "chore(deps): bump the dependencies group with 2 updates" by @harehare in #2481
- chore(deps): bump the dependencies group with 3 updates by @dependabot[bot] in #2492
- chore(deps): bump the dependencies group with 3 updates by @dependabot[bot] in #2497
- chore(deps): bump the dependencies group across 1 directory with 4 updates by @dependabot[bot] in #2498
- chore(deps): bump smallvec from 1.16.1 to 1.16.2 in the dependencies group by @dependabot[bot] in #2503
- chore(deps): bump the dependencies group with 2 updates by @dependabot[bot] in #2525
- chore(deps): bump rust from 1.98.0-slim to 1.98.1-slim in the dependencies group by @dependabot[bot] in #2530
- chore(deps): bump taiki-e/install-action from 2.87.21 to 2.87.22 in the dependencies group by @dependabot[bot] in #2532
- chore(deps): bump CodSpeedHQ/action from 5.2.1 to 5.4.0 in the dependencies group by @dependabot[bot] in #2543
- chore(deps): bump libc from 0.2.189 to 0.2.190 in the dependencies group by @dependabot[bot] in #2544
- chore(deps-dev): bump the dependencies group in /editors/vscode with 2 updates by @dependabot[bot] in #2465
- chore(deps): bump brace-expansion in /editors/vscode by @dependabot[bot] in #2480
- chore(deps): bump vscode-languageclient from 10.1.1 to 10.1.2 in /editors/vscode in the dependencies group by @dependabot[bot] in #2500
- chore(deps-dev): bump the dependencies group in /editors/vscode with 2 updates by @dependabot[bot] in #2524
- chore(deps-dev): bump shell-quote from 1.10.0 to 1.12.0 in /editors/vscode by @dependabot[bot] in #2533
- chore(deps-dev): bump the dependencies group in /editors/vscode with 2 updates by @dependabot[bot] in #2542
- ⬆️ chore(deps): bump npm dependencies in web packages by @harehare in #2529
- chore(deps-dev): bump the dependencies group in /packages/mq-playground with 2 updates by @dependabot[bot] in #2467
- chore(deps-dev): bump the dependencies group in /packages/mq-playground with 2 updates by @dependabot[bot] in #2478
- chore(deps-dev): bump @babel/core from 7.29.7 to 8.0.6 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2491
- chore(deps-dev): bump the dependencies group in /packages/mq-playground with 2 updates by @dependabot[bot] in #2496
- chore(deps): bump the dependencies group in /packages/mq-playground with 3 updates by @dependabot[bot] in #2502
- chore(deps-dev): bump the dependencies group in /packages/mq-playground with 2 updates by @dependabot[bot] in #2523
- chore(deps-dev): bump @babel/core from 7.29.7 to 8.0.6 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2531
- chore(deps-dev): bump @babel/core from 7.29.7 to 8.0.6 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2538
- chore(deps-dev): bump @babel/core from 7.29.7 to 8.0.6 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2540
- chore(deps-dev): bump @babel/core from 7.29.7 to 8.0.6 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2541
- chore(deps-dev): bump the dependencies group in /packages/mq-web with 2 updates by @dependabot[bot] in #2466
- chore(deps-dev): bump vitest from 5.0.1 to 5.0.2 in /packages/mq-web in the dependencies group by @dependabot[bot] in #2501
- chore(deps): bump source-map-js from 1.2.1 to 1.2.2 in /packages/mq-web by @dependabot[bot] in #2527
New Contributors
- @opencode13241-eng made their first contribution in #2477
Full Changelog: v0.9.2...v0.9.3