|
15 | 15 | # <br><b>Changelog</b><br> |
16 | 16 |
|
17 | 17 |
|
| 18 | +<span id="v1-9-5" /> |
| 19 | + |
| 20 | +## 25.01.2026 `v1.9.5` |
| 21 | + |
| 22 | +* Add new class property `Console.encoding`, which returns the encoding used by the console (*e.g.* `utf-8`*,* `cp1252`*, …*). |
| 23 | +* Add multiple new class properties to the `System` class: |
| 24 | + - `is_linux` Whether the current OS is Linux or not. |
| 25 | + - `is_mac` Whether the current OS is macOS or not. |
| 26 | + - `is_unix` Whether the current OS is a Unix-like OS (Linux, macOS, BSD, …) or not. |
| 27 | + - `hostname` The network hostname of the current machine. |
| 28 | + - `username` The current user's username. |
| 29 | + - `os_name` The name of the operating system (*e.g.* `Windows`*,* `Linux`*, …*). |
| 30 | + - `os_version` The version of the operating system. |
| 31 | + - `architecture` The CPU architecture (*e.g.* `x86_64`*,* `ARM`*, …*). |
| 32 | + - `cpu_count` The number of CPU cores available. |
| 33 | + - `python_version` The Python version string (*e.g.* `3.10.4`). |
| 34 | +* Created a two new TypeAliases: |
| 35 | + - `ArgParseConfig` Matches the command-line-parsing configuration of a single argument. |
| 36 | + - `ArgParseConfigs` Matches the command-line-parsing configurations of multiple arguments, packed in a dictionary. |
| 37 | +* Added a new attribute `flag` to the `ArgData` TypedDict and the `ArgResult` class, which contains the specific flag that was found or `None` for positional args. |
| 38 | + |
| 39 | +**BREAKING CHANGES:** |
| 40 | +* Rewrote `Console.get_args()` for a different parsing functionality: |
| 41 | + - Flagged values are now too saved to lists, so now only the `values` attribute is used for all argument types. |
| 42 | + - The results of parsed command-line arguments are also no longer differentiated between regular flagged arguments and positional `"before"`/`"after"` arguments. |
| 43 | + - The param `allow_spaces` was removed, and therefore a new param `flag_value_sep` was added, which specifies the character/s used to separate flags from their values.<br> |
| 44 | + This means, flags can new **only** receive values when the separator is present (*e.g.* `--flag=value` *or* `--flag = value`). |
| 45 | +* Combined the custom TypedDict classes `ArgResultRegular` and `ArgResultPositional` into a single TypedDict class `ArgData`, which is now used for all parsed command-line arguments. |
| 46 | +* Renamed the classes `Args` and `ArgResult` to `ParsedArgs` and `ParsedArgData`, to better describe their purpose. |
| 47 | +* Renamed the attribute `is_positional` to `is_pos` everywhere, so its name isn't that long. |
| 48 | + |
| 49 | + |
18 | 50 | <span id="v1-9-4" /> |
19 | 51 |
|
20 | 52 | ## 06.01.2026 `v1.9.4` |
|
0 commit comments