Skip to content

Cut 0.34.0 - #587

Merged
blooop merged 1 commit into
mainfrom
release/0.34.0
Sep 9, 2026
Merged

Cut 0.34.0#587
blooop merged 1 commit into
mainfrom
release/0.34.0

Conversation

@blooop

@blooop blooop commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Promotes ## [Unreleased] to ## [0.34.0]. Two fixes, both about what a container comes up holding.

A forwarded Claude login no longer loses to an empty credentials file. The devcontainer feature seeded {} into .credentials.json, Claude Code reads that file before the environment, and an empty one is not a placeholder but a logged-out session: dl --claude-profile bear <ws> resolved the profile, forwarded the token and got asked to log in anyway. Removing the stub fixed a second thing nobody was looking for. .claude.json went with it, and the provisioner's hasCompletedOnboarding seed exits early when that file exists, so the stub had been suppressing devlaunch's own onboarding of every container this feature built.

The ssh agent socket is bound from $SSH_AUTH_SOCK instead of a guess at ~/.ssh/agent.sock. On a host whose agent is gpg-agent or a stock ssh-agent, that path does not exist and devpod up refused the create before the container existed.

0.34.0 and not 0.33.1

Neither entry adds a flag or moves the CLI surface, so the patch reading is available. But what a launch produces changes in three ways: a profile token that was ignored is now honoured, the onboarding seed lands where it never had, and the agent socket comes from somewhere else. That is the same test 0.33.0 applied to itself. 0.30.0 stays skipped for c1ef6f5's reason.

Mechanical otherwise

The README's conda badge and its dl --version transcript move with the version, which test_readme_cli_doc holds, and the lockfile follows the workspace version for dl, aid, devlaunch-core, devlaunch-runner and devlaunch-test-support. Four files, the same four the 0.33.0 cut touched.

Verified locally: dl --version prints dl 0.34.0, 728 tests pass, prek clean.

🤖 Generated with Claude Code

Summary by Sourcery

Release version 0.34.0 with fixes for Claude authentication forwarding and SSH agent setup.

Bug Fixes:

  • Ensure forwarded Claude credentials are honored by removing seeded empty credential and onboarding files.
  • Bind the container SSH agent socket from the configured SSH_AUTH_SOCK path so supported host agents can be forwarded reliably.

Build:

  • Bump the workspace and lockfile versions to 0.34.0.

Documentation:

  • Update the changelog and README release references for version 0.34.0.

The [Unreleased] section as it stood becomes the release, and it is two fixes,
both about what a container comes up holding.

A forwarded Claude login no longer loses to an empty credentials file. The
devcontainer feature seeded `{}` into `.credentials.json`, Claude Code reads
that file before the environment, and an empty one is not a placeholder but a
logged-out session: `dl --claude-profile bear <ws>` resolved the profile,
forwarded the token and got asked to log in anyway. Removing the stub fixed a
second thing nobody was looking for -- `.claude.json` went with it, and the
provisioner's `hasCompletedOnboarding` seed exits early when that file exists,
so the stub had been suppressing devlaunch's own onboarding of every container
this feature built.

The ssh agent socket is bound from `$SSH_AUTH_SOCK` instead of a guess at
`~/.ssh/agent.sock`. On a host whose agent is gpg-agent or a stock `ssh-agent`,
that path does not exist and `devpod up` refused the create before the container
existed, which reads as a broken tool rather than as a manifest naming a path
the host never had.

**0.34.0 and not 0.33.1.** Neither entry adds a flag or moves the CLI surface,
so the patch reading is available -- but what a launch produces changes in three
ways: a profile token that was ignored is now honoured, the onboarding seed
lands where it never had, and the agent socket comes from somewhere else. That
is the same test 0.33.0 applied to itself. 0.30.0 stays skipped for c1ef6f5's
reason.

Mechanical otherwise. The README's conda badge and its `dl --version` transcript
move with the version, which test_readme_cli_doc holds, and the lockfile follows
the workspace version for dl, aid, devlaunch-core, devlaunch-runner and
devlaunch-test-support.

Cut on a release branch so the version bump is a reviewable diff and the publish
fires on the merge.
@sourcery-ai

sourcery-ai Bot commented Sep 9, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This release cut promotes Unreleased to 0.34.0 and synchronizes the changelog, README, workspace metadata, and lockfile; the documented functional fixes are the removal of container credential/onboarding stubs and binding the SSH agent from $SSH_AUTH_SOCK, though those implementation changes are not present in the supplied diff.

Sequence diagram for forwarded Claude authentication

sequenceDiagram
    participant Profile as ClaudeProfile
    participant Launcher as Devlaunch
    participant Container as Container
    participant Claude as ClaudeCode

    Profile->>Launcher: resolve profile
    Launcher->>Container: forward Claude token
    Container->>Claude: start without .credentials.json
    Claude->>Container: read environment token
    Container-->>Claude: authenticated session
Loading

Sequence diagram for SSH agent socket binding

sequenceDiagram
    participant Host as Host
    participant Launcher as Devpod
    participant Container as Container
    participant Agent as SSHAgent

    Host->>Launcher: provide SSH_AUTH_SOCK
    Launcher->>Container: bind SSH_AUTH_SOCK socket
    Container->>Agent: connect through bound socket
    Agent-->>Container: authorize SSH operation
Loading

File-Level Changes

Change Details Files
Promote the project release metadata and documentation from 0.33.0 to 0.34.0.
  • Add the dated 0.34.0 changelog section.
  • Update the workspace package version and synchronized lockfile entries.
  • Update the README Conda badge and CLI version transcript.
CHANGELOG.md
README.md
rust/Cargo.toml
rust/Cargo.lock

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

@blooop
blooop merged commit 28dd563 into main Sep 9, 2026
15 checks passed
@blooop
blooop deleted the release/0.34.0 branch September 9, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant