Skip to content

v0.9.3

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Oct 13:02
· 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

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

Full Changelog: v0.9.2...v0.9.3