Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 13:49
· 944 commits to main since this release
Immutable release. Only release title and notes can be modified.

What's Changed

✨ Features

  • ✨ feat(mq-web-api): cache repeated /query results by @harehare in #2067
  • feat(mq-run): add --eval-all to evaluate once across all input files by @harehare in #2069
  • ✨ feat(mq-lang): add Io trait for file/env/network access by @harehare in #2073
  • ✨ feat(mq-lang,mq-run): wire Io through builtins and local module resolution by @harehare in #2074
  • ✨ feat(mq-lang,mq-test): add mockable Io for mq test's engine by @harehare in #2076
  • ✨ feat(mq-lang): expose get_location(node) for source position (#1358) by @harehare in #2079
  • ✨ feat(mq-lsp): validate rename target via textDocument/prepareRename by @harehare in #2081
  • ✨ feat(mq-formatter): support stdin/stdout mode via - by @harehare in #2082
  • ✨ feat(mq-dap): support "Uncaught Exceptions" breakpoint filter by @harehare in #2083
  • ✨ feat(mq-test): add name/tag filtering and parallel test execution by @harehare in #2084
  • ✨ feat(mq-lang): add embed_images()/extract_images() builtins by @harehare in #2085
  • ✨ feat(mq-crawler): add --max-pages limit and checkpoint/resume support by @harehare in #2086
  • ✨ feat(mq-lang,mq-run): add process-io capability and system() builtin by @harehare in #2087
  • ✨ feat(mq-lang,mq-run): restrict --allow-read/--allow-write to path allowlists by @harehare in #2089
  • ✨ feat(mq-lang,mq-run): add --allow-env sandbox flag by @harehare in #2091
  • ✨ feat(mq-lang,mq-run): add --allow-all flag to grant every sandbox permission by @harehare in #2093
  • ✨ feat(mq-lang,mq-run): add domain allowlist to --allow-net by @harehare in #2094
  • ✨ feat(mq-run): add short flags for --allow-net/read/write/env by @harehare in #2095
  • ✨ feat(mq-lang,mq-run): add command allowlist to --allow-run by @harehare in #2096
  • ✨ feat(mq-markdown): pad GFM table columns to consistent widths by @harehare in #2102
  • ✨ feat(mq-lang): add sort_natural for numeric-aware natural sorting by @harehare in #2103
  • ✨ feat(mq-lang): add file_size, human_bytes, and human_size builtins by @harehare in #2111
  • ✨ feat(mq-lang,mq-run): add gron-style output/input format by @harehare in #2117
  • ✨ feat(mq-lang): add strptime builtin for parsing dates with a custom format by @harehare in #2118
  • ✨ feat(mq-lang): add host function registration API for embedding by @harehare in #2122
  • ✨ feat(mq-run,mq-lang): add TOON output format (-F toon) by @harehare in #2123
  • ✨ feat(mq-lang): add token_compress builtin for token-budget compression by @harehare in #2124
  • ✨ feat(table): add pivot_longer/pivot_wider for wide/long table reshaping by @harehare in #2129
  • ✨ feat(mq-lang): add date_relative builtin for parsing relative date expressions by @harehare in #2130
  • ✨ feat(mq-run,mq-markdown): add --no-position flag to strip AST position info by @harehare in #2132
  • ✨ feat(mq-lang): add assert_type, assert_field, assert_matches to test module by @harehare in #2133
  • ✨ feat(mq-lang): add native fuzzy-match distance builtins using strsim by @harehare in #2134
  • ✨ feat(playground,vscode): add many more usage examples by @harehare in #2135
  • ✨ feat(mq-lang): add join_by builtin and table::to_array by @harehare in #2136
  • 📝 feat(mq-run,mq-lang,mq-web-api): add mq help catalog, replace --doc by @harehare in #2137
  • ✨feat(mq-lang): add gitignore support to collection(), switch regex-lite to regex by @harehare in #2139
  • ✨ feat(mq-lang): add merge_with/merge_defaults for deep dict merging by @harehare in #2140
  • ✨ feat(mq-lang): add http_all builtin for batched concurrent requests by @DavidPandleton in #2141

🐛 Fixes

  • 🐛 fix(mq-web-api): sandbox local module resolution for request-supplied module names by @harehare in #2075
  • 🐛 fix(mq-lang): warn when section functions receive a single node by @harehare in #2080
  • 🐛 fix(mq-lang): preserve integer formatting in JSON/YAML/TOML/XML output by @harehare in #2088
  • 🐛 fix(mq-playground): resolve monaco-vim's deep import to monaco-editor by @harehare in #2101
  • 🐛 fix(mq-ffi): catch panics at the FFI boundary instead of aborting the host by @harehare in #2104
  • 🐛 fix(mq-lang): keep all documents when parsing multi-document YAML by @harehare in #2109
  • 🐛 fix(mq-lang): tolerate ragged rows in csv/tsv parsing by @harehare in #2110
  • 🐛 fix: resolve CodeFactor warnings across scripts, playground CSS, and complexity by @harehare in #2143
  • 🐛 fix(mq-markdown): fix -U/--update round-trip fidelity issues by @harehare in #2151

♻️ Refactors

  • ♻️ refactor(mq-lang): resolve $VAR env references through the Io abstraction by @harehare in #2090
  • ♻ refactor(mq-lang,mq-check,mq-hir,mq-lsp): unify diagnostic hints across CLI/LSP/lint by @harehare in #2108
  • ♻️ refactor(mq-lang): make relative date parsing type-safe by @harehare in #2131
  • ♻️ refactor(scripts): auto-detect current version in bump_version.sh by @harehare in #2142

⚡ Performance

  • ⚡ perf(mq-lang): make RuntimeValue::Array/Dict clone-on-write by @harehare in #2070

📦 Build

  • 📦 build(mq-check,mq-repl): enable http feature for mq-lang by @harehare in #2092

📦 Dependency Updates

  • build(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 in the dependencies group by @dependabot[bot] in #2068
  • build(deps-dev): bump the dependencies group in /packages/mq-playground with 2 updates by @dependabot[bot] in #2071
  • build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in #2072
  • build(deps-dev): bump @babel/core from 7.29.7 to 8.0.1 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2077
  • build(deps): bump the dependencies group with 2 updates by @dependabot[bot] in #2078
  • build(deps): bump the dependencies group in /packages/mq-playground with 3 updates by @dependabot[bot] in #2097
  • build(deps): bump rust from 1.96.1-slim to 1.97.1-slim in the dependencies group by @dependabot[bot] in #2098
  • build(deps): bump syn from 2.0.119 to 3.0.2 in the dependencies group by @dependabot[bot] in #2099
  • build(deps): bump the dependencies group with 2 updates by @dependabot[bot] in #2100
  • build(deps-dev): bump the dependencies group in /packages/mq-playground with 3 updates by @dependabot[bot] in #2106
  • build(deps): bump the dependencies group with 2 updates by @dependabot[bot] in #2107
  • build(deps-dev): bump oxlint from 1.74.0 to 1.75.0 in /editors/vscode in the dependencies group by @dependabot[bot] in #2112
  • build(deps-dev): bump the dependencies group across 1 directory with 2 updates by @dependabot[bot] in #2113
  • build(deps-dev): bump the dependencies group in /packages/mq-playground with 3 updates by @dependabot[bot] in #2114
  • build(deps): bump syn from 3.0.2 to 3.0.3 in the dependencies group by @dependabot[bot] in #2115
  • build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in #2116
  • build(deps-dev): bump @babel/core from 7.29.7 to 8.0.1 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2119
  • build(deps): bump base64 from 0.22.1 to 0.23.0 in the dependencies group by @dependabot[bot] in #2120
  • build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in #2121
  • build(deps-dev): bump @babel/core from 7.29.7 to 8.0.1 in /packages/mq-playground in the dependencies group by @dependabot[bot] in #2125
  • build(deps): bump docker/login-action from 4.5.0 to 4.5.1 in the dependencies group by @dependabot[bot] in #2126
  • build(deps-dev): bump the dependencies group in /editors/vscode with 3 updates by @dependabot[bot] in #2144
  • build(deps-dev): bump the dependencies group in /packages/mq-web with 2 updates by @dependabot[bot] in #2145
  • build(deps-dev): bump the dependencies group in /packages/mq-playground with 3 updates by @dependabot[bot] in #2146
  • build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in #2147

New Contributors

Full Changelog: v0.7.0...v0.8.0