All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix json schema handling enums.
iopcommand line has a new full remote controle feature, allowing to start, stop, restart, update, test and log productions on a remote IRIS instance through its REST API
- Review how sys.path is updated by Common.cls to ensure it works correctly in all environments
- Refactor whole unittest and e2e test suite for better maintainability and reliability
- Export production now returns Production name as key in the returned dict for better clarity
- Prevent dataclass and pydantic messages from being serialized with the same serializer as regular messages, to avoid issues with dataclass fields and pydantic validation
- Add
iop --updatecommand to update a production from the command line - New info displayed in
iop --helpcommand showing current namespace iop --statuscommand now shows if production needs update, if so a message is displayed- Command line option
--namespacealone will show the current namespace
- Fix issue with boolean
response_requiredparameter insend_request_asyncmethod of BusinessProcess- Now converts boolean to integer (1 or 0) to ensure compatibility with IRIS API
- new option for migrate
--force-localto force local migration even if remote url is provided in thesettings.pyfile verify_ssloption insettings.pyto enable or disable SSL verification for remote migration
- Fix an error when running
iopcommand without a valid iris instance available- Now it will log a warning instead of raising an exception
- Support purging old messages in production settings
- Fix a regression test message interoperability where list of messages was not displayed correctly in the UI
- This was caused by MessageHandler changes in version 3.5.1
- Minor fixes for remote migration support
- Remote migration support, allowing importing Python IOP modules into IRIS through
http
- New IOP.Wrapper class for simplified python module import into IRIS with remote debugging support and traceback handling
- Improve module loading and initialization for better performance in BusinessProcess by checking if the module is already loaded
- Change OnMessage to MessageHandler in BusinessOperation for better performance and clarity
- Initial support for venv
- New
send_generator_requestmethod iniopmodule to send generator requests - Add
get_iris_idmethod toMessage*classes to retrieve the IRIS ID of a message
- Fix
iris.*function dispatch mapping
%tracebacksetting default value is nowTrueto show traceback in message log- serializer is now more permissive for iris objects, allowing iris object type of
%Streamto support http inbound/outbound adapters - remove usage of
pkg_resourcesin favor ofimportlib.resources - refactor import statements for better clarity and organization
- fix typing issues in python code
- fix long string attribute from production settings ( greater than 255 characters )
- Fix a regression in DTL to display sub-objects
- Improve upgrade compatibility with 3.4.0 (pre-debugger)
- Change debugger settings to be prefixed with
%to avoid conflict with other settings
- Add
%tracebacksetting to enable or disable traceback in message log
- Fix regression in version 3.4.0 and 3.4.1 where production settings were not properly loaded
- Add namespace selection in the
iopcommand-nor--namespaceoption to select a namespace
- Initial remote debugging support
- Change how
irismodule is loaded- Create a new
_irismodule in theioppackage
- Create a new
- Remove dependency on community driver
- Use
irismodule instead
- Use
- Fix dataclass message serialization
- Go back to best effort serialization : type check is not forced
- For checking use PydanticMessage
- Logger now uses the correct level for
debug,infoand similar methods
- Support for production settings configuration and management
- Enhanced Python logging integration with IRIS
- Support for schema registration with PydanticMessage
- Improved Pydantic integration for message validation
- Logger property in _Common class for better logging management
- Refactored _director and _utils modules
- Enhanced serialization module
- Simplified type conversion
- Improved Pydantic integration
- Removed deprecated methods
- Remove dacite and dc-schema dependencies in favor of Pydantic
- Improved logging mechanism
- Encapsulated console logging behavior
- Enhanced logger initialization
- Updated pytest configuration for asyncio
- Fixed log handling in Command class
- Improved error handling in OnGetConnections method
- Support of Pydantic message validation and serialization
- Enhanced Python logging integration with LogManager
- New test framework with pytest-asyncio support
- Improved error handling and validation
- Refactored core components for better maintainability
- Enhanced message serialization system
- Improved production settings handling
- Various log handling issues
- Message validation edge cases
- DTL (Data Transformation Layer) with JSON Schema support
- Complex JSON transformation capabilities
- Enhanced documentation for DTL features
- JsonPath support for data manipulation
- Comprehensive schema validation system
- Improved message transformation handling
- Enhanced error reporting for schema validation
- Refactored transformation engine
- JSON Schema processing issues
- Array handling in transformations
- Various DTL edge cases
- Async function support in Business Processes and Operations
- Multi-sync call capabilities
- Enhanced trace logging options
- New benchmarking tools
- Improved session handling
- Refactored business host dispatch system
- Enhanced message serialization
- Improved async request handling
- Retro-compatibility with grongier.pex
- Session management issues
- Various async operation bugs
- Renamed package from grongier.pex to iop
- Major refactoring of core components
- Improved package structure
- Enhanced documentation
- New installation methods
- Better package management
- Improved error handling
- Dev mode support for WSGI applications
- Experimental iris module features
- Sugar syntax for common operations
- Enhanced intellisense support
- Improved WSGI configuration options
- PyPI version synchronization
- WSGI handling issues
- Device redirection in WSGI
- Fix upgrade version issues
- Support for OnGetConnections and on_get_connections to show connections between components in interoperability UI
- Named argument not serialized for send_request_sync and send_request_async
- Support relative path for migration
- Support of Japanese characters
- New command line options
- Logs number of line
- Start production async
- New command line option test
- Refactored some code
- Various minor fixes
- iop --init command
- cls compilation with zpm
- Source dir and package for zpm
- ZPM installation
- Initial WSGI support
- Settings.py support
- Aligned version with pypi
- Command line support
- Settings.py files support
- Manager support for production management
- Settings.py class support for component and production configuration
- Director support for production control and logging
- Support for Python 3.6 (RedHat 8.x)
- Deployment with PyPi
- Files and folders named with "_"
- Stronger check on Message
- Iop command line