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.time
serialization- Arena Allocator
PaddedRWLock
to avoid false sharing- Handle EINTR in socket read/write
- Enum serialization fixes
- Fixed global perf counters in presence of offline CPUs
HttpClient
should support responses without Content-Length / Transfer-Encoding- Gracefully close sessions when stopping Server
1.5.0
- JDK 17 support. Workaround
setAccessible
restrictions - New BPF map types
SOCK_SEQPACKET
supportsendMsg
/recvMsg
for passing descriptors over a UNIX domain socket- Serializer generator now tolerates missing class files
- Fixed serialization of private Records
- Optimize
Utf8.read
for 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.fromJson
with 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[]
<->long
conversion
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.onSpinWait
bridge- Custom collection converters for
ConfigParser
- HttpClient fixes
- Utility class to invoke HotSpot diagnostic commands
CustomThreadFactory
for creating named/daemon/batch threadsRpcStream
memory optimizationssetAffinity
/getAffinity
for machines with more than 64 CPUs- AF_UNIX socket support. Refactored InetAddress handling
- systemd-notify API