Skip to content

Releases: epam/modular-cli

4.4.2

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 18 Sep 07:46
fd832b7

[4.4.2] - 2026-08-26

[4.4.1] - 2026-07-30

  • Fix CommandResponse consuming domain-specific status fields 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_date in JSON meta
    • Add _split_operation_status() helper in modular_cli.service.decorators

4.4.0

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 18 Sep 07:37
fda25d8

[4.4.0] - 2026-05-28

  • Python 3.14 compatibility: set upper bound requires-python = ">=3.14,<4" and update Pyright target to 3.14
  • Relax dependency version constraints from pinned versions to compatible ranges to reduce installation conflicts:
    • click==8.3.0 -> click>=8.3,<9
    • tabulate==0.9.0 -> tabulate>=0.9,<1
    • requests==2.32.4 -> requests>=2.32,<3
    • prettytable==3.9.0 -> prettytable>=3.16.0,<4
  • Bump PyYAML from 6.0.1 to 6.0.2

2.3.31

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 08 Jun 10:03
c6a893e

[2.3.31] - 2026-05-20

  • The command output format has been improved, and the root-level commands set_output and get_output have been added to control the default output format

2.3.30

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 05 May 08:37
2b50b48

[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_width helper to calculate width from all sections before rendering
    • Add fixed_name_width parameter to _format_items_with_descriptions to 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

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 05 May 08:20
12dee73

[2.3.27] - 2026-01-14

  • Add group deprecation support:
    • Extend find_token_meta() to collect _parent_deprecations from parent groups
    • Add _current_group_info metadata 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
  • Refactor deprecation helpers in utils.py:
    • Consolidate parse_date_from_str() and days_until_removal() into _days_until()
    • Rename get_deprecation_color() to _get_color() (private)
    • Rename format_deprecation_lines() to _format_deprecation_lines() with entity_type param
    • Remove unused format_deprecation_block_styled()
  • Consolidate find_token_meta() - remove duplicate from help_client.py, use utils.py version
  • 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
  • Update root_commands.json:
    • Add type: "root command" field to all root commands
    • Add enable_autocomplete and disable_autocomplete commands
    • Clean up descriptions (remove redundant "Usage:" prefixes)

[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

[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 version command to work without configuration by gracefully handling missing setup
  • Fix version command 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 CommandResponse by 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_choices field from command metadata

2.3.17

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 17 Dec 08:51
c38bc25

[2.3.17] - 2025-11-24

  • Fix file permission error handling to display accurate error messages instead of generic file not found with 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.md file describing the deprecation process for the CLI tool

[2.3.13] - 2025-10-16

  • Update library click from 7.1.2 to 8.3.0

2.3.12

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 13 Oct 12:17
e062312

[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 with is_command_hidden flag from general listings
  • HelpProcessor.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

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 12 Sep 11:44
3b2bd8b

[2.3.11] - 2025-08-05

  • HTTP error handling improvements in modular_cli.utils.exceptions and modular_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 HTTPStatus for unmapped codes
  • Update README.md configuration section to reflect the new installation process

[2.3.10] - 2025-07-01

  • Update libraries:
    • prettytable from 3.9.0 to 3.16.0
    • PyYAML from 6.0.1 to 6.0.2
    • requests from 2.31.0 to 2.32.4
  • Remove requirements.txt
  • Fix LoginCommandHandler.execute_command() to handle non-JSON responses when status is
    HTTPStatus.OK by catching json.JSONDecodeError and returning user-friendly error message

2.3.9

Choose a tag to compare

@Sinyuk Sinyuk released this 06 Jun 12:01
e959473

[2.3.9] - 2025-04-25

  • Fix the path to the help file for containers
  • Update code to use dynamic ENTRY_POINT instead of static modular-cli for logging, exception handling, and messages

[2.3.8] - 2025-04-15

  • Fix shell detection in containers for m3admin enable_autocomplete command
  • Add library shellingham==1.5.4
  • Add --shell parameter to the enable_autocomplete command

[2.3.7] - 2025-03-25

  • Add health_check command

[2.3.6] - 2025-02-25

[EPMCEOOS-6631]:

  • Improve re-login help message and handled token expiration in CLI

2.3.5

Choose a tag to compare

@oleksandr-onsha oleksandr-onsha released this 26 Feb 13:52
1a356d7

[2.3.5] - 2025-02-06

  • Add MISSING_CONFIGURATION_MESSAGE constant 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