Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: docker/compose
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v5.2.0
Choose a base ref
...
head repository: docker/compose
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v5.3.0
Choose a head ref
  • 10 commits
  • 31 files changed
  • 4 contributors

Commits on Jun 23, 2026

  1. chore: migrate cagent-action to docker-agent-action (v2.0.0)

    Signed-off-by: Derek Misler <[email protected]>
    docker-agent authored and glours committed Jun 23, 2026
    Configuration menu
    Copy the full SHA
    899e884 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2026

  1. chore: migrate to docker-agent-action v2.0.1

    - Bump docker-agent-action to v2.0.1 (e96a4bb)
    - Add review_requested to pr-review-trigger.yml pull_request types
    
    Signed-off-by: Docker Agent <[email protected]>
    docker-agent authored and glours committed Jun 24, 2026
    Configuration menu
    Copy the full SHA
    a3c1c0d View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2026

  1. fix(oci): route authorizer token fetches through provided transport

    The transport passed to NewResolver was applied only via
    docker.WithClient. Pass it via docker.WithAuthClient too so the
    authorizer's OAuth token fetches use it instead of http.DefaultClient.
    
    Signed-off-by: Guillaume Lours <[email protected]>
    glours committed Jun 25, 2026
    Configuration menu
    Copy the full SHA
    e87f7b7 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2026

  1. fix(run): scope Running events to project.Services

    emitRunningEvents iterated the full ObservedState.Containers map,
    which is intentionally broader than the operation scope (it covers
    DisabledServices for orphan classification). compose run --no-deps
    SERVICE leaves project.Services empty and moves every other service
    to DisabledServices, so their running containers were reported as
    Running even though this command must not manage them.
    
    Filter the iteration by project.Services, matching the reconciler
    scope, and document the contract on the function.
    
    Fixes #13882
    
    Signed-off-by: Guillaume Lours <[email protected]>
    glours committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    ab0d789 View commit details
    Browse the repository at this point in the history
  2. bump compose-go to version v2.13.0

    Signed-off-by: Guillaume Lours <[email protected]>
    glours committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    a2fb49d View commit details
    Browse the repository at this point in the history
  3. fix(reconcile): hash resolved service refs to match executor

    The reconciler hashed the raw service config while the executor
    hashed the form with network_mode/ipc/pid/volumes_from references
    resolved to container IDs. Persisted hash and recomputed hash
    never matched, so dependents were recreated on every `up`.
    
    Resolve references against observed containers before hashing,
    and cascade recreation to namespace-sharing dependents when a
    parent is replaced — otherwise the dependent would keep a stale
    "container:<old_id>" reference. Also dedup stops in
    planStopDependents via stoppedByPlan: with the cascade restored,
    the dependent would otherwise receive two Stop nodes.
    
    Fixes #13878.
    
    Signed-off-by: Guillaume Lours <[email protected]>
    glours committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    55c61ce View commit details
    Browse the repository at this point in the history
  4. fix(compose/port): show private port in portNotFoundError message

    Signed-off-by: vmphase <[email protected]>
    vmphase authored and glours committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    0a56eeb View commit details
    Browse the repository at this point in the history
  5. Normalize --no-TTY flag to --no-tty

    Signed-off-by: Nick Janetakis <[email protected]>
    nickjj authored and glours committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    2a6a4e5 View commit details
    Browse the repository at this point in the history
  6. Generate docs with make docs

    Signed-off-by: Nick Janetakis <[email protected]>
    nickjj authored and glours committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    943f8c9 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2026

  1. pre_start: support pre_start lifecycle hooks

    runPreStart executes a service's pre_start hooks sequentially as
    ephemeral containers that share the first non-running replica's
    volumes via VolumesFrom and attach to the same networks. A non-zero
    hook exit gates service start.
    
    per_replica: false is the only currently supported mode; per_replica:
    true is rejected up front. The donor replica is the lowest-numbered
    one so the choice is deterministic. ContainerWait uses
    WaitConditionNextExit, and the wait loop deterministically handles
    the daemon's clean-close (nil on Error + exit code on Result) and
    transport-error races to avoid spurious hook failures.
    
    The log stream is opened before ContainerStart to avoid racing
    AutoRemove on fast-exiting hooks, and runs under a derived context
    so a daemon that keeps the connection open cannot deadlock the call.
    Hook containers carry project/service/version labels; the two
    cleanup paths force-remove the never-started container explicitly
    and warn when removal fails.
    
    pre_start runs once per service when no replica is already running
    (initial up, force-recreate or spec change), and is skipped on
    scale-up so additional replicas don't re-trigger the hooks.
    
    Coverage: 11 unit tests (including scheduler-race stress) with
    goroutine-leak verification via goleak, plus 10 E2E tests (success
    path, hook failure gating start, build-image inheritance, idempotent
    re-up, spec change, force-recreate, mid-sequence failure, ordering,
    scale-up, scaled service).
    
    Signed-off-by: Guillaume Lours <[email protected]>
    glours authored and ndeloof committed Jun 30, 2026
    Configuration menu
    Copy the full SHA
    9d444a6 View commit details
    Browse the repository at this point in the history
Loading