Skip to content

v0.9.1#19

Merged
lexakimov merged 14 commits into
masterfrom
feature
May 23, 2026
Merged

v0.9.1#19
lexakimov merged 14 commits into
masterfrom
feature

Conversation

@lexakimov

Copy link
Copy Markdown
Owner

What's Changed

Features

  • Improved substitution expression parsing with clearer syntax errors for malformed placeholders, missing braces/parentheses, unexpected trailing text, and unterminated quotes.
  • Added long CLI flag --ignore-errors as an alias for -i to continue execution when validation errors occur.
  • Added validation for source_filename patterns:
    • pattern must match the input XSD filename;
    • pattern must define named group extracted;
    • group extracted must actually capture a value.

Fixes

  • Fixed generation for numeric XSD restrictions with minExclusive and maxExclusive; generated values now respect exclusive bounds.
  • Fixed namespace comparison by value instead of object identity, preventing incorrect alias generation for equal namespace strings.
  • Improved Faker bank name fallback handling when a locale/provider does not implement bank().

Packaging and Dependencies

  • Migrated project packaging metadata from setup.py and requirements.txt to pyproject.toml.
  • Added pinned dependency versions and committed uv.lock.
  • Added optional dependency groups: test, build, and dev.
  • Updated dependency versions.
  • Moved patchelf usage to the Python package dependency for build workflows.

CI and Release

  • Updated GitHub Actions to install from pyproject.toml.
  • Switched package build workflow to python -m build.
  • Updated release version check to read xmlgenerator.__version__.
  • Added pytest coverage reporting and Codecov upload support.
  • Added coverage artifacts for test workflow runs.
  • Added .dockerignore and expanded .gitignore for local build, coverage, cache, and artifact files.

Tests

  • Added CLI integration test for reproducible XML generation with a fixed seed.
  • Added coverage for exclusive numeric bounds.
  • Added regression coverage for namespace comparison by value.
  • Added regression coverage for invalid source_filename patterns.
  • Expanded substitution parser error tests.

Documentation

  • Updated README and Russian README for --ignore-errors.
  • Updated development setup instructions to use editable installs with extras.
  • Added coverage command examples.
  • Added Codecov badge.
  • Cleaned up language links in README and configuration docs.

Version

  • Bumped package version from 0.9.0 to 0.9.1.

Signed-off-by: Alexey Akimov <lex.akimov23@gmail.com>
Signed-off-by: Alexey Akimov <lex.akimov23@gmail.com>
Signed-off-by: Alexey Akimov <lex.akimov23@gmail.com>
Signed-off-by: Alexey Akimov <lex.akimov23@gmail.com>
Signed-off-by: Alexey Akimov <lex.akimov23@gmail.com>
Signed-off-by: Alexey Akimov <lex.akimov23@gmail.com>
@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@lexakimov lexakimov merged commit 8df1a06 into master May 23, 2026
9 of 10 checks passed
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.

2 participants