Tags

Tags give the ability to mark specific points in history as being important
  • stable-v1.2.8

    Stability checkpoint — MCP server foundation (14 tools, ADR-0062) + grype CVE suppression for transitive mcp-core
  • stable-v1.2.7

    Stable checkpoint — invariant 6 + JaCoCo per-package gate
    
    Cumulative since stable-v1.2.6 :
    - 3 Spring Boot integration tests for invariant 6 (cascade safety) via
      Testcontainers Postgres : DELETE order cascades lines + Product RESTRICT
    - JaCoCo per-package gate on com.mirador.order >= 30%
      (regression-only ; climb plan to 60% then 90% documented inline)
    - Product gate disabled until controller @WebMvcTest tests land
    - 6/6 ADR-0059 invariants now covered cross-language
    
    Post-merge main pipeline #2480831732 green at 21:28.
  • stable-v1.2.6

    Stable checkpoint — invariant 2 + smoke flow
    
    Cumulative since stable-v1.2.5 :
    - 5 jqwik property tests on Product invariant 2 (stock + price non-negativity)
    - 8 hurl steps in smoke.hurl exercising Order/Product/OrderLine E2E
    - Tests directly against Bean Validation + DB CHECK constraints
    
    Post-merge main pipeline #2480773494 green at 20:12.
  • stable-v1.2.5

    Stable checkpoint — Keycloak host port 9090 → 8888
    
    Cumulative since stable-v1.2.4 :
    - Keycloak Docker host port migrated from 9090 to 8888 to avoid conflict
      with the elgato-mcp-server global host process on dev macOS machines
    - 8090 was considered but already documented as kind ingress port in this repo
    - Updates : docker-compose.yml, bin/run/status.sh, CLAUDE.md, infra/keycloak/README.md
    
    Post-merge main pipeline #2480704203 green at 18:20.
  • stable-v1.2.4

    Stable checkpoint — jqwik invariants 1/3/4/5 + PUT /products
    
    Cumulative since stable-v1.2.3 :
    - 9 jqwik property tests on Order/OrderLine invariants (ADR-0059) :
      * Invariant 1 : total = Σ(qty × unitPriceAtOrder)
      * Invariant 3 : OrderLine.unitPriceAtOrder snapshot immutability
      * Invariant 4 : Order.canTransitionTo (state machine)
      * Invariant 5 : OrderLine.canTransitionTo (state machine)
    - PUT /products/{id} endpoint (404 if absent, no upsert)
    - TASKS.md cleanup
    
    Post-merge main pipeline #2480674225 green at 17:48.
  • stable-v1.2.3

    Stable checkpoint — Order/Product/OrderLine foundation + common SHA aligned
    
    Includes :
    - Product entity (V7 migration + JPA + minimal CRUD)
    - Order entity (V8 migration + JPA + minimal CRUD)
    - OrderLine entity (V9 migration + nested controller)
    - Common submodule bumped to 3e7acba (bump-common-everywhere.sh + ADR-0055)
    
    Post-merge main pipeline #2480584002 green at 15:52.
  • stable-v1.2.2

    Stability checkpoint Java — governance + dashboards in repo + ADR-0058/59 + PROD-READINESS + chaos demo
    
    Achievements vs stable-v1.2.1 :
    - .gitlab/CODEOWNERS (renovate auto-assignee)
    - 3 NEW Grafana dashboards moved to OWN repo (Java-specific Micrometer metrics) :
      - infra/observability/grafana-dashboards/slo-breakdown-by-endpoint.json
      - infra/observability/grafana-dashboards/latency-heatmap.json
      - infra/observability/grafana-dashboards/apdex.json
    - Sloth PrometheusRule moved IN repo : deploy/kubernetes/observability-prom/mirador-slo.yaml
    - wrap-as-prometheusrule.py updated to write LOCAL not SHARED
    - Cosign verify identity regex bumped for new project URL
    - Shared submodule SHA bumped (multiple) :
      - ADR-0058 SLO/SLA via Sloth
      - ADR-0059 renovate base preset workflow
      - PRODUCTION-READINESS.md cross-cutting checklist
      - SLO Overview cross-cutting Grafana dashboard
      - SLO review cadence doc
      - bin/dev/burn-slo-budget.sh chaos demo script
      - docs/demo/live-demo.md interview playbook
      - .gitlab/CODEOWNERS + CHANGELOG + CONTRIBUTING + SECURITY in shared
      - Repo-specific dashboards moved out of shared (per scope discipline)
    
    Validation : main pipeline #859 green sha=57e10b8f55c3d9fd726db2fd30715b12e46e39a9
  • stable-v1.2.1

    Stability checkpoint Java — runbooks + FR sync + dashboards + renovate base + banner
    
    Achievements vs stable-v1.2.0 :
    - 3 SLO runbooks (availability + latency + enrichment) — unblocks Alertmanager 404s
    - README.fr.md fully synced with EN (TL;DR + senior architect matrix + URL fixes)
    - banner.svg refreshed (mention polyrepo + 3 SLOs as code + LTS path)
    - Renovate consolidated via shared base preset + sync script
    - Shared submodule SHA bumped : 3 new dashboards (SLO breakdown, latency heatmap,
      Apdex) + SLO review cadence doc + renovate-base.json
    
    Validation : main pipeline #852 green sha=6e2a68c3f12c58c2786739e6cf7ebe0cd3c77088
  • stable-v1.2.0

    Stability checkpoint Java — green icon + cosign fix + LICENSE + sonar tag fix
    
    Achievements vs stable-v1.1.0 :
    - Green homogeneous icon (radar arcs orange → green to match Spring color)
    - README rewrite : 50+ → 8 badges + hiring TL;DR + 8-row 'What this proves
      for senior architect' matrix + URL fixes (benoit.besson → mirador1)
      + industrial onboarding framing
    - TASKS.md created with SLO + README polish backlog
    - BSD-3-Clause LICENSE
    - SLO/SLA-as-code (Sloth) : 3 SLOs (availability 99%, latency p99, enrichment 99.5%)
      + slo.yaml + sla.md + wrap-as-prometheusrule.py + ADR-0058 cross-cutting
    - CI fixes :
      - Tag all jobs macbook-local (was hitting SaaS quota)
      - sonar-analysis specifically tagged
      - cosign verify identity regex updated for new project URL
    - Shared submodule SHA bumped (ADR-0058 + SLO PrometheusRules + dashboard +
      default-branch check + runner healthcheck)
    
    Validation : main pipeline green (post-merge MR !202).
  • stable-v1.1.0

    Stability checkpoint v1.1 — minor version bump baseline
    
    Aligns Java + UI repos at common 1.1.0 baseline for the next minor cycle.
    
    Java state at this tag (main commit 6dca782) :
    - SB3 wave 8 KafkaConfig V2 overlay (4 KafkaConfigTest errors closed)
    - CORS W3C trace context headers (traceparent / tracestate / baggage)
    - Compat matrix officially closed (5/5 cells green : SB4+J25 / SB4+J21 /
      SB4+J17 / SB3+J21 / SB3+J17)
    - ADR-0061 catalog closed (Entry 2 + Entry 4 status FIXED)
    - OVH budget alert wired (bin/budget/ovh-alert.sh + launchd cron)
    - GitLab Observability docs/ops shipped
    
    Mirror tags : mirador-ui stable-v1.1.0 (UI repo aligned at same minor).
  • stable-v1.0.59

    Stability checkpoint — compat matrix officially closed (MR !200 doc)
    
    Pipeline post-merge green on main commit 6dca782.
    ADR-0061 Entry 2 status flipped PARTIAL → FIXED with the verification table
    showing all 5 cells of the SB3/SB4 × Java17/21/25 matrix exit 0 :
    
    | Cell | Command | Result |
    |---|---|---|
    | SB4 + J25 | mvn verify | BUILD SUCCESS |
    | SB4 + J21 | mvn verify -Dcompat | BUILD SUCCESS |
    | SB4 + J17 | mvn verify -Dcompat -Djava17 | BUILD SUCCESS |
    | SB3 + J21 | mvn verify -Dsb3 | BUILD SUCCESS |
    | SB3 + J17 | mvn verify -Dsb3 -Djava17 | BUILD SUCCESS |
    
    Compat matrix structural debt section in TASKS.md reduced from 🔴 RED to ✅ DONE.
    
    See: previous fixes wave 7 (Jackson V2 overlay) + wave 8 (Spring Kafka 3.3.4 BOM pin + KafkaConfig V2 serializer overlay) covered everything end-to-end ;
    this checkpoint is a doc-only confirmation.
  • stable-v1.0.58

    Stability checkpoint — CORS W3C trace context headers (MR !199)
    
    Pipeline #824 green on main commit e14285d.
    Includes : SB3 wave 8 (KafkaConfig V2 overlay) + CORS allowlist now
    includes traceparent / tracestate / baggage so the UI's OTel Web SDK
    auto-instrumented XHR is no longer rejected at preflight.
    
    Regression test : SecurityConfigTest.corsConfigurationSource_includesW3CTraceContextHeaders.
    
    See: https://gitlab.com/mirador1/mirador-service/-/pipelines/2479221932
  • stable-v1.0.57

    Stability checkpoint — SB3 wave 8 Kafka V2 overlay (KafkaConfigTest 4 errors fixed)
    
    Pipeline #822 green on main commit 2f0685a.
    Stable for SB4+Java25 default + SB3 (584 tests passing across the matrix)
    + SB3+Java17 + SB4+Java21 + SB4+Java17 compat profiles.
    
    ADR-0061 entry 4 status updated PENDING → FIXED in this checkpoint.
    
    See: https://gitlab.com/mirador1/mirador-service/-/pipelines/2479183478
  • stable-v1.0.56

    Stability checkpoint — svc 1.0.56 (wave 7 SB3 Jackson V3 isolation + ADR-0061)
    
    Captures !197 (wave 7) :
    - ADR-0061 : 14-entry SB3/SB4 incompatibility catalog (living doc)
    - 3 SB3 overlays : RecentCustomerBuffer + OpenApiConfig (main + 2 tests)
    - 2 SB3 BOM pins : spring-boot-starter-hateoas + springdoc 2.7.0
    
    Result : 535 SB3 unit tests run (was 0). 4 errors remain (KafkaConfigTest
    V3 transitive leak via Spring Kafka — deferred per ADR-0061 Entry 4).
    Default SB4 profile : intact (12/12 tests on RecentCustomerBufferTest +
    KafkaConfigTest pass).
  • stable-v1.0.55

    Stability checkpoint — svc 1.0.55 (wave 6 SB3 overlay alignment per ADR-0060)
    
    Captures !196 (wave 6) :
    - ADR-0060 : SB3 = prod-grade target, not informational
    - SB3 overlay CustomerController aligned with main's structure :
      * Constructor : 10 → 6 params (added auditService, removed kafka
        template + bio + todo + 2 @Value props)
      * Removed methods (delegated to main siblings) :
        - /{id}/bio + /{id}/todos + /{id}/enrich → CustomerEnrichmentController
        - /slow-query + /export → CustomerDiagnosticsController
      * Added /{id}/audit + patch(Long, PatchCustomerRequest) endpoints
      * Refactored getAll into dispatcher + 2 test-callable helpers
        matching main's getAll/getAllV2 signatures
    
    Local validation pre-merge :
    - ./mvnw -Dsb3 test-compile → green (was failing 4+ errors before)
    - ./mvnw test-compile (default J25) + -Dcompat + -Dcompat -Djava17 → green
    
    Compat re-trigger needed post-tag to validate. Expected impact :
    SB3+J17 + SB3+J21 cells should flip 🔴→🟢 (would bring 5/5 cells green).
  • stable-v1.0.54

    Stability checkpoint — svc 1.0.54 (wave 5 SB3+J17 fixes)
    
    Captures !195 (wave 5) :
    - SB3 antrun config : add J17 test overlay copy step (was missing, only
      in compat profile antrun) → fixes compat-sb3-java17 AggregationServicePropertyTest
      J21+ try-with-resources/VirtualThreads compile error
    - Pin checkstyle 10.21.0 in java17 profile (was 13.4.0 = J21 bytecode → J17
      UnsupportedClassVersionError on compat-sb4-java17 + compat-sb3-java17)
    
    Local validation pre-merge :
    - ./mvnw verify -DskipTests -Djacoco.skip=true → green (J25 + 13.4.0)
    - ./mvnw -Dcompat -Djava17 verify -DskipTests -Djacoco.skip=true → green (J17 + 10.21.0)
    
    Compat re-trigger needed post-tag to validate. Remaining structural debt :
    CustomerControllerTest constructor diff (10 vs 6 params between SB3 overlay
    and main) — wave 6 multi-hour deferred.
  • stable-v1.0.53

    Stability checkpoint — svc 1.0.53 (wave 4 SB3 surgical fixes)
    
    Captures !194 (wave 4) :
    - SB3 RestTestClient stale exclude path (com/example/customerservice → com/mirador/customer)
    - SB3 BOM precedence : explicit version pins for spring-boot-test-*
      (forces 3.4.5 over parent 4.0.5 for test-autoconfigure deps)
    - pre-java25 overlay copy added to SB3 antrun config (matches compat profile)
    
    Local validation pre-merge :
    - ./mvnw -Dsb3 test-compile → reduces 4 compile errors to 1 (CustomerControllerTest constructor mismatch, deferred wave 5)
    - ./mvnw -Dcompat test-compile → green
    - ./mvnw -Dcompat -Djava17 test-compile → green
    
    Compat re-trigger needed post-tag to validate. SB3 cells expected
    to make further progress (PATH_CUSTOMERS + SecurityConfig throws +
    RestTestClient exclude + BOM precedence + pre-java25 overlay all in
    play). Remaining structural debt : CustomerControllerTest constructor
    diff (10 vs 6 params between SB3 overlay and main) — multi-hour
    refactor deferred to wave 5.
  • stable-v1.0.52

    Stability checkpoint — svc 1.0.52 (wave 3 compat fixes + matrix doc refresh + workflow allowlist)
    
    Captures :
    - !192 (wave 3) : 4 surgical compat fixes uncovered by 1.0.51 validation
      * SB3 overlay CustomerController PATH_CUSTOMERS field added
      * SecurityConfig.securityFilterChain throws Exception (SB3-compat, no-op SB4)
      * CustomerNewEndpointsITest 6× .getFirst() → .get(0) (J21+ → universal)
      * J17 test overlay AggregationServicePropertyTest + Maven antrun step
    - !193 (doc) : COMPATIBILITY_MATRIX.md refresh (waves 1+2+3 results) +
      matrix-results/ added to .gitlab-ci.yml workflow:rules:changes allowlist
    
    Compat matrix on main #2478280759 (this commit) :
      ✅ SB4+J21 (wave 2 IT tag-gate worked)
      ❌ SB3+J17 / SB3+J21 / SB4+J17 — !194 (wave 4 SB3 BOM precedence
         fixes + pre-java25 overlay copy) not yet merged when compat ran.
         Re-trigger expected post-!194 merge for full validation.
    
    See COMPATIBILITY_MATRIX.md for the 4-wave evolution table.
  • stable-v1.0.51

    Stability checkpoint — svc 1.0.51 (J17 API overlays + IT tag-gating)
    
    Validates the full compat matrix surgical-fix wave :
    - J17 cells : src/main/java-overlays/java17/com/mirador/customer/AggregationService.java
      + inline page.get(size-1) replacing page.getLast() (J21+ API)
    - SB4+J21 IT cell : @Tag("integration") on AbstractIntegrationTest +
      failsafe <excludes>**/*ITest.java</excludes> in compat + sb3 profiles
    - ApiExceptionHandler.java:61 switch-case _ → ignored (J21 preview-feature fix)
    
    See COMPATIBILITY_MATRIX.md + ADR-0058 for the full wave context.
    Post-merge main pipeline #2478103055 confirmed green on 7d87548.
  • stable-v1.0.50

    Stability checkpoint — switch case pattern fix + matrix validation doc (MR !190)
    
    Closes the originally-listed regressions tracked in
    COMPATIBILITY_MATRIX.md after surgical fix sweep :
    - catch+try-with-resources  patterns (svc 1.0.49 covered)
    - switch case  pattern in ApiExceptionHandler.java:61 (this tag)
    - Maven java17 profile precedence (svc 1.0.49 covered)
    - ArchTest kafka method-level + demo controller exclusion (1.0.49)
    
    COMPATIBILITY_MATRIX.md updated with validation results from
    re-triggered compat jobs on pipeline #802. Documents the new
    structural issues exposed (J17 API overlays for Virtual Threads +
    List.getLast, SB4+J21 IT infra) — these are pre-existing debt
    addressed in the next MR (!191).