Skip to content

UTL-X v0.9.0

Choose a tag to compare

@grauwen grauwen released this 07 Apr 06:16
· 697 commits to main since this release

UTL-X v0.9.0

Universal Transformation Language Extended - A format-agnostic functional transformation language.

Highlights

  • Format-agnostic transformations — XML, JSON, CSV, YAML, XSD, JSON Schema, Avro, Protobuf
  • 120+ standard library functions — string, array, math, date, type, encoding, XML, and more
  • Identity mode (NEW) — instant format conversion without writing a script:
    cat data.xml | utlx          # XML to JSON (smart flip)
    cat data.json | utlx         # JSON to XML (smart flip)
    cat data.csv | utlx          # CSV to JSON
    cat data.xml | utlx --to yaml  # override with --to
  • Implicit transform — no transform subcommand needed:
    utlx script.utlx input.xml    # implicit transform
  • --to / --from aliases — concise format flags
  • Strong type system with compile-time checking
  • Multi-input transformations — join data from multiple files/formats
  • 460 conformance tests passing (100%)

CLI Quick Start

# Build
./gradlew :modules:cli:jar

# Format conversion (no script needed)
cat data.xml | ./utlx
cat data.json | ./utlx --to yaml

# Script-based transformation
./utlx transform script.utlx input.xml -o output.json

# Version
./utlx --version

Supported Formats

Format Input Output
JSON Yes Yes
XML Yes Yes
CSV Yes Yes
YAML Yes Yes
XSD Yes Yes
JSON Schema Yes Yes
Avro Yes Yes
Protobuf Yes Yes

Requirements

  • JDK 17 or later

License

Dual-licensed: AGPL-3.0 (open source) / Commercial license available.