Changelog
1.4.0
Add TLS support using OpenSSL.
OpenSSL 3.0 is statically linked into the final library.
Unrefactor socket enumerations from interfaces. It’s not like we would’ve supported custom socket types properly anyway.
libuuid
is now statically linked into the final library.Disable mingwX64 support. Trying to statically link things is a hell of linker errors. Get your shit together, JetBrains.
1.3.0
Add pure-Kotlin IPv6 parsing.
The new parser is less featureful currently, but removes an external dependency.
IP addresses now wrap a public
ByteString
, not a privateByteArray
,Unrefactor the common stuff.
This wouldn’t’ve worked the way I wanted.
Sockets entirely reworked.
The new
Socket
interface was defined, andSynchronousSocketStream
was created for a stream over a socket.Socket options now actually work.
File code is now common to all platforms. This should help with maintainence.
Add Buffers for efficient I/O.
Add
escapedString
toByteString
, andPurePath
.Port nearly fully to Windows.
Only a handful of small functions don’t work anymore.
1.2.0 (Released 2020-11-04)
Add
WindowsPurePath
.I/O interfaces now work similar to
Readable|WriteableByteChannel
, reading into a buffer.
LinuxPath
is now aPosixPurePath
.Add compiled versions of the two static libraries for mingwX64.
Remove errno/winerror from OSException, and make them part of CC.
winerror is too broad for the design to work properly.
Also, I don’t see really any use for errno properties that wouldn’t be better served with more specific subclasses.
Add UUID support.
Add Windows support, using the Win32 API, for the following:
Filesystem paths
File I/O
Cryptographically secure psuedorandom number generations
Cryptography
Add support for non-blocking I/O on Linux.
The current blocking I/O functions wrap these, and will throw errors if they return in a non-blocking mode.
1.1.0 (Released 2020-10-14)
Add a
SecureRandom
API.Added a cryptographic API to the core module.
This exposes several well tested functions for general purpose cryptographic usage.
Add the
Blake2b
integrity hashing algorithm.Add the
argon2i
password hashing algorithm.Remove the
String
-based streams. These need a design rework.Add hex-encoding for
ByteString
objects.Add Base64 encoding for
ByteString
objects.Add
poll()
based timeout for TCP sockets when connecting.Add
libtls
based TLS support.
1.0.0
Initial release.