Skip to content

27.1.0 package release - #86

Open
sankalps0549 wants to merge 13 commits into
release/27from
release-27.1.0
Open

27.1.0 package release#86
sankalps0549 wants to merge 13 commits into
release/27from
release-27.1.0

Conversation

@sankalps0549

@sankalps0549 sankalps0549 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Description

Public 27.1.0 release for Moldflow API on GitHub. Cherry-picks the feature commits from internal release/27 (Moldflow CLI, interactive REPL, CLI localization, transparent_background on ImageExportOptions) and adds release packaging updates: version bump, CHANGELOG, docs switcher, locale gap fixes, CI test fixes for colored terminal output, and coverage upgrade for Python 3.14.

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Checklist

Please delete options that are not relevant.

  • I have read the CONTRIBUTING document
  • My code follows the style guidelines of this project
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have updated the documentation accordingly
  • I have added a note to CHANGELOG.md describing my changes
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Testing

Please describe the tests that you ran to verify your changes.

Ran the full CI-equivalent suite locally on Python 3.10:

python run.py test --skip-build --keep-files --quiet

Results: 866 core tests and 12,776 unit tests passed; package coverage 93.38% (threshold 93%). Also verified python run.py lint --skip-build and localization/SPDX check scripts.

CI fixes included in this branch: CLI help assertions with ANSI stripping, Windows locale fallback test mock, and coverage==7.15.4 for Python 3.14 matrix support.

Additional Notes

Add any other context about the pull request here.

  • Base: release/27Head: release-27.1.0
  • 13 commits; 99 files changed (~27.5k insertions)
  • Major areas: src/moldflow_cli/, CLI unit tests, localization .po files, CHANGELOG.md, version.json, docs/source/_static/switcher.json, requirements.txt (coverage bump)
  • After merge: GitHub Release and PyPI publish per existing release workflow

osinjoku and others added 13 commits August 14, 2026 15:12
* Add CLI tools and tests: cherry-pick CLI changes from njokuo/IM-11079 onto internal/release/27

Includes: src/moldflow_cli, describe/list/invoke features, JSON I/O flags, tests, and docs.

* docs(cli): document --params-json, --params-json-file, --json-output and --json-file-output for invoke; note BOM leniency

* chore(cli): address lint findings (imports, JSON flags, exception narrowing) and tidy tests imports

* chore(cli): silence lint warnings in CLI and tests

* fix(cli): ensure cli extras parsed with spaces in setup.cfg.in

* fix(cli): avoid exec in tests and install wheel extras via local path

* refactor(cli): split command handlers and fix docstring

* fix(cli): restore invoke command body and describe registration

* test(cli): register cli pytest marker

* bug fixes

* fixes

* fixes

* fix(cli): harden target resolution and structured describe output

Prevent describe from silently accepting invalid chained targets, handle uninspectable signatures in JSON/YAML output without crashing, and block non-public invoke target/argument segments before Synergy instantiation.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(cli): harden chained invoke argument routing and errors

Reject ambiguous repeated-step chains, accept case-insensitive multi-step prefixes, and convert nested/chained attribute failures into actionable BadParameter messages with regression tests.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(cli): harden structured output contracts and invoke routing

Normalize JSON/YAML emission with consistent CLI validation errors, ensure UTF-8 stdio configuration at entrypoint, and harden invoke target/arg handling with added regression coverage for multiline JSON, case-insensitive method segments, and markup-safe structured output.

Co-authored-by: Cursor <cursoragent@cursor.com>

* cli hardening

* cli improvements

* improvements

* codacy

* refactor invoke

* cleanliness

* fixes

* better correctness

* improvements

* hardening

* improvements

* improvements

* improvements

* improvements

* refactor(cli): split invoke pipeline and harden output contracts

Fix NoneType detection, guard single-step JSON wrapper unwrapping with signature awareness, remove dead introspection resolver paths, and split CLI logic into focused invoke/output modules. Add schema_version to structured describe/invoke output, reorganize CLI unit tests into focused files, update docs, and add Jenkins CLI smoke coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>

* lint

* cleaner

* improvements

* improvements

* improvements

* bug fix

* improvements

* coverage fixes

* fix(cli): harden describe validation and invoke param normalization

Convert unresolved describe targets into clean CLI validation errors and normalize invoke parameter names case-insensitively before conflict checks so duplicate mixed-case args are rejected consistently.

Co-authored-by: Cursor <cursoragent@cursor.com>

* lint

* more improvements

* cli improvements

* cleaner pr

* improvements

* automation improvements

* localisation for cli errors

* fix help

* fixes for cli

* wrong locale directory

* locale fixes

* codacy

* lint

* better ux

* format

* lint

* better ux

* better ux

* improve ux

* improve ux

* hide innapropriate commands

* ux

* dry run ux

* fix cli localisation

* full translations

* fixes

* console safety

* update packages

* maintainability refactor

* ai review

* locale

* codestyle

* prod changes

* final

* fixes

* final ux cleanup

* better changelog

* new unit test

* fix bugs

* comprehensive test

* lint

* codacy

* codacy

* ascii

* refactor: update cli_hidden decorator to use CLI_HIDDEN_REASON_TRANSIENT_WRAPPER_FACTORY

* Refactor CLI input metadata constants and update usage across modules

- Introduced new constants in `constants.py` for CLI field values, kinds, and modes to improve code readability and maintainability.
- Replaced hardcoded strings with the new constants in various modules including `boundary_list.py`, `double_array.py`, `ent_list.py`, `integer_array.py`, `string_array.py`, `vector.py`, `vector_array.py`, `commands.py`, `introspection.py`, `invoke_binding.py`, `invoke_output.py`, `invoke_planning.py`, `invoke_resolution.py`, `invoke_runtime.py`, `invoke_templates.py`, `invoke_terminal.py`, and `target_resolution.py`.
- Updated tests in `test_cli_basics.py` and `test_cli_describe.py` to reflect changes in error messages and outputs.

* chore: add SPDX license headers to test modules and update sys.path for ROOT_DIR

* feat: add next_command to structured output and enhance list command with describe metadata

* feat: add max-results option to list command and enhance structured output handling
refactor: improve exception handling in attribute access methods
refactor: optimize public class iteration with caching
test: add unit test for max-results functionality in list command
chore: compile locale translations for testing

* feat: update max-results validation to allow zero and reject negative values in list command

* feat: implement listing functionality with filtering and human-readable output for CLI commands

* Localize updated CLI help text

Sync the CLI help string catalog entries with the new onboarding and structured-output wording, regenerate compiled locale assets, and keep the validated test/help polish changes ready for merge.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor: improve code formatting and consistency in factories.py

* Refresh CLI docs wording

Update README and cli.rst so the documented discovery flow and list/describe option wording match the current CLI help and behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Translate updated CLI help strings

Add updated non-English catalog translations for the revised CLI onboarding and help text so the locale catalogs stay aligned with the new English wording.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix: update _is_none_annotation to use NoneType for clarity

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address PR 113 follow-up comments

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address Beacode PR concerns

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add missing Python EOF newlines

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Refine static member lookup for Codacy

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address latest Beacode review comments

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Enhance CLI documentation and tests for grouped JSON parameters in chained invokes

* Remove redundant case addition for probe plot JSON in moldflow-cli-eval script

* Refactor Invoke-MoldflowCliCommand to use native PowerShell argument handling and simplify JSON conversion

* Add new case for retrieving probe plot line data in project_live group

* Enhance Moldflow CLI script to wait for result files after analysis completion and add new cases for probe plot management

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Localization fix for moldflow-cli

* Linting

* Review Comments

* Lint fix
* Add interactive REPL shell for moldflow CLI

* Tab completion fcor subcommands

* Documentation updates

* Review comments

* Codacy mccabe fix

* Beacode comment

* Localization strings

* Reset synergy fixes

* Chorus try-except-pass fix
…#130)

* [IM-9583] Add transparent_background property

Made-with: Cursor

* [IM-9583] Clarify PNG-only constraint in docstring

Made-with: Cursor

* [IM-9583] Fix black formatting

Made-with: Cursor

* [IM-9583] Update CHANGELOG

Made-with: Cursor

* [IM-9583] Trim :default: field in docstring

Made-with: Cursor

* [IM-9583] Revert version bump per review

Made-with: Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>
Bump version to 27.1.0, update CHANGELOG, and add v27.0.1 and v27.1.0 to the docs version switcher.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop internal ticket links and the CLI localization fix entry, since localization ships with the new CLI in this release.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add missing CLI help strings to all locales, remove orphaned emit JSON entries, and fix es-ES Error translation.

Co-authored-by: Cursor <cursoragent@cursor.com>
Disable ANSI styling in CLI test invocations and isolate the Windows locale fallback test from registry lookups so CI passes reliably.
Typer still emits styled help on CI even with --no-color, so compare plain text when matching option names and placeholders.
Fix import order in conftest after adding strip_ansi so pylint stays clean.
Older coverage.py releases corrupt trace data on Python 3.14, causing the coverage report to fail the 93% threshold even when all tests pass.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sankalps0549
sankalps0549 marked this pull request as ready for review August 14, 2026 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants