Skip to content

v0.4.0

Choose a tag to compare

@hardbyte hardbyte released this 01 Aug 20:53
· 18 commits to main since this release

πŸš€ CLI Interface

  • Command-line tool: cel command now available after installation
  • Interactive REPL: Enhanced terminal experience with syntax highlighting, auto-completion, and command history
  • Multiple output formats: JSON, pretty tables, Python repr, and auto-detection
  • File processing: Batch evaluation of expressions from files
  • Context loading: JSON context files for complex evaluations

Command-line usage

$ cel '1 + 2'                           # β†’ 3
$ cel --interactive                     # Launch REPL
$ cel 'age >= 21' --context user.json  # Context from file

πŸ§ͺ Testing

  • 200+ tests: Complete coverage of all CEL features and edge cases
  • 35 new CLI tests: Formatter, REPL, file operations, and integration testing
  • Performance verification: Microsecond-level evaluation benchmarks
  • Error handling tests: Parser errors, type errors, and edge cases

πŸ”§ Technical Improvements

CEL Interpreter Update

  • cel-interpreter: 0.9.0 β†’ 0.10.0 (enhanced CEL specification compliance)

PyO3 0.25.0 Migration

  • Modern API: Migrated from deprecated IntoPy to IntoPyObject<'py> trait
  • Better error handling: Improved type conversion with proper lifetime management
  • Enhanced type safety: New conversion system with comprehensive error propagation
  • Graceful degradation: Parser panics converted to proper PyValueError exceptions

Documentation

  • Comprehensive Python-facing documentation with examples and type hints
  • Context class: Detailed docstrings for all methods with usage examples

πŸ“¦ Dependencies

  • pyo3: 0.22.6 β†’ 0.25.0
  • cel-interpreter: 0.9.0 β†’ 0.10.0
  • log: 0.4.22 β†’ 0.4.27
  • chrono: 0.4.38 β†’ 0.4.41
  • pyo3-log: 0.11.0 β†’ 0.12.1

Full Changelog: v0.3.1...v0.4.0