Releases: sbt/ipcsocket
2.0.0-M1
🚀 JDK 17 Unix Domain Socket support
IPC Socket 2.0 adds JDK 17 Unix Domain Socket support as the NIO SocketChannel.
String pathName = "/tmp/foo/foo.sock";
ServerSocketChannel serverChannel = ServerSocketChannels.newServerSocketChannel(pathName, true);
SocketChannel clientChannel = SocketChannels.newSocketChannel(pathName, true);This was contributed by @xuwei-k in #53, and by @eed3si9n in #54 and #55.
🎬 behind the scenes
- ci: Updates GitHub Actions OS versions by @xuwei-k in #48
- ci: Adds
dependabot.ymlfor GitHub Actions update by @xuwei-k in #46 - ci: Updates sbt and plugins by @xuwei-k in #47
- ci: Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #49
- ci: Bump actions/checkout from 4 to 5 by @dependabot[bot] in #50
- ci: Fixes Archive native artifacts (macOS) step by @xuwei-k in #51
- ci: Adds JDK 25 CI by @xuwei-k in #52
- ci: Update publishing by @eed3si9n in #56
- Implement toString by @eed3si9n in #44
new contributors
- @dependabot[bot] made their first contribution in #49
Full Changelog: v1.6.3...v2.0.0-M1
1.6.3
1.6.2
1.6.1
Note: This is identical to 1.6.0, but republished since it's failing to sync to Maven Central.
fixes and updates
- Replace
WaitForSingleObjectwithFlushFileBufferson Windows by @andrzejressel by #27 - Cross build Aarch64 artifacts by @eed3si9n in #33, #34, #35
behind the scene
Full Changelog: v1.5.0...v1.6.0
1.6.0
1.5.0
JNA 5.12.0
- ipcsocket 1.5.0 updates JNA to 5.12.0
Bug fixes
- Fixes native library cleanup, which was trying to delete temporary directory like
/tmpwhenuseJNIistrueby @eed3si9n in #23 - Fixes typo in
ERROR_PIPE_CONNECTEDimplementation by @eatkins in #21
Tests and samples
New Contributors
Full Changelog: v1.4.0...v1.5.0
1.4.1
Bug fixes
- Fixes native library cleanup, which was trying to delete temporary directory like
/tmpwhenuseJNIistrueby @eed3si9n in #23 - Fixes typo in
ERROR_PIPE_CONNECTEDimplementation by @eatkins in #21
Tests and samples
New Contributors
Full Changelog: v1.4.0...v1.4.1
1.4.0
IPC Socket 1.4.0 updates Java Native Access (JNA) to 5.8.0, which adds support for Apple silicon (ARM). ARM support has been available via Java Native Interface (JNI) implementation since 1.2.0, but this allows the same implementation to be used on ARM macs. JNI would still be necessary for GraalVM native image purposes.
IPC Socket 1.4.0 also contains the fix to server socket forgetting about useJNI flag, which prevents BSP import on ARM macs. The fix was contributed by @quelgar in #14.
1.3.1
1.3.0
IPC Socket 1.3.0 changes the Java Native Interface (JNI) macOS to use multi-architecture binary for x86-64 and Apple silicon (AArch64). This was contributed by @eatkins in #12.
IPC Socket 1.3.0 also adds maxSocketLength method to return the maximum path length for the Unix Domain Socket. Previously this query was implemented only via JNA. #13 by @eatkins.
IPC Socket is a Java wrapper around interprocess communication (IPC) using java.net.ServerSocket and java.net.Socket as the API. On Unix-like systems, it uses Unix Domain Socket. The path is a filesystem path name. On Windows, IPC is implemented using Named Pipe. The path must refer to an entry in \\?\pipe\ or \\.\pipe\.