Hi everyone! We’re really excited to share this one. It’s one of the biggest releases we’ve ever shipped: 639 PRs from contributors across 9 organizations!
The patient chart now opens in about half the time it took in 3.7.0. You can print visit summaries, run O3 without Docker, and turn on two-factor authentication, plus a whole lot more. This release is faster, safer, and much nicer to use every day. We can’t wait for you to try it!
Try it: o3.openmrs.org (admin / Admin123) · Download: openmrs-standalone-o3.zip
Please read the full release notes. This post only covers the highlights. The full notes have the complete list of breaking changes, a per-module changelog, implementer highlights, and screenshots of what’s changed. If you’re planning an upgrade, they’re worth 10 minutes of your time.
What’s new
- It’s a lot faster. In our tests, the patient chart opens in about half the time it took in 3.7.0. Search, forms and the order basket are faster too, and the app downloads about half as much code. Platform 2.8.10 also makes patient and drug search 3–6x faster on large databases.
- Printable visit summary. Clinicians can print a visit as a PDF, and admins choose which sections appear.
- Visit timeline replaces the Encounters tab.
- Diagnosis ranking and certainty: primary/secondary and confirmed/provisional.
- Safer patient identification: a distinct banner for deceased patients, and a past visit indicator during retrospective entry.
- WHO growth charts (weight-for-age, under 5) right in the patient chart.
- Redesigned Service Queues with queue numbers, colour-coded wait times, a Clinic Administrator view and scheduled clearing.
- Two-factor authentication with authenticator apps (off by default).
- Metadata Export: copy a server’s setup to another server instead of rebuilding it by hand.
- Built-in monitoring with Grafana dashboards and optional OpenTelemetry export.
- O3 Standalone: run O3 on a single machine without Docker, just unzip and run with Java 17+. Great for evaluation, training and small clinics. Download · User guide
Before you upgrade
Please read the Breaking Changes section. The main ones:
- Offline mode has been removed from O3.
- The manual “clear queue” button is gone. Use the
queue.autoCloseQueueEntriesAtTimeglobal property for scheduled clearing. - Custom roles: the platform now checks some privileges it didn’t before (allergies, programs, cohorts, reporting), and printing a visit summary needs
App: Can generate a Visit Summary. Review your roles so users don’t lose access. - Custom frontend modules: Core v11 removes workspace v1, offline support and rxjs. See the draft migration guide.
Thank you! 
Huge thanks to everyone who made this release happen. That includes the people who wrote code, reviewed PRs, tested and translated, and also everyone who reported bugs, shared feedback from their implementations, designed screens, wrote and updated docs, gathered requirements, joined squad calls, and helped others here on Talk and Slack. Every one of those things shaped 3.8.0. The full list is in the release notes. Releases like this only happen because of you.
Read the full notes
There’s a lot more in 3.8.0 than fits here: billing and registration improvements, form engine changes, security hardening, and every module version bump. It’s all in the full release notes.
If you hit any issues upgrading, reply here or ask in #openmrs3-helpme