mojo-toml v0.5.0 ๐ŸŽ‰

Major release completing the TOML 1.0 specification and adding partial TOML 1.1 support!

Whatโ€™s New

โœ… TOML 1.0 - Fully Complete

  • Array-of-tables [[section]] syntax with full nesting support
  • Alternative number bases: hex (0xDEAD), octal (0o755), binary (0b1101)
  • All TOML 1.0 features now implemented

๐Ÿ”ฎ TOML 1.1 (Partial Support)

  • \xHH escape sequences for codepoints 0-255
  • \e escape for escape character (U+001B)

๐Ÿ“Š Benchmark System

  • Comprehensive performance testing with system info reporting
  • Compare mojo-toml vs Pythonโ€™s tomllib/tomli_w
  • Run with pixi run benchmark-mojo and pixi run benchmark-python
  • Auto-generated markdown reports with full machine specifications

๐Ÿงช Testing

  • 168 tests passing (127 parser + 41 writer)
  • Auto-discovery test runner
  • Full test coverage for all TOML 1.0 features

Performance

  • Real-world config files (pixi.toml) parse in ~2ms
  • 40K+ parses/sec for simple documents
  • Negligible 10ฮผs overhead per table access
  • Competitive with Python implementations

Installation

# Git submodule (recommended)
git submodule add https://github.com/databooth/mojo-toml vendor/mojo-toml
mojo -I vendor/mojo-toml/src your_app.mojo

See README.md for other installation methods.

Documentation

Breaking Changes

None - this release is fully backward compatible with v0.4.0.

Known Limitations

  • Datetime values are returned as ISO 8601 strings (native Mojo datetime support pending)
  • TOML 1.1 is only partially implemented (missing multiline inline tables and optional seconds)

Whatโ€™s Next

See ROADMAP.md for planned features in v0.6.0 and beyond.

Contributors

This release was made possible by contributions from the Mojo community and DataBooth.


Released: 2026-01-11 Tag: v0.5.0