Ionet 25.7 focuses on publisher reliability and backpressure, external networking and client fixes, core framework behavior.
- Publisher reliability and backpressure:
- Updated SBE message codecs with extended payload limits and imports.
- Increase maximum payload length from 61440 to 8384512 bytes for multiple SBE message encoders and decoders.
- Replaced wildcard imports of 'org.agrona.*' with explicit imports of 'DirectBuffer' and 'MutableDirectBuffer'.
- Added import adjustments to all relevant generated SBE codec classes for clarity and correctness.
- Enhanced CoreGlobalConfig with detailed documentation and configuration parameters for Aeron fragment assembler and buffer sizes.
- Implemented robust error handling in PublisherMessageKit for message encoding overflows and publication size limits.
- Added tests in DefaultPublisherTest and ParallelPublisherTest for handling oversized messages and verifying processing continuity.
- Updated dependencies in pom.xml to newer versions for Aeron, Netty, JUnit, Protobuf, Lombok, Spring, and others.
- Extend RecordingPublication test utility to support configurable maximum message length settings.
- Added OversizedTestMessage for testing codec and publisher behavior with larger-than-default payloads.
- External networking and client fixes:
- Implemented Netty-based WebSocket client connector and shared event loop.
- Added Netty event loop management in ClientConnects for TCP and WebSocket clients.
- Migrate TcpClientStartup to use shared event loop group from ClientConnects.
- Implemented WebSocketClientStartup with Netty bootstrap and pipeline configuration.
- Support secure WebSocket connections with SslHandler and hostname verification.
- Added ClientWebSocketExternalCodec for WebSocket frame <-> ExternalMessage conversion.
- Provide WebSocketHandshakeHandler for handshake completion handling and client channel setup.
- Removed deprecated Java-WebSocket dependency and related code.
- Added unit tests for WebSocket client codec and startup with lifecycle and error handling.
- Enabled graceful shutdown and recreation of shared Netty event loop group.
- Configure Maven to skip tests conditionally through maven.test.skip property.
- Core framework behavior:
- Enabled fragment assembler by default.
- Documentation, source parsing, and build updates:
- Support multi-line comments in proto generation.
- Added ProtoJava.toProtoComment() to format multi-line comments with proper // prefix.
- Updated message comment rendering to use toProtoComment() with indentation.
- Change field comment rendering to prepend formatted comment lines before field definition.
- Removed inline comment placeholder usage to avoid multi-line comment issues.
- Added unit tests in ProtoCommentTest for single and multi-line comment formatting.
- Enhanced Cat class comments for testing multi-line comment output.
- Improved comment rendering and string escaping.
- Added MultiLineComment function to render multi-line doc comments with configurable prefixes.
- Added OneLineComment function to collapse multi-line comments into single line for inline use.
- Added StringLiteral function to escape string literals for generated code in various languages.
- Updated codegen templates to use mlComment for multi-line comments in C#, TypeScript, and GDScript.
- Replaced direct comment insertions with stringLiteral to escape string values correctly.
- Refactor example code comments to use oneLine function for concise single-line descriptions.
- Include new functions registration in DocumentGenerateAbout.java for template usage.
- Added DocumentGenerateAboutTest to verify correct rendering and escaping behavior in templates.
- Added comprehensive engineering and architecture documentation.
- Create engineering quickstart guide for building and testing ionet.
- Added detailed runtime architecture overview explaining layered design and components.
- Introduced domain concepts documenting core runtime terms and models.
- Provide integrations and extensions guide covering external transports and SPI points.
- Added operations runbook describing build, test, transport capacity, and release workflow.
- Include workflow documentation detailing runtime flow sequences and protocol generation.
- Updated .gitignore to improve ignore rules for build output, IDE, OS, logs, and package files.
- Added .last-update.json capturing metadata of this initial documentation import.
Dependency upgrades:
- Aeron:1.49.3 --> 1.52.2
- Beetl:3.20.1.RELEASE --> 3.21.2.RELEASE
- Commons IO:2.21.0 --> 2.22.0
- JUnit Jupiter:6.0.3 --> 6.1.2
- Logback:1.5.32 --> 1.5.38
- Lombok:1.18.44 --> 1.18.46
- Netty:4.1.132.Final --> 4.1.136.Final
- Protobuf Java:4.33.5 --> 4.35.1
- Spring Context:7.0.3 --> 7.0.8
Full Changelog: 25.6...25.7