Releases: odnoklassniki/one-nio
Releases Β· odnoklassniki/one-nio
Release 2.1.0
Changelog
What's Changed
- websocket protocol support by @twister55 in #73
- Github action for build and run tests on different jdk versions by @lehvolk in #87
- Support for Java 22+ by @lehvolk in #91
- Http client TLS SNI extension support, api for setting ciphersuites by @avrecko in #88
- Input/OutputStream support by @MacX19 in #86
- #89 Allow compiling without BPF testing support (kernels < 4.12). by @avrecko in #93
- MagicAccessor#useSerializationConstructorAccessor throws if dot is missing from java version property by @avrecko in #94
- Library maintenance improvements by @lehvolk in #92
- Added email by @avrecko in #96
New Contributors
- @twister55 made their first contribution in #73
- @lehvolk made their first contribution in #87
Full Changelog: 2.0.0...2.1.0
2.0.0
Breaking changes
- The native part of one-nio now links and works only with OpenSSL 3 (tested on OpenSSL versions 3.0 and 3.2). The OpenSSL library file must have name
libssl.so.3. - Switched from GLIBC 2.2.5 to GLIBC 2.38
Major changes
- Added support for Kernel TLS, including
sendfile() - Added support for TLS early data (TLS 1.3 0-RTT)
- Added ability to export encryption keys (SSL keylog)
- Added support for SSL certificate compression (RFC8879, man)
- Added ability to use an external cache for SSL sessions
- Added ability to constrain selectors used by an acceptor (
one.nio.server.ServerConfig#pinAcceptors) - Added ability to use a single acceptor thread for all sockets (
one.nio.server.ServerConfig#multiAcceptor) - Added support for server-sent events in
one.nio.http.HttpClient(spec) - Also various fixes and optimizations
Big thanks to:
- @Blooof
- @ltalal
- @sergiusz-n
and other current and former colleagues.
1.7.1
1.7.0
1.6.1
1.6.0
java.timeserialization- Arena Allocator
PaddedRWLockto avoid false sharing- Handle EINTR in socket read/write
- Enum serialization fixes
- Fixed global perf counters in presence of offline CPUs
HttpClientshould support responses without Content-Length / Transfer-Encoding- Gracefully close sessions when stopping Server
1.5.0
- JDK 17 support. Workaround
setAccessiblerestrictions - New BPF map types
SOCK_SEQPACKETsupportsendMsg/recvMsgfor passing descriptors over a UNIX domain socket- Serializer generator now tolerates missing class files
- Fixed serialization of private Records
- Optimize
Utf8.readfor Compact Strings - Customizable strategy for reusing OffheapMap entries
- Allow custom reference tags in serialization streams
- Fixed overflow bugs in
ObjectInput(Output)Channel - A method to open all JDK modules
Json.fromJsonwith a given Class or Type- A few new methods in HTTP API
- Migrated to ASM 9
- Reduced size of libonenio binary
1.4.0
- eBPF and extended perf_events support
- HttpClient fixes
- Reflection and serialization now works for classes with missing field types
- Improved serialization performance
- OffheapMap API enhancements; compatibility with newer JDKs
- Configure scheduling policy for thread pools
- Fixed
byte[]<->longconversion
1.3.1
1.3.0
- SSL improvements: RDRAND, PEER_CERTIFICATE_CHAIN, autoupdate certificates
- Extended Perf Events API, including PEBS
- Garbage free thread safe date utilities; high performance date formatter
- Serialization: collection type evolution; better JSON support
- PROXY protocol support for RPC server
- Configurable
DigestStream Thread.onSpinWaitbridge- Custom collection converters for
ConfigParser - HttpClient fixes
- Utility class to invoke HotSpot diagnostic commands
CustomThreadFactoryfor creating named/daemon/batch threadsRpcStreammemory optimizationssetAffinity/getAffinityfor machines with more than 64 CPUs- AF_UNIX socket support. Refactored InetAddress handling
- systemd-notify API