Skip to content

v7.0.00 - Full GNU Awk (gawk) extension support πŸŽ‰

Choose a tag to compare

@github-actions github-actions released this 30 Jul 21:43
· 94 commits to main since this release

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 / ENDFILE special rules, together with the nextfile statement and the
    ERRNO and ARGIND special variables, with gawk-compatible semantics for unreadable
    files, FILENAME/FNR handling, 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 by for (i in a)), typeof(),
    isarray(), mkbool(), and gensub()
    by @bertysentry in #504
  • The remaining gawk builtins: systime(), mktime(), strftime(), strtonum(),
    patsplit(), and the i18n interface (bindtextdomain(), dcgettext(),
    dcngettext()) β€” plus honest SYMTAB and FUNCTAB
    by @bertysentry in #527

πŸ–₯️ CLI and POSIX conformance

  • Handle -- and - per POSIX, and pass unknown options through to ARGV like gawk
    by @bertysentry in #526

⚑ Performance and internals

πŸ—οΈ 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