Skip to content

v0.2.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 00:38
· 165 commits to main since this release

Changelog

  • ba6e505 CONTRACTS.md: stream buffers, report lanes, panel rollback records
  • 6b2233e CONTRACTS: git seed V2, provider allowance, node's own addresses, proxy names
  • 09effd8 CONTRACTS: git seed rules, git.allowInternalHost, git through the agent's proxy
  • 738d9f4 CONTRACTS: node git guard limits and node addresses as internal git hosts
  • 544a5ee CONTRACTS: node's own addresses and proxy-only names are 0.2.1 work
  • f6aea5e Revert "agent: refuse the node's own addresses, and unresolvable names behind the proxy"
  • 2c22475 agent test: scheduled cleanup and host shells against the real panel
  • f979a85 agent: FetchGitFile stops at a refused commit fetch too
  • da65786 agent: RetryCertificate makes Traefik ask the CA again for one route
  • 32799e4 agent: VM-test the new engines' database shells through the Shell RPC
  • 67bc9ef agent: VM-test the older majors the panel offers
  • 79730c5 agent: a crash during a reconcile pass is reported and waits its delay
  • 075f087 agent: clone with the user name the panel sends
  • c16e69d agent: dbengine facts and capabilities without an RPC
  • 89d2c05 agent: dial every git connection through an address-checking proxy
  • 40949df agent: finish an interrupted project move on the next pass
  • 6b679ae agent: forget a host shell refused while it was starting
  • fddaecf agent: git goes through the agent's HTTP proxy again, with the address check
  • a6432e9 agent: git-dial takes the command's streams; stop at a refused commit fetch
  • 0128f2b agent: helper and job containers leave no anonymous volumes behind
  • 9317454 agent: host shells drop the agent's OOM protection
  • 1f60c38 agent: move running containers to another project's network without a restart
  • 835d106 agent: refuse the node's own addresses, and unresolvable names behind the proxy
  • 5d47e09 agent: remember the panel's identity and refuse other panels
  • 0c2f799 agent: root shell on the host (HostShell)
  • 7d99f6f agent: scheduled and disk-triggered Docker cleanup
  • 739fb51 agent: shells, web UIs, TLS exposure and backups for the new engines
  • c548deb alerts: a rolled-back update says that automatic runs hold the release
  • f748b0a brand: the GitHub OAuth app's client id (Seylo-dev/Seylo, device flow)
  • 591ec90 build: plain http:// git only when an admin allowed it
  • 86d3759 ci: security workflow with govulncheck, osv-scanner and zizmor
  • 65885d7 ci: zizmor 1.31.1, the newest version zizmor-action v0.7.1 has a lock for
  • 803e41e cleanup: refuse cron the agent cannot read, report unreadable schedules
  • 4d8d3e2 cron: Sunday as 7 is stored as 0, and the agent reports a schedule it cannot read
  • b4d7f47 deps: override dompurify to 3.4.17
  • 1399a9e docs: CONTRACTS make targets for the release scripts and the key check
  • a30a59f docs: CONTRACTS on the frozen init migration and the e2e coverage of 0.2
  • 59224a6 docs: Docker Hub ops, hosts, caches, rate limits and limits in CONTRACTS
  • 0bbeab3 docs: Docker Hub page cap, config caps, refused hosts and token limit
  • 0098726 docs: SECURITY.md threat model, secrets, release signing and verification
  • 16aea95 docs: certificate retries in CONTRACTS
  • 822b871 docs: clone and move review fixes in CONTRACTS.md
  • e5e7129 docs: clones and project moves in CONTRACTS.md
  • 60efe71 docs: cron parity, unreadable schedules and host shell closes in CONTRACTS.md
  • 19aa538 docs: database engines in CONTRACTS and CONTRIBUTING
  • 982d416 docs: e2e results of 79730c5 (38 of 38) and the live sites
  • f858c05 docs: git providers, watch paths and the Gitea test in CONTRACTS
  • 12b0887 docs: point the docs links at apps/docs in the Website repo
  • 4258906 docs: scheduled cleanup and host shells in CONTRACTS.md
  • 353e20d e2e: RESULTS.md 38/38 on the merged security fixes
  • 913d20f e2e: RESULTS.md 38/38 on the round-2 security fixes
  • 6661028 e2e: checks 32-38 for the 0.2 features and an upgrade from 0.1.1
  • 8c6e91c e2e: results of a fresh run on the merged tree (8a3a7a5), 38 of 38
  • 82af922 e2e: retry infra pulls, wait for Gitea's first branch, unique shell markers
  • 64fc5bf edge: recheck tool sessions with the panel
  • 382aa6e edge: refuse redirect targets with control bytes or backslashes
  • 6c1d394 engines: fixes from the review
  • f146c84 env-analyzer: hostMentions, the literal host name finder on its own
  • 552249e fs: drop setuid/setgid and never make root-owned entries
  • 30bcd75 github: hide the App and its installations from accounts with no source rights
  • f075671 gitproviders: review fixes for provider webhooks, polling and watch paths
  • 2bddb0a interop: send the session key from the node-ops driver
  • a673dc8 it-gitea: remove the Gitea container's anonymous volume too
  • 0e1eff4 merge feat/clone-move
  • 4c733bc merge feat/dockerhub
  • 8fa4300 merge feat/engines
  • 8418e9f merge feat/git-providers
  • 32994d0 merge feat/node-ops
  • d76fd01 merge main: the auto-publish release job and the installer terminal fix
  • 3df749c merge main: the motion and skeleton pass into the 0.2 features
  • 169db41 merge sec/agent into sec/panel-hub
  • 67fa069 ops: git.branches says which hosts it reads
  • 8864f68 ops: watch-path matcher shared by the panel and the web app
  • 0e051ce panel hub: cron and backup results get their own report budget
  • 845e8b6 panel hub: test that a restarted panel seeds each report lane on its own
  • f3ac19e panel hub: tiny DATA frames no longer cost an object each
  • 6decbc0 panel test: setup tests set the GitHub client id they are about
  • 7ef9426 panel: Docker Hub review fixes
  • 490e30f panel: Docker Hub search puts the image named like the query first
  • f0d48c1 panel: Docker Hub search, tags, image configs and one-click create
  • 0711206 panel: FetchGitFile only on the stack's own node; no plain-http git (agentio-2)
  • 9e3f880 panel: GitLab, Gitea/Forgejo and Bitbucket connections; watch paths
  • e39bf11 panel: MCP consent preselects read only and names the app by its redirect host
  • ba6447c panel: Postgres 18, pgvector, Valkey, KeyDB, Dragonfly and ClickHouse
  • b9410e0 panel: a browser session needs its key as well as the cookie
  • 00ae9f5 panel: a git URL with a token in it is refused, and never shown
  • 444c534 panel: a node's own private address is an internal git host
  • 2ac9248 panel: a push found while a deploy runs deploys after it, newest head wins
  • 2c64522 panel: a script-restricting Content-Security-Policy on the web app
  • 075834c panel: a shared credential is shared for one repository, URL or image
  • 33bee4b panel: alert when a node cannot get its LB certificate (runtime-2)
  • 375ebd5 panel: answer CheckEdgeAccess and mint tool tickets for sessions only (runtime-1)
  • 17ef905 panel: bound watch path matching per push (dos-1, dos-5)
  • 0ef7973 panel: cap durable report fields and budget them per node (protocol-3, dos-3)
  • 2db0aba panel: cleanup schedule ops, run history and alerts
  • 7d05632 panel: cliLogin.start limits a computer name per address, not panel-wide
  • 1b26980 panel: clone a service, move a service to another project
  • 34d5987 panel: clone and move fixes from review
  • 3e2d902 panel: close an agent connection when Bun drops a frame (protocol-6)
  • c05f4d4 panel: create-owner reads the password from the terminal or stdin
  • 83ba66c panel: decode agent stream messages in linear time (protocol-1)
  • 19d184d panel: dockerHub.create takes a command for images that need arguments
  • 835a05e panel: domains.retryCertificate regenerates a domain's certificate
  • fa7e6b7 panel: format the cleanup and host shell code with Biome
  • f4c76d0 panel: forwarded headers only from trusted proxies, the visitor's address behind Cloudflare
  • 3c3d943 panel: guard clones and moves against waiting references and stray stops
  • a811b8b panel: host shell alert once the node accepted it, record closes across restarts
  • e62a490 panel: host shells (hostShell.status, setEnabled, open)
  • fe30e83 panel: keep webhook replay hashes in panel.db (outbound-2)
  • af80d11 panel: keys limited to projects or actions stay out of account-wide data
  • bc692e9 panel: member invites and grants that add actions need a fresh sign-in
  • 8dc9b2b panel: password guessing is capped per account and grouped by IPv6 /64
  • 27e0ad9 panel: provider paths and webhook addresses can only point where meant
  • 712b41a panel: rate limit GetDesiredState and reuse the compiled state (protocol-5)
  • 55d18f9 panel: registries.list answers null user names to non-managers instead of 500
  • 2bbb706 panel: rotate-master-key asks whether the panel identity is replaced
  • 094bc57 panel: rotate-master-key script for a leaked data dir
  • bb9c2af panel: security events in the process log, audit retention and a cap on anonymous rows
  • fb45199 panel: seed only hosts that resolve internal; provider and GitHub allowance by host
  • cb8e45a panel: seed only internal git hosts; git.allowInternalHost for split-horizon ones
  • 323f834 panel: shared pickers are empty for accounts that cannot use them anywhere
  • 41f1df5 panel: sign HelloAccepted with the panel's identity key (protocol-4)
  • 76daf63 panel: smaller pre-auth op bodies, a shared body budget, GitHub deliveries limited per sender
  • efa3d00 panel: tell nodes which git hosts may be internal; git.branches follows them
  • 7735894 panel: test that seeded git hosts build with allow_internal_host
  • 171d7a3 panel: tests: no unsafe optional chaining in the agent events test
  • 9771ca4 panel: the live socket limits messages per person and topics per socket
  • 7b85fef panel: the public OAuth endpoints read capped bodies; registrations limited per /64
  • b3835fd panel: throttle stream-0 events from a node (protocol-2)
  • ed02a44 panel: tool tickets opened with an API key are rechecked as that key (runtime-1)
  • edc1ddf panel: uptime targets trust only admin-set node addresses (outbound-3)
  • 790860a panel: vet git addresses on save and dispatch, FetchGitFile on project nodes (agentio-2)
  • d44b8d4 portgate: the relay VM test waits for whoami to listen
  • 36f4409 proto: Valkey, KeyDB, Dragonfly and ClickHouse database engines
  • d240bb7 proto: cleanup schedule and runs, host shell, node time zone
  • ac4e627 proxy: no LB entry point routers without lb_tls
  • 48d20fe release: sign in a separate job that alone holds the minisign key
  • 3c0b08e services: ClickHouse's INTERNAL_HTTP_* in the open-variable check
  • a1f0923 services: a project move needs the right to attach the source's credential there
  • 2666733 test: git providers against a real Gitea in the test VM
  • 0c2c443 tests: CI-safe time limits on the security regression tests
  • 13cc5c7 update: back off from a release the guard rolled back
  • 5f02369 updates: automatic runs skip a release a node rolled back
  • ed6683d watch paths: compile the patterns once per decision
  • f2b2063 watch paths: decide ordinary large pushes in full, keep the work bound
  • 24d638e watch paths: refuse a path without the glob's middle literal run
  • 19226c8 web: Clone and Move to project in the service menu
  • 8b3b803 web: Docker Hub tab, prefilled image form and popular images
  • 97bd2f1 web: Generating SSL certificate and Regenerate certificate on the Domains tab
  • 27e52a3 web: Git providers settings, provider sources and the watch paths editor
  • 486e5a5 web: Show more stops at page 20, private images preselect their login
  • aaffcae web: a GitHub-connected service's Source tab shows the repo read-only to view-only members
  • d3b376b web: browser tests open the app before reading the session key, and wait out the invite limit
  • 42bc2f4 web: drop three unused Docker Hub strings
  • 0570eae web: keep unsaved cleanup edits, phone-width node sheet, agent user label
  • 66cb87d web: node Cleanup and Shell views
  • bc0766c web: quiet re-auth cancels on the Shell view, refresh the schedule after save
  • a31cf3d web: the 0.2 screens follow the motion conventions
  • 8a3a7a5 web: the browser tests' panel keeps GitHub off now that brand.json has a client id
  • e707f3a web: the new engines in the New database form and Connection tab
  • 0f72860 web: warn on every page reached over plain HTTP; the setup link says so too
  • 37cf21f webhooks: GitHub's own delivery addresses never take a refused-delivery token
  • e7738ef webhooks: a repeated signed GitHub delivery keeps its token
  • d72b0c6 webhooks: never refuse signed GitHub deliveries for volume
  • 349add6 webhooks: provider hooks answer 200 past their limit and leave it to the poll
  • 953149d wings test: wait for the reattach instead of the next address report