# Changelog All notable changes to Neon Medical Tracker are documented here. ## [Unreleased] - 2026-06-30 ### Added - Added a public medical reference hub at `/` focused on medicines, symptoms, terminology, conditions, research, tracker access, and admin access. - Added a searchable medicine catalog with thousands of records and dynamic medicine detail pages at `/medicine.php?id=...`. - Added medicine detail fields for active ingredient, chemical name, common brand names, generic/alternate names, class, family, tracking notes, and external reference links. - Added public medicine-source refresh support through the admin dashboard and `scripts/update_medicine_catalog.php`. - Added data import/update support for RxNorm, DailyMed, and openFDA. - Added a searchable symptom reference database at `/symptoms.php`. - Added dynamic symptom detail pages at `/symptom.php?id=...`. - Added 242 seeded symptom records grouped by body system/category, with tracking notes, urgency-context notes, search terms, and MedlinePlus links. - Added a searchable condition reference database at `/workouts.php`. - Added dynamic condition detail pages at `/condition.php?id=...`. - Added 203 seeded condition records grouped by clinical category, with overviews, tracking notes, and MedlinePlus links. - Added dynamic medical terminology detail pages at `/term.php?id=...`. - Added combined medical library search across symptoms, terminology, conditions, medicines, and research-study links. - Added search-result ordering so direct symptom and condition name matches rank above broad category/overview matches. - Added related-record sections on dynamic detail pages, linking conditions, symptoms, terms, medicines, and research records where available. - Added admin dashboard support for managing profiles and refreshing medication sources. - Added profile-scoped medical tracker data for medication logs, vitals, labs, symptoms, allergies, appointments, immunizations, and notes. - Added route documentation for all dynamic medicine, symptom, condition, and terminology endpoints. - Added responsive overflow protections for long chemical names, brand names, reference URLs, symptoms, conditions, and directory rows. ### Changed - Renamed the project focus from a workout/nutrition tracker to a medical tracker and medical reference database. - Reworked the homepage from a marketing-style landing page into a direct medical reference hub. - Reworked `/nutrition.php` from nutrition tracking content into the medicine catalog route. - Reworked `/workouts.php` from workout planning content into the condition database route while keeping the legacy URL for compatibility. - Reworked `/medical.php` into a combined searchable library for symptoms, terms, conditions, medicines, and study links. - Reworked medicine and terminology list views from dense cards into compact searchable directory rows with dynamic detail links. - Updated profile management so public profile creation is no longer part of the site flow; profile creation is handled through admin/tracker tools. - Updated `README.md` to match the current medical-reference app, current routes, current data counts, source update process, and API actions. - Preserved legacy fitness, nutrition, supplement, routine, workout, and body-metric data structures as optional wellness context inside the tracker. ### Removed - Removed the public signup form and public signup JavaScript. - Removed the `public_signup` API action. - Removed signup links from the public header, footer, homepage, and condition pages. - Removed unused signup/showcase CSS from the public stylesheet. - Replaced `/signup.php` with a simple redirect to `/tracker.php` for legacy links. ### Fixed - Fixed text overflow on long medicine names, chemical names, brand lists, source URLs, and compact database rows. - Fixed searchable medicine and terminology pages so entries have shareable dynamic pages instead of only inline catalog cards. - Fixed condition and symptom search behavior so relevant name matches appear first. - Reduced one-time SQLite seeding lock risk by wrapping symptom catalog seeding in a short transaction and skipping once populated. ### Verified - Verified dynamic medicine, symptom, condition, and terminology routes return `200` for representative records. - Verified legacy `/signup.php` returns `302` to `/tracker.php`. - Verified `api.php?action=public_signup` returns `404`. - Verified current SQLite snapshot counts: 6,002 medicines, 242 symptoms, 203 conditions, 23 terms, and 9 research-link categories. - Verified browser layout checks for medicine, symptom, and terminology pages at desktop and mobile widths with no horizontal overflow. ## Earlier Scope ### Added - Added the original multi-user tracker foundation with SQLite storage. - Added user profiles with role, status, contact details, care focus, height, theme mode, and accent color. - Added first-user-is-admin behavior. - Added admin user-management dashboard. - Added daily, weekly, and monthly planning views. - Added workout, routine, exercise, nutrition goal, nutrition log, supplement, supplement log, body metric, medication log, vital log, lab result, symptom log, allergy, appointment, and immunization tables. - Added built-in exercise and supplement libraries. - Added neon theme styling with dark mode default, light mode support, and green, blue, red, pink, and orange accents.