chore: release v0.17.0

Hardware barcode scanner in the pharmacy Add-item dialog, Separated Panels
in Care team settings, and a pointer cursor on Activity rows. Also fixes
the README changelog badge, which was stuck at 0.14.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalid Abdi
2026-07-19 20:53:53 +03:00
parent 196a22bffd
commit c5812511b5
5 changed files with 22 additions and 4 deletions
+18
View File
@@ -7,6 +7,24 @@ for how releases are cut and published.
## [Unreleased] ## [Unreleased]
## [0.17.0] — 2026-07-19
### Changed
- **Pharmacy Add-item now uses a hardware barcode scanner.** The inventory Add-item dialog is
built for a USB barcode scanner connected to the computer (a keyboard wedge): scanning a
medication types the code as a fast keystroke burst ending in Enter, which is parsed and
auto-fills the Barcode/NDC, expiry (AI 17), and lot (AI 10) fields — no need to focus any input
first. The barcode field also parses on Enter for manual entry. This replaces the camera scanner
in this dialog (the camera scanner stays for importing a patient's wallet code)
(`frontend/components/pharmacy/add-inventory-dialog.tsx`).
- **Care team settings use Separated Panels.** The Care team section now renders as distinct
bordered panels on a muted tray, matching the Preferences and AI settings frames
(`frontend/components/settings/settings-care-team.tsx`).
### Fixed
- **Pointer cursor on Activity rows.** Hovering an entry in the Activity feed now shows the pointer
cursor (`frontend/components/activity/activity-view.tsx`).
## [0.16.0] — 2026-07-18 ## [0.16.0] — 2026-07-18
### Added ### Added
+1 -1
View File
@@ -9,7 +9,7 @@ information as rich record cards — backed by a **patient-owned data model**.
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
[![Docker images](https://img.shields.io/badge/Docker%20Hub-khalidxv-2496ED?logo=docker&logoColor=white)](https://hub.docker.com/u/khalidxv) [![Docker images](https://img.shields.io/badge/Docker%20Hub-khalidxv-2496ED?logo=docker&logoColor=white)](https://hub.docker.com/u/khalidxv)
[![Changelog](https://img.shields.io/badge/changelog-0.14.0-success)](./CHANGELOG.md) [![Changelog](https://img.shields.io/badge/changelog-0.17.0-success)](./CHANGELOG.md)
![temetro AI chat](./.github/assets/screenshot-chat.png) ![temetro AI chat](./.github/assets/screenshot-chat.png)
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "temetro-backend", "name": "temetro-backend",
"version": "0.16.0", "version": "0.17.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.",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "frontend", "name": "frontend",
"version": "0.16.0", "version": "0.17.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.16.0", "version": "0.17.0",
"private": true, "private": true,
"devDependencies": { "devDependencies": {
"shadcn": "^4.11.0" "shadcn": "^4.11.0"