# 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.1.4](https://github.com/cavivie/xmpkit/compare/v0.1.3...v0.1.4) - 2026-06-16
### Added
- *(web)* migrate to Vite+
### Fixed
- *(svg)* adapt attribute normalization for quick-xml 0.40
- *(web)* use exported wasm options type
- *(core)* correct EXIF Aux prefix and add EXIF 2.32 Extension namespace
- *(core)* support attributes-as-properties on nested elements and array items
- *(core)* fix nested structure parsing and metadata bugs.
### Other
- add semantic PR title check
- Fix RDF Description parsing and resolve clippy warnings
- *(deps)* (deps): bump the vue-ecosystem group across 1 directory with 3 updates
- *(deps)* (deps): update quick-xml requirement from 0.39 to 0.40
- *(deps)* (deps): bump the other-dependencies group across 1 directory with 2 updates
- *(deps)* (deps-dev): bump the testing group across 1 directory with 3 updates
- *(deps)* (deps-dev): bump the build-tools group across 1 directory with 3 updates
- *(deps)* (deps): update lopdf requirement from 0.40 to 0.41
- *(deps)* (deps-dev): bump the linting group across 1 directory with 3 updates
- Refactor RDF parser in parser.rs
- *(core)* fix clippy and fmt lint warnings
- *(ci)* (deps): bump actions/upload-pages-artifact from 3 to 5
- *(deps)* (deps): bump the build-tools group in /web with 5 updates ([#82](https://github.com/cavivie/xmpkit/pull/82))
- *(deps)* (deps-dev): bump the testing group across 1 directory with 3 updates ([#86](https://github.com/cavivie/xmpkit/pull/86))
- *(deps)* (deps): bump the vue-ecosystem group in /web with 3 updates
- *(ci)* (deps): bump actions/deploy-pages from 4 to 5
- *(ci)* (deps): bump openharmony-rs/setup-ohos-sdk from 0.2 to 1.0
- *(deps)* (deps-dev): bump the testing group in /web with 2 updates
- *(deps)* (deps-dev): bump eslint-plugin-playwright
- *(deps)* (deps): bump element-plus
- *(ci)* (deps): bump actions/configure-pages from 5 to 6
- *(deps)* (deps): update lopdf requirement from 0.39 to 0.40
## [0.1.3](https://github.com/cavivie/xmpkit/compare/v0.1.2...v0.1.3) - 2026-03-20
### Added
- enhance XmpMeta serialization with namespace support and add namespace map retrieval in parser
### Fixed
- *(dep)* add wasm_js feature of lopdf(0.37 and higher)
- *(ci)* add permissions for contents in publish workflow ([#58](https://github.com/cavivie/xmpkit/pull/58))
### Other
- *(deps)* (deps-dev): bump the testing group across 1 directory with 3 updates ([#73](https://github.com/cavivie/xmpkit/pull/73))
- *(deps)* (deps-dev): bump the build-tools group across 1 directory with 5 updates
- *(deps)* (deps-dev): bump the linting group across 1 directory with 3 updates
- *(deps)* (deps): bump the vue-ecosystem group across 1 directory with 2 updates
- *(deps)* (deps): update lopdf requirement from 0.38 to 0.39
- *(deps)* (deps): update quick-xml requirement from 0.38 to 0.39
- *(deps)* (deps): bump element-plus
- Fix formatting
- Fix infinite loop when reading invalid MP4 boxes
- Add serde::Serialize to XmpValue
- Add a way to get all properties
## [0.1.2](https://github.com/cavivie/xmpkit/compare/v0.1.1...v0.1.2) - 2025-12-15
### Added
- refactor BMFF module and add HEIF/AVIF support ([#57](https://github.com/cavivie/xmpkit/pull/57))
- *(files)* add RIFF module with WAV and AVI support
- *(svg)* add SVG file format support
- *(psd)* add PSD/PSB file format support
- *(webp)* add WebP file format support
- *(mpeg4)* add native metadata reconciliation
- *(mpeg4)* add .mov extension support
- add PDF file format support using lopdf
### Fixed
- *(psd)* use is_multiple_of() for clippy 1.91
- add for_update() option to WASM bindings and update docs
- parse XMP without reading whole file into memory
- *(tiff)* correct XMP data offset calculation and write order
- *(mp3)* update tag size when writing XMP to existing ID3v2 tag
- remove extra byte from GIF magic trailer
- mainly fix incorrect title logo url address
### Other
- *(files)* optimize can_handle following C++ SDK patterns
- rename mp4 feature to mpeg4
- Revert "refactor: rename mp4 feature to mpeg4"
- rename mp4 feature to mpeg4
- *(deps)* (deps): bump vue-i18n in /web in the vue-ecosystem group
- *(deps)* (deps-dev): bump vue-tsc in /web in the build-tools group
- *(deps)* (deps-dev): bump the testing group in /web with 2 updates
- *(deps)* (deps-dev): bump eslint-plugin-vue
- *(deps)* (deps): bump element-plus
- optimize dependabot configuration
- add Cargo.lock to .gitignore (library best practice)
- *(deps)* bump eslint-plugin-playwright from 2.3.0 to 2.4.0 in /web
- *(deps)* bump @types/node from 24.10.1 to 24.10.2 in /web
- *(deps)* bump @vitest/eslint-plugin from 1.5.0 to 1.5.2 in /web
- *(deps)* bump vitest from 4.0.13 to 4.0.15 in /web
- *(deps)* bump vite from 7.2.4 to 7.2.7 in /web
- *(deps)* (deps): bump criterion from 0.8.0 to 0.8.1
- *(deps)* (deps): bump criterion from 0.7.0 to 0.8.0
- *(deps)* bump vue from 3.5.24 to 3.5.25 in /web
- *(deps)* bump vue-i18n from 11.1.12 to 11.2.1 in /web
- *(deps)* bump vitest from 4.0.10 to 4.0.13 in /web
- *(deps)* bump vite from 7.2.2 to 7.2.4 in /web
- *(deps)* bump @vitest/eslint-plugin from 1.4.3 to 1.5.0 in /web
- add comprehensive tests for all file formats
- add tests to GIF module
- *(ci)* (deps): bump actions/checkout from 5 to 6
- update document ref and license copyright
- make quick start document more useful
- adapt wasm web ui for mobile devices
## [0.1.1](https://github.com/cavivie/xmpkit/compare/v0.1.0...v0.1.1) - 2025-11-19
### Fixed
- incorrect repository url in cargo toml
### Other
- bump criterion from 0.5 to 0.7
- *(deps)* bump vitest from 3.2.4 to 4.0.10 in /web
- *(deps)* bump @vitejs/plugin-vue from 6.0.1 to 6.0.2 in /web
- improve dependabot commit message format
- bump actions/upload-pages-artifact from 3 to 4
- Initial Commit