ltk_modpkg 0.9.2

League Toolkit mod package (.modpkg) reader/writer and utilities
Documentation
# 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]

## [0.9.2]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.9.1...ltk_modpkg-v0.9.2 - 2026-08-30

### Other

- updated the following local packages: ltk_hashtable

## [0.9.1]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.9.0...ltk_modpkg-v0.9.1 - 2026-08-28

### Added

- add embedded hashtable support

## [0.9.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.8.0...ltk_modpkg-v0.9.0 - 2026-08-27

### Added

- [**breaking**] drive an archive import and let it say where it writes

## [0.8.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.7.0...ltk_modpkg-v0.8.0 - 2026-08-26

### Other

- Merge pull request #194 from LeagueToolkit/feat/ltk-wad-0.5
- *(modpkg)* [**breaking**] rename WadHash to WadNameHash

## [0.7.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.6.0...ltk_modpkg-v0.7.0 - 2026-08-25

### Added

- better mod archive and overlay API surface
- [**breaking**] implement project packer
- implement modignore file
- [**breaking**] add support for license files

### Fixed

- [**breaking**] stop hiding error causes behind category messages
- [**breaking**] store readme and license as bytes, not lossy UTF-8

### Other

- *(deps)* bump ltk_io_ext
- Merge pull request #186 from LeagueToolkit/refactor/overlay-error-variants
- *(ltk_modpkg)* move proptest and tempfile to dev-dependencies
- [**breaking**] add PackageFormat, drop duplicated helpers
- [**breaking**] rework ltk_mod_project errors and paths
- [**breaking**] tidy error variant names and Display strings
- [**breaking**] stop stringifying config and version errors
- [**breaking**] carry InvalidSlugError on PackError::InvalidLayerName
- [**breaking**] give thumbnail failures a real error type
- [**breaking**] keep third-party error types out of the public API
- [**breaking**] seal the public error API
- [**breaking**] validate layer names through a Slug newtype
- [**breaking**] add ChunkPath, replacing hash_chunk_name
- [**breaking**] replace the packer's path wrappers with extension traits
- [**breaking**] move requested_compression onto ModpkgCompression

## [0.6.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.5.0...ltk_modpkg-v0.6.0 - 2026-07-03

### Added

- *(ltk_overlay)* [**breaking**] apply string overrides to localized stringtables

### Other

- Merge pull request #166 from LeagueToolkit/feat/string-override-application

## [0.5.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.4.0...ltk_modpkg-v0.5.0 - 2026-04-14

### Added

- *(ltk_modpkg)* project packer api

## [0.4.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.3.3...ltk_modpkg-v0.4.0 - 2026-04-14

### Added

- *(ltk_mod_project, ltk_fantome, ltk_modpkg, ltk_overlay)* add display_name to mod project layer struct

## [0.3.3]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.3.2...ltk_modpkg-v0.3.3 - 2026-03-28

### Added

- *(ltk_modpkg)* optimize modpkg chunk processing

## [0.3.2]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.3.1...ltk_modpkg-v0.3.2 - 2026-03-18

### Fixed

- *(ltk_modpkg)* normalize backslashes to forward slashes in chunk path handling

### Other

- *(ltk_modpkg)* add tests for path normalization and backslash handling
- *(ltk_modpkg)* introduce normalize_chunk_path utility for consistent path handling

## [0.3.1]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.3.0...ltk_modpkg-v0.3.1 - 2026-03-13

### Fixed

- *(ltk_modpkg)* expose error module for public access

## [0.3.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.2.0...ltk_modpkg-v0.3.0 - 2026-02-21

### Added

- *(ltk-mod-project)* add support for tags, champions, and maps in mod project configuration

## [0.2.0]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.1.5...ltk_modpkg-v0.2.0 - 2026-02-18

### Added

- *(ltk-manager)* clean up library backend
- add locale awareness to string overrides
- add per-layer string overrides support (#83, #84)
- support animated thumbnails
- titlebar navigation

### Other

- reduce proptest cases from 256 to 8 for test_metadata_roundtrip
- run cargo fmt on locale-aware string overrides code

### Added

- add `string_overrides` field to `ModpkgLayerMetadata` for per-layer string text customization
- bump metadata schema version from 1 to 2; v1 metadata remains backward-compatible

## [0.1.5]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.1.4...ltk_modpkg-v0.1.5 - 2025-12-02

### Added

- use camino in modpkg crate
- add README.md support as a meta chunk in ModpkgBuilder
- add mod core crate

### Fixed

- improve error handling in build_chunk_from_file by using io::Error::other

### Other

- update README.md to clarify crate descriptions and add ltk-manager details

## [0.1.4]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.1.3...ltk_modpkg-v0.1.4 - 2025-11-30

### Added

- implement global configuration management with TOML

### Other

- update licenses across multiple crates to MIT or Apache-2.0

## [0.1.3]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.1.2...ltk_modpkg-v0.1.3 - 2025-11-21

### Other

- update release-plz configuration and add changelogs for new crates

## [0.1.2]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.1.1...ltk_modpkg-v0.1.2 - 2025-11-21

### Added

- add layers metadata structure and update ModpkgMetadata to include layers
- update version handling in metadata to use semver::Version
- add schema version to metadata
- add layers to metadata
- better meta handling
- add distributor info to metadata
- use metadata chunk
- *(modpkg)* msgpack metadata

### Fixed

- minor clone stuff

### Other

- update c# modpkg metadata object for consistency
- clean up builder code

## [0.1.1]https://github.com/LeagueToolkit/league-mod/compare/ltk_modpkg-v0.1.0...ltk_modpkg-v0.1.1 - 2025-09-29

### Added

- add check for update

### Other

- add quick install instructions for league-mod using PowerShell

## [0.1.0]https://github.com/LeagueToolkit/league-mod/releases/tag/ltk_modpkg-v0.1.0 - 2025-09-28

### Added

- add initial winget stuff

### Fixed

- typo

### Other

- update Cargo.toml files for pkgs with metadata
- prepare repo for crates releases
- add ci workflow
- add release-plz
- add readme