Changelog
- bcdeb67 #145 - add bgp session status to client (#216)
- 03a4544 release: refactor to support devnet (#654)
- 9747f24 !#269, #273 - goreleaser deprecation fixes, autopublish release notes (#275)
- 6b1515b !#315 e2e: client API tests (#325)
- 2df17a9 !#482 #467 - remove autojoin, add route manually and ensure prune msg sent (#487)
- 320e7e8 !#960 - remove doublezero-payment-tracker (moved to foundation repo) (#961)
- 5ce5350 #197 - fix typo in vrf1 template (#198)
- 34bea7c #220 - convert e2e output to maps (#223)
- f1ebbd8 - Improve multicast delete command (#484)
- d892db6 195 agent is sending peers w/o vrf info attached (#256)
- 58947bf A check was added to prevent connections to suspended devices unless the user is on the foundation’s allowlist. Connections to inactive devices are also blocked.
- a4e7db5 A process has been added to enable the removal of orphaned or inactiv… (#36)
- 64eb591 AccessPass Added as User Access Control System (#1380)
- c7e4201 Activator remove unused dependencies (#171)
- 23e43a3 Activator test bug fix
- 7537fc4 Activator: fix quoting bug + manages locations and exchanges (#306)
- 98755da Activator: fixed empty account data bug (#1766)
- 6fb3917 Activator: remove panic (#568)
- ff3628c Activator: reuse link ip/id when possible (#1821)
- f9f7ebe Add CYOA and DIA Fields in Device Interface Definitions (#2135)
- fbd8169 Add DZX/WAN Link Types (#1081)
- 7fc08b6 Add Solana validator identity to
SolanaValidatorAccessPass and include AccessPass in user listing commands. (#1425) - 8ab6d8d Add User Deprovisioning Monitor and CLI Account Retrieval Support (#1822)
- c583d79 Add
--ip-netsupport to create command and update validation (#2583) - 088fafd Add
make cleantarget toMakefile(#1978) - 00e7c7e Add agent version info (#51)
- b8c808d Add auto-assignment and validation to smartcontract for exchange.bgp_community (#1971)
- f5e24b4 Add bump_seed field to Location, Tunnel, User structs and related commands (#252)
- 1c83a4c Add client-IP and payer filters to access-pass list (#2326)
- 9e81a7f Add contributor data to export functionality (#1716)
- e5a1030 Add curr and new version numbers to device list cmd (#1875)
- df8b984 Add default VRF when regitering device onchain (#1946)
- f8518a0 Add max_users field to device list and update commands (#1315)
- 4f3e5e7 Add multicast block to global-config get (#456)
- d8ed81c Add on-chain support for InterfaceV2 and update device interface processing (#2327)
- 4af8a29 Add resume command to device
- 9a78445 Add session shutdown logic to controller when drained (#2573)
- c99b70c Add signer checks for payer accounts across various processors (#1990)
- 52ba63a Add soft_drained and hard_drained link status values for traffic offloading (#2248)
- b4d8151 Add subscribe user command implementation (#498)
- 15bd6fa Add suspend/resume commands to device
- c4a43b6 Add telemetry option to latency command (#1975)
- 76f7141 Add unit test to parse versioned on-chain accounts data (#1933)
- c524504 Add user_allowlist stress test to validate user addition and removal (#929)
- 2c3a1bd Adding rfcs dir and template (#430)
- dfe1dba Adds IBRL mode to DoubleZero (#164)
- fd78b9a Adjust AccessPass precedence to prioritize IP-based over generic and reorder local test (#1936)
- d7c323f Allow only one tunnel at time (#578)
- 5814d4a Authority is granted to the foundation to activate Devices and Tunnels. (#46)
- 7c12468 Bug/138 cli removing user from global config allowlist does not work (#185)
- 010afc3 Bugfix: dont panic if no mcast group (#507)
- 544bdb4 Bump Cargo.toml to v0.6.9 and update changelog (#2003)
- 0fb25e6 Bump cargo.toml to v0.6.5 and update changelog (#1745)
- 4e04ded Bump cargo.toml to v0.6.7 and update changelog (#1931)
- 8e7d7e6 Bump cargo.toml to v0.6.8 and update changelog (#1945)
- 3a6b9f4 Bump cargo.toml to version 0.6.10 (#2081)
- 4b0f11a Bump cargo.toml to version 0.6.11 (#2145)
- 624f526 Bump cargo.toml to version 0.7.1 (#2180)
- fc274e2 CHANGELOG v0.7.0 (#2162)
- 63eaa74 CHANGELOG: missing info about status command update (#1979)
- 34132fd CLI Connect: update to increase likelihood of activation (#1746)
- fff6a5f CLI: Add validation to prevent multiple multicast connections (#530)
- fecd21e CLI: Fixed link creation interface verification (#1475)
- 523e4a3 CLI: IP address lookups will retry on failure (#2185)
- 83c3c4c CLI: connect command unit test added (#535)
- 3600f28 CLI: connect now waits for doublezerod to get all latencies (#1659)
- 75f3c9a CLI: connect shouldn't call UpdateUser (#1808)
- 74468e9 CLI: device interface names comparisons should be case-insensitive (#1216)
- e1adb95 CLI: don't allow link codes to be non-unique (#2009)
- 155d290 CLI: fix for connect to multicast group fails when user account exists (#2282)
- e63a46e CLI: latency command sorts unreachable to bottom (#1680)
- f07aded CLI: normalize interface names (#1145)
- 1fba5c0 Calculate revenue for validator between two timestamps (#885)
- 39656dc Change Management RFC (#665)
- 1592ab0 Change error message when device is at cap or max users = 0 (#2071)
- 1ac3aa6 Changelog: added async activator entry (#2334)
- e1d31fe Changelog: added entry for create interface change (#1474)
- a543e9d Changelog: update for new device interface instructions (#1505)
- 7db75f4 Cleaned up redundant columns in user list output (#603)
- 01056d7 Cleanup unit structs (#668)
- 34da517 Combine multiple ripeatlas measurements into one (#1538)
- 324454a Configure gotemplate syntax highlighting in devcontainer vscode (#416)
- 0edba32 Connect command cli unit tests (#469)
- 4fbd822 Convert to cargo workspace (#407)
- ecf9158 Create Contributor account on smart contract (#679)
- 2bd38b0 Create identity that can connect without any checks for status or max-users (#2683)
- 408c8ea Create/Update README files for smart contract, SDK & cli
- 756c69b DZ #510: rename tunnel to link in smartcontract go sdk (#577)
- f361410 DZ #533: e2e: make ledger accessible from devices (#579)
- 76bcf88 DZ #533: initial multi device e2e test (#573)
- cf6ad29 DZ #549: allow sla-program integrations (#550)
- 5f0c267 DZD Metadata (#863)
- ca86a53 DZD Metadata: Add structure to README.md (#735)
- 5a29e04 DZD Metadata: controller - render ibgp/msdp peers (#1035)
- 909ab43 DZD metadata: controller: render interfaces (#1091)
- fc78ab9 Delay V2 Interface Activation Until All Clients Support V2 Reading (#2179)
- 38a6b1e Docs: update UDP port reachability reqs (#2203)
- c5d594f Don't render user tunnel when client ip or dz ip are 0.0.0.0 (#1601)
- f2fe470 E2E: Tests multiple multicast subscribers/publishers (#563)
- 3b13eff Enable AccessPass with client_ip=0.0.0.0 to dynamically learn the user’s IP on first connection (#1608)
- 496d38d Enable Device Location Update with Reference Counter Management (#1987)
- 547dcb6 Enforce client compatibility based on smart contract version (build warns, major/minor blocks) (#640)
- 9e096ce Enforce max_users = 0 to block new users on Device (#1498)
- 75551d0 Enhance CLI Command Help Descriptions (#566)
- c286c47 Enhance CLI commands with additional filtering options and update dependencies (#1912)
- 3321fa2 Enhance contributor creation process by adding owner account transfer and updating command structure (#1119)
- cbf1cd3 Enhance device and link processing with contributor validation (#1107)
- 1447e60 Enhance provisioning feedback with additional messages (#2341)
- f0c09aa Extend DeviceStatus With soft_drained and hard_drained to Align Device Draining With RFC-9 (#2295)
- a586fa4 Extend telemetry smart contract to support third party telemetry sampling (#888)
- b172cd0 Feat: Add shell completion support to the doublezero CLI
- 5d4abf9 Feature/114 add multiple ip support to smartcontract (#129)
- 330f9dd Feature/137 add allowlist control on global config set instruction (#181)
- 1cb644a Feature/260 command to display account status type and transaction history (#50)
- de35bca Feature/313 smart contract cli unit tests (#330)
- 2d7bda4 Feature/532 internet latency collector (#852)
- d371e8f Feature: Add support for Multicast
- a3251fe Filter active devices in latency search
- e3c1647 Filter latencies to include only activated devices and sort by average latency
- 977f10a Fix 'cannot find function size_of in this scope' (#1288)
- dd64b07 Fix access pass close/set instructions (#1649)
- 17cb252 Fix bug preventing re-opening of AccessPass after closure (#1595)
- 6c9a4bb Fix doublezero -V
- 48e7d17 Fix playbook referenced in release.devnet.qa.agent.yml (#1602)
- 6e5285a Fix qa_test.go error and add qa to go build (#1171)
- 7e6144d Fix typo in CloseAccount log messages across device, tunnel, and user event processing
- 2b9bff8 Fix/new user gets assigned same network tunnel (#35)
- 62240c1 Fix/remove unused packages update dependencies (#311)
- 0f8fca8 Fix/smart contract init (#85)
- 1f827a9 Fix: Refactor ByteReader methods to improve memory allocation (#914)
- 987188f Fix: Skip client version check for Status command to prevent version errors during automated state checks (#1472)
- f96c439 Fix: bug in process_user_event device insertion (#480)
- 1511267 Fix: potential race cond when allowing singular tunnel (#585)
- 4eb9a6d Fix: restore validator_pubkey field from AccessPass for Sentinel compatibility (#1493)
- ed8f005 Fix: rust early error returns (#523)
- 2eb0f93 Fix: use serde_bytes to serialize [u8; 128] (#1102)
- 6ece6f6 Fixed the error during CLI configuration. (#121)
- 771279c Fixes an issue where transactions were not being properly validated by the tests. (#721)
- 6f9a44b Fixture loop rollup phase 1: e2e (#1330)
- a56c0d5 Fixture loop rollup phase 2: controller (#1337)
- ce1a70c Foundation access control for Locations & Exchanges is updated. (#59)
- 617488c Funder: fund multicast group owners (#2186)
- 5f45c7b Get JITO rewards for some number of validators for some given epoch (#848)
- 511c2df Get inflation rewards for some number of validators (#845)
- 19e5724 Go SDK: Support new DZD Metadata (#958) (#979)
- e07358b Handle DoubleZeroError::InvalidStatus gracefully in process_user_event logging (#1876)
- 7e95d2d Implement reference counting for devices, contributors, locations & exchanges. (#935)
- 27e5989 Implement validation for various account types and update account type references (#1526)
- b7a1584 Improve ProvisioningCliCommand Tests with Async Simulation and Readability Enhancements (#1549)
- a09d1c7 Improve e2e test runtime (#327)
- 8f23460 Improvement in
connectcommand (cleanup and simplification) (#937) - fe00fa6 Initialize Device with max_users = 0 and require device update for activation (#1548)
- 64d450d Introduce IP and Connection-Type PDA Generation to Remove Global Index Race Condition (#2332)
- c5aed73 Issue-122 - Update user tunnels to use communities (#168)
- 43addad Jo/1258 (#1262)
- ca1b31c Jo/702 collecting team suggestions from pr 679 (#703)
- 2e665d1 Jo/716 Add Contributor to Link Account (#854)
- f4d7ba1 Jo/access pass activator (#1343)
- f2d8ffb Jo/fix accept (#1275)
- 49ec603 Limit number of users per device (#1226)
- d6eca22 Link & Device Update (#1670)
- c76a806 Linting was performed on the smart contract (#207)
- 3b40c08 Logs have been improved in the activator and the device creation command. (#39)
- 173ebef Lower smart-contract link delay minimum from 1ms to 0.01ms (10μs) (#1558)
- 297d78a Make device ASN configurable per environment (#1477)
- b904293 Make new operator airdrops globally managed (#1361)
- 31f1b8f Mock JITO api (#920)
- 0b4a4ec Move global config output to tabled (#552)
- a96c9f1 Move route management into plugin for distinct uni/multicast services (#356)
- 03d8e1b Move serialization and network_v4 to program-common (#1303)
- 62c3299 Network Provisioning [1/3] Add health management framework for devices and links (#2525)
- 103a3d3 Network Provisioning [2/3] Add desired status (#2536)
- eb7ea30 Network Provisioning [3/3] Device & Link provisionin (#2640)
- 8d13380 New installation package for the admin CLI for contributors based on controller/doublezero-admin (#1239)
- 1315f95 Payment tracker lib scaffolding (#697)
- afea885 Pim Encoding/Decoding for Hello, JoinPrune messages (#324)
- 3f16d26 Pin rust toolchain for SBF programs and use more recent agave in e2e (#1133)
- a910edf Pull Request Template (#477)
- d6fc08e RFC 11: On chain activation for MulticastGroup entity (#2567)
- 4f5d032 RFC-10: Version Compatibility Windows (#2175)
- 5222fa2 RFC11: Onchain Activation (#2302)
- f8faf02 RFC12 update of device type definitions. (#2502)
- e0e71b5 RFC5: Off-Chain Rewards Calculator (#672)
- 165253a RFC: Client Route Liveness Probing (#2018)
- 7842ea9 RFC: Network contributor incident and maintenance logging (#2108)
- 511c756 Refactor CLI commands to use generic output writer (#308)
- 549e899 Refactor account type assertions in processors and state modules (#1302)
- c2c4e1f Refactor allowlist management: Remove device and user allowlist processors and commands (#2620)
- 1d57890 Refactor command structures to use Pubkey instead of index (#664)
- be8b55f Refactor contributor, device, link, and user creation arguments to remove unnecessary fields (#890)
- 8ea8e0d Refactor deserialization methods across state modules to use TryFrom for improved error handling (#1460)
- 0703f6a Refactor device interface handling and introduce InterfaceSubType (#2122)
- 37c2a9f Refactor device resume and suspend processing to include global state checks and improve error handling
- f2c7020 Refactor device status handling: replace SoftDrained and HardDrained with Drained (#2586)
- a6b7e6e Refactor device type from Switch to Hybrid/Transit/Edge across multiple modules (#2296)
- 22c6ab0 Refactor global state handling in device, exchange, location, tunnel, and user processors (#241)
- 3aa495c Refactor rent payment logic to check for sufficient lamports before invoking transfer (#41)
- ffc2389 Refactor serializer in Serviceability (#2528)
- 291d2d9 Refactor/organize commands into classes (#230)
- 73af386 Refactor: Fixup clippy lints and add idiomatic Rust improvements
- 3f8e7c8 Refactor: remove unwrap from activator (#539)
- f799d76 Refactor: remove unwraps from doublezero client (#538)
- 791a5c3 Refactor: replace lazy_static with std::sync::OnceLock (#496)
- cb61ab4 Release 0.6.2 (#1507)
- 7b9d702 Release 0.8.1 (#2602)
- 7dbc074 Release: v0.5.0 CHANGELOG updates (#1181)
- 5c14926 Release: v0.5.3 CHANGELOG updates (#1279)
- 29a2560 Remove "unknown" status and add "failed" and "unreachable" statuses (#2630)
- 82052d9 Remove CloseAccount instruction (#1186)
- 378a296 Remove PDA function dependency from activation instructions (#651)
- 7284867 Remove ata-owner parameter from contributor commands and related documentation (#881)
- 5f0a43f Remove panic! from smartcontract (#569)
- b30eec3 Remove workspace configuration from Cargo.toml and update dependencies in doublezero client (#270)
- f25dd0e Removed broken tests
- 3cfcdb1 Removes use of borsh from Go SDK (#136)
- fa719f0 Removing Colors from Logs for Better Compatibility
- e3544fe Rename Deactivate & Reactivate on SDK
- b150760 Rename Deactivate & add suspend/resume on device
- 425bde7 Rename Deactivate to CloseAccount
- eb8762a Rename Reactivate to Resume
- 44d17f5 Rename ReadyForService LinkStatus field to Provisioning (#2661)
- 9b0f071 Rename sla program to serviceability program (#556)
- 51f1c2a Reorder close_account to be the last command in the instruction (#1083)
- eca4908 Reorder imports and update account meta to include global state in device tests
- 8bfa3fb Reorganize validation logic in process_accept_link function (#1382)
- e4713e4 Resolved issue preventing rewrite of AccessPass from earlier versions (#1939)
- bc38de9 Resource Extension: Manage account creation/removal (#2650)
- dc73271 Resource Extension: add first_free_index optimization (#2563)
- ed16996 Resource Extension: add methods for getting ip/id off IpOrId enum (#2670)
- 17b6ba8 Return last session update timestamp in CLI (#254)
- 4bd4154 Revert "build(deps): bump actix-web from 4.9.0 to 4.10.2 in /activator (#64)" (#93)
- cd6e432 Revert "docs: build instructions for each component (#58)" (#92)
- 3ef2644 Revert "sc/telemetry: embed serviceability program id via build feature" (#1502)
- 8614ca8 Revert test change in smartcontract component (#2618)
- a0ebdd3 Rfc/Network Draining (#2125)
- ba593aa Run telemetry agent on pending and drained (#2619)
- 64b7493 Rust: merge group imports (#486)
- 4ba0240 SDK was refactored to support the execution of unit test cases (#215)
- e433e36 SDK: Fixes corrupted reads to prevent OOMs (#522)
- e735022 Servicability: make interface name comparison case insensitive (#1673)
- 2827d3d Serviceability: interface activate/delete/remove/update need case-insensitive find interface (#2001)
- 717ac5c Serviceability: prevent duplicate device interfaces (#1998)
- 259292a Set CLI min version (#2177)
- 1b13a2a Show Contributor on Device & Link List & Get commands (#987)
- e923f48 Single device stress test (#1374)
- e632cc8 Smart contract cleaning (#82)
- 292f1fa Smartcontract: Add ResourceExtension and Foundation Commands for Managing (#2377)
- c546b91 Smartcontract: remove all unwrap calls (#562)
- 51aa6da Spawn worker on start instead of each loop (#554)
- 5d24a1c Streamline allowlist management by moving multicast group memberships into AccessPass (#1566)
- aa50aaf Switch to tabled (#428)
- 75ac294 Telemetry: refactor flow enricher (#2443)
- ed42c8f Tests are organized into a single folder. (#916)
- e2346f9 The
tunnel_typeargument expects a number and should parse its corresponding text. The arguments of theupdatecommand are made optional. (#38) - 0efe51f The device interface list command is modified so that it shows all in… (#2293)
- 45542e0 The multicast group unsubscription is added before the user is deleted.
- 086118e The user allowlist check has been removed from the CLI. (#1483)
- 6609600 The validation of the Solana Validator is implemented for users, and the activator log is improved. (#795)
- dccd2dc This commit makes the following changes: (#447)
- b7c4434 Unit tests for Activator (#161)
- 9a78c2c Update CHANGELOG.md (#1583)
- bdf1930 Update CLI command arguments to be visible in help output (#2493)
- 8107f3e Update Cargo.toml to 0.5.3 (#1289)
- 619361b Update GO SDK (#2597)
- f2969e0 Update README.md
- ca1a902 Update README: account structures and descriptions for Link, MulticastGroup, GlobalConfig, and GlobalState (#541)
- c9bae95 Update contributor, device, exchange, link, location, and multicast g… (#2460)
- 3cb6ee2 Update dependencies and refactor RPC account configuration (#229)
- 879bb64 Update hard-coded DZ program-id on the smart contact (#208)
- 5d3616b Update log messages in resume functions to reflect resumed state for devices, exchanges, locations, tunnels, and users
- 246291d Update multicast group block in global configuration (#1539)
- 45b8650 Update rust dependecies (#341)
- db761ca Update solana_sdk::system_program to use solana_system_interface::program (#745)
- 359cc72 Update validation logic for public IP based on device type (#2580)
- 095fcfc Updated all Cargo.toml files to unify the Rust projects under a single workspace. This allows rust-analyzer to analyze all projects together, improving development experience and code navigation. (#265)
- 2c80d2d Upgrade and loosen deps (#454)
- d7eab32 Use globalstate index instead of client-passed index multicast PDA (#2172)
- 9be8015 Validate account codes and replace whitespaces (#991)
- 0ffe518 Validate public IP doesn't clash with dz_prefix (#1874)
- 1e7d551 Verify device.reference_count is 0 when calling CloseAccountDevice (#2581)
- df833ae Version 0.2.2 (#618)
- 97f502c actions: add missing go.{mod,sum} path (#9)
- aa7722e actions: cancel existing e2e run on new trigger (#2467)
- 1acae4b actions: don't run tests on markdown changes (#88)
- bd9f6ff actions: move all remaining actions to dedicated runner (#214)
- 41186dd activator metrics (#260)
- 72440eb activator: Refactor device, tunnel, and user event processing to replace deactivate commands with close account commands
- 531ab8d activator: Refactor idallocator (#501)
- 61ef22d activator: activating links should manage interface status (#1584)
- 31f3f93 activator: add shutdown signal listening (#813)
- 02a823e activator: add task to periodically reload blockchain (#1744)
- 759e3e0 activator: less noisy event logging (#1820)
- 7bc8d4e activator: log level info (#1095)
- be4618e activator: make activator run as ubuntu (#303)
- 88803c0 activator: move metrics to prometheus (#1579)
- 2b7fd4f activator: no get_all before subscribe (#1814)
- d7f3366 activator: non-blocking (#1833)
- 44ee6d2 activator: open source activator (#2)
- d09036c activator: reduce log noise when processing snapshot events (#1810)
- 7f6fdff activator: rename tunnel_tunnel_* variables (#938)
- 7fb4ff8 activator: required network env flags (#1089)
- e1f2a97 activator: standardize build info (#917)
- 222bba6 activator: support for dzd metadata (#1055)
- 305b8e5 activator: support for interface ip reclamation (#1304)
- ecb2265 activator: wrap main select handler in loop (#1811)
- 602c133 add device code to cli/latency manager for latency cmd (#1016)
- b8f1990 add in env (testnet, devnet) as a param to cilent (#1164)
- 0dd898a add mainnet program_id to mirror dev/testnets (#1183)
- a78e92f add slack notification for user joins (#1661)
- 9f20567 add slog for log levels (#170)
- 1352b23 add slog to controller (#192)
- d0feaa9 add status to RFCs (#2194)
- 1dc2328 add status to doublezero export output (#301)
- 80b67aa address comments from PR#1234 (#1250)
- 99df11f agent: expose optional prom metrics (#746)
- e51c8a4 agent: increase default controller request timeout (#2365)
- 2df0b72 agent: initial telemetry collector (#588)
- 070d80e agent: pass vrf info for peers to controller (#448)
- d50bdd1 agent: rename eosagent to agent (#5)
- 774164c api: add web service for token supply stats (#1687)
- ce6eee4 bug fix: user update zeros dz_ip if dz_ip not set (#1513)
- ec92f45 build(deps): bump actix-service in /client/doublezero (#69)
- 7c9f70b build(deps): bump actix-web from 4.9.0 to 4.10.2 in /activator (#64)
- 0e5494c build(deps): bump actix-web from 4.9.0 to 4.10.2 in /client/doublezero (#66)
- d9c3d5b build(deps): bump anyhow from 1.0.98 to 1.0.99 (#1420)
- 1d56c7b build(deps): bump anyhow from 1.0.99 to 1.0.100 (#1794)
- 66a3fb0 build(deps): bump async-trait from 0.1.88 to 0.1.89 (#1404)
- 2ad8bda build(deps): bump bytemuck from 1.23.1 to 1.23.2 (#1412)
- 7434e4f build(deps): bump bytemuck from 1.23.2 to 1.24.0 (#1843)
- 2dd329d build(deps): bump chrono from 0.4.41 to 0.4.42 (#1576)
- 93cb894 build(deps): bump clap from 4.5.26 to 4.5.36 in /client/doublezero (#166)
- 21cb5e5 build(deps): bump clap from 4.5.36 to 4.5.37 in /activator
- 3d7265a build(deps): bump clap from 4.5.36 to 4.5.37 in /client/doublezero
- 58b535c build(deps): bump clap from 4.5.40 to 4.5.41 (#806)
- 89322bb build(deps): bump clap from 4.5.41 to 4.5.43 (#1153)
- e486836 build(deps): bump clap from 4.5.43 to 4.5.45 (#1421)
- 23553c4 build(deps): bump clap from 4.5.45 to 4.5.46 (#1489)
- 72ba515 build(deps): bump clap from 4.5.46 to 4.5.47 (#1575)
- 36b4036 build(deps): bump clap from 4.5.47 to 4.5.48 (#1697)
- e32a6ec build(deps): bump clap from 4.5.48 to 4.5.49 (#1956)
- b0b55e3 build(deps): bump clap from 4.5.49 to 4.5.50 (#2006)
- 16ec5dd build(deps): bump clap_complete from 4.5.54 to 4.5.55 (#805)
- b4a9f33 build(deps): bump clap_complete from 4.5.55 to 4.5.56 (#1158)
- 25b4ece build(deps): bump clap_complete from 4.5.56 to 4.5.57 (#1396)
- c1fd17c build(deps): bump clap_complete from 4.5.57 to 4.5.58 (#1842)
- 8f0837c build(deps): bump clap_complete from 4.5.58 to 4.5.59 (#1955)
- 2a2d880 build(deps): bump console from 0.15.11 to 0.16.0 (#1490)
- 6c37715 build(deps): bump console from 0.15.11 to 0.16.0 (#661)
- 6ace1a8 build(deps): bump console from 0.15.11 to 0.16.1 (#1577)
- 2694eee build(deps): bump ctor from 0.4.2 to 0.5.0 (#1151)
- baa3722 build(deps): bump ctor from 0.5.0 to 0.6.0 (#1909)
- 2504d57 build(deps): bump dirs from 5.0.1 to 6.0.0 in /activator (#63)
- 466fd93 build(deps): bump dirs from 5.0.1 to 6.0.0 in /client/doublezero (#68)
- d565753 build(deps): bump env_logger from 0.9.3 to 0.11.8 (#1696)
- a3cda62 build(deps): bump env_logger from 0.9.3 to 0.11.8 (#1903)
- 7d7f5c1 build(deps): bump env_logger from 0.9.3 to 0.11.8 (#719)
- a4e02d2 build(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#112)
- 7aa6622 build(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#392)
- a63a346 build(deps): bump github.com/ClickHouse/clickhouse-go/v2 (#76)
- 84d3a33 build(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.34.0 to 2.37.1 (#614)
- 62af8e9 build(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.37.1 to 2.37.2 (#658)
- 59589d5 build(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.37.2 to 2.40.1 (#1390)
- 3ec003e build(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.40.1 to 2.40.3 (#1795)
- f7f972a build(deps): bump github.com/alitto/pond/v2 from 2.5.0 to 2.6.0 (#2321)
- 4844278 build(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.31.18 to 1.32.3 in /controlplane/s3-uploader (#2373)
- 076fe35 build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.90.0 to 1.93.0 in /controlplane/s3-uploader (#2374)
- ab05b07 build(deps): bump github.com/cenkalti/backoff/v5 from 5.0.2 to 5.0.3 (#1146)
- 891a778 build(deps): bump github.com/docker/docker (#113)
- fccb7a8 build(deps): bump github.com/docker/docker (#199)
- 30a090d build(deps): bump github.com/docker/docker (#42)
- e99b5f2 build(deps): bump github.com/docker/docker from 28.2.2+incompatible to 28.3.0+incompatible (#659)
- 9943c8c build(deps): bump github.com/docker/docker from 28.3.0+incompatible to 28.3.1+incompatible (#720)
- 9eef488 build(deps): bump github.com/docker/docker from 28.3.1+incompatible to 28.3.2+incompatible (#798)
- 6e88190 build(deps): bump github.com/docker/docker from 28.3.2+incompatible to 28.3.3+incompatible in the go_modules group across 1 directory (#975)
- 6bd3138 build(deps): bump github.com/docker/docker from 28.3.3+incompatible to 28.4.0+incompatible (#1570)
- c24acb2 build(deps): bump github.com/docker/docker from 28.4.0+incompatible to 28.5.0+incompatible (#1841)
- 7acd6fd build(deps): bump github.com/docker/docker from 28.5.0+incompatible to 28.5.1+incompatible (#1905)
- 4a40fa3 build(deps): bump github.com/docker/docker from 28.5.1+incompatible to 28.5.2+incompatible (#2103)
- f1c11cc build(deps): bump github.com/docker/go-connections from 0.5.0 to 0.6.0 (#1155)
- 8f3e9cd build(deps): bump github.com/gagliardetto/solana-go from 1.12.0 to 1.13.0 (#1176)
- 53dc627 build(deps): bump github.com/gagliardetto/solana-go from 1.13.0 to 1.14.0 (#1796)
- e921482 build(deps): bump github.com/google/go-cmp from 0.6.0 to 0.7.0 (#74)
- 5d53e76 build(deps): bump github.com/klauspost/compress from 1.18.0 to 1.18.1 (#1957)
- b929fe3 build(deps): bump github.com/klauspost/compress from 1.18.1 to 1.18.2 (#2324)
- 5843060 build(deps): bump github.com/lmittmann/tint from 1.1.1 to 1.1.2 (#572)
- 2db8d60 build(deps): bump github.com/prometheus-community/pro-bing (#283)
- efa70b0 build(deps): bump github.com/prometheus-community/pro-bing (#77)
- 6ab4fa0 build(deps): bump github.com/prometheus/client_golang (#284)
- 3cffef9 build(deps): bump github.com/prometheus/client_golang (#56)
- e36132e build(deps): bump github.com/prometheus/client_golang from 1.22.0 to 1.23.0 (#1174)
- 1b928d0 build(deps): bump github.com/prometheus/client_golang from 1.23.0 to 1.23.2 (#1569)
- c2b3762 build(deps): bump github.com/prometheus/client_model from 0.6.1 to 0.6.2 (#1163)
- 2ae2b4d build(deps): bump github.com/prometheus/common from 0.62.0 to 0.65.0 (#1157)
- e2e3408 build(deps): bump github.com/prometheus/common from 0.66.1 to 0.67.1 (#1908)
- b425353 build(deps): bump github.com/prometheus/common from 0.67.1 to 0.67.2 (#2067)
- a01e281 build(deps): bump github.com/prometheus/common from 0.67.2 to 0.67.4 (#2276)
- ff2615a build(deps): bump github.com/quic-go/quic-go from 0.57.0 to 0.57.1 (#2323)
- a823685 build(deps): bump github.com/spf13/cobra from 1.10.0 to 1.10.1 (#1572)
- 296beba build(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.0 (#1492)
- e960fae build(deps): bump github.com/spf13/pflag from 1.0.9 to 1.0.10 (#2066)
- 0d5a642 build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0 (#1400)
- eb034b9 build(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 (#1491)
- 45dda3d build(deps): bump github.com/testcontainers/testcontainers-go/modules/clickhouse (#239)
- 92b31ce build(deps): bump github.com/testcontainers/testcontainers-go/modules/clickhouse from 0.37.0 to 0.38.0 (#1156)
- 06b54a8 build(deps): bump github.com/testcontainers/testcontainers-go/modules/clickhouse from 0.38.0 to 0.39.0 (#1692)
- e4867e4 build(deps): bump github.com/testcontainers/testcontainers-go/modules/clickhouse from 0.39.0 to 0.40.0 (#2100)
- 1f871c8 build(deps): bump github.com/testcontainers/testcontainers-go/modules/redpanda (#240)
- e68873e build(deps): bump github.com/testcontainers/testcontainers-go/modules/redpanda from 0.37.0 to 0.38.0 (#1173)
- 5540cfb build(deps): bump github.com/testcontainers/testcontainers-go/modules/redpanda from 0.38.0 to 0.39.0 (#1788)
- b40e8ab build(deps): bump github.com/testcontainers/testcontainers-go/modules/redpanda from 0.39.0 to 0.40.0 (#2277)
- 06d96aa build(deps): bump github.com/twmb/franz-go from 1.18.1 to 1.19.1 (#332)
- 8398608 build(deps): bump github.com/twmb/franz-go from 1.19.1 to 1.19.4 (#397)
- fdc48cc build(deps): bump github.com/twmb/franz-go from 1.19.4 to 1.19.5 (#518)
- 4df2a2e build(deps): bump github.com/twmb/franz-go from 1.20.1 to 1.20.3 (#2101)
- 8675f4b build(deps): bump github.com/twmb/franz-go from 1.20.3 to 1.20.5 (#2274)
- 0b2b894 build(deps): bump github.com/twmb/franz-go/pkg/kadm (#282)
- 774fdea build(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.16.0 to 1.16.1 (#1403)
- 567af7d build(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.16.1 to 1.17.0 (#1953)
- 3bfdc61 build(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.17.0 to 1.17.1 (#2007)
- 4f77c41 build(deps): bump github.com/twmb/franz-go/plugin/kprom (#388)
- 15ffffb build(deps): bump github.com/twmb/franz-go/plugin/kprom from 1.2.1 to 1.3.0 (#1393)
- 6f83aa4 build(deps): bump github.com/vishvananda/netlink from 1.3.0 to 1.3.1 (#389)
- b76ba4f build(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 in the go_modules group across 1 directory (#2196)
- 82af174 build(deps): bump golang.org/x/mod from 0.25.0 to 0.26.0 (#799)
- d270a1d build(deps): bump golang.org/x/mod from 0.26.0 to 0.27.0 (#1148)
- 558116b build(deps): bump golang.org/x/mod from 0.27.0 to 0.28.0 (#1658)
- ff09777 build(deps): bump golang.org/x/mod from 0.28.0 to 0.29.0 (#1906)
- 81a1202 build(deps): bump golang.org/x/mod from 0.29.0 to 0.30.0 (#2322)
- 02120a9 build(deps): bump golang.org/x/net (#184)
- 03bc536 build(deps): bump golang.org/x/net (#6)
- e652c19 build(deps): bump golang.org/x/net (#84)
- 4621146 build(deps): bump golang.org/x/net from 0.41.0 to 0.42.0 (#796)
- 0e6bbf2 build(deps): bump golang.org/x/net from 0.42.0 to 0.43.0 (#1178)
- 9ebbcd1 build(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 (#1694)
- 551c149 build(deps): bump golang.org/x/net from 0.44.0 to 0.46.0 (#1907)
- d958e85 build(deps): bump golang.org/x/sys from 0.30.0 to 0.31.0 (#75)
- ad50d3b build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 (#333)
- ec51e9d build(deps): bump golang.org/x/sys from 0.34.0 to 0.35.0 (#1147)
- eb1f0d5 build(deps): bump golang.org/x/sys from 0.36.0 to 0.37.0 (#1902)
- 5c1dc72 build(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 (#2104)
- 83f0ec3 build(deps): bump google.golang.org/grpc from 1.67.1 to 1.71.0 (#57)
- 7867964 build(deps): bump google.golang.org/grpc from 1.71.0 to 1.72.0 (#285)
- f51a97e build(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.1 (#387)
- a2a7f43 build(deps): bump google.golang.org/grpc from 1.72.1 to 1.72.2 (#396)
- 9859988 build(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 (#515)
- d7be9af build(deps): bump google.golang.org/grpc from 1.73.0 to 1.74.2 (#1154)
- 33843ed build(deps): bump google.golang.org/grpc from 1.74.2 to 1.75.0 (#1388)
- 17e9c57 build(deps): bump google.golang.org/grpc from 1.75.0 to 1.75.1 (#1698)
- ec804e4 build(deps): bump google.golang.org/grpc from 1.75.1 to 1.76.0 (#1911)
- f8b21a3 build(deps): bump google.golang.org/grpc from 1.76.0 to 1.77.0 (#2275)
- 022dd93 build(deps): bump google.golang.org/protobuf from 1.35.2 to 1.36.5 (#20)
- 094abeb build(deps): bump google.golang.org/protobuf from 1.36.5 to 1.36.6 (#111)
- a3b69bf build(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.8 (#1394)
- 0466846 build(deps): bump google.golang.org/protobuf from 1.36.8 to 1.36.9 (#1653)
- 452118f build(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10 (#1845)
- 2a31c4d build(deps): bump http from 1.2.0 to 1.3.1 in /client/doublezero (#103)
- 31cb741 build(deps): bump hyper from 1.6.0 to 1.7.0 (#1410)
- b41c6d7 build(deps): bump hyper-util from 0.1.14 to 0.1.15 (#797)
- c717a46 build(deps): bump hyper-util from 0.1.15 to 0.1.16 (#1411)
- a50e2aa build(deps): bump hyper-util from 0.1.16 to 0.1.17 (#1695)
- 8d3068c build(deps): bump indexmap from 2.10.0 to 2.11.0 (#1414)
- 93264ec build(deps): bump indexmap from 2.11.0 to 2.11.4 (#1793)
- ab44b23 build(deps): bump indexmap from 2.11.4 to 2.12.0 (#2013)
- 32d6559 build(deps): bump indexmap from 2.9.0 to 2.10.0 (#662)
- 7c56061 build(deps): bump indicatif from 0.17.11 to 0.18.0 (#1656)
- ba984c7 build(deps): bump indicatif from 0.17.11 to 0.18.0 (#1844)
- 0cd8187 build(deps): bump indicatif from 0.17.11 to 0.18.0 (#718)
- 61b6633 build(deps): bump indicatif from 0.17.9 to 0.17.11 in /client/doublezero
- 8dc96ff build(deps): bump ipnetwork from 0.20.0 to 0.21.1 in /activator (#14)
- a260c67 build(deps): bump log from 0.4.27 to 0.4.28 (#1574)
- f84d3c8 build(deps): bump mockall from 0.11.4 to 0.13.1 (#1652)
- e7e43e8 build(deps): bump mockall from 0.11.4 to 0.13.1 (#2105)
- f170671 build(deps): bump mockall from 0.11.4 to 0.13.1 (#660)
- 531832f build(deps): bump regex from 1.11.1 to 1.11.2 (#1409)
- 0795330 build(deps): bump regex from 1.11.2 to 1.11.3 (#1790)
- fcd351b build(deps): bump regex from 1.11.3 to 1.12.1 (#1904)
- a03e86e build(deps): bump regex from 1.12.1 to 1.12.2 (#2008)
- c62769e build(deps): bump serde from 1.0.215 to 1.0.218 in /smartcontract/sdk/rs (#29)
- ac352fb build(deps): bump serde from 1.0.217 to 1.0.218 in /client/doublezero (#24)
- c93ea15 build(deps): bump serde from 1.0.218 to 1.0.219 in /activator (#61)
- e5d5e6f build(deps): bump serde from 1.0.218 to 1.0.219 in /smartcontract/sdk/rs (#72)
- d150598 build(deps): bump serde_bytes from 0.11.17 to 0.11.18 (#1654)
- cb9d8cd build(deps): bump serde_bytes from 0.11.18 to 0.11.19 (#1797)
- bf9529e build(deps): bump serde_json from 1.0.140 to 1.0.142 (#1152)
- 823ed8e build(deps): bump serde_json from 1.0.142 to 1.0.143 (#1397)
- 7104834 build(deps): bump serde_json from 1.0.143 to 1.0.145 (#1693)
- 39b8229 build(deps): bump serde_json in /client/doublezero (#44)
- 92490f6 build(deps): bump serde_json in /smartcontract/sdk/rs (#31)
- 14840e1 build(deps): bump serde_json in /smartcontract/sdk/rs (#45)
- a0e2124 build(deps): bump tempfile from 3.20.0 to 3.21.0 (#1395)
- 358d26c build(deps): bump tempfile from 3.21.0 to 3.22.0 (#1657)
- 0a849b9 build(deps): bump tempfile from 3.22.0 to 3.23.0 (#1792)
- 4380c7b build(deps): bump the cargo group across 2 directories with 1 update
- c0723e5 build(deps): bump the cargo group across 3 directories with 1 update (#7)
- fed48fd build(deps): bump the cargo group across 4 directories with 3 updates (#182)
- 33a866f build(deps): bump thiserror from 2.0.11 to 2.0.12 in /client/doublezero
- e93f052 build(deps): bump thiserror from 2.0.12 to 2.0.16 (#1398)
- c1b3289 build(deps): bump thiserror from 2.0.16 to 2.0.17 (#1791)
- e8c02bd build(deps): bump thiserror in /smartcontract/programs/dz-sla-program
- 3d99124 build(deps): bump tokio from 1.41.1 to 1.43.0 in /smartcontract/sdk/rs (#30)
- c428f9e build(deps): bump tokio from 1.42.0 to 1.43.0 in /activator (#23)
- a5c3fa4 build(deps): bump tokio from 1.45.1 to 1.46.1 (#717)
- 1446eea build(deps): bump tokio from 1.46.1 to 1.47.1 (#1159)
- 7bc9a6d build(deps): bump tracing-subscriber from 0.3.19 to 0.3.20 in the cargo group across 1 directory (#1482)
- ee8000e bump: update version to 0.2.2 for multiple packages and adjust dependencies (#617)
- 1a1c866 change rp address (#465)
- b69aaf8 changelog: add v0.4.0 release notes (#1050)
- 7e6e3ee changelog: backfill unreleased notes since v0.5.3 (#1401)
- 47e980d changelog: fix typo in v0.5.0 diff link (#1185)
- cd943d2 chore(ci): config with go-version-file instead of go-version (#408)
- 024b34b chore(ci): run go race in ci
- e6fdaa8 chore(client): fix go race tests
- d61c984 chore(client): parallelize runtime e2e tests (#437)
- 0c658fb chore(deps): update dependencies for clap, tokio, and related packages
- 8729477 chore(e2e): faster incremental e2e docker builds (#434)
- b409c71 chore(make): fix make test commands
- c795f6b chore(rust): configure strict clippy (#466)
- db04c2a chore: add devcontainer config (#405)
- 9166f5a chore: update dependencies and remove unused packages (#309)
- a896be9 chore: update dependencies in Cargo.lock (#553)
- 568b50a chore: update package versions to 0.2.0 across the project
- 788399c chore: update version to 0.2.0 in Cargo.toml
- d911da3 chore: upgrade to golangci-lint v2 (#417)
- 532772c ci/e2e: set env BUILDKIT_PROGRESS=plain (#481)
- 35fc896 ci: bigger runner for go tests (#2368)
- fc2eabf ci: changelog reminder (#2347)
- 04783f8 ci: clean up workflow job names for required checks (#634)
- c6dc994 ci: configure workflows to be available as required checks (#631)
- dd97883 ci: fix go lint error from latest golangci-lint release (#2020)
- a5dc05c ci: fix go-build workflow dep (#635)
- af00715 ci: fix go-test make target (#2367)
- a881cbf ci: rust-toolchain smartcontract deploy action (#1501)
- cf94f5a ci: separate testnet and mainnet-beta cloudsmith repos
- 7756324 ci: switch to standard github runners (#599)
- d6b6362 ci: test deserialize existing state (#2143)
- 45e6627 cli: config set --env (#1373)
- ca0f563 cli: connect prints nice error on banned (#1589)
- 91ac7cd cli: include user validator pubkey in export output (#1910)
- 69af01b cli: keygen outfile flag (#1027)
- a58e5d7 cli: remove log noise on resolve route (#2617)
- c1a3cbf cli: remove short flags for RPC_URL, WEBSOCKET_URL, and KEYPAIR arguments (#1935)
- e37af1e cli: routes command (#2300)
- fc7ce59 cli: status command suggests better dzd (#1894)
- 6f7e875 cli: use dz ip to find user during status lookup (#2576)
- d79f630 cli: wait for user creation during connect (#1065)
- 01f8a18 client/activator/cli: remove expects (#583)
- 3b11f7d client/daemon: add metric for bgp session establish duration (#2363)
- cde1105 client/daemon: always delegate RouteAdd regardless of noUninstall flag (#2606)
- b9933a9 client/daemon: configure tunnel mtu (#2554)
- 5c24903 client/daemon: fix route liveness state transition metrics counting (#2314)
- 50429b0 client/daemon: increase max backoff (#2555)
- 13ec17c client/daemon: initial route liveness probing (#2092)
- 9fd816b client/daemon: installed routes metric (#2416)
- d4d240f client/daemon: route config (#2076)
- 3ac1f2a client/daemon: route liveness admin-down signalling and ignore stale remote-down (#2155)
- 69254b2 client/daemon: route liveness admindown routes configured as excluded (#2414)
- 6780f3c client/daemon: route liveness default-on passive mode (#2684)
- 28ad807 client/daemon: route liveness fault tests (#2301)
- 26d0c5b client/daemon: route liveness fix git/dev version channel parsing (#2384)
- dcf8f14 client/daemon: route liveness fix session metrics counting (#2382)
- 863a060 client/daemon: route liveness fix var names (#2156)
- 2983774 client/daemon: route liveness for passive mode ibrl-with-allocated-ip (#2380)
- f0404b6 client/daemon: route liveness metrics (#2136)
- 6dc3cef client/daemon: route liveness peer client version (#2366)
- a0dd8e1 client/daemon: route liveness peer passive mode (#2311)
- 8716a62 client/daemon: route liveness scheduler avoid logging UDP send failure after teardown (#2251)
- 4c4403f client/daemon: route liveness scheduler deflake test for UDP error logging (#2253)
- d6d38ba client/daemon: routes api endpoint (#2207)
- 1fa04f7 client/daemon: switch to 64 byte latency probes (#2159)
- 6b358b3 client: Add json flag to status and latency commands (#597)
- bbb6986 client: Fix persistent spinner show on status command (#483)
- 9d6b7f9 client: add ip rules with kernel proto (#160)
- 2b73c3d client: add prometheus metrics for latency (#1860)
- fb35234 client: add support for multiple services in db (#364)
- cb2e31c client: allow configuration of solana rpc endpoint (#80)
- d01ddd5 client: deflake LatencyUDPPing test (#1066)
- 8a9685e client: deflake bgp test (#870)
- 9067cf7 client: depend on doublezero-solana (#1600)
- 4613522 client: doublezerod network env flag (#1379)
- ced957a client: expose optional prom metrics (#754)
- 675174a client: fix doublezero status command when connected (#163)
- 3bf4158 client: fix github action path (#78)
- b32bb0f client: flush routes on session down (#261)
- f7f485c client: increase timeout for fetch program data (#1294)
- b907549 client: make install (#2604)
- 4b525bf client: max user check not being applied in the multicast connect workflow (#1803)
- ec4454e client: open source doublezero client (#3)
- c921cce client: pass config file to goreleaser in action (#11)
- cfdb7f5 client: prune mcast group immediately on disconnect (#555)
- 84a2d54 client: resolve tunnel source IP from routing table for IBRL with allocated IP (#2497)
- 3102223 client: services (#365)
- 38bc1ea config/go: move network env constants to config package (#1120)
- cd281e2 config/mainnet: update ledger websocket rpc url (#1165)
- eab2464 config: add mainnet env (#1121)
- 7edc6fd config: override rpc url with env variable and use public rpc url for devnet/testnet (#1179)
- 5564f4b config: remove whirligig path from mainnet WS RPC URL (#1306)
- 832491c config: rename mainnet env code to mainnet-beta (#1322)
- f0a4762 config: use ledger RPC LB endpoint (#1240)
- 08156f1 controller: Update device template to set default BGP timers and admin distance (#1636)
- 0260ad7 controller: Update iBGP and IS-IS Timers (#1402)
- 7ce00bc controller: add "no" command before control plane ACL definition (#787)
- bdf97ee controller: add build info/fix account fetching (#749)
- 66bcebd controller: add device info as labels to controller_grpc_getconfig_requests_total metric (#1781)
- 3fd60e0 controller: add device status label to controller_grpc_getconfig_requests_total metric (#2495)
- 020da1d controller: add flag to enable pprof (#1556)
- 2313674 controller: add flag to override solana rpc endpoint (#81)
- e1a5aa5 controller: add gRPC middleware for request metrics (#2369)
- 96518ef controller: add histogram for request duration (#2358)
- 025523d controller: add msg size metric (#1567)
- 5736ec4 controller: cleanup log spam (#1733)
- f95f3a7 controller: default all tunnels before defining active tunnels (#1712)
- fa507ec controller: diff tool (#1988)
- 99aabbc controller: dual listen with tls and non-tls servers (#1604)
- bc0bd5d controller: fix accidental storage of unknown peers (#228)
- 9b85bfe controller: grpc server tls config (#1449)
- 6027883 controller: handle drained link.status (#2255)
- 71a118a controller: intra-exchange routing policy (#1976)
- 60e7c15 controller: link metrics (#1468)
- 714869c controller: log program-id/rpc on start (#586)
- 7e98ee5 controller: loosen max tunnels (#490)
- 698a9ff controller: make -enable-interfaces-and-peers flag a no-op (#1983)
- fb47aa4 controller: mpls icmp ttl-exceeded tunneling (#1442)
- dbcdc4f controller: multicast ACL removal for non-allocated tunnels (#613)
- 0b42a4c controller: remove deprecated -enable-interfaces-and-peers flag (#2070)
- d80cf0c controller: remove unused InterfacesAndPeers flag from templateData struct (#2074)
- b493197 controller: render additional config (#1109)
- fafc8a5 controller: required network env flags (#1086)
- e6a5cf8 controller: return detailed errors to agent (#1775)
- 21799e7 controller: update template to render correct syntax for VLAN tagging on sub-interfaces (#1142)
- 55f0f73 controller: use link.delay_override to set isis metric when in valid range (#2078)
- 4eada77 controller: user tunnel acls (#1106)
- 841991a controlplane: open source controller/agent (#1)
- a672b61 dependabot: add json schema for local validation (#13)
- be27d4e dependabot: create dependabot configuration (#8)
- 98e230e dependabot: use directories keyword (#10)
- dda4a07 dev: persistent local devnet (#615)
- 64a3a1d devcontainer: fix clippy config (#737)
- 696d232 devcontainer: fix gopls and rust-analyzer (#2433)
- 633426c devcontainer: fix rust component snapshot builds (#2499)
- d296a57 devcontainer: install goreleaser (#491)
- cf792f0 devcontainer: re-add nightly toolchain for rustfmt config (#1351)
- 5db0164 device-health-oracle: calculate burn-in period (#2672)
- 3ad28e5 device-health-oracle: create new component (#2512)
- 9b92b64 device/telemetry: bind to source ip and interface for probes (#739)
- 81042a0 device/telemetry: buffer backpressure (#1076)
- 1c3353b device/telemetry: data api support for specifying unit as ms or us (#967)
- fd4253f device/telemetry: data cli and api use epoch from ledger (#1023)
- a674075 device/telemetry: data cli fix aggregate over multiple epochs and N recent samples per group (#816)
- 92bf77e device/telemetry: data cli support for raw csv output (#1009)
- 287a3a0 device/telemetry: data cli support some accounts not found (#851)
- 68d3d8d device/telemetry: derive peer IP from local tunnel IPs within link tunnel_net (#704)
- 70c0048 device/telemetry: drop samples when retries exhausted and buffer full (#1521)
- 0a2f3e0 device/telemetry: expose optional prometheus metrics (#817)
- e4e9fde device/telemetry: fix duplicate sender instances in collector (#786)
- 351a0e8 device/telemetry: internal CLI tool for showing aggregate RTT metrics from onchain telemetry program data (#793)
- 9702f64 device/telemetry: kernel timestamping for RTT measurement via SO_TIMESTAMPNS (#753)
- 85be62b device/telemetry: limit sample submission batch size (#732)
- f32866b device/telemetry: lower batch size to be within transaction size limit (#882)
- dbc1fb9 device/telemetry: optimize TWAMP with epoll and goroutine-thread pinning (#794)
- 4615e6c device/telemetry: periodically recreate sender instances (#1383)
- 041315f device/telemetry: proxy API for exposing onchain telemetry data to Grafana (#878)
- 9870e04 device/telemetry: reduce logging noise in submitter (#712)
- 11d99b9 device/telemetry: reflect changes to links in peers on refresh (#710)
- bff83e2 device/telemetry: remove empty account buffer for past epochs (#707)
- 20db468 device/telemetry: render control plane ACL via controller with UDP probe rule (#772)
- d681b25 device/telemetry: simplify CLI config with env flag (#902)
- 2eec36c device/telemetry: submit partitions in parallel (#1828)
- 4caf468 device/telemetry: support TLS in SingleThreadTransport (#751)
- 3e1ae99 device/telemetry: talk to ledger in management namespace (#750)
- 694c4fe device/telemetry: use ledger epoch (#1004)
- 124e7cf device/telemetry: use link pubkey for circuit uniquness in data api (#1132)
- f760f6c device/telemetry: write samples to program from collector (#667)
- 6740b90 doublezero_monitor: add custom unit file (#2084)
- 2a398de doublezero_monitor: add packaging (#1896)
- 375e6eb doublezero_monitor: hardcode upstream ref (#2086)
- 89a675d e2e qa alldevices test - improve output and error handling (#1630)
- f42124a e2e test (#183)
- 3d0ea0f e2e/build: force copy binaries from previous stages (#1075)
- f1dbbb4 e2e/dev: deploy telemetry program (#653)
- 39fcc5a e2e/docker: cross-platform solana build (#504)
- 4378018 e2e/qa: increase connect + tunnel up timeout (#1709)
- e188a98 e2e/telemetry: deflake with longer wait for interfaces timeout (#1284)
- c96c238 e2e/telemetry: wait for controller-given agent config (#1099)
- c9227db e2e: Add current_device to qaagent GetStatus call (#2005)
- a73782d e2e: Increase qa_test GetStatus timeout from 30s to 60s (#1675)
- cfd69b5 e2e: QA alldevices bugfixes (#2582)
- 9b63232 e2e: add --allocate-addr support to QA agent and QA alldevices test (#2564)
- f888ec0 e2e: add GetLatency call to qaagent (#2522)
- 3f6cc97 e2e: add build linux constraint to multicast tool (#985)
- eab91c7 e2e: add dz device to tests (#147)
- 36c16f6 e2e: add helper scripts (#1376)
- f87e08f e2e: add influxdb and device-health-oracle containers (#2668)
- b3236a4 e2e: add makefile args and increase controller grpc client timeout (#567)
- 5f99446 e2e: add pim/mroute tests (#445)
- 84884ac e2e: add prometheus container and validate controller_grpc_getconfig_requests_total metric (#2674)
- 843a474 e2e: add session removal tests (#502)
- 0118c9f e2e: add unit tests for QA alldevices (#2593)
- f6809e0 e2e: check for old status up string for backward compatibility (#2680)
- 4fdfcf3 e2e: clean up docker arch builds and simplify workflow (#503)
- 14f9b07 e2e: clean up versioned solana caching during builds (#663)
- 89be9b2 e2e: clients should rollover to the next nearest device when the nearest device has max-users connected (#1647)
- a5bbca4 e2e: configure additional device networks for link connectivity in local devnet (#1487)
- 94c30c0 e2e: deflake device interface assigned ip race (#1298)
- fc75ca6 e2e: deflake device metrics startup (#1068)
- 0445360 e2e: deflake metrics checks with wait for ready (#953)
- 7edc33b e2e: deflake user reconnect race (#1338)
- 06b6172 e2e: deploy programs to ledger in parallel (#860)
- d7612b1 e2e: device loopback interfaces in spec (#1277)
- 6970b1c e2e: device startup config commit merge (#736)
- f6514ce e2e: device-maxusers-rollover test - always add simulated latency to the correct interface (#1679)
- ca1b40a e2e: fix Solana SBF build failures due to shared toolchain cache (#626)
- 709a7fc e2e: fix localhost references (#701)
- 607e6d3 e2e: fix prometheus query external addr (#2688)
- 7252878 e2e: fix reused device interfaces on links (#1603)
- 1d591f9 e2e: fix running in devcontainer (#700)
- 60d0b89 e2e: ignore generated IDs in fixture comparisons (#695)
- efddb55 e2e: increase qa agent timeout to 60s (#1660)
- 34fa376 e2e: local containerized devnet for each test (#542)
- ee06ad6 e2e: make multicast address space reflect prod (#449)
- 8497d92 e2e: mitigate concurrent device interface creation issue (#1342)
- 1f2acd2 e2e: multi client tests (#956)
- 391fc62 e2e: multicast monitor (#969)
- 5472797 e2e: parallel docker stage builds (#497)
- cffde80 e2e: patch GRE proto on client ingress to fix Arista cEOS MPLS bug (#2051)
- d512ff1 e2e: publish per-device success/failure metrics from QA alldevices test (#2584)
- e388786 e2e: qa alldevices test: minimize latency between qa clients and devices (#2537)
- 5340989 e2e: qa test - route intra no-exchange traffic over the internet (#1999)
- 7b3f091 e2e: qa test all devices - ibrl (#1588)
- 34384e1 e2e: qa test now ensures dz is disconnected and user is removed from serviceability before attempting multicast connection (#1840)
- 0c0651b e2e: qa: always retry pings (#2015)
- da134dd e2e: qa: replace findDeviceByHostIP() with CurrentDevice returned by qaagent's GetStatus (#2021)
- dc52b45 e2e: qa: wait for multicast tunnel to be up before starting connectivity test (#2014)
- 345e879 e2e: solana build use agave installer and bump to v2.3.13 (#2129)
- 8242048 e2e: user ban test (#1350)
- 4044b63 enricher: basic flow enrichment service (#40)
- 7d9e6c5 ensure systemd restarts critical processes by default (#873)
- cdb6155 feat(cli): add --contributor filter to Devices, Interfaces and Links listings (#2119)
- 74c3a93 feat(cli): add JSON output support for list commands (#323)
- a4621bd feat(cli): introduce --no-version-warning and move warning w/ stderr (#2200)
- 44daa8c feat(cli): validate access path on client connection (#2117)
- 7a1690f feat(contributor): add owner field to Create and Update Contributor commands (#989)
- 753752d feat(controller) #1162 add flag controlling whether interfaces and peers are rendered (#1169)
- e6a3c38 feat(controller): #1143 vlan interfaces (#1149)
- 0216b95 feat(controller): #1187 add user tunnel slots (#1190)
- 4e30773 feat(controlplane/s3-uploader): add releaser workflow (#2133)
- 0c68988 feat(controlplane/s3-uploader): add support for s3-uploader tool (#2130)
- 1da5f8e feat(doublezero-cli): add support to load keypair via stdin (#2309)
- 43c8d68 feat(internet-latency-collector): #807 metrics (#994)
- 1ec5a36 feat(internet-latency-collector): #972 mark measurements with env name (#1015)
- 0f7944b feat(monitor): slack notification for epoch changes (#2188)
- 48a1206 feat(rfc): #741 rfc4 - design for latency collection
- 14dbf08 feat(serviceability): add new interface types Cyoa and Dia to go SDK (#2123)
- 4d602ee feat(smartcontract): RFC 11 activation for User entity (#2639)
- 49315ee feat(verify): strict verify iface status is pending (#2318)
- bbb2930 feat: Add input validation for CLI commands (#589)
- b790b6f feat: Implement access pass management commands and global state authority updates (#1272)
- b8e164b feat: RequestBanUser status verification (#2549)
- 4b61dfa feat: Update access pass PDA function to include payer parameter (#1300)
- cfc705a feat: Update device creation logic to validate contributor accounts (#723)
- a60ab84 feat: add Invalid Contributor verification (#2538)
- 8258390 feat: add deserialization utility and user allowlist stress test (#1506)
- 8c3c38b feat: add filtering options for prepaid and Solana validator access passes in user listing (#1471)
- 9c52b34 feat: add iface.status verification check (#2577)
- 18341b2 feat: add metrics publisher support to device creation and update commands (#594)
- 387e64b feat: add serde serialization for validator_pubkey in User struct (#1496)
- f5f6569 feat: add tenant_pk field to user struct and restore in device struct (#132)
- 0ad5f59 feat: add verification for user.device pk (#2542)
- e203e5d feat: add verification in ActiveDeviceInterface (#2594)
- cf2931e feat: add verification in BanUser (#2570)
- fc5932f feat: contributor account verification in multiple places (#2539)
- 3390f88 feat: enhance doublezero commands with environment handling and configuration retrieval (#1730)
- 431b446 feat: hide status argument in UpdateLinkCliCommand and enforce foundation allowlist for status updates (#1742)
- 4ccd71e feat: pk verification - side_{a, z} (#2541)
- c1958b7 feat: support device user count updates and user validator pubkey in CLI, SDK, and contracts (#1497)
- 9f7434f feat: update doublezero configuration URLs in config and consts (#190)
- 12a4493 feat: verify status is suspended (#2545)
- 252a4a3 feat: verify that multicast status is suspended (#2595)
- aa4edc9 fix location & exchange commands (#133)
- 8e444b6 fix status error (#37)
- 19cbc91 fix(activator): ip_to_index fn honors ip range (#2658)
- 5e4a9fe fix(cli): update env error message (#2205)
- 90d6407 fix(controller): #1094 #1129 e2e peer removal test, and associated bugfixes (#1134)
- 35e5214 fix(controller/config): multicast publisher in boundary list and pim border router (#473)
- 6698d11 fix(controlplane/s3-uploader): use correct cloudsmith repo (#2138)
- 220bdd4 fix(funder): remove committed funder binary (#2198)
- 9cf65c2 fix(smartcontract): check if accesspass.owner is equal to system program (#2088)
- 91a199b fix: Correct seed prefix in globalconfig_write_with_realloc (#622)
- befd49e fix: Modify IP lookup response of upstream request timeout (#2354)
- 3112388 fix: User creation must verify that last epoch 0 blocks the user. (#1435)
- 790d7f7 fix: accespass & client_ip checks fail if multi-ip allowed (#2260)
- 0129154 fix: add max_user exceeded check (#2259)
- 5bbb15a fix: enforce zero pub/sub counts on DeactivateMulticastGroup (#2627)
- 0141ed8 fix: ensure access pass account is initialized with lamports check (#1452)
- 666af39 fix: ensure max_users check only triggers when max_users is greater than zero (#1243)
- 3c3e7a2 fix: exchange instruction bug (#2265)
- 0759582 fix: exchange owner check fail (#2266)
- b679d5f fix: global config commands with multicast group support
- ed2ed33 fix: link validation logic (#2262)
- e04e53a fix: remove multiple redundant checks (#2289)
- fc21929 fix: reorder dev-dependencies section in Cargo.toml (#343)
- 4ba523b fix: secrets not inherited (#633)
- 1067f4f fix: solve doublezero tunnel list bug (#293)
- e142f39 fix: update RPC and WebSocket URLs for DoubleZero configuration (#262)
- f171049 fix: update RPC endpoint to use URL_DOUBLEZERO constant (#263)
- 0d97e38 fix: update allowlist checks to use foundation_allowlist in exchange and location processors (#277)
- 38359ec fix: update balance output to use "Credits" instead of "SOL" and improve error messages for account balance checks (#1084)
- 83251c3 fix: update default json_rpc_url to use DEVNET in read_doublezero_config (#193)
- 5df9296 fix: update deployment instructions for Solana program
- b06dfbb fix: update owner assignment in process_set_accesspass function (#1311)
- d31acb8 fix: update program IDs for devnet and testnet addresses (#255)
- c9e1b36 fix: update provisioning status message for clarity (#130)
- 53e42db flow-ingest: accept expanded flow samples (#2500)
- 575f92a funder: add release configs (#886)
- a111d3e funder: configure recipients as flag (#1208)
- 0ebdfaf funder: enable metrics in testnet (#895)
- 5af9a5b funder: fix playbook reference in release workflow (#900)
- a74472e funder: fix race test failure in ci (#883)
- deabe19 funder: fund internet latency collector (#1071)
- cbb96c9 funder: initial implementation for device metrics publishers (#858)
- 8c6ce3a funder: prometheus metrics (#869)
- 09083d2 get_total_rewards and get_rewards_between_two_timestamps (#950)
- ee21c26 global-monitor: add metro mappings (#2575)
- c54ac0a global-monitor: fix icmp probe packet loss reporting (#2455)
- 0b34f89 global-monitor: fix release workflow (#2686)
- 04d37d3 global-monitor: include solana vote pubkey (#2608)
- aa0e3a9 global-monitor: initial implementation (#2437)
- 2e17af8 gnmi-writer: add gnmiPath field to document testdata source paths (#2641)
- 3bfa041 gnmi-writer: add prototext conversion tool and format ifindex testdata (#2638)
- 2c12d49 gnmi-writer: add transceiver/interface state, and transceiver thresho… (#2646)
- 7c980b4 gnmi-writer: commit offsets for non-retryable ClickHouse errors (#2610)
- a75f03d gnmi-writer: fix transceiver state/threshold record aggregation (#2647)
- d5ac471 gnmi-writer: rename device_code to device_pubkey (#2636)
- 5a78948 gnmi-writer: rename metric prefix from gnmi_ingest to gnmi_writer (#2632)
- 03f6a68 gnmi-writer: switch to uncompressed ygot paths for reliable unmarshalling (#2613)
- 65648fb gnmi-writer: use DZ_ENV for ClickHouse database name (#2631)
- e4a8cf7 gnmi-writer: use interface-level ifindex path (#2645)
- 7d7abc8 go: fix missing
go.{mod,sum}entry forgithub.com/gogo/protobuf(#1578) - 0c1d2d5 go: upgrade to 1.25 (#2434)
- b9133b5 improve sorting of device, exchange, link, location, and user displays (#1238)
- 00483a9 inet collector: bugfixes for missing ripeatlas samples (#2340)
- 99fed86 inet-collector: add duration metric; increase wheresitup interval to 6 minutes (#1815)
- f57263c inet-collector: expected-vs-actual sample metrics (#1611)
- 711b6fb inet-collector: metrics improvements (#1755)
- db30c0d initial commit
- b5d009d internet-latency-collector: add ripeatlas credit metric (#1214)
- 453ec94 internet-latency-collector: monitoring improvements (#1384)
- 24e7c9d internet-latency-collector: remove failed wheresitup jobs from state (#1283)
- ca0f1f1 internet-latency-collector: test between exchanges, not locations (#1225)
- e30b25c internet-latency: circuit label on submitter error metric (#1777)
- 9aa50f1 internet-latency: env-specific serviceability locations (#988)
- 06f9570 internet-latency: exporter interface (#954)
- 338131e internet-latency: fix excessive ripeatlas probes per interval (#1034)
- 97c8f03 internet-latency: submit partitions in parallel (#1772)
- e43bd52 internet-latency: write samples to ledger (#1013)
- 7e0b5b9 make set global config settings optional (#835)
- 1f8b791 monitor tool: checkout upstream based on ref (#1970)
- faed386 monitor tool: fixed incorrect import (#1916)
- 06792c5 monitor tool: ignore checkout during CI (#1923)
- 2339541 monitor/2zoracle: emit response code metrics on errors (#1759)
- 677e98a monitor/2zoracle: log response body with error (#1857)
- 0061c56 monitor/2zoracle: parse swap rate as float (#1898)
- 8e51ac3 monitor/2zoracle: reduce logging noise and disable in mn (#1769)
- 265a12b monitor/influx: collect contributors and exchanges (#1900)
- 7c902d7 monitor: 2z oracle watcher (#1737)
- f28612f monitor: add link status to device-telemetry metrics (#2496)
- 3ef8f95 monitor: check for 2z oracle malformed swap rate (#2566)
- c590f44 monitor: check for unlinked interfaces in a link (#1672)
- 8a8a7b4 monitor: delete telemetry counter metrics if circuit was deleted (#1542)
- 9752f4d monitor: don't log self-events (#1664)
- db7b7c1 monitor: emit metric when telemetry account not found (#1514)
- 04c716f monitor: emit metric with serviceability program version (#1515)
- 7b03f8a monitor: export links data to influx (#2310)
- 9f690bd monitor: fix user diff/add total users (#1666)
- e7fca57 monitor: initial implementation (#1307)
- 717fc34 monitor: internet telemetry (#1433)
- f29142a monitor: log epoch changes (#1835)
- d65633f monitor: log serviceability onchain events (#1581)
- deeb45f monitor: make slack notifications conditional (#1663)
- 4a85933 monitor: publish prometheus metrics for exchange.bgp_community values that are duplicates or out-of-range (#1984)
- 4a8021d monitor: release configs (#1339)
- d90152a monitor: string fmt for action/entity_type (#1587)
- b92b13c monitor: support nil twozoracle watcher for devnet (#1743)
- d208a67 monitor: use json formatted logs (#1586)
- 17853bd monitor: use sol-2z-oracle-api domain (#1922)
- d8f0c0c monitor: write serviceability data to influx (#1806)
- 1e7f111 move new user funding into the access pass set ix (#1335)
- 5332a45 payments-tracker: skip failing tests (#912)
- 4ffe679 pim: run tests in container (#1533)
- 0132216 programs/serviceability: delay_override_ns at end of LinkUpdateArgs (#2079)
- cf69713 programs/svc: allow contributor owner to update ops manager key (#2489)
- e419c82 programs/svc: contributor ops manager key (#2303)
- e8da6b8 programs/svc: fix resize during global state initialization (#2271)
- 6368c13 programs: backward compatible instruction args deserialization (#1949)
- 40d61bf qa/agent: connect and disconnect duration metrics (#2192)
- 09cd2d2 qa/agent: flag to enable pprof (#1778)
- d3df2ee qa/agent: include cli output in status unmarshal error (#2261)
- 3ad40ad qa/agent: packet loss counter metric (#2191)
- 699d257 qa: accommodate race in the client (#1823)
- 4d3875b qa: add missing test file (#2415)
- d26a54d qa: add multicast qa test to testnet (#1261)
- 57f8d98 qa: add prom metrics (#1231)
- e24f720 qa: add qa action for testnet (#1259)
- df7d83f qa: add rpc to fetch client public ip (#1831)
- a5caf17 qa: add support for env, client reuse (#1235)
- ded5d07 qa: better visibility on disconnect failure (#2250)
- 9dcb3e0 qa: configure retry policy for agent grpc requests (#2280)
- 21f19fb qa: deploy agent with daily and refactor multicast cleanup (#1175)
- 53c31c8 qa: don't fail test on packet loss outside of network (#2413)
- 2b73d3d qa: fix action name typo (#1260)
- b2c9ba2 qa: fix check for already disconnected (#2201)
- 8ce0f4e qa: fix connect/disconnect duration histogram buckets (#2436)
- 553fbec qa: fix error handling (#1247)
- 3cbd2fc qa: fix nil check during traceroute (#2376)
- fdcf475 qa: fix parsemtr to recognize first hop with missing ip (#2431)
- a520def qa: fix up user connect/disconnect duration metrics (#2269)
- 514faff qa: force stop grpc server and add logging (#2184)
- 47225e5 qa: increase connect timeout to greater than CLI timeout (#2319)
- a3d9d59 qa: increase connect/disconnect timeouts (#1771)
- 6597e55 qa: increase disconnect timeout (#2170)
- 144c4f2 qa: increase poll timer for multicast (#1210)
- c45a300 qa: increase timeout to 60s (#1291)
- 022e6c6 qa: increase timeout to 60s (#1293)
- 7c872b7 qa: increase wait for status timeout (#2171)
- 363c300 qa: multicast better disconnect cleanup on connect timeout (#2195)
- 565a003 qa: only run connectivity test w/ test hosts (#1257)
- 21b9b65 qa: ping loss threshold and check if routes were uninstalled (#2189)
- f307f9d qa: poll for multicast packets (#1191)
- 77b3710 qa: publish qa agent package to testnet (#1232)
- 8f9b85d qa: publisher send for 60s (#1525)
- db9db82 qa: raise status check timeouts (#1770)
- f2d4015 qa: raise wait time after disconnect (#1807)
- b9a9ab9 qa: refactor and wait for routes (#2166)
- 84334a0 qa: retry grpc dial (#2176)
- 308d99f qa: reuse http client (#1780)
- e69e5cb qa: rework fail criteria for packet loss (#2451)
- 8eefc4a qa: set 10s ping timeout (#1801)
- dba8943 qa: support devices flag on alldevices test (#2263)
- 7fe1462 qa: tolerate only 1 case of partial ping loss in batch of connectivity tests (#2190)
- 46bb8ba qa: traceroute and check routes when no packets received (#2315)
- 0d30b90 qa: traceroute on connectivity test error (#2345)
- 0eb23bd qa: traceroute on packet loss (#2267)
- 1efaaa2 qa: try disconnecting even if status reports disconnected (#2312)
- 245a7a1 qa: wait 30s to avoid race (#1818)
- bf9de54 refactor: Update SetAccessPassCliCommand to use 'epochs' instead of 'last_access_epoch' and set default values (#1386)
- f32dcbc refactor: enforce lowercase for dzd and link naming (#2383)
- e2e5909 refactor: remove borsh dependency and update build script (#172)
- dc2b2b2 refactor: remove deprecated user suspend and resume functionality (#2621)
- e4af5ea refactor: remove redundant owner check for link account in process_update_link (#1332)
- fa60587 refactor: rename payer to user_payer in access pass structures and commands (#1318)
- 683bc4a refactor: replace 'pubkey' with 'account' in CLI output for consistency (#310)
- c110cea refactor: streamline tunnel and user event processing by moving unassignment logic (#1049)
- 959bd0b release-0.6.1 (#1503)
- 6162714 release: add action to create component tags (#1605)
- 5ce2572 release: add client tag (#1609)
- 0dd751d release: add funder and device telemetry agent tagged release configs (#942)
- 7e74cad release: add missing nightly config for internet latency collector (#1123)
- a79cc70 release: add slack notification for failed release (#880)
- 39352a1 release: add two-stage workflow for component tagging (#1610)
- 495a4b6 release: automated qa testing (#1018)
- 705a5fe release: build daily agents without tilde (#2490)
- de1d603 release: deploy dailys to devnet (#671)
- b094a41 release: deploy telemetry agent and smartcontract daily to devnet (#734)
- 0c3831f release: fix dependency tree and deflake (#1032)
- 8000534 release: fix internet latency collector playbook name (#1052)
- 04793a1 release: fix qaagent daily version format (#1856)
- 44f686d release: ignore daily tag (#600)
- c28b877 release: internet latency collector daily devnet deploys (#1051)
- d547b1e release: make sure smartcontract is deployed first in dailys (#1500)
- c1007c0 release: minimal unit service files in packaging of core components (#1140)
- 4003e49 release: multicast qa test (#1036)
- 6956c99 release: publish docker image for core components (#2427)
- 48c3319 release: push component tags (#1607)
- 1a501d3 release: qa agent build workflow (#1028)
- 262b6ba release: send daily release alerts to devnet (#1789)
- 3490e0e release: update to use infra repo with ansible sub-directory (#926)
- 9976306 release: v0.8.2 cargo.toml and changelog (#2616)
- 8bb000b releases: create daily releases (#596)
- 5d46e8f remove index from create instructions (#889)
- 91c2314 remove unnecessary seeds (#897)
- 9cd7b43 removes unset dz info #110 (#169)
- b2508ab revert the pidfile addition to systemd settings (#874)
- 399adec rfc6 - DoubleZero intra-exchange user traffic routing policy (#1917)
- 55a003f rfc: network provisioning (#2152)
- 4aed5b0 rfc: notification for rfc creation (#2568)
- ff7c6ee rfcs: update statuses of existing rfcs to match template updates (#2472)
- 00f9f08 rust version set to 1.84.1 for sbf and 1.90.0 for everything else (#1682)
- 3c10a09 rust: add rust-toolchain.toml with channel=stable (#505)
- c88e63f rust: switch backoff crate to backon crate (#1683)
- 677e428 rust: update cargo.toml version to 0.4.0 (#1042)
- 647d303 rust: use std::net::Ipv4Addr, etc. (#666)
- 8ca7a09 rust: use workspace version in sub-crates (#943)
- 5fc0be3 sc/cli: fix device update already exists bug (#674)
- 6bf439b sc/serviceability: device update by allowlist account or device owner (#850)
- d8b8304 sc/svc: guard against empty account data (#1591)
- 01bd7d8 sc/svc: user publishers/subscribers deserialize_vec_with_capacity (#1582)
- 9f690e3 sc/telemetry: embed serviceability program id via build feature (#1485)
- 575aa8d sc/telemetry: embed serviceability program id via build feature (#1545)
- 82b974c sc/telemetry: store samples as raw bytes instead of serialized vec (#725)
- b0dc1a6 sc/telemetry: use workspace version in cargo.toml (#1241)
- 7dfaa9a sc: Add BTreeMap serialization support for Pubkey keys (#1381)
- 166f3f1 sc: change program_id for devnet (#680)
- 7f35b4c sdk/go: add types for internet latency samples (#899)
- 8dec83f sdk/go: client and instructions for internet latency samples (#927)
- f6414a8 sdk/go: device telemetry samples v0-v1 compatibility (#1005)
- 16c6035 sdk/go: e2e test internet latency samples (#993)
- 42ef2fb sdk/go: stateless client to avoid concurrency footgun (#892)
- 45318ff sdk/go: string serialization for exchanges and exclude empty tags in influx serialization (#1925)
- d57201b sdk/go: telemetry program client with integration tests (#657)
- 7da4115 sdk/go: update testnet telemetry program id const (#837)
- 54df7c5 sdk/go: use influx pkg to serialize line protocol (#1926)
- 115c447 sdk/rs: add record program handling (#1234)
- e679d77 sdk/rs: fix accounts list in access pass check status instruction execution (#1650)
- d659a1d serviceability/cli/activator: remove unneeded fields (Closes #1072) (#1073)
- 02c119e serviceability: add delay_override_ms to link (#2072)
- 666b201 serviceability: block CloseAccountUser unless publishers/subscribers are empty + add regression test (#2635)
- b87bf30 serviceability: enforce Activated status on suspend handlers (#2428)
- 9fd9445 serviceability: exchange.bgp_community u32 -> u16 (#1929)
- 4ea9334 serviceability: rename exchange.loc_id to bgp_community (#1924)
- e3bffe0 serviceability: revert interface sub type (#2142)
- f01b62d serviceability: update Interface structure to add status (#1104)
- f7058fe servicibility: added interface instructions (#1447)
- 7db4b3f set up activator monitoring (#875)
- ef8754a smart contract: add doublehzero-record (#1006)
- 7b6ce4a smartcontract: Add custom deserializers for Pubkey fields (#1326)
- 280bfa9 smartcontract: Add support for custom deserializers (#1324)
- 887fe4c smartcontract: Fix serialization for AccessPassType (#1621)
- 447c48e smartcontract: Make serde optional and feature gated (#1101)
- 63b8308 smartcontract: Move common custom serializer to doublezero-sdk (#1056)
- 15f6ca5 smartcontract: Remove remaining unwraps from rust sdk (#966)
- 1883ef7 smartcontract: Rename tunnel-tunnel to device-tunnel (#625)
- d7fc0b5 smartcontract: add missing serde derive for Device struct (#1122)
- 9124108 smartcontract: check whether mgroup is_authorized correctly (#1932)
- ff2c838 smartcontract: fix account creation (#748)
- 6547667 smartcontract: fix typo for SEED_MULTICAST_GROUP (#629)
- 1713f1c smartcontract: initial telemetry program (#608)
- 73d63dd sort cli output by owner, then tunnel if applicable (#297)
- 64c26d2 telem/data: lock access around serviceability load and get devices/links (#891)
- 435f30d telemetry/data: filter by link type and contributor (#1901)
- 9e639b1 telemetry/data: internet latency samples in data CLI and dashboard API (#1192)
- 5c702ea telemetry/data: smaller api responses with field filtering (#1399)
- 34283fa telemetry/data: summary view with committed rtt/jitter from onchain links, compared to measured values (#1495)
- a807307 telemetry/data: support grafana pagination via circuit set partitions (#1448)
- 9d0a31a telemetry/flow-enricher: fix batch processing losing samples (#2562)
- d4c1032 telemetry/flow-ingest: fix flake in integration test (#2503)
- cedb9e6 telemetry/internet: fix env pass to ripeatlas collector (#1138)
- 25ecab9 telemetry/internet: update data CLI and dashboard API to use exchanges instead of locations (#1281)
- 24a90c7 telemetry: add expanded flow sample parsing (#2501)
- 20ad3e3 telemetry: add gnmi tunnel client for state collection (#2634)
- d967864 telemetry: add gnmi-writer service for gNMI telemetry ingestion (#2592)
- e8ef536 telemetry: add initial clickhouse schema (#47)
- 57a3a53 telemetry: add metrics to flow-enricher (#2445)
- 5126461 telemetry: add option for redpanda tls (#49)
- 5dd0d31 telemetry: add pcap input/stdout support to flow-enricher (#2470)
- bbddeaf telemetry: add prom metrics to enricher (#52)
- fdd7365 telemetry: add rw mutex in serviceability annotator (#2466)
- 6b4c925 telemetry: add serviceability annotator to flow-enricher (#2464)
- 3465fbe telemetry: add serviceability data to flow-enricher (#2448)
- b9654ea telemetry: add serviceability fields to clickhouse schema (#2514)
- c446308 telemetry: avoid submitter stall on retry by using buffer
PriorityPrependfor failed batches (#1131) - 613b0ac telemetry: collect device bgp socket stats (#2569)
- 02a64b8 telemetry: fix flaky test in state-ingest handler (#2603)
- d9c3d8d telemetry: initial flow-ingest (#2435)
- 8675ce5 telemetry: initial state ingestion with collector in agent (#2468)
- 0a6e061 telemetry: make flow-enricher table configurable (#2515)
- 87dec1f telemetry: move epoch to follow account type (#1001)
- db85799 telemetry: refactor annotator interface (#2526)
- ea59d7c telemetry: use CLICKHOUSE_PASS env var in gnmi-writer (#2605)
- 23e1169 tests: add action to validate release pipeline (#274)
- 29fb170 tests: add e2e test (#83)
- cf83ce6 tests: add sudo to go tests (#546)
- ed2b919 tests: add unique IDs for network/container names (#347)
- fe2e249 tests: connect dzd container net after start (#391)
- b30902c tests: fix racey client ibrl tests (#295)
- 3267a41 tests: maintain user env (#547)
- e4d301a tests: only build test image in e2e tests (#89)
- 5c3b912 tests: separate integration tests (#167)
- 4c65b98 tools/container-test: rename and make failure logging less confusing (#738)
- 5dc42db tools/solana: add tpu quic conn helper and use for ping tool (#2325)
- 7a59e3a tools/uping: initial implementation (#1968)
- 21ecfea tools/uping: sender use icmp ping datagram socket with echo id demux (#1981)
- e19ada7 tools: solana tpu quic bind to interface and fix timeout config (#2299)
- 08efbb0 tools: solana tpu quic connectivity testing with stats (#2292)
- 5400606 track config agent version in controller metrics (#2163)
- d9a213b twamp: fallback to userspace recv time (#1443)
- a28e487 twamp: verify seq and timestamp on received packet (#1938)
- e61e835 unwrap() is replaced with ok() and the error case is handled.
- 444c0aa update cargo version for all components (#1455)
- c9d2b69 update rust code to 0.3.0 release tag (#941)
- cbb16d7 v0.6.3 cargo.toml and changelog (#1580)
- 0d684e1 v0.6.4 cargo.toml and changelog (#1613)
- 2994263 v0.6.6 (#1765)
- 40a6f07 v0.7.2 version bump (#2335)
- 17a2f01 v0.8.0 version bump (#2338)