Releases: haydnv/tinychain
v0.17-beta
Changelog:
- remove the cross-service transaction protocol's requirement for bidirectional synchronization messages
- break the startup process into multiple stages
- allow partial replication without joining a cluster
- implement support for local peer discovery via mDNS
- upgrade to hyper 1.4
- require a correct cluster state hash to join a cluster
- gate
Chain
and eachCollection
type with a feature flag for fast debug builds - separate the
tc_server
sub-crate from the main crate
v0.16.0 beta
Changelog:
- validate auth tokens exactly once, upon receipt
- reject unauthorized requests without reading payload data (headers only)
- remove unnecessary lock acquisitions when instantiating a new request handler
- move per-transaction garbage collection completely into a background task
- separate a new
tinychain_async
package out of thetinychain
Python client - move client implementations into a single
client
directory
v0.15.0 beta
Changelog:
- improved OpenCL support & performance
This release re-introduces a separate binary which supports GPU acceleration via OpenCL.
v0.14.0 beta
Changelog:
- improved table table index merge performance
- improved memory performance by minimizing heap allocations
0.13.1 beta
This release includes incremental bug fixes and performance improvements focused on supporting high-traffic applications.
0.13.0-beta
Version 0.13-beta introduces experimental support for multi-GPU hardware acceleration using the ha-ndarray library. If you are using TinyChain, we want to hear from you! Send an email with the word "hello" to [email protected].
Changelog:
- dropped ArrayFire as a dependency
- added experimental support for multi-GPU hardware acceleration (build with the "opencl" feature flag to enable this)
- updated collection types to implement a log-structured merge consistency model, for faster commits
- decoupled transactional locks from filesystem locks
- added support for cell level locking
- added support for multiple axes in tensor reduce operations (including einsum)
- updated crate structure to include the new
chain
,collection
,fs
,scalar
, andstate
sub-crates for faster build times
0.12.0 beta
changelog:
- add support for installing a new
Cluster
at runtime without restarting - implement basic support for
/class
,/library
, and/service
endpoints - require authorization to install a new
Cluster
- performance improvements to transactional locking
- replace
App
withService
in the Python client - update linear algebra and ml services and tests to use
Service
with dynamic installation - refactor
Chain
to support a generic mutable subject - refactor
tc_transact::File
to support a generic key type - bugfixes to
Chain
recovery in single-host mode - security updates to dependency versions
SHA256 checksum: 9cf7d9408f3e10e8d1dbc92f6cd8ccf6bffd24992e82dfbe842b48c23266b87f
0.11.0 beta
This release focuses on host performance.
Changelog:
- chain performance improvements
- transactional filesystem performance improvements
- transaction lock performance improvements
- complex number performance improvements
- gradient support for for
Tensor.max
,Tensor.min
,Tensor.product
,Tensor.sum
SHA256 checksum: b15b4f7734946ff2c3303b84bc8f0bcdc3a8b213317e731215c6156d4583cc8e
0.10.0 beta
The 0.10.0 beta release focuses on client usability.
Changelog:
- dropped support for Python versions < 3.9
- added support for generic types (e.g. in
Map
,Tuple
,Op
, etc) - added support for deriving
Op
s via reflection (i.e. reflecting over an existing user-definedOp
to create a new, differentOp
) - added support for differentiable
Op
s, including instance methods - refactored
NeuralNet
andLayer
classes to use differentiable methods Graph
schema can now be auto-generated by providing a list ofModel
s- added explicit support for the multivariate chain rule, for automatic differentiation
- refactored
Context
to require only unique states and support constructing a newContext
based on the structure of an existingContext
- added
hash_of
for consistent hashes of TinyChainState
s - refactored
URI
to replaceMethodSubject
SHA256 checksum: 6a019e90af5b5df4cb1b3d74c42f73d6135c3a7efb753b718137573c147e3098
0.9.0 beta
Changelog:
- added support for automatic differentiation of
Tensor
transforms (e.g.Tensor.slice
,Tensor.reshape
) - improved
TxnLock
performance & reliability under high-load conditions - added support for computing partial derivatives w/r/t any
State
in a differentiable operator graph - improved support for referencing a differentiable operator graph from an Op context
- added support for custom gradient definitions
- implemented
Tensor.max
andTensor.min
- improved
einsum
performance - added a
keepdims
option toTensor
reduce methods - improved compile-time tracking of tensor shapes
- refactored testutils for use in client application tests
SHA256 checksum: 7623181e63524389ecc0f82537556f699757be961feb9181f54c86d0d0a84e9c