Today, we are excited to announce the release of drasyl 0.3.0 with network separation, groups plugin, and some performance tweaks.
Changelog
Added
- Each node now belongs to a certain network ID. Connections between nodes will occur only if both.
peers use the same network ID. The main network has ID 1 (see configuration
drasyl.network.id
). - Added drasyl groups plugin for membership management.
- Added support for netty’s Epoll channels and event loops.
- Plugins can now access the node’s identity.
Changed
- All
drasyl.marshalling
config properties will now distinct between allowed outgoing and ingoing types. Config must be updated according to our documentation. drasyl-core
now only depends on slf4j and no longer on logback. As part of this, the methods.DrasylNode.getLogLevel()
andDrasylNode.setLogLevel()
have been removed and the configuration.drasyl.loglevel
has been removed.- Nodes now only accept children joins if they are configured as a super-peer (
drasyl.super-peer.enabled = false
). - Removed grandchildren nodes. The hierarchy is now limited in depth.
- All-new plugin interface.
- Changed docker base image from
drasyl/drasyl-build-images:jre-11-curl-7.64.0
toopenjdk:11-jre-slim
and removed default HEALTHCHECK. - Enhanced JavaDoc.
- Changed
TypeValidator
to distinguish between in- and outbound messages. - EmbeddedPipeline was generalized to simplify handler testing.
- Node now checks if the permissions of the identity file are too open (POSIX file systems only).
- Changed
Pipeline.processInbound
to acceptRelayableMessage
. - Endpoints defined in
drasyl.super-peer.endpoints
must now always include the super peer’s public key.
Fixed
- Fixed memory-leaks of certain immutable classes.
- Fixed
DefaultPipeline.addBefore
method. - Fixed error in IntraVM discovery which has delivered events around the pipeline directly to the application.
- Several minor bug fixes.
Photo by Andrew Moca on Unsplash