Skip to content

UTL-X v1.0.0

Choose a tag to compare

@grauwen grauwen released this 07 Apr 11:46
· 130 commits to main since this release

UTL-X v1.0.0

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

Highlights

  • 652 standard library functions across 18 categories
  • Identity mode — instant format conversion without 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 transformutlx script.utlx input.xml (no transform subcommand needed)
  • --to / --from short aliases for format flags
  • Strong type system with compile-time checking
  • Multi-input transformations across different formats
  • GraalVM native binary support for instant startup
  • 447 conformance tests passing (100%)

Supported Formats

Tier 1 — Data formats:

Format Input Output
JSON Yes Yes
XML Yes Yes
CSV Yes Yes
YAML Yes Yes
OData Yes Yes

Tier 2 — Schema/metadata formats:

Format Input Output
XSD Yes Yes
JSCH (JSON Schema) Yes Yes
Avro Yes Yes
Protobuf Yes Yes
OSCH (OData/EDMX) Yes Yes
TSCH (Table Schema) Yes Yes

CLI Quick Start

# Build
./gradlew :modules:cli:jar

# Instant 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

# Validate & lint
./utlx validate script.utlx
./utlx lint script.utlx

# Explore 652 stdlib functions
./utlx functions
./utlx functions search xml

# Version
./utlx --version

Requirements

  • JDK 17 or later

Roadmap

Component Status
UTL-X CLI (utlx) 1.0.0 Released
UTL-X Engine (utlxe) In Development
UTL-X IDE Support (utlxd) In Development
JavaScript Runtime Future
.NET Runtime Future

License

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