Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@nymproject/nym-client-wasm

nymtech34Apache-2.01.4.0-rc.0TypeScript support: included

A webassembly client which can be used to interact with the the Nym privacy platform. Wasm is used for Sphinx packet generation.

nym, sphinx, wasm, webassembly, privacy

readme

Nym Sphinx webassembly client

Produces layer-encrypted Sphinx packets for use with Nym mixnets.

Sphinx packets ensure the privacy of information in transit, even when the adversary is able to monitor the network in its entirety. When used with a mixnet, both content (what you said) and metadata (who you said it to, when you said it) are protected.

This helps browser-based and mobile applications get stronger privacy, in a way that wasn't previously possible.

This client is part of the Nym project. It's written in Rust and compiled to WebAssembly.

Security Status

From a security point of view, this module is not yet complete. Key missing features include, but are not limited to: cover traffic, sending packets with delay according to Poisson distribution.

They should be implemented soon. You can build your applications, but don't rely on it for strong anonymity yet if your application needs cover traffic.

Using it

See the SDK directory for examples on how to use it and the NPM packages available.

Developing

Make sure you have wasm-pack installed (cargo install wasm-pack) before you start.

Please use the Makefile targets to build this crate and compile it to WASM:

make build

The outputs will be found here where it will be accessible to the rest of the monorepo using workspaces.

Packaging

TODO

If you're a Nym platform developer who's made changes to the Rust files and wants to re-publish the package to NPM, here's how you do it:

  1. bump version numbers as necessary for SemVer
  2. go the sdk/typescript directory (off the project root)
  3. run:
    yarn
    yarn build
    yarn publish

changelog

Changelog

Post 1.0.0 release, the changelog format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[2025.1-reeses] (2025-01-15)

  • Feture/legacy alert (#5346)
  • chore: readjusted --mode behaviour to fix the regression (#5331)
  • chore: apply 1.84 linter suggestions (#5330)
  • bugfix: make sure refresh data key matches bond info (#5329)
  • reduce log severity for number of packets being delayed (#5321)
  • feat: warn users if node is run in exit mode only (#5320)
  • Bugfix/contract version assignment (#5318)
  • fixed client session histogram buckets (#5316)
  • amend 250gb limit (#5313)
  • feature: expand nym-node prometheus metrics (#5298)
  • Cherry picked #5286 (#5287)
  • Add close to credential storage (#5283)
  • feature: wireguard metrics (#5278)
  • Add PATCH support to nym-http-api-client (#5260)
  • chore: removed legacy socks5 listener (#5259)
  • bugfix: make sure to apply gateway score filtering when choosing initial node (#5256)
  • Update TS bindings (#5255)
  • Add conversion unit tests for auth msg (#5251)
  • Add control messages to GatewayTransciver (#5247)
  • Remove unneeded async function annotation (#5246)
  • bugfix: make sure to update timestamp of last batch verification to prevent double redemption (#5239)
  • Add FromStr impl for UserAgent (#5236)
  • Extend swagger docs (#5235)
  • TicketType derive Hash and Eq (#5233)
  • Add fd callback to client core (#5230)
  • Extend raw ws fd for gateway client (#5218)
  • Shipping raw metrics to PG (#5216)
  • Change sqlite journal mode to WAL (#5213)
  • Derive serialize for UserAgent (#5210)
  • Restore Location fields (#5208)
  • better date serialization (#5207)
  • Fix overflow (#5204)
  • feature: hopefully final steps of the smoosh™️ (#5201)
  • Fix overflow (#5184)
  • NS API - Gateway stats scraping (#5180)
  • introduced initial internal commands for nym-cli: ecash key and request generation (#5174)
  • Move NS client to separate package under NS API (#5171)
  • build(deps): bump micromatch from 4.0.4 to 4.0.8 in /testnet-faucet (#4813)

[2024.14-crunch-patched] (2024-12-17)

  • Fixes an issue to allow previously registred clients to connect to latest nym-nodes
  • Fixes compatibility issues between nym-nodes and older clients

[2024.14-crunch] (2024-12-11)

  • Merge/release/2024.14-crunch (#5242)
  • bugfix: added explicit openapi servers to account for route prefixes (#5237)
  • Further config score adjustments (#5225)
  • feature: remve any filtering on node semver (#5224)
  • Backport #5218 (#5220)
  • Derive serialize for UserAgent (#5210) (#5217)
  • dont consider legacy nodes for rewarded set selection (#5215)
  • introduce UNSTABLE endpoints for returning network monitor run details (#5214)
  • Nmv2 add debug config (#5212)
  • nym-api NMv1 adjustments (#5209)
  • adjusted config score penalty calculation (#5206)
  • Fix backwards compat mac generation (#5202)
  • merge crunch into develop (#5199)
  • Update Security disclosure email, public key and policy (#5195)
  • Guard storage access with cache (#5193)
  • chore: apply 1.84 linter suggestions (#5192)
  • improvement: make internal gateway clients use the same topology cache (#5191)
  • Bugfix/credential proxy sequencing (#5187)
  • Add monitor_run and testing_route indexes (#5182)
  • Add indexes to monitor run and testing route (#5181)
  • bugfix: fixed nym-node config migrations (again) (#5179)
  • bugfix: use default value for verloc config when deserialising missing values (#5177)
  • Remove peers with no allowed ip from storage (#5175)
  • Move two minor jobs to free tier github hosted runners (#5169)
  • Add support for DELETE to nym-http-api-client (#5166)
  • Fix env var name (#5165)
  • Add strum::EnumIter for TicketType (#5164)
  • Add export_to_env to NymNetworkDetails (#5162)
  • bugfix: correctly expose ecash-related data on nym-api (#5155)
  • fix: validator-rewarder GH job (#5151)
  • build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /testnet-faucet (#5150)
  • build(deps): bump mikefarah/yq from 4.44.3 to 4.44.5 (#5149)
  • start session collection for exit gateways (#5148)
  • add version to clientStatsReport (#5147)
  • update serde_json_path due to compilation issue (#5144)
  • chore: remove standalone legacy mixnode/gateway binaries (#5135)
  • [Product Data] Set up country reporting from vpn-client (#5134)
  • removed ci-nym-api-tests.yml which was running outdated (and broken) tests (#5133)
  • CI: reduce jobs running on cluster (#5132)
  • [DOCS/operators]: Release changes v2024.13-magura & Tokenomics pages v1.0 (#5128)
  • NS Agent auth with NS API (#5127)
  • [Product Data] Config deserialization bug fix (#5126)
  • bugfix: don't send empty BankMsg in ecash contract (#5121)
  • [Product data] Data consumption with ecash ticket (#5120)
  • feat: add GH workflow for nym-validator-rewarder (#5119)
  • feat: add Dockerfile and add env vars for clap arguments (#5118)
  • feature: config score (#5117)
  • [Product Data] Add stats reporting configuration in client config (#5115)
  • Correct IPv6 address generation (#5113)
  • feature: rewarding for ticketbook issuance (#5112)
  • Add granular log on nym-node (#5111)
  • Send mixnet packet stats using task client (#5109)
  • Expose time range (#5108)
  • [Product Data] Client-side stats collection (#5107)
  • chore: ecash contract migration to remove unused 'redemption_gateway_share' (#5104)
  • [Product Data] Better unique user count on gateways (#5084)
  • feat: add nym node GH workflow (#5080)
  • IPv6 support for wireguard (#5059)
  • Node Status API (#5050)
  • Authenticator CLI client mode (#5044)
  • Integrate nym-credential-proxy into workspace (#5027)
  • [Product Data] Introduce data persistence on gateways (#5022)
  • Bump the patch-updates group across 1 directory with 10 updates (#5011)
  • build(deps): bump once_cell from 1.19.0 to 1.20.2 (#4952)
  • Create TaskStatusEvent trait instead of piggybacking on Error (#4919)
  • build(deps): bump lazy_static from 1.4.0 to 1.5.0 (#4913)
  • Sync code with .env in build.rs (#4876)
  • build(deps): bump axios from 1.6.0 to 1.7.5 in /nym-api/tests (#4790)
  • Bump elliptic from 6.5.4 to 6.5.7 in /testnet-faucet (#4768)

[2024.13-magura-drift] (2024-11-29)

  • Optimised syncing bandwidth information to storage

[2024.13-magura-patched] (2024-11-22)

  • [experimental] allow clients to change between deterministic route selection based on packet headers and a pseudorandom distribution
  • Introduced a configurable limit on retransmission frequency of packets if ACKs are not received
  • Filtered out invalid IP addresses on nym-api

[2024.13-magura] (2024-11-18)

  • Limit race probability (#5145)
  • bugifx: assign 'node_id' when converting from 'GatewayDetails' to 'TestNode' (#5143)
  • bugfix: make sure to assign correct node_id and identity during 'gateway_details' table migration (#5142)
  • Respond to auth messages with same version (#5140)
  • Pain/polyfill deprecated endpoints (#5131)
  • change: dont select mixnodes bonded with vested tokens into the rewarded set (#5129)
  • nym-credential-proxy-requests: reqwest use rustls-tls (#5116)
  • bugfix: preserve as much as possible of the rewarded set during migration (#5103)
  • Feature/force refresh node (#5101)
  • Add NYM_VPN_API to env files (#5099)
  • bugfix: fixed historical uptimes for nodes (#5097)
  • Remove old use of 1GB constant (#5096)
  • Graceful agent 1.1.5 (#5093)
  • Add more translations from v2 to v3 authenticator (#5091)
  • Nym node - Fix claim delegator rewards (#5090)
  • Make 250 GB/30 days for free ride mode (#5083)
  • Don't increase bandwidth two times (#5081)
  • Fix expiration date as today + 7 days (#5076)
  • Fix gateway decreasing bandwidth (#5075)
  • Allow custom http port to be reset (#5073)
  • bugfix: additional checks inside credential proxy (#5072)
  • chore: deprecated old nym-api client methods and replaced them when possible (#5069)
  • NS API with directory v2 (#5058) (#5068)
  • bugfix: credential-proxy obtain-async (#5067)
  • Allow nym node config updates (#5066)
  • bugfix: use corrext axum extractors for ecash route arguments (#5065)
  • Merge2/release/2024.13 magura (#5063)
  • bugfix/feature: added NymApiClient method to get all skimmed nodes (#5062)
  • Merge1/release/2024.13 magura (#5061)
  • added hacky routes to return nymnodes alongside legacy nodes (#5051)
  • bugfix: mark migrated gateways as rewarded in the previous epoch in case theyre in the rewarded set (#5049)
  • bugfix: adjust runtime storage migration (#5047)
  • bugfix: supersede 'cb13be27f8f61d9ae74d924e85d2e6787895eb14' by using… (#5046)
  • bugfix: restore default http port for nym-api (#5045)
  • bugfix: fix ecash handlers routes (#5043)
  • bugfix: don't assign exit gateways to standby set (#5041)
  • bugfix: make sure nym-nodes are also tested by network monitor (#5040)
  • bugfix: use bonded nym-nodes for determining initial network monitor … (#5039)
  • bugfix: make gateways insert themselves into [local] topology (#5038)
  • Pass poisson flag (#5037)
  • bugfix: use human readable roles for annotations (#5036)
  • bugfix: use old name for 'epoch_role' in SkimmedNode (#5034)
  • bugfix: make sure to use correct highest node id when assigning role (#5032)
  • feature: use axum_client_ip for attempting to extract source ip (#5031)
  • bugfix: fixed backwards incompatibility for /gateways/described endpoint (#5030)
  • bugfix: verifying signed information of legacy nodes (#5029)
  • bugfix: introduce 'LegacyPendingMixNodeChanges' that does not contain 'cost_params_change' (#5028)
  • bugfix: missing #[serde(default)] for announce port (#5024)
  • bugfix: directory v2.1 get_all_avg_gateway_reliability_in_interval query (#5023)
  • added 'get_all_described_nodes' to NymApiClient and adjusted return t… (#5016)
  • Reapply fixes to new branch (#5014)
  • Consume only positive bandwidth (#5013)
  • feature: adjusted ticket sizes to the agreed amounts (#5009)
  • Push private ip before inserting (#5008)
  • chore: update itertools in compact ecash (#4994)
  • feature: make accepting t&c a hard requirement for rewarded set selection (#4993)
  • Fix rustfmt in nym-credential-proxy (#4992)
  • bugfix: client memory leak (#4991)
  • Eliminate 0 bandwidth race check (#4988)
  • [DOCs;/operators]: Release notes for v2024.12 aero (#4984)
  • Add topup req constructor (#4983)
  • Fix critical issues SI86 and SI87 from Cure53 (#4982)
  • Rename nym-vpn-api to nym-credential-proxy (#4981)
  • enable global ecash routes even if api is not a signer (#4980)
  • resolve beta clippy issues in contracts (#4978)
  • Re-enable vested delegation migration (#4977)
  • feature: require reporting using nym-node binary for rewarded set selection (#4976)
  • Top up bandwidth (#4975)
  • [Product Data] Add session type based on ecash ticket received (#4974)
  • Bugfix/additional directory fixes (#4973)
  • feat: add Dockerfile for nym node (#4972)
  • chore: remove unused rocket code (#4968)
  • Import nym-vpn-api crates (#4967)
  • feature: importer-cli to correctly handle mixnet/vesting import (#4966)
  • bugfix: fix expected return type on /v1/gateways endpoint (#4965)
  • [Product Data] First step in gateway usage data collection (#4963)
  • Bump sqlx to 0.7.4 (#4959)
  • Add env feature to clap and make clap parameters available as env variables (#4957)
  • Feature/contract state tools (#4954)
  • expose authenticator address along other address in node-details (#4953)
  • Extract packet processing from mixnode-common (#4949)
  • nym-api container (#4948)
  • Ticket type storage (#4947)
  • Add "utoipa" feature to nym-node (#4945)
  • build(deps): bump the patch-updates group across 1 directory with 9 updates (#4944)
  • V2 performance monitoring feature flag (#4943)
  • Bugfix/rewarder post pruning adjustments (#4942)
  • Switch over the last set of jobs to arc runners (#4938)
  • Fix broken build after merge (#4937)
  • bugfix: correctly paginate through 'search_tx' endpoint (#4936)
  • Add more conversions for responses of authenticator messages (#4929)
  • Directory Sevices v2.1 (#4903)
  • Migrate Legacy Node (Frontend) (#4826)
  • Fix critical issues SI84 and SI85 from Cure53 (#4758)

[2024.12-aero] (2024-10-17)

  • nym-node: don't use bloomfilters for double spending checks (#4960)
  • bugfix: replace unreachable macro with an error return (#4958)
  • [DOCs:/operators]: Update FAQ sphinx size (#4946)
  • [DOCs/operators]: Release notes v2024.11-wedel (#4939)
  • Fix handle drop (#4934)
  • Assume offline mode (#4926)
  • Make ip-packet-request VERSION pub (#4925)
  • Expose error type (#4924)
  • Fix argument to cargo-deny action (#4922)
  • Fix nymvpn.com url in mainnet defaults (#4920)
  • Check both version and type in message header (#4918)
  • Bump http-api-client default timeout to 30 sec (#4917)
  • Max/proxy ffi (#4906)
  • Data Observatory stub (#4905)
  • Fix missing duplication of modified tables (#4904)
  • Update cargo deny (#4901)
  • docs: add hostname instructions for wss (#4900)
  • build(deps): bump the patch-updates group across 1 directory with 9 updates (#4898)
  • Fix clippy for beta toolchain (#4897)
  • Remove clippy github PR annotations (#4896)
  • Fix apt install in ci-build-upload-binaries.yml (#4894)
  • Update network monitor entrypoint (#4893)
  • Update nym-vpn metapackage and replace nymvpn-x with nym-vpn-app (#4889)
  • Entry wireguard tickets (#4888)
  • Build and Push CI (#4887)
  • Feature/updated gateway registration (#4885)
  • Few fixes to NNM pre deploy (#4883)
  • Fix sql serde with enum (#4875)
  • allow clients to send stateless gateway requests without prior registration (#4873)
  • chore: remove queued migration for adding explicit admin (#4871)
  • Gateway database modifications for different modes (#4868)
  • build(deps): bump strum from 0.25.0 to 0.26.3 (#4848)
  • Use serde from workspace (#4833)
  • build(deps): bump toml from 0.5.11 to 0.8.14 (#4805)
  • Max/rust sdk stream abstraction (#4743)

[2024.11-wedel] (2024-09-23)

  • Backport #4894 to fix ci (#4899)
  • Bugfix/ticketbook false double spending (#4892)
  • fix: allow updating globally stored signatures (#4891)
  • [DOCs/operators]: Document changelog for patch/2024.10-caramello (#4886)
  • [DOCs/operators]: Post release docs updates (#4874)
  • Bump defguard to github latest version (#4872)
  • chore: removed completed queued mixnet migration (#4865)
  • Disable push trigger and add missing paths in ci-build (#4864)
  • Fix linux conditional in ci-build.yml (#4863)
  • Remove golang workaround in ci-sdk-wasm (#4858)
  • Revert runner for ci-docs (#4855)
  • Move credential verification into common crate (#4853)
  • Fix test failure in ipr request size (#4844)
  • Start switching over jobs to arc-ubuntu-20.04 (#4843)
  • Use ecash credential type for bandwidth value (#4840)
  • Create nym-repo-setup debian package and nym-vpn meta package (#4837)
  • Remove serde_crate named import (#4832)
  • Run cargo autoinherit following last weeks dependabot updates (#4831)
  • revamped ticketbook serialisation and exposed additional cli methods (#4827)
  • Expose wireguard details on self described endpoint (#4825)
  • Remove unused wireguard flag from SDK (#4823)
  • Add axum server to nym-api (#4803)
  • Run cargo-autoinherit for a few new crates (#4801)
  • Update dependabot (#4796)
  • Fix clippy for unwrap_or_default (#4783)
  • Enable dependabot version upgrades for root rust workspace (#4778)
  • Persist used wireguard private IPs (#4771)
  • Avoid race on ip and registration structures (#4766)
  • docs/hotfix (#4765)
  • chore: remove repetitive words (#4763)
  • Make gateway latency check generic (#4759)
  • Remove duplicate stat count for retransmissions (#4756)
  • Update peer refresh value (#4754)
  • Remove deprecated mark_as_success and use new disarm (#4751)
  • Add get_mixnodes_described to validator_client (#4725)
  • New Network Monitor (#4610)

[2024.10-caramello] (2024-09-10)

  • Backport 4844 and 4845 (#4857)
  • Bugfix/client registration vol2 (#4856)
  • Remove wireguard feature flag and pass runtime enabled flag (#4839)
  • Eliminate cancel unsafe sig awaiting (#4834)
  • added explicit updateable admin to the mixnet contract (#4822)
  • using legacy signing payload in CLI and verifying both variants in contract (#4821)
  • adding ecash contract address (#4819)
  • Check profit margin of node before defaulting to hardcoded value (#4802)
  • Sync last_seen_bandwidth immediately (#4774)
  • Feature/additional ecash nym cli utils (#4773)
  • Better storage error logging (#4772)
  • bugfix: make sure DKG parses data out of events if logs are empty (#4764)
  • Fix clippy on rustc beta toolchain (#4746)
  • Fix clippy for beta toolchain (#4742)
  • Disable testnet-manager on non-unix (#4741)
  • Don't set NYM_VPN_API to default (#4740)
  • Update publish-nym-binaries.yml (#4739)
  • Update ci-build-upload-binaries.yml (#4738)
  • Add NYM_VPN_API to network config (#4736)
  • Re-export RecipientFormattingError in nym sdk (#4735)
  • Persist wireguard peers (#4732)
  • Fix tokio error in 1.39 (#4730)
  • Feature/vesting purge plus ranged cost params (#4716)
  • Fix (some) feature unification build failures (#4681)
  • Feature Compact Ecash : The One PR (#4623)

[2024.9-topdeck] (2024-07-26)

  • chore: fix 1.80 lint issues (#4731)
  • Handle clients with different versions in IPR (#4723)
  • Add 1GB/day/user bandwidth cap (#4717)
  • Feature/merge back (#4710)
  • removed mixnode/gateway config migration code and disabled cli without explicit flag (#4706)

[2024.8-wispa] (2024-07-10)

  • add event parsing to support cosmos_sdk > 0.50 (#4697)
  • Fix NR config compatibility (#4690)
  • Remove UserAgent constructor since it's weakly typed (#4689)
  • [bugfix]: Node_api_check CLI looked over roles on blacklisted nodes (#4687)
  • Add mixnodes to self describing api cache (#4684)
  • Move and whole bump of crates to workspace and upgrade some (#4680)
  • Remove code that refers to removed nym-network-statistics (#4679)
  • Remove nym-network-statistics (#4678)
  • Create UserAgent that can be passed from the binary to the nym api client (#4677)
  • Add authenticator (#4667)

[2024.7-doubledecker] (2024-07-04)

  • Add an early return in parse_raw_str_logs for empty raw log strings. (#4686)
  • Bump braces from 3.0.2 to 3.0.3 in /wasm/mix-fetch/internal-dev (#4672)
  • add expiry returned on import (#4670)
  • [bugfix] missing rustls feature (#4666)
  • Bump ws from 8.13.0 to 8.17.1 in /wasm/client/internal-dev-node (#4665)
  • Bump braces from 3.0.2 to 3.0.3 in /clients/native/examples/js-examples/websocket (#4663)
  • Bump ws from 8.14.2 to 8.17.1 in /sdk/typescript/packages/nodejs-client (#4662)
  • Update setup.md (#4661)
  • New clippy lints (#4660)
  • Bump braces from 3.0.2 to 3.0.3 in /nym-api/tests (#4659)
  • Bump braces from 3.0.2 to 3.0.3 in /docker/typescript_client/upload_contract (#4658)
  • Update vps-setup.md (#4656)
  • Update configuration.md (#4655)
  • Remove old PR template (#4639)

[2024.6-chomp] (2024-06-25)

  • Remove additional code as part of Ephemera Purge and SP and contracts (#4650)
  • bugfix: make sure nym-api can handle non-cw2 (or without detailed build info) compliant contracts (#4648)
  • introduced a flag to accept toc and exposed it via self-described API (#4647)
  • bugfix: make sure to return an error on invalid public ip (#4646)
  • Add ci check for PR having an assigned milestone (#4644)
  • Removed ephemera code (#4642)
  • Remove stale peers (#4640)
  • Add generic wg private network routing (#4636)
  • Feature/new node endpoints (#4635)
  • standarised ContractBuildInformation and added it to all contracts (#4631)
  • validate nym-node public ips on startup (#4630)
  • Bump defguard wg (#4625)
  • Fix cargo warnings (#4624)
  • Update kernel peers on peer modification (#4622)
  • Handle v6 and v7 requests in the IPR, but reply with v6 (#4620)
  • fix typo (#4619)
  • Update crypto and rand crates (#4607)
  • Purge name service and service provider directory contracts (#4603)

[2024.5-ragusa] (2024-05-22)

  • Feature/nym node api location (#4605)
  • Add optional signature to IPR request/response (#4604)
  • Feature/unstable tested nodes endpoint (#4601)
  • nym-api: make report/avg_uptime endpoints ignore blacklist (#4599)
  • removed blocking for coconut in the final epoch state (#4598)
  • allow using explicit admin address for issuing freepasses (#4595)
  • Use rfc3339 for last_polled in described nym-api endpoint (#4591)
  • Explicitly handle constraint unique violation when importing credential (#4588)
  • [bugfix] noop flag for nym-api for nymvisor compatibility (#4586)
  • Chore/additional helpers (#4585)
  • Feature/wasm coconut (#4584)
  • upgraded axum and related deps to the most recent version (#4573)
  • Feature/nyxd scraper pruning (#4564)
  • Run cargo autoinherit on the main workspace (#4553)
  • Add rustls-tls to reqwest in validator-client (#4552)
  • Feature/rewarder voucher issuance (#4548)
  • make sure 'OffsetDateTimeJsonSchemaWrapper' is serialised with legacy format (#4613)

[2024.4-nutella] (2024-05-08)

  • [fix] apply disable_poisson_rate from internal NR/IPR cfgs (#4579)
  • updating sign commands to include nym-node (#4578)
  • changed nym-node redirects from 308 'Permanent Redirect' to 303: 'See Other' (#4572)

[2024.3-eclipse] (2024-04-22)

  • Initial release of the first iteration of the Nym Node
  • Improvements to gateway functionality
  • IPR development
  • Removal of allow list in favour of implementing an exit policy
  • Explorer delegation: enables direct delegation to nodes via the Nym Explorer

[2024.2-fast-and-furious] (2024-03-25)

  • Internal testing pre-release

[2024.1-marabou] (2024-02-15)

New Features:

  • Introduced nymvisor support for nym-api, gateway, and mixnode binaries (#4158)
  • Revamped nym-api execution with the addition of init and run commands (#4225)

Enhancements:

  • Implemented internal improvements for gateways to optimize internal packet routing
  • Improved routing score calculation

Bug Fixes:

  • Resolved various bugs to enhance overall stability

[2023.5-rolo] (2023-11-28)

  • Gateway won't open websocket listener until embedded Network Requester becomes available (#4166)
  • Feature/gateway described nr (#4147)
  • Bugfix/prerelease versionbump (#4145)
  • returning 'nil' for non-existing origin as opposed to an empty string (#4135)
  • using performance^20 when calculating active set selection weight (#4126)
  • Change default http API timeout from 3s to 10s (#4117)

[2023.nyxd-upgrade] (2023-11-22)

  • Chore/nyxd 043 upgrade (#3968)

[2023.4-galaxy] (2023-11-07)

  • DRY up client cli (#4077)
  • [mixnode] replace rocket with axum (#4071)
  • incorporate the nym node HTTP api into the mixnode (#4070)
  • replaced '--disable-sign-ext' with '--signext-lowering' when running wasm-opt (#3896)
  • Added PPA repo hosting support and nym-mixnode package with tooling for publishing (#4165)

[2023.3-kinder] (2023-10-31)

  • suppress error output (#4056)
  • Update frontend type for current vesting period (#4042)
  • re-exported additional types for tx queries (#4036)
  • fixed fmt::Display impl for GatewayNetworkRequesterDetails (#4033)
  • Add exit node policy from TorNull and Tor Exit Node Policy (#4024)
  • basic self-described api for gateways to dynamically announce its details + nym-api aggregation (#4017)
  • use saturating sub in case outfox is not enabled (#3986)
  • Fix sorting for mixnodes and gateways (#3985)
  • Gateway client registry and api routes (#3955)
  • Feature/configurable socks5 bind address (#3992)

[2023.1-milka] (2023-09-24)

  • custom Debug impl for mix::Node and gateway::Node (#3930)
  • added forceTls argument to 'MixFetchOptsSimple' (#3907)
  • Enable loop cover traffic by default in NR (#3904)
  • Fix all the cargo warnings (#3899)
  • [Issue] nym-socks5-client crash on UDP request (#3898)
  • Feature/gateway inbuilt nr (#3877)
  • removed queued mixnet migration that was already run (#3872)
  • [feat] Socks5 and Native client: run with hardcoded topology (#3866)
  • Introduce a local network requester directly inside a gateway (#3838)

[v1.1.31-kitkat] (2023-09-12)

  • feat: add name to TaskClient (#3844)
  • added 'open_proxy', 'enabled_statistics' and 'statistics_recipient' to NR config (#3839)
  • MixFetch: initial prototype for insecure HTTP (#3645)
  • MixFetch: prototype implementing TLS in WASM for HTTPS (#3644)
  • SDK: build package for NodeJS (#3558)
  • [Issue] There is already an open connection to this client (#2845)

[v1.1.30-twix] (2023-09-05)

  • geo_aware_provider: fix too much filtering of gateways (#3826)
  • network-requester: add description to config (#3799)
  • Speedy mode - selects gateway based on latency in medium / speedy mode (#3770)
  • Chore/enable versioning (#3768)
  • Create explorer-client and use in geo aware provider (#3824)

[v1.1.29-snickers] (2023-08-29)

  • Add EXPLORER_API configurable url (#3810)
  • Bugfix/use correct tendermint dialect (#3802)
  • Explorer - look up gateways based on geo-location (#3776)
  • Speedy mode - select the mixnodes based on the location of the NR (#3775)
  • NR - reduce response time by removing poisson delay (#3774)
  • [demo] libp2p example with nym-sdk (#3763)
  • introduced /network/details endpoint to nym-api to return used network information (#3758)
  • Feature/issue credentials (#3691)

[v1.1.28] (2023-08-22)

  • [final step3]: add [rust] support to nyxd client in wasm (#3743)
  • Feature/ephemera upgrade (#3791)
  • [rust-sdk] feat: make it more convenient to send and receive messages in different tasks (#3756)
  • feat: validator client refactoring + wasm compatible nyxd client (#3726)
  • feat: retain connection between client init and run (#3767)

[v1.1.27] (2023-08-16)

  • fix serialisation of contract types (#3752)
  • Investigate spending credentials from the main API (coconut enabled to a gateway) from feature/ephemera branch (#3741)
  • NymConnect UI stuck in showing "Gateway has issues" (#3594)
  • [UPDATE] Update MiniBolt community-applications-and-guides dev docs (#3754)

[v1.1.24] (2023-08-08)

  • Latency based gateway selection is serial and slow (#3710)
  • Network-requester: strip comments from allow lists (#3625)
  • Remove (or start maintaining) upgrade commands from all binaries (#3600)
  • Set sphinx as default packet type (#3748)
  • Apply fix from feature/ephemera to develop too (#3698) (#3742)
  • Feature/coco demos (#3732)
  • Add updates to community list projects (#3722)
  • Add geo-aware mixnet topology provider (#3713)
  • Add updates to community list projects (#3711)

[v1.1.23] (2023-07-04)

  • nym-cli: add client identity key signing support (#3576)
  • Feature/node tester package (#3634)
  • Add medium toggle to socks5 client (#3615)
  • Don't fully turn off background task when cover traffic is disabled (#3596)

[v1.1.22] (2023-06-20)

  • CLI tool for querying network-requesters (#3539)
  • Statically link OpenSSL (#3510)
  • NymConnect - add sentry.io reporting (#3421)
  • init command does not change version number in config.toml (#3336)
  • [Bug] Config version does not correspond to binary version (#3434)

[v1.1.21] (2023-06-13)

  • mixFetch: Change socks5 SendRequest to include OrderedMessage index as a field rather than making it serialized inside the data field (#3534)
  • Explorer - add more data columns to the Service Provider section: (#3474)
  • network-requester: support report if they run an open proxy using ControlRequest API (#3461)
  • Refactor client configs (London discussion) (#3444)
  • Increase DEFAULT_MAXIMUM_CONNECTION_BUFFER_SIZE to 2000 to improve reliability (#3433)
  • socks5: sender waits for lanes to clear even though the connection is closed (#3366)
  • version bump for variables (#3545)

[v1.1.20] (2023-06-06)

  • Explorer - Fix SP supported apps list (#3458)
  • Investigate if we need to lower SHUTDOWN_TIMEOUT in socks5 to zero (or almost zero) (#3438)
  • Explorer - show all gateways in the default view regardless of the version number (#3427)
  • service-provider-directory: add signature check when announcing (#3360)
  • Support functionality for nym-name-service (nym-api, nym-cli, etc) (#3355)
  • Edit the nym-network-requester to support the enabled-credentials-mode flag (#3101)
  • [BUG] network requester documentation update (#3493)
  • removing hardcoded version numbers (#3485)
  • [BUG] network requester documentation update (#3481)
  • [BUG] network requester documentation update (#3469)
  • Sign when announcing service providers to the directory contract (#3459)
  • mixnode documentation update (#3435)
  • updated readme with new developer chat links + new docs links (#3141)

[v1.1.19] (2023-05-16)

  • nym-name-service endpoint in nym-api (#3403)
  • Implement key storage for WASM client using IndexedDB (for browser) (#3329)
  • Initial version of nym-name-service contract providing name aliases for nym-addresses (#3274)
  • Update Cargo.lock (#3410)

[v1.1.18] (2023-05-09)

  • Implement heartbeat messages between socks5 proxy and network requester (#3215)

[v1.1.17] (2023-05-02)

  • Add service-provider-directory-contract support to nym-cli (#3334)
  • Start using the node-testing-utils (implemented in #3270) in nym-api Network monitor to simplify the logic there (#3312)
  • Add service-provider-directory support to validator-client (#3296)
  • Allow topology injection in our WASM client ('test my node' feature) (#3270)
  • Expose service-provider-directory contract data in nym-api endpoints (#3242)
  • Cache service provider contract in nym-api (#3241)
  • Feature/1 1 17 docs (#3370)
  • adding a test for SP endpoint (#3367)
  • Feature/store cipher (#3350)

[v1.1.16] (2023-04-25)

  • Explorer - Fix sorting function on Stake Saturation. It is currently working per page and not globally (#3320)
  • Poisson process gets stuck at too slow rate. Rework to more aggressively up-regulate (#3309)
  • decrease the logging level of warnings associated with clients dropping packets due to gateway being overloaded (I'd say reduce it to debug/trace) - there are few sources of those, e.g. in real and cover traffic streams (#3299)
  • Make the buffer size in AvailableReader depend on packet sizes the client is using + introduce read timeouts (#3213)
  • Rust SDK - Support coconut, credential storage etc (#2755)
  • version bump for next release (#3349)
  • added coconut credential generation example (#3339)
  • update mix-node setup docs with node description (#3325)
  • exposed missing gateway commands in nym-cli (#3324)
  • make sure to clear inner 'ack_map' in 'GatewaysReader' (#3300)

[v1.1.15] (2023-04-18)

  • Fix verloc being stuck waiting for shutdown signal (#3250)
  • Introduce --output json flag to sign command to allow to more easily capture the output (#3249)
  • Explorer - Dont fetch Service Provider list on Testnet (#3245)
  • When determining active set, rather than weighting the nodes by just the stake, use stake * performance (#3234)
  • Introduce dual packet sizes to our clients (as in use two packet sizes at the same time depending on message size) (#3189)
  • Experiment with offline signing in our validator client (#3174)
  • Modify network requester binary to reload allowed.list periodically to pull in any changes made upstream without having to restart the service (#3149)
  • Standardise all --output json on binary inits, we pass the output json at different points for different binaries. (#3080)
  • Service provider directory contract: initial version (#2759)
  • Fix issue where network-requester run failed on fresh init due to missing allow file (#3316)

[v1.1.14] (2023-04-04)

  • Investigate cause of qwerty validator being in invalid rewarding state (#3224)
  • Fix NR config due to changes in #3199 (#3223)
  • [Issue] Mixnodes and gateway do not close connections properly (#3187)
  • disable sign-ext when using wasm-opt + update wasm-opt (#3203)
  • chore: tidy up client Debug config section (#3199)

[v1.1.13] (2023-03-15)

  • NE - instead of throwing a "Mixnode/Gateway not found" error for blacklisted nodes due to bad performance, show their history but tag them as "Having poor performance" (#2979)
  • NE - Upgrade Sandbox and make below changes: (#2332)
  • Explorer - Updates (#3168)
  • Website v2 - deploy infrastructure for strapi and CI (#2213)
  • add blockstream green to sp list (#3180)
  • mock-nym-api: fix .storybook lint error (#3178)
  • Validating new interval config parameters to prevent division by zero (#3153)

[v1.1.12] (2023-03-07)

  • Fix generated docs for mixnet and vesting contract on docs.rs (#3093)
  • Introduce a way of injecting topology into the client (#3044)
  • Update mixnet TypeScript client methods #1 (#2783)
  • Update tooltips for routing and average score (#3133)
  • update selected service provider description style (#3128)

[v1.1.11] (2023-02-28)

  • Fix empty dealer set loop (#3105)
  • The nym-api db.sqlite is broken when trying to run against it it in enabled-credentials-mode true there is an ordering issue with migrations when using the credential binary to purchase bandwidth (#3100)
  • Feature/latency based gateway selection (#3081)
  • Fix the credential binary to handle transactions to sleep when in non-inProgress epochs (#3057)
  • Publish mixnet contract to crates.io (#1919)
  • Publish vesting contract to crates.io (#1920)
  • Feature/update checker to use master (#3097)
  • Feature/improve binary checks (#3094)

[v1.1.10] (2023-02-21)

  • Verloc listener causing mixnode unexpected shutdown (#3038)
  • rust-sdk - update API following implementation experience with the network-requester (#3001)
  • Prevent coconut deposits in incompatible states (#2991)
  • Support unavailable signer within threshold (#2987)
  • Implement DKG re-sharing (#2935)
  • contracts: add nym prefix to mixnet and vesting contract packages (#2855)
  • Introduce common interface for all service providers to allow obtaining information such as whether they're online, what binary version they're running, etc. (#2758)
  • Add client functionality to nym-network-requester (#1900)
  • nym-api: uptime rework (#3053)
  • ci: update typescript-lint.yml (#3035)
  • contracts: add nym prefix to mixnet and vesting contract packages (#2855)

[v1.1.9] (2023-02-07)

Added

  • Remove Coconut feature flag (#2793)
  • Separate nym-api endpoints with values of "total-supply" and "circulating-supply" in nym (#2964)

Changed

  • native-client: is now capable of listening for requests on sockets different than 127.0.0.1 (#2912). This can be specified via --host flag during init or run. Alternatively a custom host can be set in config.toml file under socket section.
  • mixnode, gateway: fix unexpected shutdown on corrupted connection (#2963)

[v1.1.8] (2023-01-31)

Added

  • Rust SDK - Support SURBS (anonymous send + storage) (#2754)
  • dkg rerun from scratch and dkg-specific epochs (#2810)
  • Rename 'initial_supply' field to 'total_supply' in the circulating supply endpoint (#2931)
  • Circulating supply api endpoint (read the note inside before testing/deploying) (#1902)

Changed

  • nym-api: an --id flag is now always explicitly required (#2873)

[v1.1.7] (2023-01-24)

Added

  • Gateways now shut down gracefully (#2019).
  • Rust SDK - Initial version for nym-client (#2669).
  • Introduce vesting contract query for addresses of all vesting accounts (required for the circulating supply calculation) (#2778).
  • Add threshold value to the contract storage (#1893)

Changed

  • Refactor vesting account storage (and in particular, ACCOUNTS saving) (#2795).
  • Move from manual advancing DKG state to an automatic process (#2670).

Fixed

  • Gateways now shut down gracefully (#2019).

[v1.1.6] (2023-01-17)

Added

Changed

  • streamline override_config functions -> there's a lot of duplicate if statements everywhere (#2774)
  • clean-up nym-api startup arguments/flags to use clap 3 and its macro-derived arguments (#2772)
  • renamed all references to validator_api to nym_api
  • renamed all references to nymd to nyxd (#2696)
  • all-binaries: standarised argument names (note: old names should still be accepted) (#2762

Fixed

  • nym-api: should now correctly use rewarding.enabled config flag (#2753)

[v1.1.5] (2023-01-10)

Added

Changed

[v1.1.4] (2022-12-20)

This release adds multiple Single Use Reply Blocks (SURBs) to allow arbitrarily-sized anonymized replies. At the moment this is turned off by default, but available for use by application developers. We will need to wait for network-requesters to upgrade to this new release, after which multi-SURB anonymization will become the default setting for the SOCKS proxy clients.

The release also include some additional work for distributed key generation in the Coconut signing authority nodes.

Changed

[v1.1.3] (2022-12-13)

Changed

  • validator-api: can recover from shutdown during DKG process (#1872)
  • clients: deduplicate gateway initialization, part of work towards a rust-sdk
  • clients: keep all transmission lanes going at all times by making priority probabilistic
  • clients: ability to use multi-reply SURBs to send arbitrarily long messages fully anonymously whilst requesting additional reply blocks whenever they're about to run out (#1796, #1801, #1804, #1835, #1858, #1883))

Fixed

  • network-requester: fix bug where websocket connection disconnect resulted in success error code
  • clients: fix a few panics handling the gateway-client
  • mixnode, gateway, validator-api: Use mainnet values as defaults for URLs and mixnet contract (#1884)
  • socks5: fixed bug where connections sometimes where closed too early
  • clients: improve message logging when received message fails to get reconstructed (#1803)

[v1.1.2]

Changed

  • gateway: Renamed flag from enabled/disabled_credentials_mode to only-coconut-credentials
  • "Family" feature for node families + layers
  • Initial coconut functionality including credentials and distributed key generation

v1.1.1 (2022-11-29)

Added

  • binaries: add -c shortform for --config-env-file
  • websocket-requests: add server response signalling current packet queue length in the client
  • contracts: DKG contract that handles coconut key generation (#1678#1747)
  • validator-api: generate coconut keys interactively, using DKG and multisig contracts (#1678#1747)

Changed

  • clients: add concept of transmission lanes to better handle multiple data streams (#1720)
  • clients,validator-api: take coconut signers from the chain instead of specifying them via CLI (#1747)
  • multisig contract: add DKG contract to the list of addresses that can create proposals (#1747)
  • socks5-client: wait closing inbound connection until data is sent, and throttle incoming data in general (#1783)
  • nym-cli: improve error reporting/handling and changed vesting-schedule queries to use query client instead of signing client

Fixed

  • gateway-client: fix decrypting stored messages on reconnect (#1786)

Fixed

  • gateway-client: fix decrypting stored messages on reconnect (#1786)
  • socks5-client: fix shutting down all tasks if anyone of them panics or errors out (#1805)

v1.1.0 (2022-11-09)

Added

  • clients: add testing-only support for two more extended packet sizes (8kb and 16kb).
  • common/ledger: new library for communicating with a Ledger device (#1640)
  • native-client/socks5-client/wasm-client: disable_loop_cover_traffic_stream Debug config option to disable the separate loop cover traffic stream (#1666)
  • native-client/socks5-client/wasm-client: disable_main_poisson_packet_distribution Debug config option to make the client ignore poisson distribution in the main packet stream and ONLY send real message (and as fast as they come) (#1664)
  • native-client/socks5-client/wasm-client: use_extended_packet_size Debug config option to make the client use 'ExtendedPacketSize' for its traffic (32kB as opposed to 2kB in 1.0.2) (#1671)
  • network-requester: added additional Blockstream Green wallet endpoint to example.allowed.list (#1611)
  • validator-api: add interval_operating_cost and profit_margin_percent to compute reward estimation endpoint
  • validator-client: added query_contract_smart and query_contract_raw on NyxdClient (#1558)
  • wasm-client: uses updated wasm-compatible client-core so that it's now capable of packet retransmission, cover traffic and poisson delay (among other things!) (#1673)

Fixed

  • socks5-client: fix bug where in some cases packet reordering could trigger a connection being closed too early (#1702,#1724)
  • validator-api: mixnode, gateway should now prefer values in config.toml over mainnet defaults (#1645)
  • validator-api: should now correctly update historical uptimes for all mixnodes and gateways every 24h (#1721)

Changed

  • clients: bound the sphinx packet channel and reduce sending rate if gateway can't keep up (#1703,#1725)
  • gateway-client: will attempt to read now as many as 8 websocket messages at once, assuming they're already available on the socket (#1669)
  • moved Percent struct to contracts-common, change affects explorer-api
  • socks5 client: graceful shutdown should fix error on disconnect in nym-connect (#1591)
  • validator-api: changed error serialization on inclusion_probability, stake-saturation and reward-estimation endpoints to provide more accurate information (#1681)
  • validator-client: made fee argument optional for execute and execute_multiple (#1541)
  • wasm-client: fixed build errors on MacOS and changed example JS code to use mainnet (#1585)
  • validator-api: changes to internal SQL schema due to the mixnet contract revamp (#1472)
  • validator-api: changes to internal data structures due to the mixnet contract revamp (#1472)
  • validator-api: split epoch-operations into multiple separate transactions (#1472)

nym-binaries-1.0.2

Added

  • socks5 client/websocket client: add --force-register-gateway flag, useful when rerunning init (#1353)
  • all: added network compilation target to --help (or --version) commands (#1256).
  • explorer-api: learned how to sum the delegations by owner in a new endpoint.
  • explorer-api: add apy values to mix_nodes endpoint
  • gateway: Added gateway coconut verifications and validator-api communication for double spending protection (#1261)
  • network-explorer-ui: Upgrade to React Router 6
  • rewarding: replace circulating supply with staking supply in reward calculations (#1324)
  • validator-api: add estimated_node_profit and estimated_operator_cost to reward-estimate endpoint ([#1284])
  • validator-api: add detailed mixnode bond endpoints, and explorer-api makes use of that data to append stake saturation
  • validator-api: add Swagger to document the REST API (#1249).
  • validator-api: Added new endpoints for coconut spending flow and communications with coconut & multisig contracts (#1261)
  • validator-api: add uptime, estimated_operator_apy, estimated_delegators_apy to /mixnodes/detailed endpoint (#1393)
  • validator-api: add node info cache storing simulated active set inclusion probabilities
  • network-statistics: a new mixnet service that aggregates and exposes anonymized data about mixnet services (#1328)
  • mixnode: Added basic mixnode hardware reporting to the HTTP API (#1308).
  • validator-api: endpoint, in coconut mode, for returning the validator-api cosmos address (#1404).
  • validator-client: add denom argument and add simple test for querying an account balance
  • gateway, validator-api: Checks for coconut credential double spending attempts, taking the coconut bandwidth contract as source of truth (#1457)
  • coconut-bandwidth-contract: Record the state of a coconut credential; create specific proposal for releasing funds (#1457)
  • inclusion-probability: add simulator for active set inclusion probability

Fixed

  • mixnode, gateway: attempting to determine reconnection backoff to persistently failing mixnode could result in a crash (#1260)
  • mixnode: the mixnode learned how to shutdown gracefully
  • mixnode: listen out for SIGTERM and SIGQUIT too, making it play nicely as a system service.
  • native & socks5 clients: fail early when clients try to re-init with a different gateway, which is not supported yet (#1322)
  • native & socks5 clients: rerun init will now reuse previous gateway configuration instead of failing (#1353)
  • native & socks5 clients: deduplicate big chunks of init logic
  • validator: fixed local docker-compose setup to work on Apple M1 (#1329)
  • explorer-api: listen out for SIGTERM and SIGQUIT too, making it play nicely as a system service (#1482).
  • network-requester: fix filter for suffix-only domains (#1487)
  • validator-api: listen out for SIGTERM and SIGQUIT too, making it play nicely as a system service; cleaner shutdown, without panics (#1496, #1573).

Changed

  • validator-client: created internal Coin type that replaces coins from cosmrs and cosmwasm for API entrypoints [#1295]
  • all: updated all cosmwasm-related dependencies to 1.0.0 and cw-storage-plus to 0.13.4 [#1318]
  • all: updated rocket to 0.5.0-rc.2.
  • network-requester: allow to voluntarily store and send statistical data about the number of bytes the proxied server serves (#1328)
  • gateway: allow to voluntarily send statistical data about the number of active inboxes served by a gateway (#1376)
  • gateway & mixnode: move detailed build info back to --version from --help.
  • socks5 client/websocket client: upgrade to latest clap and switched to declarative commandline parsing.
  • validator-api: fee payment for multisig operations comes from the gateway account instead of the validator APIs' accounts (#1419)
  • multisig-contract: Limit the proposal creating functionality to one address (coconut-bandwidth-contract address) (#1457)
  • All binaries and cosmwasm blobs are configured at runtime now; binaries are configured using environment variables or .env files and contracts keep the configuration parameters in storage (#1463)
  • gateway, network-statistics: include gateway id in the sent statistical data (#1478)
  • network explorer: tweak how active set probability is shown (#1503)
  • validator-api: rewarder set update fails without panicking on possible nyxd queries (#1520)
  • network-requester, socks5 client (nym-connect): send and receive respectively a message error to be displayed about filter check failure (#1576)

v1.0.1 (2022-05-04)

Added

  • validator-api: introduced endpoint for getting average mixnode uptime (#1238)

Changed

  • all: the default behaviour of validator client is changed to use broadcast_sync and poll for transaction inclusion instead of using broadcast_commit to deal with timeouts (#1246)

Fixed

  • nym-network-requester: is included in the Github Actions for building release binaries

v1.0.0 (2022-05-03)

Full Changelog

Merged pull requests:

nym-binaries-1.0.0 (2022-04-27)

Full Changelog

nym-binaries-1.0.0-rc.2 (2022-04-15)

Full Changelog

nym-binaries-1.0.0-rc.1 (2022-03-28)

Full Changelog

Fixed bugs:

  • [Issue]cargo build --release issue #1101
  • appimage fail to load in Fedora #1098
  • [Issue] React Example project does not compile when using @nymproject/nym-client-wasm v0.9.0-1 #878

Closed issues:

  • Make mainnet coin transfers work #1096
  • Make Nym wallet validators configurable at runtime #1026
  • Project Platypus e2e / integration testing #942
  • [Coconut]: Replace ElGamal with Pedersen commitments #901

Merged pull requests:

v0.12.1 (2021-12-23)

Full Changelog

Implemented enhancements:

  • Add version check to binaries #967

Fixed bugs:

  • [Issue] NYM wallet doesn't work after login #995
  • [Issue] #993
  • NYM wallet setup trouble[Issue] #958

v0.12.0 (2021-12-21)

Full Changelog

Implemented enhancements:

  • Introduces query for contract build information #919 (jstuczyn)

Fixed bugs:

  • Mixnodes - claim tokens scenario does not work with telegram bot #938
  • [Issue]"create account" button does not work on Ubuntu 20.04.03 LTS #916
  • [Issue] NodeJS 17.1.0 and webpack issues causing nym-wallet build to fail on Pop!OS 21.04(Ubuntu) #914
  • Prevent overwriting of Mixnodes if the mixnode is already bonded #912
  • Pasting mnemonic doesn't work on MacOS #908
  • Wallet - investigate nav freezes #716
  • Wallet - Fix console errors #707
  • Fixed invalid nodes being counted twice in unroutable category #963 (jstuczyn)
  • Don't reset total delegation on mixnode rebond #940 (jstuczyn)
  • Bugfix/remove mixnode bonding overwrite #917 (jstuczyn)
  • Fixes crash condition in validator API when calculating last day uptime #909 (jstuczyn)
  • Bugfix/monitor initial values wait #907 (jstuczyn)
  • Bug fix: Network Explorer: Add freegeoip API key and split out tasks for country distributions #806 (mmsinclair)
  • Explorer API: port test now split out address resolution and add units tests #755 (mmsinclair)

Closed issues:

  • Feature gate ts-rs everywhere and only build use it to export types during CI runs #893
  • Error when init Nym client for Nym requester #800
  • Website updates - Add new team members and translations #775
  • Update Run Nym Nodes Documentation #773
  • Upgrade prost to 0.8 #768
  • How can I get 100punk(Version: 0.11.0) #743
  • Wallet - Fix Bond Form validation issue #717
  • help!!! #712
  • UX feature request: show all delegated nodes in wallet #711
  • UX feature request: add current balance on wallet pages #710
  • got sign issue from bot #709
  • As a wallet user, I would like to be able to log out of the wallet #706
  • As a wallet user, I would like to have a "receive" page where I can see my own wallet address #705
  • Update native client/socks client/mixnode/gateway upgrade command #689
  • Update mixnode/gateway/client to use query for cached nodes rather than use validator #688
  • '--directory' not expected error starting local mixnet #520
  • nym-socks5-client is painfully slow #495
  • nym-socks5-client crash after opening Keybase team "Browse all channels" #494
  • Mixed Content problem #400
  • Gateway disk quota #137
  • Simplify message encapsulation with regards to topology #127
  • Create constants for cli argument names #115
  • Using Blake3 as a hash function #103
  • Validator should decide which layer a node is in #86
  • Clean shutdown for all processes #73
  • Client API consistency #71
  • Simplify concurrency with a proper actor framework #31
  • Database for gateway #11

Merged pull requests:

* This Changelog was automatically generated by [githubchangelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)_