chore: release v0.13.0

Bump version to 0.13.0 across root/backend/frontend, add the 0.13.0 CHANGELOG
entry, and refresh stale CLAUDE.md docs (the AI chat is real and @ai-sdk/react
is installed; the signing/approval flow is built).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalid Abdi
2026-07-12 21:17:55 +03:00
parent 2c239fbd27
commit 7846dacd42
6 changed files with 49 additions and 11 deletions
+33
View File
@@ -7,6 +7,39 @@ for how releases are cut and published.
## [Unreleased] ## [Unreleased]
## [0.13.0] — 2026-07-12
### Added
- **Prescription date pickers.** The New Prescription dialog's Start/End date now use a proper COSS
date picker (`frontend/components/ui/date-picker.tsx`, Popover + Calendar) instead of the raw
native date input.
- **Working profile fields.** Settings → Profile **Specialty** (a Select) and **Professional links**
(editable rows) are now wired to persisted preferences — previously they were inert stubs.
- **Patient filters.** The Patients page gains a status filter (all / active / inpatient /
discharged) and its search now also matches conditions and allergies.
- **Language quick-switch.** A language submenu in the sidebar user menu (alongside Theme), applied
immediately with Arabic RTL.
- **Wallet app — home & settings.** The patient app home screen adds a quick-action row (Share
record / My wallet / Notifications) and a recent-activity feed; the settings screen adds an About
section (version, docs, blog) and a privacy footer.
### Changed
- **Record history renders in full.** The patient sheet's Record history replaces the fragile
timeline-separator layout with a continuous-rail list, so every audited change shows completely
(and mirrors correctly under RTL).
- **Update banner + AI setup notice.** The "update available" banner now uses the COSS warning Alert
and stays bottom-right under Arabic; the "connect an AI provider" notice is a clearer, thinner bar
shown above the chat input in active conversations too.
- **Wallet app — bottom sheets.** Polished the shared sheet building blocks (spacing, radii, close
and action affordances).
### Fixed
- **Blog reachable.** `blog.temetro.com` was returning 502 due to a custom-domain target-port
mismatch (Ghost listens on 2368); documented and corrected.
- **Docs freshness.** Corrected stale `CLAUDE.md` claims (the AI chat is real and `@ai-sdk/react` is
installed; the signing/approval flow is built) and reduced the vendored `ai-elements` Base UI
type-drift errors.
## [0.12.1] — 2026-07-10 ## [0.12.1] — 2026-07-10
### Changed ### Changed
+5 -2
View File
@@ -31,9 +31,12 @@ repository (published as `temetro`).
> is imported (with optional **temporary share + auto-delete**). Clinic→wallet **record-update push** > is imported (with optional **temporary share + auto-delete**). Clinic→wallet **record-update push**
> and **QR pairing** are built too. See `backend/src/routes/{signing,patients-wallet}.ts`. > and **QR pairing** are built too. See `backend/src/routes/{signing,patients-wallet}.ts`.
> >
> **Also built:** the **AI chat is real** — the frontend streams from the backend's tool-using
> agent (`POST /api/chat`), not mock replies (see `frontend/CLAUDE.md`).
>
> **Still vision, not built:** in-app record editing and cryptographic time-boxing of temporary > **Still vision, not built:** in-app record editing and cryptographic time-boxing of temporary
> shares. The AI chat is still **mock replies**. Email verification is wired but currently **not > shares. Email verification is wired but currently **not enforced** at sign-in (see
> enforced** at sign-in (see `backend/CLAUDE.md`). > `backend/CLAUDE.md`).
## Patient wallet app (sibling repo `~/Desktop/temetro-app`) ## Patient wallet app (sibling repo `~/Desktop/temetro-app`)
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "temetro-backend", "name": "temetro-backend",
"version": "0.12.1", "version": "0.13.0",
"private": true, "private": true,
"type": "module", "type": "module",
"description": "temetro backend — Express + Postgres API with Better Auth (email/password, organizations) and org-scoped patient records.", "description": "temetro backend — Express + Postgres API with Better Auth (email/password, organizations) and org-scoped patient records.",
+8 -6
View File
@@ -12,8 +12,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
`temetro` — an **open-source** clinical "AI middleman" (see the project vision in the root `temetro` — an **open-source** clinical "AI middleman" (see the project vision in the root
`../CLAUDE.md`). This app is the clinician-facing chat UI. It is now **wired to the real `../CLAUDE.md`). This app is the clinician-facing chat UI. It is now **wired to the real
`../backend/`** for authentication and patient data (no longer a standalone UI-only demo); the AI `../backend/`** for authentication and patient data (no longer a standalone UI-only demo). The AI
chat replies are **still mocked** (no LLM call yet). chat is **real**: `components/chat/chat-panel.tsx` streams from the backend's tool-using agent
(`POST /api/chat`) via `useChat` and renders the record data parts it streams back.
- The chat parses `/patient <file#>` (or a bare `/<file#>`) in `components/chat/chat-panel.tsx` and - The chat parses `/patient <file#>` (or a bare `/<file#>`) in `components/chat/chat-panel.tsx` and
renders the record as a horizontal row of cards (`components/chat/patient-cards.tsx`), with small renders the record as a horizontal row of cards (`components/chat/patient-cards.tsx`), with small
@@ -21,7 +22,7 @@ chat replies are **still mocked** (no LLM call yet).
dialog; the Summary card has an **Edit record** button. dialog; the Summary card has an **Edit record** button.
- Patients can be **created and edited** via the shared `components/chat/patient-form-dialog.tsx` - Patients can be **created and edited** via the shared `components/chat/patient-form-dialog.tsx`
(mode `create` | `edit`). The "Add patient" pill in `chat-input.tsx` opens it. (mode `create` | `edit`). The "Add patient" pill in `chat-input.tsx` opens it.
- Non-command messages still get a mock assistant reply. - Non-command messages stream a real reply from the backend agent (`POST /api/chat`).
### Auth & data (talks to `../backend`) ### Auth & data (talks to `../backend`)
@@ -42,7 +43,8 @@ chat replies are **still mocked** (no LLM call yet).
`components/settings/settings-care-team.tsx` manages members + invitations. `components/settings/settings-care-team.tsx` manages members + invitations.
- `.env.local` / `.env.example` hold `NEXT_PUBLIC_API_URL`. - `.env.local` / `.env.example` hold `NEXT_PUBLIC_API_URL`.
The signing / patient-owned-storage / approval features from the root vision are **still not built**. The signing / patient-owned-storage / approval features from the root vision **are built** (clinic
signing key, encrypted share/import, patient approval, clinic→wallet update push, QR pairing).
## Commands ## Commands
@@ -77,8 +79,8 @@ trailer. See the root `../CLAUDE.md` for the project-wide per-folder commit poli
`components.json` (baseColor `neutral`). `components.json` (baseColor `neutral`).
- **`components/ai-elements/`** — a large AI-chat primitive library (`PromptInput`, `Conversation`, - **`components/ai-elements/`** — a large AI-chat primitive library (`PromptInput`, `Conversation`,
`Message`, `Suggestion`, etc.) typed against **AI SDK v6** (`ai` package: `UIMessage`, `Message`, `Suggestion`, etc.) typed against **AI SDK v6** (`ai` package: `UIMessage`,
`ChatStatus`, `FileUIPart`). Note: `@ai-sdk/react` (`useChat`) is **not installed** — chat state `ChatStatus`, `FileUIPart`). `@ai-sdk/react` (`useChat`) **is installed** and drives the live chat
is managed with local React state. (`chat-panel.tsx`) with a custom transport pointed at `POST /api/chat`.
- **`components/sidebar-02/`** — the dashboard sidebar (`SidebarProvider` / `Sidebar` / - **`components/sidebar-02/`** — the dashboard sidebar (`SidebarProvider` / `Sidebar` /
`SidebarInset` from `components/ui/sidebar.tsx`). `app-sidebar.tsx` holds the nav config (New chat `SidebarInset` from `components/ui/sidebar.tsx`). `app-sidebar.tsx` holds the nav config (New chat
· Patients · Settings) + notifications; `team-switcher.tsx` is the `OrgSwitcher` (clinic switch). · Patients · Settings) + notifications; `team-switcher.tsx` is the `OrgSwitcher` (clinic switch).
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "frontend", "name": "frontend",
"version": "0.12.1", "version": "0.13.0",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "temetro", "name": "temetro",
"version": "0.12.1", "version": "0.13.0",
"private": true, "private": true,
"devDependencies": { "devDependencies": {
"shadcn": "^4.11.0" "shadcn": "^4.11.0"