# Changelog
All notable user-facing changes to Rallyve. Entries are written manually
at the end of each batch of related deploys. Format follows
[Keep a Changelog](https://keepachangelog.com/) loosely: `Added`,
`Changed`, `Fixed`, `Security`, `Deprecated`.
The newest entry is on top.
---
## 2026-05-15
### Added
- **Two-column login** with product pitch, customer testimonial, and
trust badges (Phase 38).
- **Onboarding tour** — first-login card stack walks new users through
Groups, tasks, AI import, and inviting teammates (Phase 40).
- **`/admin/integrations`** route — all organization-level integrations
(API keys, outbound webhooks, Gemini API key, Google Calendar,
Audit-log retention) moved out of personal `/settings` and into a
dedicated admin-only page (Phase 44 audit #3).
- **`/admin/security`** route — admins can require MFA for every member
and tighten the idle session timeout (1 h – 7 d) (Phase 43).
- **GDPR data export** — `/settings → Your data → Download JSON`.
- **Account deletion** — `/settings → Your data → Schedule account
deletion`. 30-day grace; cancel by signing back in.
- **Feedback widget** — bottom-corner floating button on every
dashboard page.
- **`/changelog`** + **`/help`** pages (this one).
- **External health probes** — `/api/health/db` and `/api/health/auth`
for uptime monitors.
- **SEO foundation** — sitemap, robots, OG card, JSON-LD.
### Changed
- **`/settings/environments` → `/manage/groups`** — URL now matches
the sidebar label and page heading. Old path 308-redirects (Phase 44
audit #1).
- **Search input scoped to task pages only** — the always-on
"Search tasks…" placeholder no longer shows on `/settings`,
`/admin`, `/users`, `/audit`, `/analytics`, etc. (Phase 44 audit #2).
- **Workspace selector single source of truth** — sidebar and page
header always agree; no more silent fallback to a different Group
when no `?space=` param is set (Phase 44 audit #5 / #6).
- **Terminology unified** — `Organization`, `Group`, `Task`. Banned:
`Workspace`, `Environment`, `Company`, `Tenant` (user-facing copy
only; internal identifiers unchanged). See `docs/glossary.md`.
- **`/admin` subtitle** for Rallyve staff: `Cross-organization view` →
`Organization overview · {org}` (Phase 44 audit #4).
### Fixed
- Page-wide horizontal "jump" when opening a status / workspace
dropdown — react-remove-scroll's compensation padding is now
blocked because we already reserve scrollbar space (Phase 44 audit).
- Sidebar disappearing on desktop in some locales after the RTL
refactor — Phase 43.4 transform now scoped to mobile only.
- Column headers in tables no longer center-align while data starts at
the column edge; both now use `text-start`.
- Calendar ID field now exposes a Copy button and validates the
email-style format on save (Phase 44 audit #8).
### Security
- **Org-level MFA enforcement** (Phase 43).
- **Idle session timeout** enforced server-side (Phase 43).
- **SSRF guard** on outbound webhook URLs — private / loopback /
link-local / cloud-metadata IPs rejected at create, update, and
fire time (M-1).
- **Attachment MIME validation** — allow-list of safe types + magic-byte
sniff that rejects executables disguised as images (M-2).
- **Audit log every change** to org-level settings (MFA toggle,
timeout, integrations, retention).
What's new
User-facing changes to Vesper, newest first. Hand-curated, not auto-generated.