- Potential path traversal attack in extract subcommand
- Empty MPQ archive name when directory supplied with trailing slash
- Bug where MPQ internal files were added with create command
- Signature being added automatically when not requested
- Potential DWORD overflow in
AddFiles
- The
create subcommand now supports a single file
- The
add and create subcommands have additional arguments for specifiying the file location in the MPQ archive (name-in-archive and dir-in-archive)
- The
add subcommand can now overwrite existing files if requested (overwrite)
- Thanks to @sjoblomj for adding more features and fixes in this release
- Game profile support for
create and add subcommands via -g/--game option
- Game profiles for Diablo, StarCraft, Warcraft, WoW, and more
- Game setting override options for
create subcommand
- Compression override options for
add subcommand
- Support for unfamiliar/unknown locales via raw hex LCID
- Additional built-in locales:
ptBR, esMX, ptPT
- Subcommands now properly verify locale before operating on files
- Error messages now include locale context in
remove, extract, and read
- MPQ archives are now properly closed across all subcommands
- Non-zero exit codes returned on failure in
extract and remove
list subcommand now shows long output when properties are requested
- Improved locale printing and display throughout
- A big thank you to @sjoblomj for adding so many features in this release
- Proper support for locales in MPQ files
- Fixed bug where MPQ signature only printed on success
- Long (detailed) list format to output ISO 8601 timestamps
- Message prefix format consistency
- Filename added to program output
- Added simple wrapper around verify command
- Show help menu when no arguments provided
- Support for
add subcommand to have path inside MPQ archive
- Bug in
add subcommand when exceeding max file count
- Bug in
create subcommand resulting in incorrect max file count
- Bug in Dockerfiles resulting in missing commit hash from version
- Linux binaries for amd64 and arm64
- Linux binaries built with musl and glibc
- Install script for Linux to provided better binary download options
- Linux binary release naming convention
- Added print raw bytes for
read and verify subcommands
- Tests for
read and verify subcommands
- Ability to print hex or plaintext in
read and verify subcommands
- Removed messages when printing signature value
- Added
add/remove subcommands working
- Added tests for
add/remove subcommands
- Added
max-files property to info subcommand
- Change for default maximum file count when creating MPQ archives
- Added detailed (long) listing
- Updated create subcommand to always include attributes
- Updated Info function to support archive/file property fetching
- Added tests for
extract subcommand
- Added dependabot configuration for Python and Docker
- Fixed deprecated Windows Action running to Server 2022
- Updated readme and help menu to match application functionality
- Added the
read subcommand
- Added tests for
read subcommand
- Added new helper functions to print ASCII or hexidecimal output
- Fixed line endings in Windows pytest cases
- Added the
verify subcommand
- Included argument to print digital signature
- Added ability to sign archive when creating MPQ
- Added tests for
verify subcommand
- Refactored
create subcommand tests
- Refactored
info subcommand
- Added test for
info subcommand
- Updated tests to be multi-platform (Windows)
- Removed exe patch split functionality
- Added Dockerfile
- Added Docker build and release workflows
- Added
add and remove subcommand placeholders
- Added
about subcommand
- Added Python testing environment
- Added tests for
list subcommand
- Added test workflow
- Added Windows binary build to releases
- External listfile support for
list and extract by @sjoblomj
- Added functions for add and remove files
- Fixed path extraction on Linux to create nested folder structure
- Fixed path extraction on Linux to create nested folder structure
- Added
create subcommand
- Added download information to readme
- Improved Linux binary compatibility
- Improved Linux binary compatibility
- Added the
extract, verify and list subcommands
- Added
release.yml workflow for Linux binary