Skip to content

Commit f5a3d7e

Browse files
committed
Merge branch 'release/0.6.0'
2 parents 7228806 + d47f0be commit f5a3d7e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+4231
-414
lines changed

CHANGELOG.md

+86-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,83 @@
11
# Changelog
22

3-
## [Unreleased](https://github.com/nymtech/nym/tree/HEAD)
3+
## [v0.6.0](https://github.com/nymtech/nym/tree/HEAD)
44

5-
[Full Changelog](https://github.com/nymtech/nym/compare/v0.4.1...HEAD)
5+
[Full Changelog](https://github.com/nymtech/nym/compare/v0.5.0...HEAD)
6+
7+
This release fixes bugs in v0.5.0. All testnet node operators are advised to upgrade from v0.5.0.
8+
9+
* fixed premature EOFs on socket connections by using the new multi-TCP client
10+
* fixed a bug causing client and mixnode connection hangs for misconfigured nodes
11+
* by default 'Debug' section of saved configs is now empty and default values are used unless explicitly overridden
12+
* introduced packet chunking allowing clients to send messages of arbitrary length. Note that packet retransmission is not implemented yet, so for longer messages, you might not get anything
13+
* mixnodes now periodically log stats regarding number of packets mixed
14+
* fixed possible client hang ups when sending high rates of traffic
15+
* preventing mixes from starting with same announce-host as an existing node
16+
* fixed overflow multiplication if connection backoff was set to a high value
17+
18+
19+
**Closed issues:**
20+
21+
- Periodic activity summary [\#172](https://github.com/nymtech/nym/issues/172)
22+
- Move contents of 'common/addressing' into 'common/nymsphinx' [\#161](https://github.com/nymtech/nym/issues/161)
23+
- Make builds simpler for node operators [\#114](https://github.com/nymtech/nym/issues/114)
24+
- Chunking in `nym-client` \(receive\) [\#83](https://github.com/nymtech/nym/issues/83)
25+
- Chunking in `nym-client` \(send\) [\#82](https://github.com/nymtech/nym/issues/82)
26+
27+
**Merged pull requests:**
28+
29+
- Feature/tcp client connection timeout [\#176](https://github.com/nymtech/nym/pull/176) ([jstuczyn](https://github.com/jstuczyn))
30+
- Feature/mixing stats logging [\#175](https://github.com/nymtech/nym/pull/175) ([jstuczyn](https://github.com/jstuczyn))
31+
- Preventing multiplication overflow for reconnection backoff [\#174](https://github.com/nymtech/nym/pull/174) ([jstuczyn](https://github.com/jstuczyn))
32+
- Feature/non mandatory debug config [\#173](https://github.com/nymtech/nym/pull/173) ([jstuczyn](https://github.com/jstuczyn))
33+
- Feature/addressing move [\#169](https://github.com/nymtech/nym/pull/169) ([jstuczyn](https://github.com/jstuczyn))
34+
- Checking if any other node is already announcing the same host [\#168](https://github.com/nymtech/nym/pull/168) ([jstuczyn](https://github.com/jstuczyn))
35+
- Bugfix/closing tcp client connections on drop [\#167](https://github.com/nymtech/nym/pull/167) ([jstuczyn](https://github.com/jstuczyn))
36+
- Yielding tokio task upon creating loop/real traffic message [\#166](https://github.com/nymtech/nym/pull/166) ([jstuczyn](https://github.com/jstuczyn))
37+
- Feature/minor healthchecker improvements [\#165](https://github.com/nymtech/nym/pull/165) ([jstuczyn](https://github.com/jstuczyn))
38+
- Feature/packet chunking [\#158](https://github.com/nymtech/nym/pull/158) ([jstuczyn](https://github.com/jstuczyn))
39+
40+
## [v0.5.0](https://github.com/nymtech/nym/tree/v0.5.0) (2020-03-23)
41+
42+
[Full Changelog](https://github.com/nymtech/nym/compare/v0.5.0-rc.1...v0.5.0)
43+
44+
1. Introduced proper configuration options for mixnodes, clients and providers. Everything is initialised with the `init` command that creates a saved config.toml file. To run the binary you now use `nym-<binary-name> run`, for example `nym-mixnode run`. Each flag can be overwritten at any stage with the following priority: run flags, data in config.toml and finally init flags.
45+
2. Made mixnet TCP connections persistent. When sending a Sphinx packet, it should no longer go through the lengthy process of establishing a TCP connection only to immediately tear it down after sending a single packet. This significantly boosts throughput.
46+
3. A lot of work on code clean up and refactoring including some performance fixes.
47+
4. Client now determines its default nym-sfw-provider at startup and should always try to connect to the same one. Note: we still can't reliably run more than a single provider on the network.
48+
5. Logging messages now have timestamps and when running at more aggressive log mode (like debug or even trace) we should no longer be overwhelmed with messages from external crates.
49+
6. Initial compatibility with Windows. Please let us know if you have problems.
50+
7. More work on validator, including initial Tendermint integration in Rust, and the start of the mixmining system.
51+
52+
**Closed issues:**
53+
54+
- Introduce timestamps to log messages [\#124](https://github.com/nymtech/nym/issues/124)
55+
56+
**Merged pull requests:**
57+
58+
- removing spooky startup warning message [\#155](https://github.com/nymtech/nym/pull/155) ([futurechimp](https://github.com/futurechimp))
59+
- Some more startup fixes [\#154](https://github.com/nymtech/nym/pull/154) ([futurechimp](https://github.com/futurechimp))
60+
- Entering runtime context when creating mix traffic controller [\#153](https://github.com/nymtech/nym/pull/153) ([jstuczyn](https://github.com/jstuczyn))
61+
- Friendlification of startup messages [\#151](https://github.com/nymtech/nym/pull/151) ([futurechimp](https://github.com/futurechimp))
62+
- Entering runtime context when creating packet forwarder [\#150](https://github.com/nymtech/nym/pull/150) ([jstuczyn](https://github.com/jstuczyn))
63+
- Feature/add topology to validator [\#149](https://github.com/nymtech/nym/pull/149) ([futurechimp](https://github.com/futurechimp))
64+
- Making code work on windows machines [\#148](https://github.com/nymtech/nym/pull/148) ([jstuczyn](https://github.com/jstuczyn))
65+
- validator: adding HTTP interface [\#146](https://github.com/nymtech/nym/pull/146) ([futurechimp](https://github.com/futurechimp))
66+
- Extracting the log setup [\#145](https://github.com/nymtech/nym/pull/145) ([futurechimp](https://github.com/futurechimp))
67+
- Feature/optional location in configs [\#144](https://github.com/nymtech/nym/pull/144) ([jstuczyn](https://github.com/jstuczyn))
68+
- Feature/concurrent connection managers [\#142](https://github.com/nymtech/nym/pull/142) ([jstuczyn](https://github.com/jstuczyn))
69+
- Defaulting for global 'Info' logging level if not set in .env [\#140](https://github.com/nymtech/nym/pull/140) ([jstuczyn](https://github.com/jstuczyn))
70+
- Provider not storing loop cover messages [\#139](https://github.com/nymtech/nym/pull/139) ([jstuczyn](https://github.com/jstuczyn))
71+
- Using log builder to include timestamps + filters [\#138](https://github.com/nymtech/nym/pull/138) ([jstuczyn](https://github.com/jstuczyn))
72+
- Feature/client ws refactoring [\#134](https://github.com/nymtech/nym/pull/134) ([jstuczyn](https://github.com/jstuczyn))
73+
- Bugfix/metrics presence delay fix [\#133](https://github.com/nymtech/nym/pull/133) ([jstuczyn](https://github.com/jstuczyn))
74+
- Removed outdated and redundant sample-configs [\#131](https://github.com/nymtech/nym/pull/131) ([jstuczyn](https://github.com/jstuczyn))
75+
- If not overridden, 'announce-host' should default to 'host' [\#130](https://github.com/nymtech/nym/pull/130) ([jstuczyn](https://github.com/jstuczyn))
76+
- Nice to know who we're talking to at startup... [\#129](https://github.com/nymtech/nym/pull/129) ([futurechimp](https://github.com/futurechimp))
77+
78+
## [v0.5.0-rc.1](https://github.com/nymtech/nym/tree/v0.5.0-rc.1) (2020-03-06)
79+
80+
[Full Changelog](https://github.com/nymtech/nym/compare/v0.4.1...v0.5.0-rc.1)
681

782
**Closed issues:**
883

@@ -48,14 +123,18 @@
48123

49124
## [v0.4.0](https://github.com/nymtech/nym/tree/v0.4.0) (2020-01-28)
50125

51-
[Full Changelog](https://github.com/nymtech/nym/compare/v0.4.0-rc.2...v0.4.0)
126+
[Full Changelog](https://github.com/nymtech/nym/compare/0.4.0-rc.2...v0.4.0)
127+
128+
Nym 0.4.0 Platform
129+
130+
In this release, we're taking a lot more care with version numbers, so that we can ensure upgrade compatibility for mixnodes, providers, clients, and validators more easily.
52131

53-
Nym 0.4.0 Platform
54-
55-
In this release, we're taking a lot more care with version numbers, so that we can ensure upgrade compatibility for mixnodes, providers, clients, and validators more easily.
56-
57132
This release also integrates a health-checker and network topology refresh into the Nym client, so that the client can intelligently choose paths which route around any non-functional or incompatible nodes.
58133

134+
## [0.4.0-rc.2](https://github.com/nymtech/nym/tree/0.4.0-rc.2) (2020-01-28)
135+
136+
[Full Changelog](https://github.com/nymtech/nym/compare/v0.4.0-rc.2...0.4.0-rc.2)
137+
59138
## [v0.4.0-rc.2](https://github.com/nymtech/nym/tree/v0.4.0-rc.2) (2020-01-28)
60139

61140
[Full Changelog](https://github.com/nymtech/nym/compare/v0.4.0-rc.1...v0.4.0-rc.2)

Cargo.lock

+22-19
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ members = [
99
"common/clients/multi-tcp-client",
1010
"common/clients/provider-client",
1111
"common/clients/validator-client",
12-
"common/addressing",
1312
"common/config",
1413
"common/crypto",
1514
"common/healthcheck",
15+
"common/nymsphinx",
1616
"common/pemstore",
1717
"common/topology",
1818
"mixnode",

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,7 @@ Platform build instructions are available on [our docs site](https://nymtech.net
1818
### Developing
1919

2020
There's a `.env.sample-dev` file provided which you can rename to `.env` if you want convenient logging, backtrace, or other environment variables pre-set. The `.env` file is ignored so you don't need to worry about checking it in.
21+
22+
### Developer chat
23+
24+
You can chat to us in [Keybase](https://keybase.io). Download their chat app, then click **Teams -> Join a team**. Type **nymtech.friends** into the team name and hit **continue**. For general chat, hang out in the **#general** channel. Our development takes places in the **#dev** channel. Node operators should be in the **#node-operators** channel.

common/addressing/src/lib.rs

-80
This file was deleted.

common/clients/directory-client/src/presence/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ mod converting_mixnode_presence_into_topology_mixnode {
8686
version: "".to_string(),
8787
};
8888

89-
let result: Result<mix::Node, std::io::Error> = mix_presence.try_into();
89+
let _result: Result<mix::Node, std::io::Error> = mix_presence.try_into();
9090
// assert!(result.is_err()) // This fails only for me. Why?
9191
// ¯\_(ツ)_/¯ - works on my machine (and travis)
9292
}

common/clients/mix-client/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ rand_distr = "0.2.2"
1414
tokio = { version = "0.2", features = ["full"] }
1515

1616
## internal
17-
addressing = {path = "../../addressing"}
17+
nymsphinx = {path = "../../nymsphinx"}
1818
topology = {path = "../../topology"}
1919

2020
## will be moved to proper dependencies once released
21-
sphinx = { git = "https://github.com/nymtech/sphinx", rev="23f9c89b257ee0936e70afd682e9ed6a62e89eee" }
21+
sphinx = { git = "https://github.com/nymtech/sphinx", rev="44d8f2aece5049eaa4fe84b7948758ce82b4b80d" }
2222
# sphinx = { path = "../../../../sphinx"}
2323

0 commit comments

Comments
 (0)