Releases: grongierisc/interoperability-embedded-python
Releases · grongierisc/interoperability-embedded-python
v4.0.1b4
feat: add tests for native iris message handling and normalization
v4.0.1b3
feat: add support for resolving string annotations in typed method di…
v4.0.1b2
feat: enhance documentation and examples for Python-authored producti…
v4.0.1b1
feat: enhance documentation on import rules and testing practices for…
Token Burn
Full Changelog: v3.7.1...v4.0.0
[4.0.0] - 2026-06-22
Breaking Changes
- Remove the legacy
grongier.pexcompatibility package andGrongier.PEXObjectScript classes. UseiopandIOP.*classes instead. - Rename Python component lifecycle hooks to snake_case, including
on_init,on_message, andon_process_input. - Move implementation modules from private
iop._*files into package namespaces such asiop.components,iop.messages,iop.migration,iop.production, andiop.runtime. - Remove the legacy WSGI helper classes and package metadata from
setup.py; project metadata is now managed frompyproject.toml.
Added
- Add
PollingBusinessServiceforiopto create scheduled polling business services without manually returningEns.InboundAdapter. - Add
iop --migrate --dry-run/--explainto print and validate the migration plan without writing to IRIS. - Add Pythonic component setting metadata with
setting(...),Setting,Category, andcontrolshelpers for IRIS production categories, descriptions, required flags, and editor controls. - Add
Productionmodule: a Python DSL for authoring, importing, diffing, and managing IRIS interoperability production topology entirely from Python. Declare components, ports, and routing withservice(),operation(),process(),connect(), andconnect_add(); drive the full production lifecycle (start,stop,restart,test,diff,apply); and export the topology as a typed graph (ProductionGraph,GraphEdge,GraphNode). - Add production reconstruction and rendering support to import productions from IRIS, rebuild them from dictionaries, export them as JSON, XML, Python drafts, or graph data, and include runtime connections and queue information.
- Add runtime director abstractions for local and remote IRIS management, including namespace-aware production control, component start/stop/restart, queue inspection, runtime connection export, and
DirectorProtocol. - Add REST endpoints for production connections, queue information, component lifecycle actions, and IOP-generated proxy class bindings.
- Add CLI support for export formats with
--format json|python|graph, remote settings files with-R/--remote-settings,--bindings,--unused, and--unbind. - Add public binding helpers:
bind_component,unbind_component,list_bindings,register_component, andunregister_component. - Add
@handler(MessageType)for explicit business operation and business process message dispatch; duplicate mappings now emit a warning that identifies the discarded handler. - Add support metadata for Python 3.13 and 3.14.
Changed
- Register
PollingBusinessServiceclasses through package/file migration. - Improve migration output and validation for common message registration mistakes.
- Include mode, namespace, and a final success line in migration output.
- Refactor the CLI into dedicated parser, formatting, and type modules.
- Refactor remote runtime support into dedicated client, director, migration, settings, and setup modules.
- Improve production object migration by automatically registering referenced component, adapter, and
PersistentMessageclasses with deduplication. - Improve business host connection discovery and message serialization error handling.
- Improve service hook ergonomics:
BusinessService.on_process_input()now delegates toon_message(), andPollingBusinessServicenow recommendson_poll()for scheduled polling. - Update demos, tests, and documentation to use the
ioppackage layout, snake_case hooks, and Pythonic production definitions.
Deprecated
- Deprecate the static
iop.Utils/iop.migration.utils._Utilsfacades in favor of functions iniop.migration.utils; these facades are scheduled for removal in v5.0. - Deprecate the static
iop.Director/iop.runtime.director._Directorfacades in favor of functions iniop.runtime.director; these facades are scheduled for removal in v5.0. - Deprecate silent default no-op handlers for unimplemented
on_message(),on_process_input(), andon_poll()hooks; they now warn and are scheduled to raise in v5.0.
Fixed
- Fix production graph edge assertions and runtime connection handling to match the new graph structure.
- Fix production lifecycle and migration error handling for local and remote execution paths.
- Fix component connection discovery so inspection does not execute component initialization hooks.
v4.0.0b15
feat: enhance documentation for component lifecycle methods and messa…
v4.0.0b14
feat: enhance message class validation and dispatch method discovery
v4.0.0b13
feat: update coding rules for message classes and component lifecycle…
v4.0.0b12
Add comprehensive documentation for IoP projects - Introduced a reusable AGENTS.md template for IoP applications, detailing project goals, rules, and verification processes. - Created an AI-assisted coding guide to facilitate the use of AI tools in developing IoP applications. - Developed multiple cookbooks covering essential tasks such as adding BusinessOperations, BusinessProcesses, PollingBusinessServices, and handling HL7v2 and FHIR submissions. - Included guidelines for production settings, remote migration, and best practices for healthcare interoperability. - Updated the main documentation index and navigation to include new resources and guides.
v4.0.0b11
feat: enhance source connection handling with target reference and ho…