v0.8.0
·
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
📦 Build
📦 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
- @DavidPandleton made their first contribution in #2141
Full Changelog: v0.7.0...v0.8.0