Repository navigation
Releases: epam/modular-cli
Releases · epam/modular-cli
Release list
4.4.2
[4.4.2] - 2026-08-26
- Add a documentation line to
--helppointing at the Maestro docs catalog:
https://github.com/Maestro-Cloud-Control/m3-docs
[4.4.1] - 2026-07-30
- Fix
CommandResponseconsuming domain-specificstatusfields from modular-api responses:- Only treat
SUCCESS/FAILED(and lowercase variants) as HTTP operation status - Preserve business fields such as STM voiceover
status: up_to_datein JSONmeta - Add
_split_operation_status()helper inmodular_cli.service.decorators
- Only treat
4.4.0
[4.4.0] - 2026-05-28
- Python 3.14 compatibility: set upper bound
requires-python = ">=3.14,<4"and update Pyright target to3.14 - Relax dependency version constraints from pinned versions to compatible ranges to reduce installation conflicts:
click==8.3.0->click>=8.3,<9tabulate==0.9.0->tabulate>=0.9,<1requests==2.32.4->requests>=2.32,<3prettytable==3.9.0->prettytable>=3.16.0,<4
- Bump
PyYAMLfrom6.0.1to6.0.2
2.3.31
[2.3.31] - 2026-05-20
- The command output format has been improved, and the root-level commands
set_outputandget_outputhave been added to control the default output format
2.3.30
[2.3.30] - 2026-03-05
- Fix inconsistent column alignment across help output sections:
- Compute a single global column width across all item types (modules, groups, commands)
- Ensure description separators (
-) align uniformly regardless of section - Add
_compute_max_name_widthhelper to calculate width from all sections before rendering - Add
fixed_name_widthparameter to_format_items_with_descriptionsto accept pre-computed width
[2.3.29] - 2026-02-17
- Improve help output formatting:
- Implement dynamic column width calculation based on longest command name
- Add minimum width parameter (24 characters) with auto-expansion for longer names
- Fix description truncation to break at word boundaries instead of mid-word
- Remove trailing punctuation before adding ellipsis to prevent double periods (e.g.,
...instead of....) - Clean up descriptions (remove newlines and extra spaces) before display
- Ensure proper alignment of command descriptions in help listings
- Fix help output display order:
- Enforce consistent hierarchical type order: modules → groups → commands
- Apply ordering to both root help and group-level help displays
- Fix issue where groups could appear after commands in listings
[2.3.28] - 2026-02-11
- Add additional notice for the hidden group of commands
2.3.27
[2.3.27] - 2026-01-14
- Add group deprecation support:
- Extend
find_token_meta()to collect_parent_deprecationsfrom parent groups - Add
_current_group_infometadata for group help display - Add
check_all_deprecation_enforcement()to block removed groups and commands - Add
emit_all_deprecation_warnings()to emit warnings for deprecated groups and commands - Add
format_group_deprecation_info()for group deprecation display in help - Show deprecation tags for groups in help listings (not just commands)
- Show group deprecation warnings when executing commands under deprecated groups
- Extend
- Refactor deprecation helpers in
utils.py:- Consolidate
parse_date_from_str()anddays_until_removal()into_days_until() - Rename
get_deprecation_color()to_get_color()(private) - Rename
format_deprecation_lines()to_format_deprecation_lines()withentity_typeparam - Remove unused
format_deprecation_block_styled()
- Consolidate
- Consolidate
find_token_meta()- remove duplicate fromhelp_client.py, useutils.pyversion - Improve
get_deprecation_tag()with styled output and days remaining (e.g.,[DEPRECATED - 15d left])
[2.3.26] - 2026-01-13
- Add description display support in help system:
- Add
_get_item_description()method to extract descriptions from metadata - Add
_format_items_with_descriptions()method for aligned column formatting - Update
get_help_message()to display descriptions alongside modules/groups/commands - Store items as
(name, description)tuples for proper formatting - Truncate long descriptions to 50 characters with ellipsis
- Add
- Update
root_commands.json:- Add
type: "root command"field to all root commands - Add
enable_autocompleteanddisable_autocompletecommands - Clean up descriptions (remove redundant "Usage:" prefixes)
- Add
[2.3.25] - 2026-01-12
- Add hidden group support in help system:
- Add
_should_show_group()method to determine group visibility - Filter hidden groups from help listings while keeping them executable
- Add
find_token_meta()function for metadata navigation with hidden item handling - Add
_filter_hidden_items()helper to filter hidden groups and commands from display
- Add
[2.3.24] - 2026-01-08
- Remove extra indentation from deprecation/hidden command warnings in help output
[2.3.23] - 2026-01-08
- Fix hidden root commands appearing in module help listings (e.g.,
billing --help)
[2.3.22] - 2026-01-05
- Fix
versioncommand to work without configuration by gracefully handling missing setup - Fix
versioncommand help text incorrectly showing "login" instead of "version"
[2.3.21] - 2026-01-02
- Improve error message when invalid parameters are provided
[2.3.20] - 2025-12-11
- Fix duplicate validation warnings in
CommandResponseby skipping client-side validation for server responses
[2.3.19] - 2025-12-10
- Fix case-sensitive enum parameter validation to accept values regardless of case
[2.3.18] - 2025-12-05
- Add validation for enum parameters using
allowed_choicesfield from command metadata
2.3.17
[2.3.17] - 2025-11-24
- Fix file permission error handling to display accurate error messages instead of generic
file not foundwith traceback - Improve file reading to use context manager for proper resource management
[2.3.16] - 2025-11-20
- Improve
README.md
[2.3.15] - 2025-11-03
- Add support for processing command deprecation metadata from API
[2.3.14] - 2025-10-16
- Add
DEPRECATION_FLOW.mdfile describing the deprecation process for the CLI tool
[2.3.13] - 2025-10-16
- Update library
clickfrom 7.1.2 to 8.3.0
2.3.12
[2.3.12] - 2025-09-04
Add
- Support for hidden commands in help system
- Hidden commands are now properly filtered from group help listings
- Direct execution and help access for hidden commands when specifically requested
Change
HelpProcessor.get_help_message()now filters out commands withis_command_hiddenflag from general listingsHelpProcessor.generate_module_meta()excludes hidden commands from group listings but includes them for specific requests
Improve
- Help system now respects command visibility settings from modular-api
- Better alignment with Click's native hidden command behavior
2.3.11
[2.3.11] - 2025-08-05
- HTTP error handling improvements in
modular_cli.utils.exceptionsandmodular_cli.service.decorators:- Dynamic exception mapping generation using dict comprehension for
HTTP_CODE_EXCEPTION_MAPPING - Error type resolution in
unpack_error_result_values():- Add assertion:
error_code >= 400 - Direct fallback to
HTTPStatusfor unmapped codes
- Add assertion:
- Dynamic exception mapping generation using dict comprehension for
- Update README.md configuration section to reflect the new installation process
[2.3.10] - 2025-07-01
- Update libraries:
prettytablefrom3.9.0to3.16.0PyYAMLfrom6.0.1to6.0.2requestsfrom2.31.0to2.32.4
- Remove
requirements.txt - Fix
LoginCommandHandler.execute_command()to handle non-JSON responses when status is
HTTPStatus.OKby catchingjson.JSONDecodeErrorand returning user-friendly error message
2.3.9
[2.3.9] - 2025-04-25
- Fix the path to the help file for containers
- Update code to use dynamic
ENTRY_POINTinstead of staticmodular-clifor logging, exception handling, and messages
[2.3.8] - 2025-04-15
- Fix shell detection in containers for
m3admin enable_autocompletecommand - Add library
shellingham==1.5.4 - Add
--shellparameter to theenable_autocompletecommand
[2.3.7] - 2025-03-25
- Add
health_checkcommand
[2.3.6] - 2025-02-25
[EPMCEOOS-6631]:
- Improve re-login help message and handled token expiration in CLI
2.3.5
[2.3.5] - 2025-02-06
- Add
MISSING_CONFIGURATION_MESSAGEconstant for error handling
[EPMCEOOS-6591]: - Fix code based on SonarQube recommendations
[2.3.4] - 2025-01-08
- Add ability to hide and input parameters interactively by supporting
interactive_settings