Skip to content

Releases: grongierisc/interoperability-embedded-python

v4.0.1b4

23 Jun 11:37

Choose a tag to compare

v4.0.1b4 Pre-release
Pre-release
feat: add tests for native iris message handling and normalization

v4.0.1b3

23 Jun 10:21

Choose a tag to compare

v4.0.1b3 Pre-release
Pre-release
feat: add support for resolving string annotations in typed method di…

v4.0.1b2

23 Jun 09:28

Choose a tag to compare

v4.0.1b2 Pre-release
Pre-release
feat: enhance documentation and examples for Python-authored producti…

v4.0.1b1

23 Jun 08:46

Choose a tag to compare

v4.0.1b1 Pre-release
Pre-release
feat: enhance documentation on import rules and testing practices for…

Token Burn

22 Jun 09:13

Choose a tag to compare

Full Changelog: v3.7.1...v4.0.0

[4.0.0] - 2026-06-22

Breaking Changes

  • Remove the legacy grongier.pex compatibility package and Grongier.PEX ObjectScript classes. Use iop and IOP.* classes instead.
  • Rename Python component lifecycle hooks to snake_case, including on_init, on_message, and on_process_input.
  • Move implementation modules from private iop._* files into package namespaces such as iop.components, iop.messages, iop.migration, iop.production, and iop.runtime.
  • Remove the legacy WSGI helper classes and package metadata from setup.py; project metadata is now managed from pyproject.toml.

Added

  • Add PollingBusinessService for iop to create scheduled polling business services without manually returning Ens.InboundAdapter.
  • Add iop --migrate --dry-run / --explain to print and validate the migration plan without writing to IRIS.
  • Add Pythonic component setting metadata with setting(...), Setting, Category, and controls helpers for IRIS production categories, descriptions, required flags, and editor controls.
  • Add Production module: a Python DSL for authoring, importing, diffing, and managing IRIS interoperability production topology entirely from Python. Declare components, ports, and routing with service(), operation(), process(), connect(), and connect_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, and unregister_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 PollingBusinessService classes 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 PersistentMessage classes with deduplication.
  • Improve business host connection discovery and message serialization error handling.
  • Improve service hook ergonomics: BusinessService.on_process_input() now delegates to on_message(), and PollingBusinessService now recommends on_poll() for scheduled polling.
  • Update demos, tests, and documentation to use the iop package layout, snake_case hooks, and Pythonic production definitions.

Deprecated

  • Deprecate the static iop.Utils / iop.migration.utils._Utils facades in favor of functions in iop.migration.utils; these facades are scheduled for removal in v5.0.
  • Deprecate the static iop.Director / iop.runtime.director._Director facades in favor of functions in iop.runtime.director; these facades are scheduled for removal in v5.0.
  • Deprecate silent default no-op handlers for unimplemented on_message(), on_process_input(), and on_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

15 Jun 12:37

Choose a tag to compare

v4.0.0b15 Pre-release
Pre-release
feat: enhance documentation for component lifecycle methods and messa…

v4.0.0b14

15 Jun 09:19

Choose a tag to compare

v4.0.0b14 Pre-release
Pre-release
feat: enhance message class validation and dispatch method discovery

v4.0.0b13

15 Jun 08:45

Choose a tag to compare

v4.0.0b13 Pre-release
Pre-release
feat: update coding rules for message classes and component lifecycle…

v4.0.0b12

12 Jun 12:20

Choose a tag to compare

v4.0.0b12 Pre-release
Pre-release
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

08 Jun 12:55

Choose a tag to compare

v4.0.0b11 Pre-release
Pre-release
feat: enhance source connection handling with target reference and ho…