From 16858e263e42ad9860b54adcf38df8ae02f4dff9 Mon Sep 17 00:00:00 2001 From: thomaslaurenson Date: Mon, 21 Sep 2026 18:11:02 +1200 Subject: [PATCH 1/3] Added hash-library and the cmake version to the build requirements --- docs/building.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/building.md b/docs/building.md index da554d3..7bcd190 100644 --- a/docs/building.md +++ b/docs/building.md @@ -2,10 +2,11 @@ ## Requirements -- cmake +- cmake 3.25 or later - C++ 17 compiler - StormLib (provided as Git Submodule) - CLI11 (provided as Git Submodule) +- hash-library (provided as Git Submodule) ## Linux From 2c96a923b41c19f05bfbee03252c14e781b20cbd Mon Sep 17 00:00:00 2001 From: thomaslaurenson Date: Mon, 21 Sep 2026 18:11:35 +1200 Subject: [PATCH 2/3] Added a make target for the docs changelog and synced the missing entries --- Makefile | 8 ++++++++ docs/changelog.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/Makefile b/Makefile index 6b21c54..7140c1c 100644 --- a/Makefile +++ b/Makefile @@ -136,6 +136,14 @@ ci: configure build fmt_check lint_cpp test ## Run all CI checks locally .PHONY: clean clean: build_clean test_clean docs_clean ## Remove all build, test, and docs artifacts +# GENERATE +# The docs site builds from the committed copy, so this is run deliberately and the +# result committed rather than being made a prerequisite of docs_build +.PHONY: gen_docs_changelog +gen_docs_changelog: ## Copy CHANGELOG.md into the docs site + @cp CHANGELOG.md docs/changelog.md + @echo "[*] Updated docs/changelog.md" + # GET .PHONY: get_project_version get_project_version: ## Print the project version from CMakeLists.txt diff --git a/docs/changelog.md b/docs/changelog.md index 627c9e1..9fdcd90 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,39 @@ # Changelog +## 0.10.2 - 2026-07-03 + +### Fixed + +- `verify` incorrectly reporting success for a tampered archive +- `verify` failure messages now clarify whether a signature is missing or invalid +- `add` overwrite flag not always working as expected +- Archive size incorrectly reported for large archives +- File sizes shown as negative for large files + +### Updated + +- Simplified how strong archive signatures are read internally + +## 0.10.1 - 2026-07-03 + +### Added + +- Command completion for common shells (bash, zsh, fish and powershell) + +### Fixed + +- Memory leak in read subcommand +- Inconsistencies in documentation + +### Updated + +- Code style to conform to Google CPP style with slight variations +- StormLib dependency for a variety of fixes + +### Thanks + +- Thanks to @sjoblomj for the contributions in this release + ## 0.10.0 - 2026-06-07 ### Added From bacfde09009b34de2953e6a6a5be32a8cbda6114 Mon Sep 17 00:00:00 2001 From: thomaslaurenson Date: Mon, 21 Sep 2026 18:12:08 +1200 Subject: [PATCH 3/3] Added the 0.11.0 changelog entry and bumped the project version --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ CMakeLists.txt | 2 +- docs/changelog.md | 29 +++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9fdcd90..7fd9853 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,34 @@ # Changelog +## 0.11.0 - 2026-09-21 + +### Added + +- Add rename subcommand to rename a file inside an archive + +### Changed + +- Compare timestamps and checksums when updating files, not size alone +- Accept the update flag for single files as well as directories +- Reject the update and overwrite flags on add when both are given + +### Fixed + +- Report filesystem errors instead of aborting when a path cannot be resolved +- Add to and create archives on volumes that cannot report real paths +- Block path traversal in extract before anything is written to disk + +### Updated + +- Update StormLib for a variety of fixes +- Add hash-library as a submodule dependency +- Build with StormLib's bundled compression libraries instead of system packages +- Require CMake 3.25 or later + +### Thanks + +- Thanks to @sjoblomj for the contributions in this release + ## 0.10.2 - 2026-07-03 ### Fixed diff --git a/CMakeLists.txt b/CMakeLists.txt index b4a4cc9..078ed20 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.25) -project(MPQCLI VERSION 0.10.2) +project(MPQCLI VERSION 0.11.0) # Options option(BUILD_MPQCLI "Build the mpqcli CLI app" ON) diff --git a/docs/changelog.md b/docs/changelog.md index 9fdcd90..7fd9853 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,34 @@ # Changelog +## 0.11.0 - 2026-09-21 + +### Added + +- Add rename subcommand to rename a file inside an archive + +### Changed + +- Compare timestamps and checksums when updating files, not size alone +- Accept the update flag for single files as well as directories +- Reject the update and overwrite flags on add when both are given + +### Fixed + +- Report filesystem errors instead of aborting when a path cannot be resolved +- Add to and create archives on volumes that cannot report real paths +- Block path traversal in extract before anything is written to disk + +### Updated + +- Update StormLib for a variety of fixes +- Add hash-library as a submodule dependency +- Build with StormLib's bundled compression libraries instead of system packages +- Require CMake 3.25 or later + +### Thanks + +- Thanks to @sjoblomj for the contributions in this release + ## 0.10.2 - 2026-07-03 ### Fixed