Releases: IcebergAI/IcebergTTX
Releases · IcebergAI/IcebergTTX
Release list
v0.1.0-beta.3
Container image published to GHCR — SBOM + SLSA provenance attested, cosign-signed:
ghcr.io/icebergai/iceberg-ttx:0.1.0-beta.3
Pull, verify (cosign / attestation), and deploy instructions: docs/RELEASING.md.
What's Changed
- feat(ui): tokenise team-scent pills (light + dark) by @richardmhope in #196
- feat(ui): regroup the nav rail and give the topbar real context by @richardmhope in #197
- feat(ui): rebuild the facilitator console around one command bar by @richardmhope in #198
- feat(ui): rebuild the comms inbox and settings layouts by @richardmhope in #199
- docs: regenerate every screenshot, and script the capture by @richardmhope in #200
- perf: index the foreign keys, and batch the comms inbox's sender-team resolution by @richardmhope in #215
- docs: reconcile the docs with what the app actually does by @richardmhope in #217
- fix: stabilize Playwright authentication transitions by @Scriptception in #226
- build(deps): bump the python-dependencies group across 1 directory with 4 updates by @dependabot[bot] in #225
- build(deps): bump docker/build-push-action from 6.19.2 to 7.3.0 by @dependabot[bot] in #224
- build(deps): bump docker/setup-buildx-action from 3.12.0 to 4.2.0 by @dependabot[bot] in #223
- build(deps): bump actions/attest-build-provenance from 3.0.0 to 4.1.1 by @dependabot[bot] in #222
- build(deps): bump docker/metadata-action from 5.10.0 to 6.2.0 by @dependabot[bot] in #221
- build(deps): bump docker/login-action from 3.7.0 to 4.4.0 by @dependabot[bot] in #220
- feat: add runtime email settings by @Scriptception in #228
- fix: make communications usable on phones by @Scriptception in #229
- feat: add opt-in dense console controls by @Scriptception in #230
- feat: tint arbitrary scenario teams by @Scriptception in #231
- feat: add runtime general and rate-limit settings by @Scriptception in #233
- fix: explain disabled email invitations by @Scriptception in #236
- refactor: centralize shared exercise helpers by @Scriptception in #234
- fix: keep unread badge live across routes by @Scriptception in #232
- feat: add runtime LLM settings by @Scriptception in #235
- fix: make triggered communications restart safe by @Scriptception in #240
- feat: add runtime OIDC settings by @Scriptception in #241
- feat: add effective configuration view by @Scriptception in #242
- refactor: centralize exercise projection data by @Scriptception in #239
- docs: capture milestone delivery safeguards by @Scriptception in #243
- refactor: introduce a post-commit domain-event seam (#212) by @richardmhope in #244
- refactor: give User an owning service, push router queries down, and state the schema rule (#214) by @richardmhope in #246
- fix: re-arm a scheduled release when the team reaches it (#218) by @richardmhope in #247
- docs: record the conftest/timer testing traps and the manual issue-close rule by @richardmhope in #248
- release: v0.1.0-beta.3 by @richardmhope in #249
Full Changelog: v0.1.0-beta.2...v0.1.0-beta.3
v0.1.0-beta.2
Container image published to GHCR — SBOM + SLSA provenance attested, cosign-signed:
ghcr.io/icebergai/iceberg-ttx:0.1.0-beta.2
Pull, verify (cosign / attestation), and deploy instructions: docs/RELEASING.md.
What's Changed
- Docs: align install/deploy guides with uv + GHCR release by @richardmhope in #109
- Post-beta review hardening refinements by @richardmhope in #110
- Add in-app beta feedback link with version context (#118) by @richardmhope in #119
- AAR: exercise timeline / replay view (#111) by @richardmhope in #120
- AAR: facilitator debrief notes (#112) by @richardmhope in #121
- AAR: generated after-action report (#113) by @richardmhope in #122
- Relabel facilitator ops-panel toggle "Ops panel" by @richardmhope in #123
- docs: scenario cookbook + changelog page on the site (#115) by @richardmhope in #124
- docs: facilitator guide + screenshot walkthrough (#114) by @richardmhope in #159
- Pacing: exercise clock + optional scheduled inject release (#116) by @richardmhope in #162
- Fix Kubernetes backup execution by @Scriptception in #141
- Fix published image tag in release notes by @Scriptception in #146
- Add a unified local development command by @Scriptception in #152
- Return 404 for unknown exercise members by @Scriptception in #153
- Meet WCAG contrast requirements by @Scriptception in #154
- fix(a11y): associate scenario and settings form labels by @Scriptception in #158
- Require explicit branch choices for inject responses by @Scriptception in #161
- Make exercise lifecycle transitions atomic, durable, and realtime by @Scriptception in #157
- Define legacy design token aliases by @Scriptception in #155
- Fix mobile facilitator console overflow by @Scriptception in #156
- fix: report attendance by enrolled role by @Scriptception in #164
- fix: use atomic per-user communication read receipts by @Scriptception in #165
- fix: reconcile Alembic migration heads by @Scriptception in #178
- fix: enforce transactional concurrency invariants by @Scriptception in #167
- fix: deduplicate multi-team triggered communications by @Scriptception in #170
- fix: validate and atomically persist LLM results by @Scriptception in #173
- feat: add group-aware scenario progression by @Scriptception in #177
- fix: add compact mobile navigation shell by @Scriptception in #175
- docs: document protected-main governance controls by @Scriptception in #166
- ci: add Pyright type checking by @Scriptception in #168
- fix: centralize scenario-domain validation by @Scriptception in #169
- fix: preserve completed exercise history by @Scriptception in #171
- fix: enlarge touch targets across the console by @Scriptception in #174
- fix: make modal overlays keyboard accessible by @Scriptception in #181
- fix: make attachment cleanup recoverable by @Scriptception in #172
- Email (SMTP) + self-service password reset (#117, PR 1/2) by @richardmhope in #179
- Participant invites over SMTP (#117, PR 2/2) by @richardmhope in #180
- fix: consolidate security advisory remediation by @Scriptception in #182
- release: prepare v0.1.0-beta.2 by @Scriptception in #193
Full Changelog: v0.1.0-beta.1...v0.1.0-beta.2
v0.1.0-beta.1
Container image published to GHCR — SBOM + SLSA provenance attested, cosign-signed:
ghcr.io/icebergai/iceberg-ttx:0.1.0-beta.1
Pull, verify (cosign / attestation), and deploy instructions: docs/RELEASING.md.
What's Changed
- Platform polish, samples, and role preview by @Scriptception in #1
- [codex] Polish shell navigation and preview UX by @general-grivas in #2
- [codex] Add exercise-scoped group injects by @general-grivas in #3
- [codex] Improve exercise communications workflow by @general-grivas in #4
- [codex] Redesign scenario editor builder by @general-grivas in #5
- [codex] Add linear inject flows and team comments by @general-grivas in #6
- Document Phase 15: linear inject flows + team comments by @richardmhope in #7
- Clean up lint/security findings; add bandit + vulture config by @richardmhope in #26
- Security hardening: P0/P1 auth fixes + audit logging (#8 #9 #10 #11 #23) by @richardmhope in #27
- Async DB migration (asyncpg/AsyncSession), Postgres-only, + skill alignment by @richardmhope in #29
- Clear tech-debt backlog: Alembic, logging, task lifecycle, DRY, cycle-detection by @richardmhope in #33
- Hoist unnecessary function-local imports to module top by @richardmhope in #34
- Rename project from Deep Thought to IcebergTTX by @richardmhope in #41
- Fix README CI badge URL after repo rename by @richardmhope in #42
- Fix WebSocket DB-pool exhaustion (#35) and observer broadcasts (#38) by @richardmhope in #43
- Fix scenario/inject/comm correctness (#37, #39, #40) by @richardmhope in #44
- Add Apache-2.0 license, project metadata, and repo hygiene by @richardmhope in #45
- Fix README async promote snippet and stale DB comment by @richardmhope in #48
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #47
- Bump actions/checkout from 4 to 7 by @dependabot[bot] in #46
- Restyle UI to the shared Iceberg design system by @richardmhope in #50
- Security hardening P2 (#13, #14, #15, #16) by @richardmhope in #51
- Refactor: dedupe exercise→scenario→definition resolution (code smell #1) by @richardmhope in #52
- Refactor: resolve code smells #2–#8 (batched) by @richardmhope in #53
- Perf: bound rate-limiter memory (#49) + memoise scenario parse (#22) by @richardmhope in #54
- Swap python-jose for PyJWT by @richardmhope in #55
- Replace hand-rolled cycle detection with stdlib graphlib by @richardmhope in #56
- Trust X-Forwarded-For only from the proxy via uvicorn (fixes #36) by @richardmhope in #57
- Store small list columns as native JSONB by @richardmhope in #58
- CI: pin GitHub Actions to commit SHAs (CICD-SEC-3) by @richardmhope in #59
- Harden container/k8s IaC (PSS restricted, TLS, NetworkPolicy) by @richardmhope in #60
- Run tests in parallel with pytest-xdist (-n auto) by @richardmhope in #62
- Scope facilitator access per-exercise via ownership (#12) by @richardmhope in #63
- Ship audit events to a SIEM (#24) by @richardmhope in #64
- Beta readiness: admin bootstrap CLI, self-hosted Alpine + CSP, SECURITY.md scope by @richardmhope in #76
- Ignore unknown .env keys (fix local dev crash on shared compose/app .env) by @richardmhope in #78
- Run bandit + pip-audit in CI (closes #72) by @richardmhope in #79
- Lint the workflows in CI with zizmor + actionlint (closes #81) by @richardmhope in #83
- Strict CSP: @alpinejs/csp build + app-level security headers (closes #77) by @richardmhope in #84
- Add OIDC/SSO authentication (Entra, Okta, Auth0, Authentik) (#25) by @richardmhope in #85
- Add DB-aware readiness probe; keep liveness DB-free (closes #71) by @richardmhope in #86
- Add community-health files and backup/restore docs by @richardmhope in #87
- Replace nginx with Caddy; authenticate WebSockets via cookie (closes #68) by @richardmhope in #88
- Registration controls: REGISTRATION_ENABLED toggle + rate limit (closes #67) by @richardmhope in #89
- Add Zensical GitHub Pages site (Iceberg-styled) by @richardmhope in #90
- Add CodeQL analysis workflow (closes #80) by @richardmhope in #91
- Fix website correctness + hero button contrast in light mode by @richardmhope in #92
- Pluggable AI providers: Anthropic, Bedrock, OpenAI, Ollama, Gemini (#26) by @richardmhope in #93
- Fix caddy booboo by @richardmhope in #94
- Update readme with deprecated local install by @richardmhope in #95
- Tidy up old files by @richardmhope in #98
- Outbound HTTP proxy for LLM, SIEM and OIDC egress (#97) by @richardmhope in #99
- Show every active exercise; stop guessing which one is "live" (#96) by @richardmhope in #100
- Docs: update test count to 392 after #96 by @richardmhope in #101
- Admin-driven password reset (#66) by @richardmhope in #102
- Adopt uv + lockfile for reproducible builds (#73) by @richardmhope in #103
- Single-source the version from package metadata (#73) by @richardmhope in #107
- Release workflow + GHCR publish + versioning docs (#73) by @richardmhope in #108
New Contributors
- @Scriptception made their first contribution in #1
- @general-grivas made their first contribution in #2
- @richardmhope made their first contribution in #7
- @dependabot[bot] made their first contribution in #47
Full Changelog: https://github.com/IcebergAI/IcebergTTX/commits/v0.1.0-beta.1