Drasyl

Latest version: v0.11.0

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.2

docker push drasyl/drasyl:1
docker push drasyl/drasyl:latest



Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

1.2.0

0.11.0

Added

- CLI: Option `--rc-start-node` to sub-command `node` added.
- CLI: Option `--unavailability-cause` to sub-command `version` added.
- CLI: Sub-command `node-rc peers` added.
- CLI: Sub-command `sdon` added.
- [`EventTypeDrasylNode`](drasyl-examples/src/main/java/org/drasyl/example/EventTypeDrasylNodeExample.java) added.
- `DrasylNode` will now check local time is correct on start as this is mandatory for drasyl protocol to work.
- [`InboundExceptionEvent`](drasyl-node/src/main/java/org/drasyl/node/event/InboundExceptionEvent.java) now contains exception in string presentation.
- `DrasylConfig`: Option `drasyl.remove.tcp-fallback.connect-port` added.
- Boolean system property `org.drasyl.pub-key.interning` added to disable interning of IdentityPublicKeys, as this could have a negative impact on performance..


Changed

- Dependencies have been updated.
- TCP fallback now connects to all super peers.
- Application messages are not longer passed through the `DrasylServerChannel` (this was a performance bottleneck).
- CLI: Option `--ack-interval` from sub-command `wormhole receive` removed (the new reliability layer determines this value automatically).
- CLI: Options `--window-size` and `--window-timeout` from sub-command `wormhole send` removed (the new reliability layer determines this value automatically).
- `DrasylConfig`: Options `drasyl.remove.message.mtu`, `drasyl.remove.message.max-content-length`, `drasyl.remove.message.composed-message-transfer-timeout`, `drasyl.remove.message.arq` removed (the new reliability layer determines this value automatically).
- `DrasylConfig`: Options `drasyl.remove.tcp-fallback.timeout`, `drasyl.remove.tcp-fallback.address` removed.
- Improved performance in inbound and outbound message processing by reducing task scheduling overhead. Instead of creating a separate task for each message, a single task now processes entire batches of reads and writes. Additionally, fewer Java objects are created, and zero-copy techniques are applied more frequently where possible.

Fixed

- CLI: ensure wormhole sender/receiver handlers gracefully stop when connection is lost.
- CLI: fix `tunnel` sub-command.
- Receiving multiple `UNITE` messages will now trigger new `HELLO` messages only if new endpoints have been reported.
-

0.10.0

Added

- `DrasylConfig.newBuilder()` will now validate serialization bindings.
- CLI: Option `--no-application-arming` to sub-command `tun` added.
- Boolean system property `org.drasyl.nonce.pseudorandom` added which can be used to use cheaper nonces using pseudorandom source (should not be used in production environments).

Changed

- Dependencies have been updated.
- Super peers in Frankfurt, Germany and Nuremberg, Germany have been replaced with globally more distributed super peers in Baden-Baden, Germany; Logroño, Spain; New York City; and Singapore.
- General performance improvements.
- drasyl is now using kqueue or epoll on supported platforms.

Fixed

- CLI: Fixed problem that prevents a `node` from being remote-controlled via HTTP.
- Class `org.drasyl.handler.PeersRttHandler.PeerRtt` is now public.

0.9.0

Added

- It is now easier to create drasyl node through the bootstrap interface.
Refer [our documentation](https://docs.drasyl.org/advanced-usage/bootstrapping/) for more
information.
- Added support for remote message invocations over drasyl.
Refer [our documentation](https://docs.drasyl.org/advanced-usage/remote-message-invocation/)
for more information.
- Added support for decentralized membership managed using the CYCLON protocol.
Refer [our documentation](https://docs.drasyl.org/advanced-usage/membership-management/) for
more information.
- Added support for the publish/subscribe messaging pattern.
Refer [our documentation](https://docs.drasyl.org/advanced-usage/publish-subscribe/) for
more information.
- Added support for distributed lookup service using the Chord protocol.
Refer [our documentation](https://docs.drasyl.org/advanced-usage/distributed-lookup/) for
more information.
- Created shared C library `libdrasyl` for the `DrasylNode` interface.
Refer [our documentation](https://docs.drasyl.org/language-bindings/c) for
more information.
- Created Python binding `drasyl` for the shared C library. Can be installed through [PyPI](https://pypi.org/project/drasyl/). Refer [our documentation](https://docs.drasyl.org/language-bindings/python) for
more information.

Changed

- Dependencies have been updated.
- `DrasylNode` now provides guaranteed and in-order message delivery by default. Can be disabled
through configuration parameter `drasyl.remote.message.arq.enabled`.
- Moved optional classes from Maven module `org.drasyl:drasyl-core` to `org.drasyl:drasyl-extras`.
- `DrasylChannel` and `DrasylServerChannel` are now running on `DefaultEventLoopGroup` that provide
a better performance compared to `NioEventLoopGroup`.

Fixed

- CLI sub-command `tun`: Ensure that a route is fully removed upon request.
- Fixed problem with UDP multicast server unable to join multicast group on dual stack systems (215).
- Future returned by `DrasylNodeshutdown` is no longer completed too early (202).

0.8.0

Added

- NAT Traversal is now also able to establish a P2P connection if both devices are behind a shared
NAT device that does not support [hairpinning](https://datatracker.ietf.org/doc/html/rfc4787#section-6).
- Node: Added `UnconfirmedAddressResolveHandler` that does send messages to unconfirmed (sender)
addresses as last-resort (before the messages were simply dropped).
- CLI: Option `--mtu` to sub-command `tun` added.
- CLI: Option `--rc-jsonrpc-tcp` and `--rc-jsonrpc-http` to sub-command `node` added.
- CLI: `node-rc` sub-command added.
- CLI: Option `--rc-jsonrpc-tcp` and `--rc-jsonrpc-http` to sub-command `tun` added.
- CLI: `tun-rc` sub-command added.
- CLI: `tun` command will now work within docker.

Changed

- CLI: Improve `tun` sub-command performance by tweaking default MTU size.
- CLI: Instead of a random port, drasyl now listens on a port that is derived from the identity.
- Dependencies have been updated.

Fixed

- Internet discovery now regularly checks if the super peer DNS records have changed.
- DrasylNode: Groups plugin is working again.
- [guava](https://github.com/google/guava) dependency removed.

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.