All notable changes to this project will be documented in this file
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Downloading correct mod loader. When downloading from Modrinth, mod loaders like quilt and bukkit were removed instead of registered as unknown. #202
- CurseForge support, will be added again in v2.0. In the meantime, checkout Ferium for another minecraft mod manager.
- Dependencies are now installed automatically 🎉
--no-color
option to disable color output #141- Runtime cache to save on requests to Curse/Modrinth APIs
update
now skips downloading files if we already have the latest version #139- Improved the searching algorithm where the search term
entityculling
would previously return 0 results #56 - Now uses tealprint library which will automatically disable color and unicode when trying to output Unicode characters #141
- Crash when loading forge mods if they contained inline comments #146
- Crash if a mod from Modrith was missing file links #145
- Colored output continued to next messages #141
- Handles Ctrl-C by stopping the program without printing a stack trace. It can still break the program in an invalid state #140
- Now retries to fetch/download file 5 times before skipping #169
- Now identifies installed mods correctly by slug as well #149
- Can now search by slug on Modrinth #135. When searching on Modrinth include on their site modrinth.com/mods, searching by slug can return an empty result, so we now get the mod directly by slug.
- Fixed
--pretend
not printing error and actually showing a version number the mod would upgrade to #93
- Add official support for python 3.10 when installing with PIP #160
- Modrinth blocking user agent. Now uses a random latest user agent, let's see if this fixed the problem #150
- Doesn't save corrupt files that were downloaded, instead it keeps the old mod when updating #150
- Remove bold from
--version
#153 - Use random latest user agent for both Modrinth #150 and CurseForge
- Now displays an error if there was any issue downloading the mod file
- Calling Modrinth API resulted in crash due to old User Agent #150
- Can load forge mods with invalid TOML syntax #131
- Installing via slug now works correctly (saves the mod correctly in db) #32
- Don't remove mods that are up-to-date #81
- Don't use strict JSON parsing from API response #79
- Don't remove mods when running with
--pretend
#77
- Shorthand command for
minecraft-mod-manager
; you can now usemcman
ormmm
instead 🙂 #57
-
Can now download from multiple sites #27 and #68
- Because of this,
configure
command has changed; slugs are now set per-site and not globally. Example:configure dynmap=curse:dynmapforge,modrinth:dynmap
- Because of this,
-
Show a message why a mod wasn't installed if no versions were available #58
- Mod information is now loaded properly even if it contains character errors #60
- Mod information is now loaded properly even if JSON file is not strict #53
- Doesn't remove old jar file #54
- Get application version using
--version
#49
- Can now install mods that don't specify a mod loader #35
- Reinstalling a mod after deleting it manually #33
- Using
minecraft-mod-manager list
now doesn't display site if none is set - Using
minecraft-mod-manager list
didn't align properly if no slug was set - Changed
Alias
toSlug
when usinglist
command (to be consistent)
- The published version didn't contain all source code. I.e., it didn't run.
- Improved logging for when installing and updating. Had been removed in application restructure.
- Now only downloads from the first site it finds, will make it download updates from all sites later down the line.
- Missing .com in Modrinth url
- Mod didn't do anything when running
- Crash when running
- Fixed crash when CurseForge supplied a date with missing milliseconds
- Forgot to add date to CHANGELOG
- Modrinth API support (you can now download mods from modrinth as well) #11
- Can parse and download Forge mods
- Filter installed mod by Fabric/Forge using
--mod-loader
argument #18
- Restructured the whole project and added lots of test.
- Now uses Curse API instead of Selenium with Chrome, thus you don't have to have Chrome installed and more futureproof.
- Improved README with examples and minimum python requirement
- Mods weren't saved correctly to the DB sometimes.
- Doesn't crash when mod isn't fabric #17
- No longer can update to a wrong version (switching between fabric/forge version) #10
- README: Moved installation above usage, and fixed out-of-date information
- Install feature; can now install mods through
minecraft-mod-manager install modname
- Added --pretend and --verbose to README
- Automatic versioning from tags in
setup.py
--pretend
option to not save any changes/updates--verbose
for slightly more information
- Chromedriver is now installed automatically. No need to download and install it manually every time 🙂
- Made it easier to see which mods are updated and which are not, especially together with --pretend.
- User configuration file
config.py
. Was only used for chromedriver location.
- Syntax checking for mods supplied during arguments
- Keep information about mod (site and alias) even when it's removed
- List all installed mods (and their settings) with
minecraft-mod-manager list
- Faster runs during configure. Only initialize the webdriver when necessary
- DB structure
- --pretend, hadn't been implemented
- --verbose, not necessary, better to use --debug instead
- Get possible mod name not only from the
.jar
file but the filename as well - Search on CurseForge for all these names and only raise an error if no match was found
- Error message if Curse changes their site (so you might have to update this script)
- Print out more of what's happening by default
- Stops the script if a mod wasn't found
- Decrease selenium logging (only log errors)
- Running the script on a Linux device doesn't require a
config.py
file
- Update feature
- Get existing mods in a directory and add
mod_id
from.jar
file - Synchronize mod files with the DB (add and remove)
- Get latest version of mod from CurseForge
- Download mod from CurseForge