Skip to content

v0.1.0-rc.10

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:51
· 30 commits to main since this release
v0.1.0-rc.10

Changelog

  • c98fc2e build(deps): bump @modelcontextprotocol/sdk in /sdk/js
  • 7d87557 build(deps): bump golang.org/x/sys from 0.48.0 to 0.49.0
  • eff140c build(deps): bump the docker-digests group across 1 directory with 3 updates
  • 0d4600f build(deps): bump actions/setup-node from 4.2.0 to 7.1.0
  • 0691cf3 build(deps): bump actions/download-artifact from 8.0.1 to 8.0.2
  • 76434e8 build(deps): bump the python-deps group across 3 directories with 2 updates
  • b9719e0 router: one control plane sync loop, --control-plane-sync-interval
  • 5dc6653 policy: a publish grant reaches its verifiers through the policy text
  • 99076bc policy: allowed_publish grants what a member may publish, deny by default
  • 93ba9a1 directory: a record names its service, and the router checks the key is its
  • 0b09ba4 sdk: a member announces where it is reached under its peer key
  • 27013fa directory: a lookup one router answers with nothing is put to the next
  • 9513363 router: keep the directory's records itself, and let a member withdraw them
  • 9fc9aaa bump go biscuits
  • a25cb24 kind e2e: a node on the mesh holds routers, it keeps no DHT
  • d4bdbfa sdk: describe discovery through the held routers
  • cd3b6f3 api: drop the gossip discovery announcements
  • 65af27b router: resolve dnsaddr router addresses through the test DNS server
  • f73afa0 node: announce the node's own record and show what the directory holds
  • 3d39674 router: federate before the directory needs the other routers
  • 900d656 node: announce the services again whenever a router is attached
  • 98ea016 router: admit an authenticated peer router to the table on every pass
  • 97f7234 docs: a member holds its routers and asks them for the directory
  • 3f6417e sdk/js: ask the held routers for the directory, floodsub for events
  • 40f1b0d sdk/python: ask the held routers for the directory, floodsub for events
  • 978ffca node: a member is a leaf of the gossip
  • cb46231 node: ask the routers for the directory instead of keeping a DHT
  • af95c1d router: serve the directory to members over /mesh/directory
  • b05e08c api: the directory protocol a member speaks to its routers
  • 5943f4d docs: a router serves nothing before the handshake
  • 76d21c3 sdk/js: authenticate on any connection to a listed router, release after a lookup
  • 3606ae8 sdk/python: authenticate with a router before querying it, release after
  • 66e8269 node: serve gossip to authenticated peers only, handshake before a query
  • 1aaca97 router: serve the DHT and gossip to authenticated peers only
  • 13afdcb AGENTS.md: nothing interacts with the mesh unauthenticated
  • 92f4d96 feat(agentmesh-cop): watch the mesh as a member through the Python SDK
  • c443522 sdk/python: follow the mesh's replication of closer routers in a walk
  • 4f28721 sdk/js: the mesh's replication factor from /info is the DHT client's k
  • 2fb2bf4 docs: size a mesh by routers per member, routers per key and routers
  • 7c28f0f node, router: the mesh's replication factor is kademlia's k on a member
  • 6dd99e1 node: handshake with every router it connects to, and keep the session
  • 2113a5f node, router: record TTL and reprovide interval from the control plane
  • 9acda18 api, control plane: the mesh's directory parameters on /info
  • f65254b node: stop refreshing the DHT table; the catalog prunes it
  • d323f63 node: a member is a DHT client whatever its reachability
  • 9fd1a41 controlplane, console: tell the root admin from an OIDC subject named root-admin
  • ec6b2c2 controlplane: leave admin-token bootstrap tokens unowned
  • 6c8ee6f controlplane: test admin-token bootstrap token with SQLite foreign keys on
  • 241cf12 logging: default --log-format to text, own ring buffer, and set cfg.Level
  • 3a727da cmd: add --log-format alongside --log-level
  • 3671ada cmd: share the go-log setup in internal/logging
  • 1046895 cmd: make LOG_FORMAT=json take effect
  • 31ac5ce docs: scalability guide with the 10k figures and the connection model
  • cf1d27f router: budget the per-connection protocols from the connection cap
  • eb641fe p2plimits: a stream budget carries the memory its streams reserve
  • b220c2f bench: deflake TestRunJoinHoldTurnsFlapsIntoOutageWindows
  • 72e6066 docs: connections, streams and roles in the scalability guide
  • 071bc4c node: dial TCP first
  • e46a2c0 node, router: name the connection at QUIC's stream limit, count how a caller fares reaching a provider
  • 8a96506 p2plimits: charge the per-source cap to the address a connection comes from, not its relay
  • a0d82ce node, router, control plane: --pprof-addr serves Go runtime profiles
  • ca974aa console: list revoked nodes for admins with a Restore button
  • 9fa539d sdk: keep the interface path when rewriting the A2A agent card
  • 3373bf5 node: keep the interface path in the regenerated A2A agent card
  • a74089d site: fix text bounds in architecture SVG and terminals, add tab ARIA attributes
  • 1c36ddd site: redesign visual landing page, replace architecture diagram, and pin Hugo/Docsy
  • d3bb270 node: state observed and expected values in the streaming assertions
  • 7cbd5c9 node: keep the agent's streaming capability in the A2A card
  • e5bcbf4 sdk/js: push the relay address to the routers already connected
  • c6ee17f release: publish checksums.txt and sync the site install.sh
  • ce11cc4 node: relay agent card caching headers and send an ETag
  • 273e6fb node: take the address a failed lookup learned, clear the backoff its dial left
  • 85bc5d1 router: record where a member that reserved with it is reached
  • 9c453b9 router, node: budget the DHT and gossip streams per member, count refused streams by protocol
  • 8be6847 node: relayTransportAddr as a slice of the circuit's components
  • b221cee node: handshake with a transit router the catalog does not list
  • 9d42945 deploy: wait for the router rollout as long as the routers take
  • 4c8124b sdk/js: regenerate agentmesh_pb.ts with protoc-gen-es v2.16.0
  • b19deaa build(deps-dev): bump @bufbuild/protoc-gen-es in /sdk/js
  • f61d102 p2plimits: refuse a cap under one, take a nil logger and a nil endpoint
  • 49dd3ce node: size inbound limits from the connection budget and count refusals
  • 9125f66 controlplane: name nodes whose roles fail in the unserved-egress warning
  • 2400206 build(deps-dev): bump @types/node from 26.6.2 to 26.6.4 in /sdk/js
  • eb515de build(deps): bump github.com/libp2p/go-libp2p-pubsub
  • 0afd23b scale: the ladder retries a dropped ssh session
  • 99546a3 controlplane,router: wait for publisher admission and peer identify in tests
  • b040808 node: refuse a provider TTL not exceeding the reprovide interval; drop --mesh
  • dd17037 router: forget a peer router the control plane no longer lists
  • d48b1dc agents: a flaky test is a bug report
  • b90ad0e node: reprovide within the provider TTL
  • d0af194 node: try the routers that admitted us when a peer announced no circuit
  • e3e453f router: authenticate a listed peer router whenever it is not admitted
  • bfa83b4 agents: auditable behavior, safe defaults, idiomatic Go tests
  • 3bee1c3 tests: poll instead of sleeping; node: /debug/peer-addrs
  • 975de2b e2e: idle nodes hold their router; a call connects them
  • 970855a deploy: router count per environment, ROUTER_REPLICAS
  • dbc920b router: close a connection that does not authenticate within a deadline
  • a503af8 node: transit one router to reach a peer, the one it shares when it can
  • 8b871af node: one router candidate per /info entry, the peer the entry names
  • 880109a node: stop seeking out other members; router: count members, not connections
  • 67a2caa deploy: build the node image for arm64 on every push
  • 91997a6 sdk: canonicalize router peer IDs at session boundaries
  • 1af6b7e sdk: hold two routers chosen by load and labels, and handle router go-away
  • e741f43 docs: size a mesh by routers, not by one router's watermark
  • 7a6ff6f tests: a node moves to another router when the one it holds stops
  • 2529ff8 router: a trim closes the connections that never authenticated first
  • 0b00c60 router, node: a router sends members away when it drains or is overloaded
  • 7eed58b tests: nodes attached to different routers reach each other
  • 0603fd7 node: authenticate to a router it transits before asking for a circuit
  • 87e17ca node: publish a circuit address for every router it reserved on
  • b91801f node: attach to two routers, chosen by label and load
  • 1d1ac56 api, control plane, router: list routers on /info with labels and load
  • 589520a router: a trim sheds 15% of the connections, not three quarters
  • 2a1995b docs: a scalability guide
  • a888f2a client: bound the enrollment retry by time, not by attempts
  • da15604 api,node,control-plane: type the OAuth metadata documents
  • 37b7c74 node,docs: accept RFC 7523 client assertion and jwt-bearer grants on /oauth/token
  • 003f848 site: fix landing page /docs/ link and subpath asset paths
  • 11ff26e site,docs: serve website from google.github.io/agentmesh
  • a3dceb4 docs,site: remove asciinema demo, enlarge logo, and drop sam-mesh.dev links
  • ff964d8 node: observe the router-side drop by notification in TestRouterDropIsRedialed
  • abd436c docs,mobile,deploy: clean up remaining SAM references and restore rename note
  • baeac79 build(deps): bump @bufbuild/protobuf from 2.15.0 to 2.16.0 in /sdk/js
  • daf7b00 build(deps): bump modernc.org/sqlite from 1.60.0 to 1.60.1
  • a047f9e build(deps): bump devcontainers/go in /.devcontainer
  • 670715a build(deps): bump devcontainers/base in /.devcontainer/testnet
  • 268318c build(deps): bump ghcr.io/devcontainers/features/node
  • 110ed0c build(deps): bump @modelcontextprotocol/sdk in /sdk/js
  • e108b93 build(deps): bump google.golang.org/grpc from 1.83.2 to 1.84.0
  • e912692 build(deps): bump gradle-wrapper in /mobile/agentmesh-node-app/android
  • f89286e build(deps-dev): bump @a2a-js/sdk from 1.2.1 to 1.3.0 in /sdk/js
  • b59b6ad build(deps): bump url_launcher in /mobile/agentmesh-node-app
  • 5821959 build(deps): bump the python-deps group across 4 directories with 8 updates
  • cf6f289 mobile: rename libsam.so and sam_ffi.dart to libagentmesh.so and agentmesh_ffi.dart
  • 70c3bd2 docs,site,mobile: remove SAM from icons, logos, diagrams, and mobile screenshots
  • 6bcf830 scale: count the members that stayed, not the ones that were started
  • 435e9ad deploy, chart: requests without limits, and a router VM with a core
  • 7c03f39 node: answer 502, not 403, for a provider that did not answer
  • e47aa59 router: size libp2p's stream limits from the connection budget
  • f6a3e53 node: retry the routers that did not admit it in time
  • fd633fa node, control plane: retry an enrollment the limiter turned away
  • 9d4bd0b fix(e2e,mobile,bench,docs): fix Bats Helm release name, mobile E2E script paths, bench test race, and docs URLs
  • b8386f1 fix(storage,deploy): migrate persisted sam: prefixes and support in-place GKE testnet upgrade
  • 8bfe8ba docs: update Hugo site, documentation, README, and AGENTS.md for Agent Mesh
  • e93e3c7 refactor(deploy,mobile,e2e): rename Helm charts, K8s manifests, mobile app, E2E tests, and CI workflows
  • c6de13e refactor(sdk): rename JS and Python SDK packages to @agentmesh-p2p/sdk and agentmesh-p2p
  • 8078bf7 refactor(cmd,internal): rename CLI binaries, env vars, and default paths to agentmesh
  • 3109e61 refactor(api): rename protobuf package to agentmesh.v1 and wire prefixes to mesh
  • 1e54eb5 refactor: rename Go module from github.com/google/sam to github.com/google/agentmesh
  • 7e482c6 Apply batched suggestions from code review
  • afd667b docs, cli: update project name to Agent Mesh (SAM)
  • 9b7652d scale: member ladder, a testnet's capacity in steps of minions
  • abe9075 node: --reachability, private by default or left to AutoNAT
  • a577440 router: export capacity, draining and the relay budget on /metrics
  • 261b436 router: size the relay budget to the mesh
  • 64b9d26 router: announce the time away on shutdown through the lease ttl
  • 63da499 docs: add multi-tier enterprise guardrails example, docs, and demo video
  • 9474b96 go.mod: golang.org/x/net v0.60.0
  • f441673 node: name the address behind which no router was found, log a redial without identity
  • 6e20d78 deploy: give the control plane and router rollouts the time they take
  • 11a4dab deploy, chart: hold a router rollout 90s between pods
  • fce0996 node: dial the routers at once, be ready on the first, and redial one that drops
  • 4b39056 deploy: a resident soak fleet on each testnet, and an alert when a member loses the mesh
  • 3328d8e scale: member-journey harness, with an integration test and a CI job
  • cd5d80a bench: add sam-bench join, the journey of the Nth member
  • afb61d1 router: derive the per-source-IP connection cap from the high watermark
  • 4da1f4a node: perform the MCP handshake once in the stdio bridge
  • c0e2797 node: rename debug observed addresses to announced addresses
  • 378197b Update sdk/python/src/agent_mesh/session.py
  • 61f31c6 node, sdk: present a refreshed credential to the routers already connected
  • 62858bc ci: show canaries with zero available replicas as 0/N in the health report
  • 3a7bb34 node, deploy: align DHT provider record TTL with the 15m default
  • d7721e7 router: drop the redundant default note from --dht-provider-addr-ttl
  • 323a069 router: expire provider records 15 minutes after the last announcement
  • 087f24b mobile: read the version once in initState
  • d0f66e4 feat: show the build version in the console and the Android app
  • 84c157e Update envoy_test.go
  • e3f6741 fix: keep target platform for Dockerfile.sam-sdk-js builder stage
  • 6b5477e build: cross-compile multi-arch Docker images natively with BuildKit cache