# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- `dx-serializer` layer on top of the TOON-compatible core:
  - compact tool syntax
  - compact conversation syntax
  - packed alias-and-positional tool-calling DSL for repeated local tool loops
  - alias-free packed tool results inferred from prior call ids
  - shared literal table references for repeated long strings
  - cost-based literal packing so short repeated strings can pack when profitable
  - packed call-id headers for long or unsafe runtime call-id aliases
  - compact short-form headers `@p`, `@l`, `@i`, and `@dxs`
  - scalar `tool=value` and `result=value` packed forms for one-field payloads
  - ultra-short `>#` / `<#` packed turn markers
  - single-tool packed traces can omit the tool alias entirely
  - OpenAI function-tool JSON conversion
  - Anthropic client-tool JSON conversion
  - Gemini function declaration conversion
  - MCP tool registry conversion
  - inline scalar tool-call and tool-result syntax
- library exports for:
  - `AgentToolCatalog`
  - `AgentToolSpec`
  - `SchemaField`
  - `SchemaType`
  - `AgentConversation`
  - `AgentTurn`
  - `AgentRole`
  - `ToolResultStatus`
- new example coverage for `dx-serializer` syntax
- dedicated `docs/DX_SERIALIZER.md`
- dedicated `docs/INTEGRATIONS.md`
- dedicated `docs/PRODUCTION_READY.md`
- provider-target convenience exports for OpenAI, Anthropic, Gemini, and MCP
- TUI polish for safer new-buffer behavior and serializer-first command naming

## [0.4.4](https://github.com/toon-format/toon-rust/compare/v0.4.3...v0.4.4) - 2026-03-04

### Fixed

- array elements starting with number followed by text parsed as string ([#57](https://github.com/toon-format/toon-rust/pull/57))

## [0.4.3](https://github.com/toon-format/toon-rust/compare/v0.4.2...v0.4.3) - 2026-02-16

### Fixed

- inline array parser ([#54](https://github.com/toon-format/toon-rust/pull/54))

## [0.4.2](https://github.com/toon-format/toon-rust/compare/v0.4.1...v0.4.2) - 2026-02-16

### Fixed

- fixes bugs and spec alignment ([#52](https://github.com/toon-format/toon-rust/pull/52))

## [0.4.1](https://github.com/toon-format/toon-rust/compare/v0.4.0...v0.4.1) - 2025-12-20

### Added

- gate cli features ([#41](https://github.com/toon-format/toon-rust/pull/41))

### Other

- standardize CONTRIBUTING.md structure
- remove community health files (now using org defaults)
- update spec compliance issue-template

## [0.4.0](https://github.com/toon-format/toon-rust/compare/v0.3.7...v0.4.0) - 2025-11-25

### Added

- update to TOON v3.0 spec (breaking change) ([#36](https://github.com/toon-format/toon-rust/pull/36))

## [0.3.7](https://github.com/toon-format/toon-rust/compare/v0.3.6...v0.3.7) - 2025-11-21

### Fixed

- *(decode)* Handle unquoted strings with parentheses and preserve spacing ([#34](https://github.com/toon-format/toon-rust/pull/34))

### Other

- update TUI documentation ([#31](https://github.com/toon-format/toon-rust/pull/31))

## [0.3.6](https://github.com/toon-format/toon-rust/compare/v0.3.5...v0.3.6) - 2025-11-20

### Added

- implement tui with repl  ([#29](https://github.com/toon-format/toon-rust/pull/29))

## [0.3.5](https://github.com/toon-format/toon-rust/compare/v0.3.4...v0.3.5) - 2025-11-18

### Other

- incorrect delimiter parsing for non-active delimiters in arrays ([#24](https://github.com/toon-format/toon-rust/pull/24))

## [0.3.4](https://github.com/toon-format/toon-rust/compare/v0.3.3...v0.3.4) - 2025-11-17

### Other

- Update PR template and contributing guide for Rust ([#25](https://github.com/toon-format/toon-rust/pull/25))

## [0.3.3](https://github.com/toon-format/toon-rust/compare/v0.3.2...v0.3.3) - 2025-11-14

### Added

- implement generic encode and decode ([#22](https://github.com/toon-format/toon-rust/pull/22))

## [0.3.2](https://github.com/toon-format/toon-rust/compare/v0.3.1...v0.3.2) - 2025-11-13

### Other

- standardize license holders

## [0.3.1](https://github.com/toon-format/toon-rust/compare/v0.3.0...v0.3.1) - 2025-11-12

### Fixed

- *(decode)* prevent sibling fields from being added to nested objects
- *(encode)* correct indentation for nested objects in list items

### Other

- update inline doc
- update changelog

## [0.3.0](https://github.com/toon-format/toon-rust/compare/v0.2.4...v0.3.0) - 2025-11-11

### Added

- implement key folds and expansion in cli
- [**breaking**] implement TOON Spec v2.0 with v1.5 optional features

### Other

- update readme
- update readme

## [0.2.4](https://github.com/toon-format/toon-rust/compare/v0.2.3...v0.2.4) - 2025-11-11

### Fixed

- encoder handling arrays, tabular rows and objects
- validation and parser to handle all the edge cases

### Other

- update ci
- cargo lint
- add fixtures test
- update test assertions
- update string utils
- add spec fixtures

## [0.2.3](https://github.com/toon-format/toon-rust/compare/v0.2.2...v0.2.3) - 2025-11-07

### Fixed

- readme license section

## [0.2.2](https://github.com/toon-format/toon-rust/compare/v0.2.1...v0.2.2) - 2025-11-07

### Added

- implement toon cli and update readme

### Fixed

- cargo clippy
- quoting context update
- update strict validations

### Other

- update changelog

## [0.2.1](https://github.com/toon-format/toon-rust/compare/v0.2.0...v0.2.1) - 2025-11-06

### Other

- update release workflow ([#8](https://github.com/toon-format/toon-rust/pull/8))
