Skip to content

Releases: xregistry/codegen

v0.9.9

13 Dec 08:17
95835a0

Choose a tag to compare

fix: normalize dataschemauri in endpoint messages (#125)

* fix: normalize dataschemauri in endpoint messages

When endpoints contain embedded messages (per xRegistry spec), their
dataschemauri fields were not being normalized from relative URIs
(/schemagroups/...) to JSON pointers (#/schemagroups/...). This caused
schema resolution failures during code generation.

Changes:
- Add normalization for endpoint messages in DependencyResolver._normalize_schema_references()
- Call _normalize_schema_references() in load() and load_stacked() methods
  (previously only called in load_with_dependencies())
- Add 4 comprehensive unit tests covering messagegroups, endpoints,
  hash prefix preservation, and external URL handling

Fixes schema resolution error:
  RuntimeError: Schema version not found: /schemagroups/X/schemas/Y

All existing tests pass + 4 new tests pass.

Signed-off-by: Clemens Vasters <clemensv@microsoft.com>

* feat(vscode): add tool availability detection with caching and progress indicators

This commit introduces several improvements to the VS Code extension's user experience:

1. **CLI Version Support**: Added --version/-v argument to xrcg CLI that outputs version from _version.py

2. **Tool Availability Caching**: Implemented 60-second cache for checkXRegistryTool() to prevent repeated version checks on every command invocation. Cache is invalidated after installation.

3. **Progress Indicators**: Added vscode.window.withProgress notifications to executeCommand() to show users that code generation is in progress with incremental updates

4. **Comprehensive Test Suite**: Created 6 new tests for xrcg tool availability detection including:
   - Version detection when tool is installed
   - Detection in fresh Python venv (not available)
   - Installation flow in isolated venv
   - Cache behavior verification
   - Installation command validation

All command handlers now await executeCommand() for proper async handling. Extension compiles and builds successfully.

Signed-off-by: Clemens Vasters <clemensv@microsoft.com>

* chore: add xrcg/_version.py to gitignore and remove from index

Signed-off-by: Clemens Vasters <clemensv@microsoft.com>

---------

Signed-off-by: Clemens Vasters <clemensv@microsoft.com>
Co-authored-by: Clemens Vasters <clemensv@microsoft.com>

v0.9.8

04 Dec 06:35

Choose a tag to compare

Release v0.9.8 - Fixed GitHub Pages workflow to fetch definitions fro…

v0.9.7

04 Dec 06:31

Choose a tag to compare

Release v0.9.7 - Fixed GitHub Pages workflow trigger

v0.9.6

04 Dec 06:28

Choose a tag to compare

Release v0.9.6 - Added GitHub Pages workflow

v0.9.5

03 Dec 22:51

Choose a tag to compare

Release v0.9.5 - Fixed PyPI versioning with SETUPTOOLS_SCM_PRETEND_VE…

v0.9.4

03 Dec 22:50

Choose a tag to compare

Release v0.9.4 - Fixed PyPI versioning from tags

v0.9.3

03 Dec 22:37

Choose a tag to compare

Release v0.9.3 - Fixed VS Code extension build

v0.9.0

03 Dec 21:01

Choose a tag to compare

Fix VS Code extension publisher to 'xregistry'