Changelog

This changelog is generated automatically from GitHub Releases.

v0.5.0: TOML 1.0 Complete + Partial TOML 1.1

2026-01-11 ยท GitHub

Package Files

toml.mojopkg - Compiled with Mojo 0.26.1.0.dev2026010605 (9f204ce1)

โš ๏ธ Compatibility Note: This .mojopkg file is compiled with the Mojo version shown above. It may not work with different Mojo versions. For maximum compatibility, use source installation (git submodule or direct copy).

v0.4.0 - TOML Writer Release ๐Ÿ”ฅ

2026-01-11 ยท GitHub

Package Files

toml.mojopkg - Compiled with Mojo 0.26.1.0.dev2026010605 (9f204ce1)

โš ๏ธ Compatibility Note: This .mojopkg file is compiled with the Mojo version shown above. It may not work with different Mojo versions. For maximum compatibility, use source installation (git submodule or direct copy).

v0.3.0 - Quality and Performance

2026-01-07 ยท GitHub

๐ŸŽ‰ Quality and Performance Release

mojo-toml v0.3.0 brings critical bug fixes, comprehensive testing improvements, performance documentation, and enhanced examples. All 96 tests passing!


๐Ÿš€ Key Highlights

Critical Bug Fixes

  • โœ… Proper dotted key support - a.b.c = "value" now creates nested structures correctly
  • โœ… Duplicate key detection - Raises errors when duplicate keys are found
  • โœ… Enhanced error messages - All errors now include line and column context
  • โœ… Named type constants - Replaced magic numbers with TomlValueType struct using comptime

Parser Improvements

  • ๐Ÿ”„ Parser.reset() method for parser instance reusability
  • ๐Ÿ› ๏ธ Helper methods - Extracted copy_path() to eliminate code duplication
  • ๐Ÿ“ Better documentation - Enhanced comments explaining Mojoโ€™s ownership model

Performance & Benchmarking

  • โšก Comprehensive benchmarks - New benchmark suite in benchmarks/benchmark_parser.mojo
  • ๐Ÿ“Š Performance documentation - docs/PERFORMANCE.md with detailed analysis
  • ๐Ÿ”ข Measured performance:
    • Simple parse: 26ฮผs (37,000 parses/sec)
    • Real pixi.toml: 2ms (446 parses/sec)
    • Table access: 10ฮผs overhead (negligible)

Testing Improvements

  • ๐Ÿ“ Reorganized tests - 10 logical test files (was 7)
  • ๐Ÿท๏ธ Better naming - test_basic.mojo โ†’ test_lexer.mojo
  • โœ… More tests - 96 tests total (up from 79)
  • ๐Ÿ“š Documentation - New docs/TEST_ORGANIZATION.md guide

Test Files: 1. test_lexer.mojo (25) - Lexer/tokenization 2. test_parser.mojo (10) - Parser core 3. test_real_world.mojo (4) - Real files 4. test_fixtures.mojo (5) - Complex examples 5. test_arrays.mojo (14) - Array parsing 6. test_inline.mojo (13) - Inline tables 7. test_tables.mojo (8) - Table headers 8. test_dotted_keys.mojo (7) - Dotted keys [NEW] 9. test_validation.mojo (7) - Error detection [NEW] 10. test_parser_reset.mojo (3) - Parser API [NEW]

Enhanced Examples

  • ๐ŸŽจ Quickstart example - examples/quickstart.mojo mirrors README
  • ๐Ÿ“Š Enhanced parse_pixi.mojo - Comprehensive configuration reporting
  • ๐Ÿงช Test examples - examples/test_quickstart.mojo demonstrates testing

Project Organization

  • ๐Ÿ“‚ Organized docs - Moved documentation to docs/ directory
  • ๐Ÿšซ Proper .gitignore - Excludes build artifacts and binaries
  • ๐Ÿงน Clean repository - Removed accidentally committed binaries

๐Ÿ“ Technical Details

Dotted Key Implementation

# Now properly creates nested structure:
a.b.c = "value"  
# Results in: {a: {b: {c: "value"}}}

Duplicate Key Detection

key = "value1"
key = "value2"  # Error: "Duplicate key: key"

Error Context

Error: Unexpected token at line 5, column 12

๐Ÿ”„ Migration

No breaking changes! All enhancements are backward compatible.


๐Ÿ“ฆ Installation

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

# Direct copy
git clone https://github.com/databooth/mojo-toml
cp -r mojo-toml/src/toml your-project/lib/toml

# Coming soon: modular-community channel
pixi add mojo-toml

๐Ÿ™ Acknowledgements


See CHANGELOG.md for complete details.

v0.2.0: Nested Table Implementation ๐Ÿ”ฅ

2026-01-07 ยท GitHub

Package Files

toml.mojopkg - Compiled with Mojo 0.26.1.0.dev2026010605 (9f204ce1)

โš ๏ธ Compatibility Note: This .mojopkg file is compiled with the Mojo version shown above. It may not work with different Mojo versions. For maximum compatibility, use source installation (git submodule or direct copy).