v0.2.0
Bug fixes#
- Fix flaky tests and speed up daemon test suite (90s → 14s) (1c40f9e)
- Fix gofmt alignment in pushthrough test struct (f41b228)
- Fix CI test deadlock: mock startSync in registry tests and fix import path (014aa0b)
- Fix TestE2E_PipelineCommand_DefaultContextMergeRequest: capture stderr separately (1b6dd74)
- Fix crash recovery: persist MockPipelineID in execution state (58afd68)
- Fix registry tests for remote Docker: use docker exec instead of host HTTP (a753efb)
- Fix registry test assertions and reduce DinD parallelism (fc9ea15)
- Fix buildx TLS and pull-through cache curl in registry tests (3615454)
- Fix intermittent “unable to read tree” during runner checkout (8635f2c)
- Fix docker build cache injection for plain docker build (e753ee7)
- Fix daemon hangup when PID is alive but socket is missing (08b337f)
- Fix stop/cancel targeting wrong pipeline when multiple are active (8427bbf)
- Fix registry pull panic and add comprehensive CLI tests (2531704)
- Fix pushed images overwritten by stale upstream revalidation (38eff28)
- Fix lint missing validation for needs, cycles, timeouts, and stages (bd0a8a5)
- Fix jobs command missing allow_failure, image fields and needs omitempty (1d9af7c)
- Fix history commands accepting negative values and leaking file paths (cd3c2a6)
- Fix config show –gitlab –network only showing network section (98dab6c)
- Fix duplicate stages not deduplicated during parsing (323bed2)
- Fix show –watch ignoring context filter and –json flag (a3f0c3b)
- Fix RenderJSON emitting empty when field and non-nil empty needs array (4f4f582)
- Fix run –inputs-file flag being silently ignored (a281188)
- Fix daemon status auto-starting the daemon instead of reporting state (d79200d)
- Fix trigger strategy defaulting to depend instead of fire-and-forget (a4ca7ca)
- Fix retry and run crashing on corrupt config file (c3d203e)
- Fix registry list –project showing empty table without feedback (72f1ac3)
- Fix code review findings: cross-stage cycles, error handling, rename (17a5e2b)
- Fix pushed images overwritten by stale upstream revalidation (1a56498)
- Fix flaky TestEventBus_SubscribeWithReplay_NoRace (c83599f)
- Fix alignment (79e65d2)
Maintenance#
- Update README known limitations section (290ec44)
- Restructure test targets: no overlap, clear separation (9681ec2)
- Restructure test targets: no overlap, clear separation (ba8a40a)
- Remove unnecessary job dependencies for faster CI parallelism (2cb3cab)
- Update CLAUDE.md with actual CI timings from pipeline 2489143059 (5f34691)
- Consolidate registry sidecar into mock container (1fc2f67)
- Remove automatic Docker build cache injection (546c893)
New features#
- Add make release target for semver tag bumping (def9a3d)
- Add .dockerignore to reduce build context from 508MB to 21KB (59f318a)
- Add configurable Docker pull policy (–pull-policy flag + glciconfig) (1dfafca)
- Add comprehensive CLI functional tests and fix daemon-hang bugs (250574f)
- Add flag permutation tests and fix config show preset visibility bug (4354293)
- Add daemon-dependent CLI tests and CI job (ae49bdf)
- Add e2e regression tests for all 20 CLI bug fixes (f2df0f2)
- Add tests for review coverage gaps: combined flags, cross-stage cycles (d88efcc)
- Add logo (cb71a77)
Other changes#
- Replace disk-based secrets cache with in-memory SecureVault (6c914da)
- Speed up test suite with t.Parallel() and mock template server (8869012)
- Auto-restart registry sidecar when container is missing (144f117)
- Start docker-image after check stage, not after test stage (77f67d2)
- Initialize all DaemonServer maps in fallback ID tests (8100fc2)
- Split integration tests into 3 parallel CI jobs (32ffd5a)
- Split integration tests from 3 to 5 CI jobs for faster parallelism (a1000be)
- PID-suffix storage-helper and registry-sidecar container names (e57cdd1)
- Increase integration job timeouts from 10m to 15m (f5d8c5a)
- Increase internal e2e pipeline timeouts from 5m to 8m (d3ffc82)
- Skip orphan cleanup of containers belonging to live daemon processes (d7323c6)
- Scope orphan container cleanup to GLCI_HOME via Docker labels (548894e)
- Scope shared Docker volumes by GLCI_HOME to prevent cross-daemon races (f95f9da)
- Route CLI registry commands through daemon API instead of direct HTTP (a1f568d)
- Scope registry volumes by GLCI_HOME and fix buildx test (eaaee9a)
- Speed up daemon CLI tests 5x by sharing daemons (e694b1a)
- Revalidate mutable tags against upstream before serving from cache (32f9683)
- runner: set CI_ENVIRONMENT_* and CI_RELEASE_DESCRIPTION variables (ab45473)
- Drop PID suffix from persistent container names for the real daemon (0ece406)
- Address review findings: error handling, leak fix, test coverage (1b89f8d)
- Realign text (41c5381)