v6.0.00
What's New
- Fix #433 move project to jawk.io and io.jawk by @bertysentry in #434
- Refactor output with new AwkSink to allow customized output by @bertysentry in #435
- Add InputSource strategy for structured AWK input by @bertysentry in #394
- Simplify Awk builder override by @bertysentry in #366
- Major refactor: move special variable handling from AVM to JRT by @bertysentry in #382
- refactor!: Make AwkSettings purely behavioral, pass input/arguments to invoke() by @bertysentry in #396
- Refactor AssocArray: interface + direct Map inheritance, zero delegation overhead by @Copilot in #414
- Allow injecting non-scalar (array) values into the Jawk engine by @Copilot in #416
- Fix #429 allow @JawkAssocArray parameters typed as Map by @bertysentry in #432
Optimization
- Use BufferedReader to split CLI output lines by @bertysentry in #371
- Added first compilation optimization routine by @bertysentry in #377
- Refine literal tuple folding by @bertysentry in #378
- Optimize tuples for constant fields ($0, $1, etc.) by @bertysentry in #380
- Precompile literal regex patterns in tuples by @bertysentry in #383
- Simplified toAwkString(Object) by @bertysentry in #385
- Avoid initializing ENVIRON when unused by @bertysentry in #386
- Lazily materialize ARGC/ARGV, add sandbox protection, and fix DataPump threading by @bertysentry in #389
- Optimize eval runtime for precompiled tuples and structured input by @bertysentry in #399
- feat: optimize prepared eval runtime by @bertysentry in #401
- Replace generic PUSH opcode with type-specialized PUSH_LONG, PUSH_DOUBLE, PUSH_STRING by @bertysentry in #412
- Optimize redundant tuple GOTO/NOP control flow by @bertysentry in #422
- Optimize compileForEval tuple entry scaffolding by @bertysentry in #423
- Allow tuple peephole folding across labeled entries by @bertysentry in #424
- Freeze compiled tuple metadata by @bertysentry in #425
- Call InputSource getters only when needed by @bertysentry in #428
- Stop copying injected maps into AssocArray by @bertysentry in #419
Other Changes
- Fix print argument continuation detection by @bertysentry in #356
- Fix BlockManager notifier synchronization for SpotBugs by @bertysentry in #361
- Add GitHub checks for style reports on Linux builds by @bertysentry in #372
- Matrix Maven workflow on Linux and Windows by @bertysentry in #365
- Removed unnecessary VersionManager class by @bertysentry in #384
- Remove all assert statements by @Copilot in #409
- Remove PositionTracker from JRT methods — throw simple exceptions, let AVM add position by @Copilot in #413
- Fixed Maven groupId by @bertysentry in #436
Tests
- Align AwkMan7 tests with Jawk behavior by @bertysentry in #357
- Refactor tests to use unified AwkTestSupport by @bertysentry in #358
- Refactor DynamicFieldTest to use AwkTestSupport by @bertysentry in #359
- Restore CRLF expectations in Windows JRT tests by @bertysentry in #363
- Adopt expectLines assertions in JRTTest AWK tests by @bertysentry in #360
- Refine AwkTest expectations to use builder assertions by @bertysentry in #362
- Refactor consume input test to use AwkTestSupport by @bertysentry in #364
- Simplify gawk test harness by @bertysentry in #367
- Refine POSIX pipeline conformance tests by @bertysentry in #368
- Add README examples for AwkTestSupport by @bertysentry in #370
- Normalize AwkTestSupport output across platforms by @bertysentry in #369
Documentation
- Upgrade Sentry Maven Skin to 8.0.00, maven-skin-tools to 1.7.00, and maven-site-plugin to 4.x by @Copilot in #411
- Updated documentation style and layout by @bertysentry in #418
- Refactor documentation site structure by @bertysentry in #430
Dependabot
- build(deps): bump metricshub/workflows/.github/workflows/maven-central-deploy.yml from 3 to 4 by @dependabot[bot] in #355
- build(deps): bump metricshub/workflows/.github/workflows/maven-central-release.yml from 3 to 4 by @dependabot[bot] in #354
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.6 to 4.9.8 by @dependabot[bot] in #351
- build(deps): bump org.apache.maven.plugins:maven-pmd-plugin from 3.27.0 to 3.28.0 by @dependabot[bot] in #345
- build(deps): bump metricshub/workflows/.github/workflows/maven-build.yml from 3 to 4 by @dependabot[bot] in #353
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.6.0 to 4.9.8.1 by @dependabot[bot] in #350
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #376
- build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #375
- build(deps): bump sentrysoftware/upload-buildinfo-outputs from 2 to 3 by @dependabot[bot] in #374
- build(deps): bump actions/setup-java from 4 to 5 by @dependabot[bot] in #373
- build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #379
- build(deps): bump org.codehaus.mojo:license-maven-plugin from 2.7.0 to 2.7.1 by @dependabot[bot] in #388
- build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #387
- build(deps): bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.8.1 to 4.9.8.2 by @dependabot[bot] in #381
- build(deps-dev): bump org.apache.maven.plugins:maven-surefire-report-plugin from 3.5.4 to 3.5.5 by @dependabot[bot] in #392
- build(deps-dev): bump org.apache.maven.plugins:maven-shade-plugin from 3.6.1 to 3.6.2 by @dependabot[bot] in #391
- build(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #390
- build(deps-dev): bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.8.2 to 4.9.8.3 by @dependabot[bot] in #431
Full Changelog: v5.0.00...v6.0.00