|
1 | 1 | # Changelog for Ferium
|
2 | 2 |
|
| 3 | +## [3.10.0] - 16.01.2022 |
| 4 | + |
| 5 | +HUGE UPDATE |
| 6 | + |
| 7 | +### Project and Testing |
| 8 | +- Upgraded to Clap 3.0 |
| 9 | +- Removed unit tests |
| 10 | +- Added every single sub(sub)command to the integration tests |
| 11 | +- The integration tests are now fully automatic because we can now pass options without the interactive UI |
| 12 | + |
| 13 | +### Main |
| 14 | +- Getting the config file no longer exits the program early when creating a new config file |
| 15 | +- A more helpful error message for when decoding the config file fails |
| 16 | +- The `profile create` subcommand now runs seperately before the current profile is read |
| 17 | +- Multiple new command have been created such as `list_profiles()`, and `delete()` |
| 18 | +- Many commands have been revamped to allow the arguments to be passed through the CLI rather than through a UI |
| 19 | +- The `profile configure` command's UI now has an option to change the profile's name |
| 20 | + |
| 21 | +### Arg Parsing |
| 22 | +- Removed `cli.yaml` and switched from the deprecated yaml parsing to #[derive] based arg parsing |
| 23 | +- Renamed `add`, `add-repo`, and `config` commands to `add-modrinth`, `add-github`, and `configure` |
| 24 | +- The `create` and `config` commands are now under a new subcommand `profile` |
| 25 | +- `profile delete` and `profile list` subsubcommands have been added |
| 26 | +- The following commands have had options added to them so now using the interactive UI is optional. This also allows for fully automatic tests |
| 27 | + - Remove |
| 28 | + - Switch |
| 29 | + - Configure |
| 30 | + - Create |
| 31 | + - Delete |
| 32 | + |
| 33 | +### Error handling |
| 34 | +- There are now 2 errors for quitting |
| 35 | + - The `Quit` error stores its error message as a tuple `&'static str` so that raw strings can be used |
| 36 | + - The `QuitFormatted` error stores its error message as a tuple `String` so that `format!()` can be used for more informative error messages |
| 37 | + |
| 38 | +### Configuration (`json.rs`) |
| 39 | +- The `mod_loader` field in `Profile` is now an enum |
| 40 | +- The `Profile::new()` is now `Profile::create_ui()` |
| 41 | +- `create_ui()` now checks that the name provided does not already exist, if so it will ask for a new name |
| 42 | +- Getting the path to the config file has been extracted to `get_config_file_path()` |
| 43 | +- If `get_config_file()` does not find a config file, it now just creates an empty config, writes to it, and continues to return the config file |
| 44 | + |
3 | 45 | ## [3.9.0] - 23.12.2021
|
4 | 46 |
|
5 | 47 | Merry Christmas and a Happy New Year!
|
|
0 commit comments