Releases: juraj-hrivnak/Pakku
Releases · juraj-hrivnak/Pakku
v0.24.1
v0.24.0
Highlights
- Fixed a major bug where projects were not being exported to modpack manifests.
- Implemented the
sync
command.- This command can be used to sync your modpack with local project files.
- Limited max number of retries for
fetch
command to 3 instead of 10.
Other
- Made most of the commands print help on empty args and added a spinner progress bar to some of them.
- Projects will now be compared with lowercase and white space filtered project names and their project file hashes.
- Trailing commas are now allowed in the config file and lock file.
- Added a better error message to
ProjNotFound
errors. .jar.meta
is now allowed extension when removing old files onfetch
.- Created tests for CurseForge and Modrinth modpack models.
v0.23.0
- Fixed that updating GitHub projects was not working properly.
Technical Notes
- Implemented DSL builder for export profiles.
- Implemented error severity and made the
AlreadyAdded
error only a notice.
v0.22.0
Highlights
- When removing a project, Pakku will always ask whether you want to remove each of its dependencies.
- Added glob pattern support for specifying overrides, server_overrides and client_overrides, in #70.
- This new implementation is optimized to work with large modpacks.
- For more info see v0.20.0.
Fixes
- Removed hyperlink from exported modpack file path messages. They didn't work properly on all platforms.
API
- Breaking change: Refactored action errors to separate data classes.
- Created a mini framework for simplifying tests.
v0.21.0
- Improved projects updating, by @SettingDust in #49.
- Projects now prefer their current loaders of project files when updating.
- Added option the specify the project type when adding projects, by @SettingDust in #54.
- Fixed duplicated project files when updating.
- Updated Exporting a Modpack docs page and improved the Managing Projects docs page.
v0.20.2
- Fixed an issue that caused project files from CurseForge to be outdated due to incorrect release date parsing.
v0.20.1
v0.20.0
What's new?
- Implemented
glob
pattern support for specifying overrides. by @SettingDust in #43, and @juraj-hrivnak.- An asterisk "
*
" matches anything except a slash. The character "?
" matches any one character except "/
". The range notation, e.g.[a-zA-Z]
, can be used to match one of the characters in a range. - Two consecutive asterisks ("
**
") means match in all directories;<directory>/**
means match everything inside the directory. - An optional prefix "
!
" negates the pattern; any matching file included by a previous pattern will become excluded again.
- An asterisk "
- Implemented retry logic for the
fetch
command.- Use
pakku fetch --retry
to retry downloading when it fails, with an optional number of times to retry. (Defaults to 2.)
- Use
- Added support for specifying a different version of an already added project using the
add
command. - Added simple colored diff for showing changes to file names when using the
status
command. - The newest file from all providers is now preferred when downloading, by @SettingDust in #41.
v0.19.0
Highlights
- Added the
cfg
command for configuring properties of the config file, by @SettingDust in #29.- This change deprecated the
pakku set [<projects>]
argument. Use the config file (pakku.json
) or thecfg prj
subcommand instead.
- This change deprecated the
- Implemented configurable subpaths for projects and configurable paths for project types.
- Implemented configurable project aliases, by @SettingDust in #34.
- Added support for data packs.
- Added better support for multi-loader modpacks, by @SettingDust in #36 and #37. (Sinytra Connector support.)
- Project files are now also sorted in order of loaders in the lock file.
- Rewritten
fetch
command's deleting algorithm to account for subpaths.- Saves & screenshots are always excluded.
- Improved the UI of the
status
command.- Now it's much nicer and shows you changes to project files.
Fixes
- Fixed ConcurrentModificationException on running
fetch
command in some cases. - Fixed setting loaders using the
set
command when projects have unusual loaders.
Configurable Subpaths
There is now a new subpath
property for projects that you configure in the config file or using the cfg prj
subcommand.
Config file - syntax:
{
"projects": {
"<project>": {
"subpath": "<path>"
}
}
}
Config file - example usage:
{
"projects": {
"sodium-extras": {
"subpath": "optimize.client"
},
"iris": {
"subpath": "decoration.client"
}
}
}
Configurable Paths for Project Types
There is now a variable for each project type that you configure in the config file or using the cfg
command.
Config file - syntax:
{
"paths": {
"mods": "<path>",
"resource_packs": "<path>",
"data_packs": "<path>",
"worlds": "<path>",
"shaders": "<path>"
}
}
Project Aliases
There is now a new aliases
property of type array for projects that you configure in the config file or using the cfg prj
subcommand.
Config file - syntax:
{
"projects": {
"<project>": {
"aliases": ["<alias>"]
}
}
}
Config file - example usage:
{
"projects": {
"forgified-fabric-api": {
"aliases": ["fabric-api"]
}
}
}
API
- Updated Clikt to
5.0.0
& Mordant to3.0.0
. - Improved docs generation with better subcommand support.
v0.18.2
- Fixed error when GitHub license URL is
null
.