Tags give the ability to mark specific points in history as being important
-
stable-v1.0.46
fba8e1a0 · ·Stability checkpoint — root hygiene + SONAR doc + batch CI rule (MR !114) Three batched fixes (per new CLAUDE.md rule "Réduire les vagues CI") : 1. Root hygiene : run.sh moved to bin/run.sh (executable + blame preserved). 10 doc references updated for UI-context callers ; 5 backend-context refs preserved (deployment-{gcp,kubernetes}, technology-stack, infrastructure, testing — those describe commands in the sibling mirador-service repo). UI root file count : 17 → 16 (cap = 15 ; CHANGELOG.md move deferred to next sweep, requires release-please script update). 2. SONAR_TOKEN UI doc improvement : sonarcloud silent-failing >8d on a 'Project not found' error. Updated the allow_failure: true comment with the 3 likely root causes (project deleted, token rotated, user-access lost) and a dated TODO 2026-05-24 so the shield can be removed once one of the 3 is ruled out. No code change : actual fix needs SonarCloud UI + CI vars edit (user action only). 3. CLAUDE.md rule 'Réduire les vagues CI' : codifies the batch-instead-of-micro-MR pattern with explicit justification that local build/lint catches 80% of fails ; the remaining CI fails are recognisable patterns easily debugged from N-commit batches. Saves (N-1) × 10-15 min per CI cycle batched. -
stable-v1.0.45
a624ffe8 · ·Stability checkpoint — About 3-widget extraction (B-7-5 P1B, MR !113) Phase B-7-5 P1B finalises the About-page split started in P1A. 3 substantive tabs extracted as widgets : - AboutOverviewTabComponent (217 LOC — hero SVG + tech badges) - AboutInfraTabComponent (155 LOC — port map + run.sh + ext svcs) - AboutTechTabComponent (52 LOC — A→Z technologies table) 11 small doc-pane shells stay inline in the parent template (each ~20 LOC of pure static link-out — extraction adds friction with no behavioural isolation gain). Counts : - about.component.html : 613 → 251 LOC (-59 %) - about.component.ts : 92 → 77 LOC (post-P1A baseline) Data imports : - overview widget : docsBase passed as required input (parent owns URL) - infra + tech widgets : import from sibling about-data.ts directly, no parent prop drill
-
stable-v1.0.44
d85985f4 · ·Stability checkpoint — security tabs batch + about data extraction (MR !112) 5 security tabs extracted as widgets in one batch (SqliTab + XssTab + IdorTab + JwtTab + AuditTab) — finishes Phase B-7-4 wave : - security.component.html : 542 → 135 LOC (-77%) - security.component.ts : 547 → 430 LOC (-21%) - 8 widgets total live in widgets/ (Mechanisms + CORS + Headers + 5 new) Phase B-7-5 Phase 1A piggybacked on the same MR : about.component.ts data extraction → about-data.ts (TECHNOLOGIES + PORT_MAP + RUN_COMMANDS + QUICK_START hoisted, ~570 LOC of pure data moved out) : - about.component.ts : 652 → 92 LOC (-86%) Bug fix : SqliTab + XssTab presets hoisted to TS constants because Angular template parser chokes on escaped backticks (\`) inside an inline template literal. Same fix pattern documented for future widgets that need quote-laden HTML attribute values. Build : 0 warnings, security-component lazy chunk 183 KB raw / 13.7 KB gzipped (unchanged — pure code reorg, no bundle size delta).
-
stable-v1.0.42
Release: stable-v1.0.427e67418c · ·Stability checkpoint — Security MechanismsTab widget + spec Single MR landed since stable-v1.0.41 (UI !110 → 7e67418) : ♻️ Refactoring (Phase B-7-4 follow-up) - Mechanisms tab catalogue (9 categories, 12 production security mechanisms) becomes 2 self-contained files : - security-mechanisms-data.ts (165 LOC) — typed static data - widgets/security-mechanisms-tab.component.ts (68 LOC) — pure presentational widget, zero inputs, just renders the catalogue 🧪 Tests - widgets/security-mechanisms-tab.component.spec.ts — 4 tests : class export, mechanisms field reference, expected categories present, every entry has non-empty fields + valid status - 312 tests passing across 46 spec files (was 308/45 in 1.0.41) Wins : - security.component.ts : 566 → 426 LOC (-140, -25%) - security.component.html : 626 → 586 LOC (-40) 7 remaining tabs (SQL/XSS/CORS/IDOR/JWT/Headers/Audit) untouched — each requires more parent-state coupling, can be split incrementally in future sessions. Post-merge main pipeline #413 green on SHA 7cd059f. -
stable-v1.0.41
Release: stable-v1.0.4187568f2d · ·Stability checkpoint — Customer widgets + ConfirmModal + 5 specs Single MR landed since stable-v1.0.40 (UI !109 → 87568f2) : ♻️ Refactoring - B-7-2b extension : CustomerDetailPanel + CustomerCreateForm widgets. customers.component.html : 494 → 252 LOC (-49%) net of all extractions. Each widget self-contained with signal inputs + event outputs. - B-7-2c : new ConfirmModal generic widget (shared/) replaces 2 near- identical confirmation modals in customers (Delete + Batch Delete). Reusable for any "are you sure?" UX across the app. 🧪 Tests - 5 widget spec files added : - dashboard-health-probes (statusClass + statusLabel logic tests) - dashboard-quality-summary (smoke) - dashboard-architecture-map (6 topology helpers tested) - customer-detail-panel (smoke) - customer-create-form (form state lifecycle + submit guard tests) - confirm-modal (smoke + variant/defaults) - Total : 308 tests passing across 45 spec files (was 297/42 in 1.0.39 baseline = +11 tests, +3 spec files). 🐛 Bug fix - ConfirmModal outputs renamed cancel/confirm → cancelled/confirmed (eslint @angular-eslint/no-output-native flagged the DOM-event shadowing). Past-tense form keeps semantics + lints clean. Post-merge main pipeline #411 green on SHA a1c731c (final commit of the MR).
-
stable-v1.0.40
Release: stable-v1.0.400f0192fd · ·Stability checkpoint — Dashboard B-6b complete (3 widgets extracted) Single MR landed since stable-v1.0.39 (UI !108 → 0f0192f) : ♻️ Refactoring - B-6b dashboard widget split (1 widget per file pattern). Parent dashboard.component shrinks 745→670 .ts and 505→179 .html (-65% template). 3 standalone widgets extracted : - DashboardHealthProbes (130 LOC) — 3 cards health/readiness/liveness - DashboardQualitySummary (151 LOC) — 4 cards /actuator/quality - DashboardArchitectureMap (149 ts + 175 html) — topology + Docker controls Each widget < 175 LOC, fully self-contained with signal inputs + event outputs. 📚 Type cleanup - New shared interfaces in dashboard-types.ts so widgets reuse parent signal types without duplication : QualitySummary, EnrichedDockerContainer. Post-merge main pipeline #407 green on SHA 0f0192f.
-
stable-v1.0.39
Release: stable-v1.0.3966963259 · ·Stability checkpoint — release-please removal + CI hardening Waves landed since stable-v1.0.38 (2026-04-23) : - release-please removed entirely (MR !102) — replaced by bin/ship/ shell scripts (changelog.sh + gitlab-release.sh). Zero node_modules added, zero CI runner burn per tag. Mirror of svc !169. - grype bumped v0.87.0 → v0.111.0-debug (MR !103) — multi-arch + ships /bin/sh (the non-debug variant broke with "exec: sh not found"). - e2e:kind /actuator/health wait bumped 120s → 10min (MR !104) — cold mvn compile + Spring Boot startup takes 2-5 min under runner pressure ; old ceiling aborted before compilation finished. - workflow:rules allowlist covers `.gitlab-ci/**/*` (MR !105) — Phase B-4 include files now trigger CI. - bin/ship/changelog.sh bug fix (MR !106) — mirror of svc !171 : set -e + `[ 0 -eq 1 ]` was killing the script on chore/ci/build/ style commits when --include-chore was off. Post-merge main pipeline #405 green on SHA 322dc5b (MR !105 merge). MR !106 merged after (bin/ is out of UI workflow allowlist by design) — changelog.sh fix is local tooling, not production code.
-
stable-v1.0.32
ee4c3066 · ·Stability checkpoint — post-!101 (demo.gif regenerated 2.5MB + e2e record-demo fixes : tour overlay dismiss, mobile spec viewportSize, healthcheck path)
-
stable-v1.0.31
0c947ea8 · ·Stability checkpoint — post-!100 (test wave: find-the-bug 16 + incident-anatomy 9 + routes 24 = 49 UI tests)
-
stable-v1.0.30
117ab3a2 · ·Stability checkpoint — post-!99 (test wave: tour-overlay 14 + auth.interceptor 12 + app-error-handler 11 + 500 LOC floor)
-
-
stable-v1.0.28
b2794f4c · ·Stability checkpoint stable-v1.0.28 (UI) — Phase 4.2 wave continued: 11 TelemetryService tests covering all 4 log methods (debug/info/warn/error), Activity timeline integration on errors only, 500-event history cap, clear() scope, append-only chronological ordering. Cumulative UI Phase 4.2 across v1.0.23-28: 100 new UI tests across 8 specs. All 7 untested core UI services from start of session now covered: ActivityService, DeepLinkService, FeatureFlagService, PipelinesService, KeyboardService, Auth0BridgeService, TelemetryService. Post-merge main pipeline #390 SUCCESS.
-
stable-v1.0.27
0b42663f · ·Stability checkpoint stable-v1.0.27 (UI) — Phase 4.2 wave continued: 6 Auth0BridgeService tests covering the SDK→AuthService translation lifecycle (login token storage, error absorption keeping outer stream alive, logout clearing, no spurious actions). Cumulative UI Phase 4.2 across v1.0.23-27: 89 new UI tests across 7 specs. Post-merge main pipeline #388 SUCCESS.
-
stable-v1.0.26
f7cf9ece · ·Stability checkpoint stable-v1.0.26 (UI) — Phase 4.2 wave continued: 18 KeyboardService tests covering all global shortcuts (Ctrl+K search, ?/Esc, G then X navigation 5x, D/R single keys, focus guards) + 1 ESLint regression fix (no-empty-function caught by Phase C flip on mockImplementation(() => {}) — 2nd flip catch this session). Cumulative UI Phase 4.2: 83 new UI tests across 6 specs. Post-merge main pipeline #386 SUCCESS. -
stable-v1.0.25
0e51b083 · ·Stability checkpoint stable-v1.0.25 (UI) — Phase 4.2 wave continued: 11 PipelinesService unit tests covering URL shape (per_page/order_by/sort), proxyBase signal flexibility, both list() + jobs() endpoints. PROJECTS slug URL-encoding pinned. Cumulative UI Phase 4.2 across v1.0.23-25: 65 new UI tests across 5 specs. Post-merge main pipeline #382 SUCCESS.
-
stable-v1.0.24
33792b7e · ·Stability checkpoint stable-v1.0.24 (UI) — Phase 4.2 wave continued: 33 new UI tests across 3 core services (ActivityService 12, DeepLinkService 13, FeatureFlagService 8). Activity timeline contract pinned (newest-first ordering, 200-event cap, monotonic ids). DeepLink URI builders tested (vscode/idea/docker-desktop). FeatureFlag hidden-by-default contract pinned + isAvailable reactivity. Cumulative UI Phase 4.2 across v1.0.23-24: 54 new UI tests. Post-merge main pipeline #380 SUCCESS.
-
stable-v1.0.23
54796a33 · ·Stability checkpoint stable-v1.0.23 (UI) — Phase 4.2 partial: 21 unit tests for quality-helpers.ts (severityColor / priorityLabel / nvdUrl / entriesOf / coverageColor / gitWebUrl / commitUrl). Plus first Phase C ESLint regression caught + fixed: max-lines-per-function on outer describe wrapper in spec files (added eslint-disable comment, regression gate working as designed). Post-merge main pipeline #377 SUCCESS on 54796a3.
-
stable-v1.0.22
5c64b871 · ·Stability checkpoint stable-v1.0.22 (UI) — Phase 4.1 subscribe-leak cleanup: 76 RxJS .subscribe() calls now properly tied to a DestroyRef via takeUntilDestroyed(). 14 components migrated (quality, dashboard, security, chaos, customers, diagnostic, database, activity, settings, login, request-builder, pipelines, audit, maven-site-full) + 1 service (FeatureFlagService). Post-merge main pipeline #374 SUCCESS.
-
stable-v1.0.21
0892ca2b · ·Stability checkpoint stable-v1.0.21 (UI) — Phase B-6 + Phase C combined wave: dashboard.component split (1022→713 ts via dashboard-types + dashboard-topology-data extraction; 1291→59 scss via 8 Sass partials). Phase C ESLint flip warn→error on 6 size/complexity rules (max-lines 700, max-lines-per-function 100, complexity 15, max-params 6, max-depth 4, max-nested-callbacks 4) — regressions now red CI errors. Two legitimate complexity violations (KeyboardService.onKeyDown, TelemetryService.push) carry inline disables with documented reason. Mobile @media safety-net added to 6 components missing one (settings/audit/pipelines/activity/database/incident-anatomy). File-length hygiene wave fully self-enforcing. Post-merge main pipeline #371 SUCCESS on 0892ca2.
-
stable-v1.0.20
6ea0fc18 · ·Stability checkpoint stable-v1.0.20 (UI) — post-v1.0.19 wave: security+db+chaos types extracted to sibling files (~210 LOC moved out of components: security 681→547, database 644→599, chaos 632→600). CLAUDE.md updated with B-7 wave landing table (14 file splits, 12 visible). Post-merge main pipelines #359 (security+db) + #361 (chaos) both SUCCESS.