Drasyl

Latest version: v0.10.0

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

Scan your dependencies

Page 3 of 3

0.2.0

Added

- Plugins can now be defined in the configuration `drasyl.plugins`. Plugins can be used to change
the behavior of the node when interacting with the network.
- `DrasylNode.send()` can now send arbitrary objects (make sure that a suitable serialization codec
is defined in the configuration `drasyl.marshalling`).
- `DrasylNode.identity()` returns own identity.
- Node will now try to expose itself via UPnP-IGD/NAT-PMP/PCP (can be disabled in the configuration
via `drasyl.expose.enabled = false`).
- Local Host Discovery: Node can use the file system to discover other drasyl nodes running on the
local computer (`drasyl.local-host-discovery`).
- CLI: `wormhole` sub-command added.

Changed

- `wss://production.env.drasyl.org025fff6f625f5dee816d9f8fe43895479aecfda187cb6a3330894a07e698bc5bd8`
is now the default super peer (`drasyl.super-peer.endpoints`).
- Configuration `drasyl.super-peer.public-key` removed (public key can now be specified in
configuration `drasyl.super-peer.endpoints`).
- `DrasylNode.send()` now returns a future, which complements when the message has been processed.
- `DrasylNode.send()` no longer throws exceptions, but writes them to the future.
- `DrasylNode.send()` is no longer synchronized.
- The own identity is now created in the `DrasylNode` constructor and not at node start.
- The `DrasylNode` constructor now throws an error if the own identity is invalid.
- Number of threads required by drasyl reduced by internal switch to `DrasylScheduler`.
- Chat example and CLI now stops the JVM after shutting down the node.
- Javadoc improved.
- Changed to a non-blocking logger.
- Chunking is now disabled by default in the configuration, because it is not fully implemented
yet (`drasyl.message.max-content-length`).
- The drasyl thread pools are now lazily created when the first node is started.
- `MessageEvent.getMessage()` replaced by `MessageEvent.getSender()` and `MessageEvent.getPayload()`
.
- Messages and Events objects are now immutable.
- Non-started node now throws a `NoPathToPublicKeyException` for all outgoing messages.
- Removed `PeerUnreachableEvent` and `NodeIdentityCollisionEvent`.

Fixed

- Fixed concurrent modification error in `PeersManager`.
- Fixed concurrent modification error in `DirectConnectionsManager`.
- Fixed a bug that causes endless loops when a wanted handler was not the next handler in the
pipeline.
- Fixed a bug that causes a `NullPointerException` when the node is started and stopped too quickly.
- Fixed a bug that results in a partially started node if it was started and stopped too quickly.
- Make sure that monitoring is also shut down in case of an error.
- Reduce time till sending ping messages to prevent problems with too aggressive reverse proxies (I
mean you, nginx).

0.1.2

Added

- Release for Maven Central

0.1.1

Added

- Release for Maven Central

0.1.0

Added

- First release


Release

This file describes how to make the various kinds of releases.

Making a release

* Verify that all [Github Action workflows](https://github.com/drasyl-overlay/drasyl/actions) succeed on master.
* Update version
in [swagger.json](drasyl-plugin-groups-manager/src/main/resources/public/swagger.json).
* Ensure [CHANGELOG](CHANGELOG.md) is up-to-date (e.g. version and release date is set).
* Commit changes.
* Build software and push to maven repository:
bash
rm -f release.properties
mvn clean release:prepare -Prelease-prepare


An additional call of `mvn release:perform` is not necessary! A GitHub Action workflow performs this
tasks automatically.

* Wait for the GitHub Action to deploy new version to Maven Central ([Deploy](https://github.com/drasyl-overlay/drasyl/actions/workflows/deploy.yml) workflow).
* Deploy to our public super peers (this is a manual process).
* Create Release on GitHub:
* Go to https://github.com/drasyl-overlay/drasyl/tags.
* Click `Create release` for tag `v1.2.0`.
* **Title:** `v1.2.0`
* **Description:** `[CHANGELOG.md](CHANGELOG.md)`
* Wait for GitHub Action to complete [Release](https://github.com/drasyl-overlay/drasyl/actions/workflows/release.yml) workflow.
* Update back to next SNAPSHOT version
in [swagger.json](drasyl-plugin-groups-manager/src/main/resources/public/swagger.json)
and [Chart.yaml](chart/Chart.yaml) and [getting-started.md](docs/content/getting-started.md).
* Push the new version to chocolatey. For instructions see this repo: [https://github.com/drasyl-overlay/drasyl-choco](https://github.com/drasyl-overlay/drasyl-choco/blob/master/RELEASE.md)
* Create/update version branch (e.g., `v1.2` if you release `v1.2.0`) and push.

Making a manual build of docker

The drasyl docker image should autobuild on via GitLab CI. If it doesn't or needs to be updated then
rebuild like this.


mvn package
docker build -t drasyl/drasyl:1.2.0 -t drasyl/drasyl:1.2 -t drasyl/drasyl:1 -t drasyl/drasyl:latest .

Page 3 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.