v7.0.00 - Full GNU Awk (gawk) extension support π
Jawk 7 is a major milestone: beyond POSIX AWK, Jawk now supports the full set of gawk
language extensions and built-in functions β enabled by default, with a strict --posix
mode when you want the standard and nothing else. Scripts written for gawk now run on
Jawk, on the JVM, unchanged.
π gawk language extensions
BEGINFILE/ENDFILEspecial rules, together with thenextfilestatement and the
ERRNOandARGINDspecial variables, with gawk-compatible semantics for unreadable
files,FILENAME/FNRhandling, and hook restrictions
by @bertysentry in #515@include,@namespace, typed regexp literals (@/re/), and indirect function calls
(@f()) β including namespaced indirect calls dispatching user-defined, built-in, or
extension functions
by @bertysentry in #533- gawk-compatible array and scalar typing β untyped function arguments stay untyped
until used, with gawk's runtime diagnostics for invalid array/scalar contexts
by @bertysentry in #534
π§° gawk built-in functions (now all implemented)
- Array sorting and type introspection:
asort(),asorti()(with all
PROCINFO["sorted_in"]comparison modes, also honored byfor (i in a)),typeof(),
isarray(),mkbool(), andgensub()
by @bertysentry in #504 - The remaining gawk builtins:
systime(),mktime(),strftime(),strtonum(),
patsplit(), and the i18n interface (bindtextdomain(),dcgettext(),
dcngettext()) β plus honestSYMTABandFUNCTAB
by @bertysentry in #527
π₯οΈ CLI and POSIX conformance
- Handle
--and-per POSIX, and pass unknown options through toARGVlike gawk
by @bertysentry in #526
β‘ Performance and internals
- Cache compiled dynamic regexps in the runtime
by @bertysentry in #514 - Refactor built-in function dispatch to an enum switch
by @bertysentry in #506
ποΈ Build
- Standalone POM: no more dependency on
org.metricshub:oss-parent
by @bertysentry in #513
Full Changelog: v6.1.00...v7.0.00
Dependabot
- build(deps): bump com.github.spotbugs:spotbugs-annotations from 4.9.8 to 4.10.3 by @dependabot[bot] in #510
- build(deps): bump devops-infra/action-pull-request from 1.2.1 to 1.4.0 by @dependabot[bot] in #508
- build(deps): bump org.metricshub:oss-parent from 4 to 5 by @dependabot[bot] in #507
- build(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #503
- build(deps-dev): bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.8.3 to 4.10.3.0 by @dependabot[bot] in #509
- build(deps): bump org.apache.maven.plugins:maven-release-plugin from 3.1.1 to 3.3.1 by @dependabot[bot] in #520
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.0 to 3.15.0 by @dependabot[bot] in #519
- build(deps-dev): bump org.apache.maven.plugins:maven-artifact-plugin from 3.6.0 to 3.6.1 by @dependabot[bot] in #518
- build(deps-dev): bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to 3.4.0 by @dependabot[bot] in #517
- build(deps-dev): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.3 to 3.5.6 by @dependabot[bot] in #516
- build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.12.0 by @dependabot[bot] in #525
- build(deps-dev): bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8 by @dependabot[bot] in #524
- build(deps-dev): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.3 to 3.5.6 by @dependabot[bot] in #523
- build(deps-dev): bump org.apache.maven.plugins:maven-jar-plugin from 3.4.2 to 3.5.0 by @dependabot[bot] in #522
- build(deps-dev): bump org.apache.maven.plugins:maven-resources-plugin from 3.3.1 to 3.5.0 by @dependabot[bot] in #521
- build(deps): bump org.sentrysoftware.maven:maven-skin-tools from 1.8.00 to 1.8.01 by @dependabot[bot] in #531
- build(deps-dev): bump org.apache.maven.plugins:maven-jar-plugin from 3.5.0 to 3.5.1 by @dependabot[bot] in #532
Full Changelog: v6.4.01...v7.0.00