Skip to content

basecamp v0.17.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 15:59
· 54 commits to main since this release
Immutable release. Only release title and notes can be modified.
e2d5b2a

Upgrading a host that runs basecamp connect

Only one computer should answer an agent's Pings. A Ping is in no project, so every connector for the agent sees all of them. Once Basecamp adds a second connection for an agent instead of replacing the first, each computer would answer every Ping. This release decides which one does.

  • One connection per agent: nothing to run. Upgrade and restart as usual. The agent's first connection keeps answering Pings, and so does a bot user's login. The first start saves that for the profile, and restarts keep it.
  • Start each connector once on this release before you reconnect it. Once Basecamp adds connections, reconnecting gives the profile an added connection. A profile that never saved a choice would then leave Pings to a connector that may not exist. If that already happened, start it with --pings.
  • Upgrade every computer that runs the agent before you connect it on another one. 0.16.0 answers every Ping it sees, so an added computer still on 0.16.0 answers each Ping a second time. If one can't upgrade yet, start it with --project <id>: a run given --project hears no Pings in any version.
  • Choose with --pings and --no-pings. basecamp connect -P desktop --pings makes that computer the one that answers Pings. basecamp connect -P laptop --no-pings leaves them to it and hears only its own projects. A connection added after the first starts out with --no-pings. The choice is saved for the profile until you pass the other flag. Before you retire the computer that answers Pings, start another one with --pings.
  • A profile keeps the choice its first start saved, even across reconnects. A computer that first started on an added connection keeps leaving Pings to another one after it reconnects, even as the agent's first connection. If no computer answers Pings, start the one that should with --pings.
  • See which one answers: basecamp connect status -P <profile> and basecamp connect doctor -P <profile> show a Pings line, and the start line says pings=true or pings=false. A connector warns when another one on the same computer answers the same agent's Pings. It can't see other computers.
  • Add --pings or --no-pings to a launchd or systemd command only once every basecamp on that host is this release (which -a basecamp). An older binary refuses both flags, and the connector doesn't start.
  • Downgrading drops the choice. Older builds don't read it and answer every Ping again unless given --project. The choice stays saved and applies again once you upgrade.

Also new: basecamp cards create --due <date> (-d) sets a card's due date when it's created. It takes the same dates as cards update --due.

Full procedure: docs/agent-connections-rollout.md.

What's Changed

Other Changes

Full Changelog: v0.16.0...v0.17.0