Skip to content

Releases: webmeshproj/webmesh

v0.5.0

04 Sep 18:24
2d65769
Compare
Choose a tag to compare

Changelog

  • e0c2961 crypto: use libp2p compatible keys for wireguard
  • c274ee9 docs: Add go reference badge
  • 8ab58f9 docs: README updates [ci skip]
  • e30c1cd docs: Update main README [ci skip]
  • 6ea7b1c docs: add some TODOs
  • 2d65769 docs: update docs
  • 9455fea feat: generate deterministic rendezvous strings from wireguard keys
  • ecb55b7 feat: update API and track libp2p keys alongside wireguard keys
  • ec49439 feat: use secp256k1 keys to maintain identity and use them to verify udp relays
  • 0438d97 feat: use wireguard keys for libp2p identity
  • 9be0fad fix: node id detection from tls cert was being skipped
  • 5b1db1d tidy: cleanup host key handling and add tests for marshaling
  • 1c95180 tidy: dont reparse certificate everytime node is looked up during start
  • 738270e tidy: remove hack directory

v0.4.1

03 Sep 13:29
c408539
Compare
Choose a tag to compare

Changelog

  • 5e43bca docs: update docs in examples
  • 55114df docs: update examples with flag changes
  • c408539 docs: update ice peering readme
  • 8fdc989 docs: update libp2p bootstrap example to switch over to native transport
  • 887f210 docs: update libp2p bootstrap example to use three nodes
  • 2bb4f23 draft: first draft libp2p wireguad relays
  • 03525f4 draft: libp2p bootstrap configuration options
  • 308f8ae draft: libp2p election transport
  • 4b925ab draft: rework wireguard relaying into separate package
  • a1567a6 feat: export dialing interfaces on top-level of embedded node
  • 7d1e777 feat: pull in latest API and start support for several relay protocols
  • 76eecb2 fix: cleanup and tidy libp2p streaming bootstrap
  • 8703eb0 fix: libp2p circuit relay fixes and more doc updates
  • 1a49a5c fix: small fixes to libp2p bootstrap
  • 90e864a testing: start testing fixtures for libp2p bootstrap
  • 9e09d2c tidy: add methods for repurposing libp2p hosts
  • 31e03aa tidy: cleanup configurations and update examples
  • c0abd14 tidy: cleanup network interface into separated use cases
  • 4d8e98d tidy: cleanup storage package and admin api
  • 95115d9 tidy: cleanup transport names
  • c33cdf5 tidy: make libp2p transports more generic, replace usage of PSK with Rendezvous
  • 7b1b064 tidy: more cleanup of libp2p options and usage
  • 13524c6 wip: semi-working offline bootstrap over libp2p

v0.4.0

01 Sep 17:57
23dfbce
Compare
Choose a tag to compare

Changelog

  • e1b2677 docs: add doc strings
  • d07b2b5 draft: build out more potential webrtc use cases
  • 3d3a240 draft: configurations for libp2p webrtc signaling
  • 9ff0f4b draft: finished draft libp2p webrtc signaling client
  • 41f6bed draft: first draft of generic webrtc signaling transport
  • f9a93db draft: first draft of libp2p webrtc signaling server
  • 367fb36 feat: form p2p wireguard tunnels over libp2p
  • 74ee46e feat: include raft transport in the feature resolver
  • 7d90121 feat: use new generic signaling transports for webrtc connections from the outside
  • 132e016 fix: SubscribePeers could miss a remote if they joined at the same time
  • beb6127 fix: append proxied for meta in libp2p join trasport
  • ce0a205 fix: append rendevous strings to direct peerings automatically
  • 7e3d763 fix: copy previous fix to bridge mode
  • d4558cc fix: dont wait for all peers before starting services
  • fabb8b8 fix: fix logic for determining peer endpoint
  • b8a0a3e fix: honor connect timeouts when bootstrapping a DHT
  • 4d1acc0 fix: proxy client fixes
  • 7be9a79 fix: recent commit caused network manager to try to use webrtc when not needed
  • b3fad00 fix: require the ICE attribute to be set on direct edges
  • 9fc82a7 fix: return not found in peer feature resolver when no addrs resolved
  • da3e76a fix: various webrtc signaling tweaks and fixes
  • 6e43259 fix: wireguard endpoints getting rewritten in high level config by primary endpoint
  • 8ec9d4d hack: more webrtc hacking
  • 23dfbce more p2p hacking
  • 0b4df54 refactor: track features as a FeaturePort pair
  • fe30628 reorg: move datachannels into transport package
  • 39ebfbe tidy: cleanup embed logging
  • 795c417 tidy: cleanup logging

v0.3.4

31 Aug 02:58
578f764
Compare
Choose a tag to compare

Changelog

  • 578f764 docs: add demo of libp2p example
  • 9342598 feat: add embedded libp2p discovery example
  • b6e4b8b feat: allow to set custom multiaddrs when using libp2p
  • c2548e5 feat: auto configure multiaddrs when present
  • b95746f fix: fix embedded example to detect an endpoint on the server

v0.3.3

31 Aug 01:51
c048ecd
Compare
Choose a tag to compare

Changelog

  • c048ecd add gif
  • 12ea92f create stubs for a libp2p raft transport
  • 6677808 docs: add embedded app example
  • e52c8b3 feat: add convenience methods for generating embedded configurations with sensible defaults
  • 161e9c9 feat: first draft embed mode library, remove remaining uses of slog.Default()
  • 6699319 feat: stubs for embedded use cases
  • 739ab6a fix: typo
  • 37cf159 fix: use local DNS in mesh resolver if available

v0.3.2

30 Aug 21:54
c2ad3cf
Compare
Choose a tag to compare

Changelog

  • 8629f0d docs: update gendocs with correct parse order
  • 0d92bc1 feat: implement snapshot restore callbacks
  • 8f90877 fix: cleanup logging and config bug in debug plugin
  • c2ad3cf fix: panic in shutdown of debug plugin
  • 333014c fix: rebuild logger when connecting with unknown node ID
  • 0e87f38 fix: unmarshal overridess in app-daemon
  • 1ae7ad3 tidy: cleanup log messages
  • 1aa41cc tidy: pin latest webmesh API

v0.3.1

30 Aug 19:09
fa814e5
Compare
Choose a tag to compare

Changelog

  • 9835314 ci: bump lint version
  • 15b8a5d cool: add a generic RoundTripper interface
  • b97179b docs: add builtin plugins to usage docs
  • 8c61dd2 docs: rebuild doc generation commands
  • fa814e5 docs: reimplement gendoc for bridge mode
  • 67e35e1 docs: remove dashboard from examples [ci skip]
  • 5d6606d docs: update remaining compose examples with flag changes
  • f541fdb docs: update site-to-site example
  • 7f83895 feat: first draft of seperate bootstrap transport
  • 0374996 feat: use new temporary bootstrap transport
  • 80280ca fix: always shut storage down cleanly when raft stops
  • 2bcf0b7 fix: check before copying last applied index in FSM
  • 4c1dd47 fix: config validations and cleanup examples
  • 4c1b93d fix: global.disable-ipv6 was not overriding correctly, update multi-bootstrap example
  • 6a3232d fix: multi-bootstrap was dropping a peer
  • 40b6783 fix: regression in mesh bridge, cleanup logging
  • 3234726 refactor: abstract join process behind new transport.JoinRoundTripper
  • eab6c8a refactor: conform app daemon to new config
  • 22d8e0d refactor: much needed major configuration refactor, not all examples updated yet
  • f4d936d refactor: reimplment usage helpers
  • 9013b6f refactor: remove embedded dashboard service, will reimplement as plugin
  • a4d9441 refactor: reshuffle transport related packages to transport directory
  • 223f785 refactor: rework plugin interfaces
  • ab03311 rename: rename join to roundtrip
  • 8212468 test: add bootstrap unit test
  • d675e3c tidy: add more transport helpers, cleanup mesh package
  • dc74d5d tidy: cleanup bootstrap logging
  • fb89204 tidy: discard raft log output during bootstrap
  • 4c4d28f tidy: make more generic transports
  • 86328e7 tidy: make round trippers generic
  • a817e88 tidy: move grpc join round tripper into tcp package
  • 19f2e9b tidy: move remaining discovery mechanisms to transport package
  • cbb6466 tidy: remove remaining IPv6 references from ipam plugin
  • 7f86c5b tidy: switch all internal bootstrap logging to debug level
  • fb1db48 update watch plugin example

v0.3.0

28 Aug 12:55
83a8e1e
Compare
Choose a tag to compare

Changelog

  • 27e1e83 chore: refactor netutil library and add more IP allocation facilities
  • fd8813a ci: comment out wasm build from goreleaser for now
  • 304904b ci: re-enable race detection in tests
  • f84cb76 ci: remove windows tests for now
  • 797e3a8 decision: change default bootstrap network policy to accept
  • ad6f212 docs: [ci skip] add discord link to README
  • 14f2304 docs: enable IPv6 in the simple example
  • 3cf374b feat: add more ipv6 generation facilities
  • dfb1062 feat: add non-badger in-memory raft storage implementation
  • 0974f7a feat: finish switch to nutsdb and start storage conformance test
  • c536f4b feat: implement SubscribePeers RPC in Membership API
  • 9d5db9b feat: make private IPv6 network larger and compute addresses from the wireguard key
  • 83a8e1e feat: sec: ensure most membership-related routes require an in-network origin
  • 3c71b0c feat: switch raft badger usage to nutsdb
  • adce613 feat: use varint encoding of first 8 bytes of public key for subnet
  • 4e402e1 fix: Raft FSM was still implementing old storage interface
  • 3e40d7b fix: close raft transport on shutdown, move node optionst o seperate package
  • 48fd17f fix: not found error handling in nutsdb
  • b972171 fix: remove advertise address from transport options
  • a167e98 fix: safely generate UUID when using test memory storage
  • 9994fc0 fix: unpack error when logging
  • 7427db5 hacking: start playing with a rosedb based storage backend
  • 722d7d7 honor TTL in in-memory storage
  • c339361 refactor: Rename transport to rafttransport for clarity
  • c4b467b refactor: decouple raft transport from core raft instance
  • 2024249 refactor: decouple transport/storage from raft
  • a7f50fd refactor: finally kill the old meshdb interface
  • 6ca42b6 refactor: gRPC refactors around latest api changes
  • 5d3a28c refactor: more refactor and tidying of raft storage interfaces
  • 2cbf6ac refactor: move NodeDialer interface to transport package
  • cbec6a4 refactor: move raft transport to seperate package
  • a4c57b6 refactor: pull remaining rbac references out of node service
  • b63e604 refactor: rename storage.Get storage.Put to GetValue/PutValue for compat with raft.StableStore
  • 1d1ad94 refactor: scaffold required stubs for wasm support
  • fa8af38 refactor: standardize snapshot format and move badger storage to dedicated package
  • c8f1171 tests: finish storage conformance tests
  • adf265a tests: tests for IPv6 generation
  • 02c54ed tidy
  • 9b8a77c tidy: cleanup storage interfaces
  • 517f4d1 tidy: cleanup wait times for starting up the mesh
  • aec9388 tidy: inject rbac evaluator to services
  • 0a7a9be tidy: more tidying
  • b64940c todo: call out need for authentication around libp2p discovery

v0.2.7

23 Aug 22:30
251a572
Compare
Choose a tag to compare

Changelog

  • c024266 ci: remove remaining turn refs from Makefile
  • d10d608 docs: add discovery configurations to docgen
  • ed11c86 docs: update README
  • 94de6e8 feat: add kad-dht discovery to app daemon API
  • cf838c1 feat: broadcast Membership API when available
  • 4f9a568 feat: pin latest API
  • 251a572 fix: dont use buffered streams on circuit relays
  • 72b41eb fix: validate app daemon connect after considering all fields
  • 587be3e tidy: go mod tidy

v0.2.6

23 Aug 15:23
7406bd5
Compare
Choose a tag to compare

Changelog

  • a595b5f ci: bump setup-node version
  • 2cffd22 ci: dont ship riscv64 for now
  • 7406bd5 docs: add docs to kad-dht example
  • 4f91498 draft: announce/join via kad dht
  • 4135253 feat: draft mesh discovery options
  • a0ac212 feat: kad dht join discovery impl
  • 8611ecc feat: start building out discovery interface with an initial kad-dht implementation
  • 613da85 feat: try to increase system udp buffers when using libp2p
  • 638a708 feat: working kad-dht discovery and join
  • c02344d fix: ensure peer address can be determined when promoting to voter
  • 2f97a35 hack: add libp2p testing scripts
  • 17bdc24 tidy: debloating
  • b6a178f tidy: move kad dht implementation to dedicated package
  • 0fe6a71 tidy: remove old peer discovery API