Netsody

Blog

drasyl 0.3.0 released with Network Separation, and Groups Plugin

Dr. Heiko Bornholdt Dr. Heiko Bornholdt Senior Research Assistant Profile GitHub LinkedIn 2 min read
Archive This post documents earlier research or engineering work.

Its names, scope, and implementation details reflect the context at publication and may differ from the current Netsody platform.

drasyl 0.3.0 released with Network Separation, and Groups Plugin
Archive notice: This post preserves its original account of a research project, software artifact, or engineering milestone. It does not by itself describe the origin or scope of the current Netsody platform.

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() and DrasylNode.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 to openjdk: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 accept RelayableMessage.
  • 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