Releases: achlysproject/achlys
v0.4.1
v0.4.0
v0.3.3
Changelog
- Improved API documentation on HexDocs
- Added instructions for tests with multiple local interactive shells
make
target for local testing and debugging now automatically finds host's IP addressconfig/test.config.src
now expandsPEER_PORT
andPEER_IP
environment variables for Partisan- Added support for FQDN
--name
s for nodes - Website domain name is now Achlys.app
v0.3.2
Patched documentation
- Patched documentation
- Removed unnecessary dependencies
- Removed unused functions
- Added dynamic configuration environment variables
0.3.0
0.2.0
Release notes
This release is the first minor version increment of the Achlys framework due to the significant enhancements that are introduced w.r.t. v0.1.10.
New features
-
In view of the problems described in #8 , a first implementation of Achlys using Lasp's DETS storage backend
is proposed. The benefit is two-fold :- The Delta-CRDT system model is fulfilled as the nodes are now able to recover durable storage upon node failure.
- The storage volume is considerably higher. In fact, the nodes were capable of storing a few Megabytes in memory, and are now able to store a few Gigabytes. Hence an increase of several orders of magnitude.
-
The general purpose task model has been extended and now contains a prototype implementation of the task worker, allowing for executions of propagated high-order functions across clusters. There are currently 2 flavors of tasks :
- Permanent tasks : functions that can be periodically executed for an unlimited amount of times
- Single execution tasks : functions that are run only once per target node
-
A Clustering module has been added and when activated allows Achlys nodes to perform neighbor discovery by attempting to join other possible peers periodically. This way network disruptions and partitions are more easily repaired as nodes will perform regular calls to Partisan's membership modules.
Improvements
-
The memory footprint can be contained in a near-constant function. This enables further freedom while sensing and harvesting data and fewer concerns about heap allocation, as Achlys is able to make a more efficient use of the GRiSP features.
-
Achlys' supervision tree has been made more modular and the workers that will be part of it at runtime can now be configured with simple boolean parameters in
sys.config
. This way only the desired modules will be started when the system boots. -
The total size of the release has been reduced by 300 Kb, accounting for a 3 to 4% decrease of the code occupying memory space.
0.1.10
Memory improvements
- A new flushing mechanism has been implemented allowing aggregates in CRDT variables to behave as moving averages, adding replicated aggregation on top of local computations.
- First experimental deployments show near constant memory footprint
- Data has been split into specific variables for each type and each node, removing the need to store repetitive identification tags in variables.
State convergence
- Improved recovery after crashes
- Successful retrieval of data after reboot without durable storage
⚠️ Divergent behavior has not been completely resolved yet. Currently ongoing work #8