v0.1.0
Bug fixes#
- Fix stale Job Executor description to match mock server approach (624bd17)
- Fix DAG arrow alignment for Unicode ← in colored mode (3490b98)
- Fix mock server trace handling: return 202, dedup retransmissions (e479143)
- Fix TUI integration issues found in code review (0e849f7)
- Fix runner auth: use runner token for job requests, not job token (5f377a3)
- Fix TUI Run tab: route trace output to TUI and suppress runner logs (891cdbf)
- Fix git HTTP 500 by decompressing gzip-encoded upload-pack requests (c1a1361)
- Fix run config placeholders for clarity (efef1ce)
- Fix input specs not detected when using API parsing (e583752)
- Fix blank screen when TUI pipeline fails with errors (b516c5e)
- Fix pipeline graph overflow causing blank screen on wide pipelines (84c9d1e)
- Fix review findings: race conditions, resource leaks, data races (fe383d5)
- Fix daemon pipeline parsing: use API parsing for include: resolution (c6340df)
- Fix test isolation and cleanup after storage consolidation (7d8b445)
- Fix race conditions and implement token auth for registry proxy (fd450b2)
- Fix gun registry pull and add CLI E2E tests (3f009f8)
- Fix gun registry pull: use docker pull, handle HTTPS fallback, bare repo paths (88d9a73)
- Fix TUI e2e tests for list/drill-down navigation model (a449c56)
- Fix dynamic TLS cert reload for registry SAN changes (79ef49c)
- Fix compat test: use full clone and fetch git strategy, add failure logs (f0bd003)
- Fix ManualAutoRun priority over IncludeManual in filter (bf399a6)
- Fix CI_PROJECT_DIR to match actual runner build directory (1b43c1c)
- Fix hardcoded CI variables and add missing ones (e306754)
- Fix artifact dependencies, registry access, and Docker networking (5da10db)
- Fix X (stop pipeline) for historical views and improve footer (e8c146a)
- Fix cache server address unreachable from Docker containers (01d2705)
- Fix S3 cache: use PascalCase TOML keys and support presigned URLs (fd1e137)
- Fix inputs parsing (ba62655)
- Fix daemon logs follow flag: use -F shorthand (-f conflicts with –file) (9849d23)
- Fix CI_PROJECT_NAME test after gun → glci rename (45eab71)
- Fix nested local includes inside remote project includes (2c3ecb3)
- Fix artifact 404s for needs without artifacts and TUI stage count (633105e)
- Fix docker networking and dind (aff2729)
- Fix false “pipeline passed” message on Ctrl+C detach (6220b6a)
- Fix service variables serialization and dependencies JSON field (894b0fa)
- Fix glob include losing nested includes during deep-merge (6f237db)
- Fix bugs and harden docker exec transport from review (82da898)
- Fix race conditions and resource leaks in crash recovery (8341e84)
- Fix shallow copy mutation and add filter diagnostics for “no jobs to run” (e389046)
- Fix silent trace data loss by pre-connecting event stream (00c5e7a)
- Fix trace writer lifecycle: flush logparse buffer, decouple cleanup from WaitForResult (622c8eb)
- Fix event loss race in EventBus.SubscribeWithReplay (2fa711c)
- Fix DinD/allow_failure bugs, expand comprehensive e2e coverage (ec79255)
- Fix Docker host detection for remote contexts, add [docker] config (b9860b7)
- Fix DinD config volume bugs, annotate expected failures in compat report (82466d8)
- Fix component spec: inputs: leaking into TUI pipeline inputs form (a89e1b1)
- Fix registry auth and pipeline summary parser for e2e tests (9417422)
- Fix cross-project trigger: use target project’s git SHA for checkout (e17adcd)
- Fix flaky unit test and suppress daemon test log noise (795dee4)
- Fix DinD TLS cert failures with per-pipeline named certs volume (55164fa)
- Fix DinD TLS permanently with per-pipeline network isolation (f46be7a)
- Fix cross-project pipeline hang caused by event bus dropping job_result events (cbaa81d)
- Fix precheck preset running full pipeline via stage expansion (c3a2b28)
- Fix struct literal alignment formatting (86b7649)
- Fix concurrent cache write race and runner config drift (fd9b030)
- Fix TestDeriveGitLabInfo_DefaultURL flaking in CI (0c333af)
- Fix gofmt formatting in system_test.go (c29e827)
- Fix TUI list overflow and add half-page scrolling (69046a6)
- Fix log streaming buffering and event stream leak (66dca4e)
- Fix gofmt alignment in main.go (92f8d62)
- Fix e2e CI job: create Docker context before buildx build (10afbe9)
- Fix e2e compat test: strip duration suffixes from job status parsing (f02af14)
- Fix gofmt in compat_test.go (9a5c365)
- Fix DinD flake in .with-glci-image: add readiness wait and retry (55de8c3)
- Fix flaky TestJobLogPath_SanitizesName assertion (0b34b9f)
- Fix gofmt formatting (label indentation, alignment) (b44e571)
- Fix stale volume collision: remove per-pipeline volumes before overlay create (ed30419)
- Fix gofmt alignment in recovery_test.go and main.go (35c314e)
- Fix concurrent pipeline isolation: hardlink only immutable layer data (007f66c)
- Fix run command misreporting retried jobs as failed (c9ae543)
- Fix gofmt formatting (83cc85d)
- Fix retried-pass duration suffix stripping in compat parser (149e35f)
- fix gofmt formatting across modified files (ed2863f)
- Fix race: background goroutine killing active persistent mock (3fa282c)
- Fix gofmt alignment in server.go (001259e)
- Fix S3 cache errors with runner’s new s3v2 adapter (36fdf5e)
- Fix cache size check self-blocking on same-key replacement (5797d33)
- Fix DinD docker login HTTPS error by removing registry-mirrors from daemon.json (77792f0)
- Fix getcwd errors by setting cmd.Dir on all exec.Command(“git”) calls (debb1b6)
- Fix 401 auth errors when running concurrent pipelines (052a72b)
- Fix network not found errors after stop→run by recreating networks on connect failure (7dd488a)
- Fix module path in install script to use official GitLab namespace (d22c33a)
- Fix gofmt formatting in releases.go and history.go (894acbd)
- Fix release test: fallback CI_PROJECT_PATH for local repos and add CI job (a752ff5)
Maintenance#
- Rename e2e/ to integration_test/ (66e4e56)
- Update README with pipelines commands and history feature (340c88c)
- Remove mount strategy from Sprint 6 spec (f5a6763)
- Refactor TUI into unified tabbed app on bare gun command (7677908)
- Update PLAN.md Sprint 7 to reflect drill-down TUI design (8d92a96)
- Simplify env vars to comma-separated input (b62dc54)
- Use ctrl+r instead of shift+enter to confirm run (1feef5a)
- Use ctrl+enter to confirm run (7196457)
- Use ctrl+g to confirm run (universally supported) (254f139)
- Remove live log preview from pipeline graph view (b9217fc)
- Update TUI colors to match GitLab UI palette (4d95b8e)
- Use white/bold for focused fields instead of purple accent (f414495)
- Refactor gun run to execute pipelines via daemon (edb8318)
- Refactor TUI to consume daemon event stream (dd9ac57)
- Remove gun attach and reconnect-on-run behavior (6875966)
- Update PLAN.md Sprint 15 to reflect actual implementation (6c20d9a)
- Update documentation and claude.md (238b742)
- Use real daemon subprocess in e2e tests instead of in-process server (b4de789)
- Use display-line-per-stage grid layout matching gun pipeline output (8239b03)
- Use host.docker.internal for runner config URL (c0be2b4)
- Use pipeline grid rendering for gun pipelines show (68a5ace)
- Remove dead in-process execution path (~1,068 lines) (861e9b7)
- Update README with glci artifacts command documentation (5d9a277)
- Update docs to reflect offline parser implementation (e683c4d)
- Update README for offline-first YAML parser (5623e42)
- Remove ParseDirect fallback from pipeline parser (3888c79)
- Remove ParseDirect and clean up legacy “direct mode” references (cbf4a9d)
- Update README with –simulate flag and simulation mode feature (6c04320)
- Update README for containerized architecture (0b3cd62)
- Update CLAUDE.md. Add ARCHITECTURE.md. Update Docs. Add claude code (8cb618c)
- Update glci skill docs for default config auto-creation (f2b7ba3)
- Update ARCHITECTURE.md with runtime architecture and data flow (6cb034a)
- Update install instructions repo (1b645f7)
- Update gitignore (a2a28bb)
- Update README: remote Docker daemons are now supported (289ddca)
- Update ARCHITECTURE.md with current docker exec transport architecture (e9faf54)
- Update CLAUDE.md test matrix with compat-run-external tier (ce6d00e)
- Remove sprint files — migrated to GitLab issues (90a8ddd)
- Update plan.md: point sprint links to GitLab issues (830fc35)
- Use named Docker volumes for config file injection instead of bind mounts (009b4d8)
- Use container IP for CI_REGISTRY so step-runner uses HTTP (6d81e29)
- Update README with cross-pipeline cache documentation (8d00172)
- Use gitlab-org-docker tag for DinD jobs (a4414ec)
- remove all deprecated DinD and legacy code (2bc6191)
- Restructure CLI commands and add new ones (94b1380)
- Simplify install script to use go install (8fa5624)
- Rename Go module to gitlab.com/gitlab-org/ci-cd/runner-tools/glci (cb0d07b)
- Update docs for release support and CI_PROJECT_PATH fallback (be0fc36)
- Update CLI reference in ARCHITECTURE.md (23f9f2f)
New features#
- Add initial project plan for gun - local GitLab CI runner (25f837b)
- Add Kubernetes support and artifact bus via mock server (c0ca266)
- Add cache bus via S3-compatible endpoints on mock server (247d283)
- Add pipeline visualization command and live execution view (d984514)
- Add gun pipeline –watch with debounce for live reload (c047c19)
- Add CLAUDE.md with development rules (04f4461)
- Implement Sprint 1: mock server + single job execution (fc703a8)
- Add AGENTS.md with reference source code locations (9d0eaba)
- Add commit-after-each-change rule to CLAUDE.md (ef646ff)
- Add project/group variable (secrets) loading strategy (9c09d34)
- Implement Sprint 2: online parser, multi-job execution, pipeline visualization (bb76165)
- Add README with usage, examples, and feature overview (3cb0cfb)
- Add glab token auto-detection to Sprint 2 plan (edd5c1a)
- Add pager support and compact needs display for pipeline view (e48c98b)
- Implement Sprint 3: inline DAG edges, –no-dag flag, allow_failure markers (f598974)
- Support run: (Steps syntax) jobs in pipeline parsing (61b5e5e)
- Add –json output, e2e tests with step-runner fixture, fix matrix needs expansion (c8d5ad4)
- Add gitlab-runner e2e tests (130 jobs), support parallel: N expansion (539caae)
- Add e2e render tests for DAG and no-DAG modes (d514cc7)
- Add Future Sprints section with pipeline view filtering idea (d7d52a9)
- Implement Sprint 4: project/group variables, env files, –secrets flag (db1d503)
- Implement pipeline history storage and integrate into gun run (ca27e90)
- Add gun pipelines commands for history exploration (2cb1b06)
- Add tests for pipeline history storage and TeeWriter (2d1818d)
- Add Sprint 5: pipeline history and exploration (b70c6e7)
- Add comprehensive e2e tests exercising full gun run flow (8d75e79)
- Add future sprint idea: context simulation (branch, MR, tag, env) (6ddc50c)
- Add Sprint 6 spec: embedded git HTTP server for source code in containers (c7b4e54)
- Add future sprint: interactive bubbletea TUI for pipeline/pipelines/run (59f8e25)
- Add future sprint: global config.toml with customizable keybinds (da05b98)
- Implement Sprint 6: embedded git HTTP server for source code in containers (27dae61)
- Add Sprint 6b spec: mock server authentication with per-job crypto tokens (f1e549c)
- Implement Sprint 6b: mock server auth with per-job crypto tokens (08a870f)
- Add Sprint 8: configurable job concurrency with DAG-aware scheduling (5883d94)
- Implement Sprint 7: interactive TUI with bubbletea (0c12881)
- Add AWS Signature V4 verification for S3 cache endpoints (b24be66)
- Add optional TLS for mock server to future sprints (low priority) (6cfa325)
- Add DAG-aware job scheduler and gun config support (38a4253)
- Implement Sprint 8: configurable job concurrency (8902a49)
- Add spinner animation and live log preview to running pipeline (896923f)
- Add periodic store refresh to TUI for cross-terminal updates (771b38b)
- Add log parser to clean and colorize gitlab-runner trace output (3f5af27)
- Implement Sprint 9: context simulation for rules-based pipeline filtering (888fd89)
- Add run configuration screen to TUI for context and env vars (b9a2799)
- Add Sprint 11: gitlab-runner version management (5a9f7b2)
- Add Sprint 12: pipeline spec inputs with CLI and TUI support (92747db)
- Implement Sprint 11: gitlab-runner version management (2f141a3)
- Implement Sprint 12: pipeline spec inputs (687c2f7)
- Add automatic dependency inclusion when running specific jobs (82938b6)
- Add future sprint: runner config.toml overrides (global + project layer) (91fb4ae)
- Add CI variable audit: 15/171 set, 25+ high priority gaps identified (3684a83)
- Add Sprint 14: embedded container registry + CI variable completeness (ab7441a)
- Implement Sprint 14: embedded container registry + CI variable completeness (6c738f0)
- Add DIND support: privileged=true, /certs volume, e2e tests (b3b8e78)
- Add daemon package foundation: API types, event bus, process lifecycle (a52f3a6)
- Add daemon HTTP server and pipeline executor (2d5d700)
- Add daemon client, CLI commands, and gun stop (322a321)
- Add daemon configuration section to gunconfig (5105eb3)
- Add daemon unit and integration tests (b24b118)
- Add gun attach command to reattach to running pipelines (13bdd70)
- Add –detached / -d flag to gun run (2453053)
- Add Sprint 16: Daemon Hardening spec (f4d0c38)
- Implement Sprint 16: Daemon Hardening (90f26ff)
- Add Sprint 16b: Unified Pipeline ID spec (1de835c)
- Implement Sprint 16b: Unified Pipeline ID (83c8e4c)
- Add test for ProjectRoot not creating directories (24ae9d0)
- Implement Sprint 17: Persistent Registry with Host-Side Access (789bc9a)
- Add Sprint 19: project configuration (.gunconfig.toml) + job skipping (c6abdd4)
- Add HTTP listener for host-side registry access and E2E tests (901c635)
- Add e2e test for full registry workflow: login, build, push, pull (353d690)
- Add project configuration (.gunconfig.toml) with job skipping (Sprint 19) (991cf4b)
- Add Sprint 20: manual job handling + TUI job triggering (0812e05)
- Add run: (CI Steps) support and real-world compat test harness (88243af)
- Implement Sprint 20: Manual job handling + TUI job triggering (792225f)
- Add missing Sprint 20 tests: TOML loading, double trigger, edge cases (84b2852)
- Wire up upstream registry credentials and fix proxy token caching (a505d46)
- Add TUI controls to stop running jobs and pipelines (aba1c6e)
- Add cancel tests and make cancel errors best-effort (8ee5a0c)
- Add gun pipelines stop subcommand (f1c0923)
- Add tests for manual job scheduling with IncludeManual (23d26b4)
- Add Sprints 21-24: network config, rename to glci, GitLab instance config, crash recovery (595c9a4)
- Add ParsePipeline and include resolution tests (ae6b52c)
- Add screenshots and video (7bef21e)
- Add daemon logging,
glci daemon logs command, and troubleshooting docs (958bd26) - add sprint 26: reuse artifacts from previous runs (–reuse-artifacts) (53a213d)
- Add Colima Rosetta troubleshooting for Apple Silicon segfaults (96237e4)
- Add logging to pipeline preparation and job execution (dda16b6)
- add sprint 27: run runners and mock server inside Docker (477a456)
- add sprint 28: runner config overrides via native TOML (f8eab39)
- Add base-images compat tests and fix buildx TLS for mock registry (b76d36f)
- Add Docker Hub pull-through cache to reduce rate limiting (15bf1f5)
- Add e2e tests for Docker Hub pull-through cache (aed1a82)
- add sprint 29: artifact management CLI (8b29d7f)
- Implement sprint 29: artifact management CLI (345cd79)
- Implement full offline YAML parser with 100% GitLab CI feature parity (9903251)
- Add offline parser integration tests against real GitLab projects (00665c4)
- Add pipeline parsing compat tests and fix directory-based component resolution (b1d5072)
- Add sprint 30: simulation mode (–simulate) (ce2a599)
- Add sprint 31: per-job/per-stage runner config overrides (b0c4f7f)
- Add more comprehensive compat e2e tests and a custom pipeline (5a694d0)
- Add sprint 32: pipeline rules verification via golden fixtures (68c1bbb)
- Add make compat-logs target for tailing e2e daemon logs (09a0ab8)
- Add compat simulate test for gitlab-runner unit test job (d7a9785)
- Add sprint 33: remove bind mounts with data streaming architecture (61abaf7)
- Add GitLab monolith compat project with shallow clone support (31c9901)
- Add include file caching and deduplication in config fetcher (d9cb1cd)
- Add GitLab monolith compat and integration tests (cc6bdfb)
- Add golden pipeline fixtures and fix rules when/allow_failure inheritance (9ab3a45)
- Add diagnostic logging for “no jobs to run” failures (e16f2a7)
- Add crash recovery foundations: execution state, /internal/status, container health checks (d78943b)
- Implement pipeline resume logic for crash recovery (f3d2c95)
- Add comprehensive tests for crash recovery (cf86a97)
- Add /review-all slash command to orchestrate all review agents (e066b03)
- Add /review-docs slash command for documentation review (6419a52)
- Implement child pipelines (trigger: include:) (87d1fd7)
- Implement named pipeline presets ([pipelines] in .glciconfig.toml) (9c58df2)
- Add CI_TEMPLATE_REGISTRY_HOST variable, derive registry host from config (09bbf9f)
- Add –dirty flag to include uncommitted files in pipeline runs (default: true) (d1c3640)
- Add –privileged flag for runner container (default: true) (147edf9)
- Implement cross-project pipeline triggers (trigger: project:) (0fe5071)
- Add TUI drill-down navigation for child pipelines (9610581)
- Add trigger: include: child pipeline to comprehensive test fixture (f6cd474)
- Add config files overview near top of README (9f386dd)
- Add needs: [] to trigger jobs for parallel execution (9df8f32)
- Implement rules: changes: keyword with git diff evaluation (df78634)
- Add GitLab CI pipeline with multi-arch Docker image publishing (cb4d11e)
- Add poll fallback to WaitForResult for missed event stream results (d93db44)
- Add secrets variable caching with configurable TTL (e7e7e71)
- Add retry to e2e job for transient DinD startup failures (653b514)
- Add glci system and glci ps commands (6874148)
- Add elapsed timing to run command output (be5b25c)
- Add release: keyword support with mock server endpoints (6b3fd43)
- Add pipeline preparation status to CLI and TUI (6f96951)
- Add persistent helper container for DinD cache operations (c8d9ee1)
- Add auth check to GetBucketLocation handler (f0ae18c)
- Add tests for concurrent pipeline job ID isolation (4c49ae2)
- Add tests for splitNulPaths and dirtyFilePaths helpers (18f6710)
- Add one-liner install script (dbde2c6)
- Add release support: mock server, persistence, CLI, and CI pipeline (b305411)
- Add release asset link endpoint and tag-context comprehensive tests (d792c0c)
Other changes#
- Clarify API lint response: what’s resolved vs. not (8dfda76)
- Correct plan after verifying all assumptions against source code (8d19fb4)
- Reuse gitlab-runner via direct library import of Build.Run() (cd89c37)
- Switch to mock GitLab server as primary runner integration (3eab2f7)
- Move Kubernetes support to its own Sprint 5 (423b96e)
- Make project/group variables (secrets) its own Sprint 3 (54b713e)
- Merge AGENTS.md content into CLAUDE.md, symlink AGENTS.md (dc9d090)
- Read GitLab token from glab CLI config as fallback (4fc8e93)
- Split pipeline visualization into Sprint 3 with DAG rendering (9893e17)
- Show each DAG need on its own line with full job names (e610192)
- Move integration tests next to source packages (917a469)
- Move pipeline legend to top, right below the header line (3d1db9b)
- Indent pipeline header and add blank line before legend (30657ac)
- Context simulation also applies to gun pipeline command (8ef25d6)
- Promote interactive TUI and keybind config to Sprint 7 (ada882a)
- Default concurrency to unlimited (0 = all eligible jobs in parallel) (4fdca02)
- Harden mock server: auth on job request, derived credentials, body limits (c2d53a6)
- Move auth validation outside global mutex (9597e1f)
- Validate bare git repo path in SetGitRepoPath (4efe634)
- Dispatch jobs in FIFO order instead of random map iteration (cd30409)
- Bind mock server to loopback on macOS, all interfaces on Linux (5cc668f)
- Hide Run tab in TUI when no execution params are configured (cd02fc9)
- Enable Run tab in TUI when executor is configured in ~/.gun/config.toml (2b48a0e)
- Default to docker executor in TUI — Run tab always available (3ee166a)
- Move default executor and image into gunconfig package (78b008a)
- Redesign History and Run tabs with full pipeline graph views (c031717)
- Replace tabbed TUI with drill-down navigation (0504504)
- Promote context simulation to Sprint 9 (1016810)
- Show only filtered jobs in pipeline visualization when running specific jobs (952b4b2)
- Replace verbose pipeline grid with compact summary at run start (8c243e2)
- Replace Run Pipeline list item with ’n’ shortcut for new runs (f60ad6f)
- Allow –os and –arch overrides for gun runner install (c87ec77)
- Replace Run button with shift+enter shortcut (da8ed52)
- Switch version discovery to GitLab releases API and add progress bar (16814ba)
- Merge pipeline inputs into run config screen (6e483e6)
- Replace purple accent with GitLab blue throughout TUI (f98a9aa)
- Default Docker pull policy to if-not-present (e148b59)
- Document all ~25 unsupported CI variables with reasons (b5ceac6)
- Replace pre_build_script with native Docker certs.d mount (c565f65)
- Rewrite e2e tests to go through the daemon (8505be9)
- Upgrade gun pipelines log to stream live from daemon (dafc73a)
- Document detached mode, daemon, and live log streaming in PLAN.md and README (a28ea26)
- Move per-project storage from {project}/.gun/ to ~/.gun/projects/ (32e805b)
- Avoid creating project dirs as side effect in gun registry clean (5b81c6f)
- Plan and sprint restructuring (b812f99)
- Delete old PLAN.md (9bbe4cc)
- Require e2e tests for CLI commands in test subagent instructions (4e21d5a)
- Start registry at daemon startup instead of lazily (4138320)
- Render TUI pipeline graph at full width with viewport scrolling (1a261ba)
- Rewrite registry pull to use plain HTTP + docker load, fix proxy blob caching (f9aeee3)
- Pin selected stage to left edge when scrolling horizontally (8d50da7)
- Mount combined CA bundle so all HTTPS clients trust gun’s registry (2f6a3d8)
- Auto-detect GitLab token for upstream registry proxy auth (fbc254a)
- Sprint 21: Make all network addresses and container paths configurable (2b86583)
- Unify pipeline defaults and rework compat e2e tests to use CLI (b72dcf8)
- Write all planned jobs as pending to history at pipeline start (276f2e4)
- Default gun pipelines show to latest pipeline when no ID given (f425dc7)
- Preserve stage and job ordering in pipeline history (481d6ec)
- Store DAG needs and write running status to pipeline history (fd23893)
- Improve log view: follow mode, auto-scroll, and key hints (e5a6523)
- Print full pipeline graph at the start of gun run (8faa35c)
- Make enter toggle follow mode in log view (d690045)
- Include manual jobs in CLI run path for proper scheduling (f08103e)
- Print full pipeline graph at start of daemon-routed gun run (0e6c311)
- Revert “Print full pipeline graph at start of daemon-routed gun run” (4f0779d)
- Return pipeline jobs and stages in StartPipelineResponse (936396d)
- Print stage/job list instead of grid at start of gun run (d9534d1)
- Log active pipeline count on daemon shutdown (29acaab)
- Sprint 23: Configurable GitLab instance URL, token, and runner releases (a80d6bd)
- Sprint 22: Rename gun → glci across entire codebase (de64e8f)
- Sprint 25: make install with commit embedding & daemon version guard (7d936b4)
- Refresh README: add title, how-it-works section, prerequisites, and install updates (4126d85)
- Resolve local: includes from disk before API/direct parsing (9048d7f)
- Extract unified ParsePipeline into pkg/config (e96d080)
- Ensure daemon version check on all CLI commands (b006e99)
- Always normalize multi-doc YAML and strip spec: in ResolveLocalIncludes (9be7f47)
- Sprint 26: reuse artifacts from previous runs (–reuse-artifacts) (762e8e6)
- Resize media (11ed6f0)
- Resize media again (6ac42a0)
- Media (435a958)
- Concatenate before_script + script into single step (550b71a)
- Fetch project/group CI/CD variables in daemon path (992d927)
- Document –reuse-artifacts in README (cd2ce3d)
- Route gitlab-runner stderr to daemon log (d022097)
- Run gitlab-runner in debug mode by default (ab5aa59)
- Ensure host.docker.internal resolves on macOS (Colima) (f832633)
- Allow overriding gitlab-runner args via [runner] config (f410167)
- Default to repo’s default branch context when –context is omitted (45e68e0)
- Retry 429s and pass through rate limit errors in registry proxy (d41704e)
- Merge host Docker credentials into DOCKER_AUTH_CONFIG (3755c1d)
- QEMU compat in DIND (83b6e90)
- Expand CI variables in include entries before resolving (dfd9c71)
- Strip FQDN prefix from component include paths (9b0c2ea)
- docs: document project config file (cd94626)
- Sprint 27 -> Containerized Mock Server & Runnres (98885e5)
- Sprint 27: containerized mock server and runners (0f11931)
- Optimize git HTTP server for concurrent clones (20110fc)
- Switch default context to merge_request (fa7c4e3)
- Improve logs visualization (bf7cf77)
- Auto-create default .glciconfig.toml skipping .pre stage (65df8e5)
- Mark sprint 32 as complete with caveats (4829f0c)
- Skip simulated pipeline artifacts in –reuse-artifacts lookups (cca8927)
- Move planned sprints and TODOs to GitLab issues (e26fd19)
- Gate e2e tests behind build tag to make go test ./… fast (bc6ae99)
- Replace bind mounts and port mapping with docker exec transport (78b9ede)
- Hide pre_build_script infrastructure from pipeline output (78a8633)
- Wire execution state persistence and QueryStatus for crash recovery (974b3dd)
- Full pipeline resume: re-dispatch pending jobs via re-prepared ExecutionParams (17c61a4)
- Streamline CLAUDE.md and add review slash commands (91f817e)
- Harden crash recovery: fix bugs, security, performance, and tests (2b8e326)
- Optimize daemon-container communication: per-job locks, binary protocols (15ad633)
- Clean up review nits: defer RemoveTraceWriter, remove dead nil check (a4b6b4c)
- Print daemon restart message to stderr so user sees it (6b52fa1)
- Registry dns fixes (fa73ece)
- Reorganize test targets, expand comprehensive fixture coverage (ec5f3df)
- Enforce retry: and timeout: keywords at runtime (710a888)
- Disable test caching for Docker-dependent make targets (abbc47e)
- Interpolate component inputs in raw bytes before YAML parsing (3e56bcd)
- Show only planned jobs in TUI when pipeline preset filters are applied (0f19705)
- Forward host GitLab token as CI_JOB_TOKEN for real registry/API access (2343482)
- Allow unauthenticated registry reads for step-runner compatibility (0ac0f88)
- Proxy unknown registry manifests/blobs to upstream GitLab registry (54def35)
- Apply preset stage/job filters immediately in startRun (7ca56ee)
- Detect Docker host architecture for cross-compilation in make docker (e55232e)
- Replace bare “pipeline failed” with pretty completion summary (9530447)
- Close Docker/Runner config gaps: pull_policy, ports, cache key files, fallback_keys, artifact reports, executor_opts (#14) (7a48d67)
- Make control event send blocking to guarantee delivery (71ed1e4)
- Address review findings: immediate poll, tests, observability, docs (ef1654e)
- Parallelize pipeline startup for faster time-to-first-job (80565f8)
- Repack bare git repo before upload to shrink transfer size (f8056bd)
- Cache resolved Docker image and RSA keys at daemon level (97b1449)
- Merge Phase 3+4 with channel coordination for parallel startup (5db125f)
- Cache repacked bare repo by HEAD SHA for instant reuse (53896a0)
- Reuse persistent runner container across pipeline runs (d606454)
- Address review findings: security, tests, and documentation (006d8df)
- Address MR review: retry image resolution on failure, validate secrets_ttl (ea18cd0)
- Move e2e job into test stage, build image locally instead of requiring docker-image (cd71008)
- Share DinD Docker layer cache between pipeline runs (5094047)
- Persist CI cache across pipeline runs (2433aad)
- Address MR review: detect truncation, fix config path, acknowledge walk error (539c424)
- Address MR review: close bus and add timeout in streaming tests (3ddd579)
- Address MR review: remove redundant ticker.Stop, harden preparing state, add tests (3f01134)
- Replace DinD cache cp -a seeding with overlayfs (2m+ → instant) (675e00e)
- Switch from overlayfs to hardlink-based DinD cache seeding (ff776b5)
- Address review: don’t mark StatusRunning as retried, don’t mutate input map (d85de41)
- Tag :latest on make docker to keep daemon image in sync (6bc7a56)
- Bump daemon start/stop timeouts to 30s with progress logs (62304e3)
- Address post-merge review of DinD hardlink cache (MR !19) (a0beeb1)
- Parallelise DinD cache seed/writeback with xargs -P (7369f17)
- Move CI cache and registry storage to Docker named volumes (9922ef0)
- Run OCI registry in a sidecar container, off the daemon process (4221a00)
- Tune runner defaults for faster artifact/cache archiving (1ec6071)
- Pre-seed DinD cache volumes in a grow-on-demand pool (6e2d766)
- Tighten DinD pool volume parsing and prune reporting (dadd0e7)
- Harden registry sidecar shutdown and Clean error reporting (abeec79)
- Enable pipefail in DinD seed/writeback scripts (6133b89)
- Self-heal dangling overlay2/l/ symlinks in DinD seed/writeback (29cb76a)
- Bump TestCompatPipeline_Comprehensive job count for docker-buildx-bake (f3433d8)
- Address Duo review on MR !30 (52a72b8)
- Address /review-all findings on rebuildOverlay2LinksScript (ae1a6cc)
- Route host Docker registry pulls via loopback-published port (069cc3e)
- gofmt: realign ExecutionParams after RegistryRunnerHost (5aafba9)
- comprehensive: fatten docker-ops rootfs with busybox applet symlinks (4839182)
- comprehensive: soften pullthrough-image assertion for nested-Docker runs (5a0faa6)
- comprehensive: mark pullthrough-image allow_failure so deploy still runs (e2b4e39)
- rewrite: match $CI_REGISTRY with trailing slash to avoid prefix collisions (2e626cf)
- compat: normalise retried-job duration suffix in status parser (f07ecf1)
- rewrite: also handle $CI_REGISTRY_IMAGE and harden separator matching (cdcf2f4)
- gofmt: realign TestReplaceVarWithSeparator table struct (a544ec6)
- rewrite: pre-expand user variable chains in image refs (3223879)
- registry: add pushthrough proxy to mirror pushes upstream (d8f857c)
- registry: don’t abort pipeline when pushthrough creds are missing (c4ae6a0)
- registry: address Duo pushthrough review feedback (eb5d21a)
- registry: rename pushthrough to push-through for parity with pull-through (17aa807)
- mockserver: return 204 for known-but-served per-job runner tokens (0e6ee04)
- mockserver: silence go-containerregistry library access log (8c136ed)
- daemon: filter benign dind overlay2 cleanup noise from runner logs (abee294)
- daemon: restore original log flags in daemonlog_test cleanups (de02a69)
- mockserver: short-circuit blob misses to skip library 404 logging (71ad899)
- daemon: wait for pool volume to be unmounted before reseed (17deb5d)
- daemon: revert runner log filter now that the source is quiet (dd6e7d7)
- runner: set request_concurrency=2 to silence long-polling warning (6bb7fb7)
- registry: stop proxying blob HEAD to upstream (ee2302f)
- mockserver: speed up registry push-through (52d6bf5)
- mockserver: address Duo review on push-through perf tests (2913d92)
- ci: raise test:simulate job timeout to 15m (09a8471)
- ci: Add automated issue triage via GitLab Duo AI (fca4c5b)
- Apply 1 suggestion(s) to 1 file(s) (431b863)
- Triage gitlab token (c374ba9)
- Issue triage only (9557f3c)
- Input (72f2c00)
- Spec input (41a5b67)
- Fix (8238ab9)
- fix: add YAML document separator after spec block and fix Go image version (d9b2af6)
- ci: add api pipeline source to workflow and issue-triage rules (35a4c4e)
- ci: simplify issue-triage rules — gate on pipeline source only (c9154ac)
- daemon: consolidate mock server and drop in-process registry (504e0bc)
- daemon: restore push-through, simplify dind cache, unblock glci ps (dcc962c)
- daemon: scope mock state per pipeline, fix false-pass + log truncation (9bd6d4f)
- daemon: replace dind cache volume with pull-through mirror + per-job networks (64aab27)
- daemon: lock in blobNotFound sentinel match against library errNotFound (736fc49)
- daemon: register cross-project child pipelines on the mock server (dcaa4e6)
- daemon: synchronous push-through inside the sidecar handler (49135fd)
- daemon: auto-inject buildkit registry cache into docker buildx invocations (3d3cdbd)
- daemon: scope MockServerClient event stream to multiple pipelines (153790c)
- daemon: consolidate per-pipeline config/certs/daemon volumes into shared singletons (abc9ca5)
- daemon: address shared-volume review — stale-file purge, in-process fast path, prune consistency (9549c22)
- glciconfig: gofmt — drop trailing blank doc-comment line on DockerConfig (6c9a727)
- docs: align README/ARCHITECTURE and CLI help with current behavior (0b11290)
- daemon: fix push-through config leak, trace writer leak, git-URL collision, dispatchTrace lock (3fc91e7)
- daemon/mockserver: registry repo-name validation, tarball size caps, cache streaming, O(K) RemovePipeline (fe7ccfa)
- daemon/registry: stream push-through blobs, bound manifest cache, token TTL (3a712dd)
- mockserver: reduce bus/lock contention and flush-copy amplification (687f623)
- daemon: broader env-var log redaction, parallel orphan cleanup, event-stream backoff reset (eddecbb)
- daemon/pushthrough: persistent HTTP client, tuned idle pool, HEAD-outside-semaphore, known-upstream cache (b16f673)
- mockserver: log cache-upload errors and self-heal key-path collisions (d7b1460)
- daemon/pushthrough: eager blob mirror during docker push (f1ad2e1)
- daemon/pushthrough: diagnose 401s that escape auth-transport recovery (0d5d904)
- daemon/pushthrough: restore gitlab-ci-token Basic username, include password in client cache key (1c3cf15)
- daemon/pushthrough: fix 401 on upload and speed up multi-image mirror (9368134)
- daemon/pushthrough: per-blob timing instrumentation + document h2 throttle (ebd9c95)
- cache: add size limit, TTL, and clean command (9054c27)
- daemon/pushthrough: use PATCH+PUT flow and force HTTP/1.1 for uploads (c0d61c0)
- daemon: sanitize git env vars to prevent cross-project contamination (cab2d49)
- runner: derive per-project cache ID from project path (35d0510)
- review fixes: deduplicate cleanGitEnv, harden sharesOrgSuffix, kill orphaned runners (01627eb)
- fix: stream docker build stderr through TLS retry wrapper (9265b12)
- fix: stop and restart daemon when cleaning cache/registry volumes (c83fc8a)
- ci: run only issue triage on scheduled pipelines (e9ef4ef)
- ci: remove duplicate triage job, restrict existing one to schedule only (7b2e1d7)
- ci: install git in issue-triage job (c3e6fdf)
- ci: configure git auth and GOPRIVATE for issue-triage job (7616640)
- ci: add .netrc auth for Go module discovery in issue-triage (2d24d18)
- ci: fix issue-triager module path to gitlab.com/ratchade/issue-triager (8e29ddb)
- ci: fix issue-triage job — install git, bump Go, clone+build (6362851)
- Triage apply (6b329d5)
- fix: support regex flags in rule expressions (e.g. /pattern/i) (9122192)
- fix: validate regex flags and reject unsupported ones (a1f588f)
- Optimize for large repos and startup (0e8ec82)
- Revert daemon init to synchronous startup (cb61354)
- Fix: recover persistent mock when container dies with active pipelines (6aa15b6)
- Make precheck shorter (374af49)
- Integrate glfactory AI agents (5f65080)
- Speed up dirty overlay for large repos by targeting only changed files (73f50b2)
- Deduplicate network connect retry logic and add isNetworkNotFound tests (dfce9fb)
- Show asset names in releases list and support downloading all assets (30784b4)
- Carry forward packages on reuse and allow release updates (ae6e4af)
- Move install script to root: release binary installer + bleeding edge (2c3917c)
- Run glci doctor after binary install (5fbed76)