Dernières releases
Nous améliorons constamment O3. Cette page affiche la dernière release GitHub taguée pour une sélection de dépôts O3. C’est un tableau de bord de releases, pas un journal complet de tous les modules frontend.
Utilisez-la pour repérer les mouvements des packages O3 courants, puis vérifiez le fichier spa-assemble-config.json de votre distribution pour confirmer quels modules et quelles versions sont réellement inclus dans votre environnement. Chaque titre de dépôt et chaque lien “Voir toutes les releases” ouvre la page des releases GitHub du dépôt.
Plateforme
Core
v11.0.0
Publié le: 6 oct. 2026
What's Changed
⚠️ Breaking changes
- (BREAKING) Extension system should not re-derive in full on every write by @ibacher in #1856
- (BREAKING) O3-5853: Use browserslist to compile JS in modern format by @ibacher in #1868
- (BREAKING) Switch from the style-loader to CSS loader in production mode by @ibacher in #1869
- (BREAKING) Upgrade to SWR 2.5.1 by @ibacher in #1873
- (BREAKING) Remove offline & rxjs support from framework by @ibacher in #1894
- (BREAKING) O3-6029: Remove workspace v1 by @chibongho in #1893
🚀 New features
- (feat) O3-5767: Redirect to Location header URL on session endpoint calls by @dilankavishka in #1797
- (feat) O3-5849: Improve the Workspace2 unsaved-changes confirmation modal by @denniskigen in #1823
- (feat) Adopt ESLint 9 and the shared @openmrs/eslint-config by @denniskigen in #1827
- (feat) O3-5872: Add support for static compression of frontend by @ibacher in #1838
- (feat) O3-5800: Add a two-factor authentication page and TOTP enrollment modal by @dilankavishka in #1819
- (feat) Add a distribution-controlled version property by @ibacher in #1815
- (feat) Federate most of the Module Federation runtime by @ibacher in #1853
- (feat) Remove
useVisitContextStorere-render amplification by @ibacher in #1859 - (feat) Make pagination functions stable references by @ibacher in #1861
- (feat) Improve guards in dynamic-loading to prevent duplicate requests by @ibacher in #1862
- (feat) Fail assemble by default if things are obviously broken by @ibacher in #1795
- (feat) O3-5857: Share @carbon/react in openmrs-esm-core by @omsrivastava512 in #1836
- (feat) Improvements to the expression evaluator by @ibacher in #1884
- (feat) O3-5986: Let attachments be recorded on and read by encounter by @denniskigen in #1887
- (feat) Add a metadata export pictogram by @denniskigen in #1891
- (feat) O3-5838: Implement TOTP verification page by @dilankavishka in #1844
- (feat) O3-6000: Allow extensions and workspaces to access their metadata by @chibongho in #1899
- (feat) Ensure the app shell is preloaded upfront by @ibacher in #1912
- (feat) Add a loading screen and update the application error screen by @ibacher in #1921
- (feat) Add a patient documents pictogram by @denniskigen in #1924
- (feat) Add cohorts, concept dictionary, data entry and reports pictograms by @denniskigen in #1927
- (feat) O3-5823: Add certainty display and blue/gray defaults to diagnosis tags by @denniskigen in #1881
- (feat) O3-6007: Add ExportedWorkspace component by @chibongho in #1901
- (feat) Add a system administration pictogram by @denniskigen in #1932
- (feat) Allow a workspace to override the size of its containing window by @ibacher in #1930
🐛 Bug fixes
- (fix) Resolve workspace2 lifecycles by workspace uuid instead of stack index by @denniskigen in #1807
- (fix) Honor the invalid prop in OpenmrsDatePicker mocks by @denniskigen in #1814
- (fix) Switch to using contenthash for shell files by @ibacher in #1810
- (fix) O3-5816: Stop LocationPicker crashing when no login locations are configured by @suubi-joshua in #1818
- (fix) Exclude the CodeSnippet copy button from the primary button override by @denniskigen in #1821
- (fix) Read past the first page in the docs workflow lookups by @denniskigen in #1840
- (fix) O3-5874: Handle regional locales in the change language modal by @denniskigen in #1832
- (fix) Add the growth chart app to the cross-repo E2E environment by @denniskigen in #1848
- (fix) Match workspace scopes relative to SPA base by @denniskigen in #1857
- (fix) Import map and routes should be cached by @ibacher in #1855
- (fix) Mount all single-spa parcels in a single long-lived parcel by @ibacher in #1858
- (fix) Pin framework to app shell version by @ibacher in #1863
- (fix) Ensure slot-specific configuration are correctly passed everywhere by @ibacher in #1870
- (fix) Move hard lifecycle stop to framework instead of single-spa by @ibacher in #1867
- (fix) When using yarn run:shell ensure we serve CSS files by @ibacher in #1872
- (fix) Release broken parcel DOM references by @ibacher in #1874
- (fix) Pass the browserslist targets to the app shell's CSS minimizer by @denniskigen in #1885
- (fix) Navigate should refuse non-HTTP URLs by @ibacher in #1898
- (fix) Show the location picker from "Change location" when chooseLocation is disabled by @NethmiRodrigo in #1908
- (fix) Place the app shell's loading spinner and error page in the body grid's app area by @denniskigen in #1904
- (fix) Let openmrs develop pick a port on hosts without IPv6 by @denniskigen in #1903
- (fix) Run the login provider loginUrl validator against the provider object by @NethmiRodrigo in #1909
- (fix) Declare uuid as a dependency of esm-styleguide by @denniskigen in #1913
- (fix) Suppress Basic auth prompts for paginated REST requests by @denniskigen in #1906
- (fix) Stop precompressing source maps in openmrs build by @denniskigen in #1916
- (fix) Check IPv4 loopback explicitly when selecting ports by @denniskigen in #1915
- (fix) Support authentication failures from the backend by @ibacher in #1918
- (fix) Give the help menu button an accessible name by @denniskigen in #1914
- (fix) Clear the shared SWR cache on logout by @denniskigen in #1919
- (fix) Minimize churn from config updates when there are many extensions by @ibacher in #1922
- (fix) O3-5981: Coerce error reasons to strings before showing the error toast by @palvk4469 in #1888
- (fix) Give Service queues its own pictogram by @denniskigen in #1926
- (fix) O3-6028: Pass locationsPerRequest to the login location picker and drop numberToShow by @NethmiRodrigo in #1920
- (fix) Render the page header title as a heading by @denniskigen in #1929
- (fix) Reduce loading spinner to smaller size by @ibacher in #1931
- (fix) Framework and E2E test fixes by @ibacher in #1934
🧪 Tests
- (test) O3-3853: Expand unit test coverage for the datepicker component by @Josephkagimu1 in #1809
📝 Documentation
- (docs) Rewrite the openmrs CLI README around how it's used by @denniskigen in #1905
🧹 Housekeeping
- (chore) Bump @openmrs/eslint-config to ^1.0.0 and eslint to ^9.39.0 by @denniskigen in #1831
- (chore) Bump @openmrs/eslint-config to ^2.0.0 by @denniskigen in #1835
- (chore) Update translations from Transifex by @openmrs-bot in #1837
- (chore) Update translations from Transifex by @openmrs-bot in #1843
- (chore) Fix docs build by @ibacher in #1842
- (chore) Pin e2e CI installs to the lockfile by @denniskigen in #1847
- (chore) Bump @openmrs/eslint-config to ^2.1.0 by @denniskigen in #1841
- (chore) Clean build outputs before bundle size comparison by @denniskigen in #1860
- (chore) Push docs commits with the App token so PR checks re-run by @ibacher in #1865
- (chore) Bump the github-actions by @dependabot[bot] in #1830
- (chore) Upgrade turbo to latest by @ibacher in #1907
- (chore) Adopt the shared Prettier configuration by @denniskigen in #1892
- (chore) Retry failed cross-repo E2E tests by @jayasanka-sack in #1917
- (chore) Capture E2E server logs with the shared capture-docker-logs action by @denniskigen in #1928
- (chore) Stop generating unused build manifests by @ibacher in #1935
- (chore) Update the release workflow by @jayasanka-sack in #1938
New Contributors
- @Josephkagimu1 made their first contribution in #1809
- @omsrivastava512 made their first contribution in #1836
- @palvk4469 made their first contribution in #1888
Full Changelog: https://github.com/openmrs/openmrs-esm-core/compare/v10.0.0...v11.0.0
Workflows patient
Fiche patient
v13.0.0
Publié le: 8 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v13.0.0 -->What's Changed
⚠️ Breaking changes
- (BREAKING) O3-5851: Retire the visit summary Encounters tab by @UjjawalPrabhat in #3585
- (BREAKING) Remove support for offline from patient-chart by @ibacher in #3689
🚀 New features
- (feat) O3-5763: Expose visit summary as a reusable extension by @UjjawalPrabhat in #3419
- (feat) O3-5798: Add past visit indicator to patient banner by @Janani-Balasooriya in #3458
- (feat) O3-5815: Return ICD-11 codes for diagnoses in the form-entry datasources by @denniskigen in #3479
- (feat) Order basket should try to rely on server-side dates by @ibacher in #3507
- (feat) O3-5677: Add print visit summary button to visit history row actions by @BlessedAmrita in #3484
- (feat) O3-5850: Support concept reference ranges in the Angular form engine by @Nahid-NHB in #3546
- (feat) O3-5876: Migrate growth chart app into Patient chart by @dilankavishka in #3573
- (feat) O3-5889: Support fullWidth configuration for the obs-by-encounter widget by @denniskigen in #3586
- (feat) O3-5851: Make the visit summary Timeline expandable by @UjjawalPrabhat in #3534
- (feat) O3-5839: Differentiate the patient banner for deceased patients by @VeronicaMuthee in #3521
- (feat) O3-5851: Paginate the visit summary Timeline by @UjjawalPrabhat in #3598
- (feat) O3-5934: Map fhir person-attribute extensions to patient attributes in form-entry by @donaldkibet in #3601
- (feat) Remove usage of old launchWorkspace function by @chibongho in #3696
- (feat) Add back navigation to clinical forms by @denniskigen in #3745
- (feat) O3-5823: Capture diagnosis rank and certainty in the visit note by @VeronicaMuthee in #3621
🐛 Bug fixes
- (fix) Patch OWASP-reported high severity dependency vulnerabilities by @jayasanka-sack in #3428
- (fix) O3-5781: Patch OWASP-reported minimatch vulnerabilities by @jayasanka-sack in #3433
- (fix) O3-5817: Add missing Angular form engine translation strings by @denniskigen in #3485
- (fix) O3-5817: Re-register the built-in endpoint data source during form creation by @denniskigen in #3490
- (fix) O3-5822: Dedupe diagnoses in visit-level rollups by @denniskigen in #3496
- (fix) O3-5825: Make patient banner layout respond to banner resizes by @denniskigen in #3500
- (fix) O3-5824: Keep dashboard grid widgets contained at narrow viewports by @denniskigen in #3499
- (fix) O3-5432: Validate completion date against enrollment date in program enrollment form by @UjjawalPrabhat in #3035
- (fix) O3-5836: Pass patient-chart group props when starting a visit from patient search by @denniskigen in #3513
- (fix) O3-5844: Allow recording vaccinations on a patient's birth date by @solomonfortune in #3529
- (fix) O3-5763: Expose the visit notes form as a reusable workspace by @UjjawalPrabhat in #3509
- (fix) O3-5845: Preserve task due dates across edit-save cycles by @solomonfortune in #3563
- (fix) O3-5763: Let hosts handle encounter editing outside the chart by @UjjawalPrabhat in #3569
- (fix) O3-5799: E2E file upload tests fail due to ambiguous Playwright locator by @Josephkagimu1 in #3450
- (fix) Flag inverted same-day visit end times on the time field by @pirupius in #3578
- (fix) O3-5875: Guard missing FHIR array entries in chart widgets by @omeriinnocent in #3548
- (fix) O3-5841: Sort Vitals and Biometrics tables in the direction the header arrow indicates by @sudeshkar in #3525
- (fix) Correct data handling defects in the generic obs widgets by @denniskigen in #3587
- (fix) O3-5763: Let hosts revalidate the visit after deleting an encounter by @UjjawalPrabhat in #3595
- (fix) Patient commons lib should import from framework not styleguide by @ibacher in #3605
- (fix) Clean build outputs before bundle size comparison by @denniskigen in #3607
- (fix) O3-5908: Prevent duplicate orders from pinned drugs by @abheeee03 in #3596
- (fix) Label overflow menu triggers via iconDescription instead of aria-label by @denniskigen in #3612
- (fix) Use assigned extensions from hook not store by @ibacher in #3614
- (fix) O3-5801: Display location names for location observations by @pinankshah8-Aa in #3627
- (fix) Patient chart shouldn't generate global CSS rules by @ibacher in #3634
- (fix) Improve keyboard access and add/edit titles in visit notes by @denniskigen in #3645
- (fix) O3-5969: Improve keyboard access and edit wording in the conditions form by @denniskigen in #3646
- (fix) Preserve visit note image changes and improve removal controls by @denniskigen in #3663
- (fix) O3-5986: Show a visit note's saved images when editing it by @denniskigen in #3668
- (fix) O3-5988: Use the backend attachment upload limit by @denniskigen in #3683
- (fix) O3-5990: Remove saved visit-note images safely by @denniskigen in #3684
- (fix) O3-5989: Keep a visit note saved when one of its images is rejected by @denniskigen in #3670
- (fix) O3-5998: Continue to the requested workspace after starting or selecting a visit by @denniskigen in #3688
- (fix) O3-5953: Use the active or selected visit when renewing medication orders by @donaldkibet in #3619
- (fix) Pass a string subtitle to the general order form's error snackbar by @denniskigen in #3700
- (fix) O3-5987: Let callers restrict the attachment dialog's file types and quiet its upload toast by @denniskigen in #3673
- (fix) Ensure react-dom is loading the federated copy by @ibacher in #3710
- (fix) Stop loading code the patient chart summary doesn't use by @denniskigen in #3712
- (fix) Remove reference to SOAP Note Template by @ibacher in #3716
- (fix) O3-6004: Make lab result entry safe to retry by @denniskigen in #3692
- (fix) Revalidate the visit context in invalidateVisitByUuid by @denniskigen in #3720
- (fix) Allow a death date on the day of birth ahead of UTC by @denniskigen in #3726
- (fix) O3-6020: Make Visit Notes workspace accept an Encounter object for editing by @chibongho in #3719
- (fix) O3-6026: Prefetch the vitals charts and keep their height while they load by @denniskigen in #3727
- (fix) O3-5976: Fix Angular locale import requesting non-existent .mjs files by @Kalyangotimothy in #3657
- (fix) O3-6019: Preserve medication dosage drafts when switching modes by @omeriinnocent in #3639
- (fix) Save and show date visit attributes correctly by @NethmiRodrigo in #3738
- (fix) O3-6044: Provide WHO z-score reference data to the Angular form engine by @denniskigen in #3753
- (fix) Defer loading growth chart data and use semantic colors by @ibacher in #3758
- (fix) Clear timers after printing is done or on unmount by @ibacher in #3759
- (fix) O3-5957: Correct MUAC color code age boundaries by @Faisal77666 in #3626
🧪 Tests
- (test) O3-4825: Assert all vitals for every age group in age-based vitals e2e tests by @VeronicaMuthee in #3511
- (test) Assert real pluralized wait time in vitals header overdue tag by @denniskigen in #3508
- (test) O3-5888: Add e2e test coverage for entering lab results via the Laboratory app by @VeronicaMuthee in #3582
- (test) Route Laboratory worklist tab references through a typed locator by @dkayiwa in #3584
📝 Documentation
- (docs) O3-5807: Update list of frontend modules in patient chart README by @denniskigen in #3463
- (docs) Add Angular version policy pointer to the form entry app README by @denniskigen in #3465
- (docs) Fix typo in test instructions by @mneha05 in #3705
🧹 Housekeeping
- (chore) Run OWASP dependency check on commits only by @jayasanka-sack in #3429
- (chore) Resolve shell-quote security advisory by @jayasanka-sack in #3430
- (chore) O3-5782: Patch OWASP-reported transitive vulnerabilities by @jayasanka-sack in #3436
- (chore) Revert OWASP vulnerability patches by @jayasanka-sack in #3442
- (chore) O3-5785: Upgrade dompurify from 3.4.1 to 3.4.11 by @solomonfortune in #3453
- (chore) Include ngx-formentry in the OpenMRS dependency auto-update by @denniskigen in #3488
- (chore) O3-5803: Bump @angular/* to 20.3.26 to resolve Dependabot security alerts by @Josephkagimu1 in #3501
- (chore) O3-5790: Upgrade jsdom to pull undici >= 7.28.0 by @Josephkagimu1 in #3510
- (chore) O3-5878: Bump @angular/* to 20.3.27 to resolve Dependabot security alerts by @denniskigen in #3554
- (chore) Adopt @openmrs/eslint-config and ESLint 9 by @denniskigen in #3564
- (chore) Typecheck and lint the E2E suite in CI by @denniskigen in #3583
- (chore) Bump turbo to 2.10.9 by @NethmiRodrigo in #3566
- (chore) O3-5964: Remove unreferenced SCSS files and dead AllergyFormTab component by @solomonfortune in #3638
- (chore) O3-5968: Remove unreferenced side-menu, active/future/past-medications stylesheets by @solomonfortune in #3667
- (chore) Upgrade to version 2.5.1 of SWR by @ibacher in #3675
- (chore) O3-5924: Remove unused React dependencies by @denniskigen in #3678
- (chore) O3-5924: Remove unused workspace dependencies by @denniskigen in #3680
- (chore) Remove leftover offline code by @denniskigen in #3698
- (chore) O3-5858: Load carbon as shared peer dependencies by @omsrivastava512 in #3549
- (chore) Declare accurate backend module dependencies in routes.json by @NethmiRodrigo in #3701
- (chore) Stop depending on workspace v1 types in form entry and tests by @denniskigen in #3718
- (chore) Capture E2E server logs with the shared capture-docker-logs action by @denniskigen in #3742
- (chore) O3-6043: Remove the "showPrintVisitSummaryButton" feature flag by @wikumChamith in #3743
- (chore) Remove buildmanifest from form-entry-app by @ibacher in #3744
- (chore) O3-6025: Add missing form engine translation keys by @denniskigen in #3754
- (chore) O3-6047: Share one Back button across patient chart workspaces by @parvarh26 in #3755
- (chore) O3-6050: Configure one-click release workflow by @kavinduUdhara in #3763
- (chore) Bump esm-framework peerDependency to 11.x by @NethmiRodrigo in #3768
New Contributors
- @Janani-Balasooriya made their first contribution in #3458
- @Nahid-NHB made their first contribution in #3546
- @dkayiwa made their first contribution in #3584
- @sudeshkar made their first contribution in #3525
- @pinankshah8-Aa made their first contribution in #3627
- @mneha05 made their first contribution in #3705
- @Kalyangotimothy made their first contribution in #3657
- @wikumChamith made their first contribution in #3743
- @parvarh26 made their first contribution in #3755
- @kavinduUdhara made their first contribution in #3763
- @Faisal77666 made their first contribution in #3626
Full Changelog: https://github.com/openmrs/openmrs-esm-patient-chart/compare/v12.3.4...v13.0.0
Gestion des patients
v12.0.0
Publié le: 8 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v12.0.0 -->What's Changed
⚠️ Breaking changes
- (BREAKING) Remove offline support from patient management by @denniskigen in #2776
- (BREAKING) O3-6012: Remove the patient-search-button extension and v1 patient-search-workspace by @chibongho in #2773
🚀 New features
- (feat) O3-5802: Ward app add extension slot for displaying visit attributes by @cioan in #2619
- (feat) O3-5729: Build Weekly Calendar View by @Pratikdeb07 in #2620
- (feat) O3-5742: Build DailyCalendarView with compact appointment card list by @Pratikdeb07 in #2630
- (feat) Improve no active visit empty state in admission workspace by @denniskigen in #2172
- (feat) O3-5759: Color queue wait time by configurable thresholds by @UjjawalPrabhat in #2625
- (feat) O3-5761: List checked-in patients before search when adding to queue by @UjjawalPrabhat in #2633
- (feat) O3-5769: Combine the Move and Transition row actions into one by @UjjawalPrabhat in #2611
- (feat) O3-5830: Wire calendar header, refactor calendar view by @Pratikdeb07 in #2636
- (feat) O3 5852: Improve monthly view of the appointment calendar by @Pratikdeb07 in #2669
- (feat) O3-5765: Remove manual clear queue entries button by @UjjawalPrabhat in #2632
- (feat) O3-5760: Rework Service Queues dashboard to match design by @UjjawalPrabhat in #2615
- (feat) O3-5763: Unify the Current visit and Previous visit views by @UjjawalPrabhat in #2600
- (feat) O3 5921: Removal of weekly view from appointments calendar by @Pratikdeb07 in #2688
- (feat) O3-5770: Add a Clinic Administrator screen for Service Queues by @UjjawalPrabhat in #2681
- (feat) O3-5967: Show the queue number instead of the status in the default queue table by @UjjawalPrabhat in #2738
- (feat) Remove fake patient lists by @ibacher in #2770
- (feat) O3-1830: Allow selecting the preferred patient identifier during registration by @cioan in #2786
- (feat) O3-6040: Support date person attributes in the registration form by @mherman22 in #2809
🐛 Bug fixes
- (fix) O3-5680: Make calling status and drug order type filters configurable by @UjjawalPrabhat in #2555
- (fix) Correct typo in undoTransitionQueueEntryModal feature name by @jwnasambu in #2627
- (fix) Request a minimal custom representation in useConceptAnswers by @pirupius in #2622
- (fix) O3-5821: Fix ward patient card pill spacing and workspace banner typography by @denniskigen in #2631
- (fix) Pin discharge workspace action buttons to the bottom by @denniskigen in #2634
- (fix) Patient search should bypass service worker caching by @ibacher in #2638
- (fix) O3-5833: Pluralize queue wait-time durations by @denniskigen in #2639
- (fix) O3-5836: Pass the FHIR patient to the legacy start visit button slot by @denniskigen in #2640
- (fix) O3-5693: Trim queue entry representation to what the table renders by @UjjawalPrabhat in #2583
- (fix) O3-5047: Visually hide RadioButtonGroup legend while maintaining accessibility by @UjjawalPrabhat in #2208
- (fix) O3-5681: Queue-screen widget polls regardless of user activity by @UjjawalPrabhat in #2564
- (fix) O3-5856: Declare react-dom as a peer dependency in esm-home-app by @JordanCalzen in #2666
- (fix) Correct singular minute translation by @denniskigen in #2668
- (fix) O3-5911: Require a non-empty registration encounter type by @kanchana404 in #2690
- (fix) O3-5910: Preserve local-language names when editing a patient by @kanchana404 in #2693
- (fix) O3-5918: Allow birth and death on the same calendar day by @kanchana404 in #2692
- (fix) O3-5919: Clear stale death metadata when marking a patient alive by @kanchana404 in #2694
- (fix) O3-5913: Wait for patient data deletions before reporting save success by @denniskigen in #2697
- (fix) Clean build outputs before bundle size comparison by @denniskigen in #2704
- (fix) Add memoization of search results and reduce secondary queries by @ibacher in #2702
- (fix) Improve Service Queues attending empty state contrast by @denniskigen in #2707
- (fix) Keep patient search on the selected page and load result pages in parallel by @pirupius in #2708
- (fix) Match the birthdate filters against the stored date and trim the postcode filter by @denniskigen in #2717
- (fix) Keep the header search input in step with the query in the URL by @denniskigen in #2718
- (fix) Stop the header search icon opening a second overlay on the tablet search page by @denniskigen in #2723
- (fix) O3-5917: Keep newly added relationship rows correctly associated by @denniskigen in #2721
- (fix) Apply the configured age bounds to the refine search age field by @denniskigen in #2720
- (fix) Pluralise the refine search filter counts and label the forms by @denniskigen in #2719
- (fix) O3-5940: Don't offer queues a patient is already in by @UjjawalPrabhat in #2710
- (fix) Keep patient search results when clearing attribute filters by @denniskigen in #2728
- (fix) Open header patient search results with Enter by @denniskigen in #2729
- (fix) Tell the user when the refine filters, not the query, emptied the search results by @denniskigen in #2725
- (fix) O3-5958: Default the queue location to the one selected in Service Queues by @Muta-Jonathan in #2731
- (fix) Make patient search a little more light-weight by @ibacher in #2742
- (fix) O3-5877: Show a clear message when patient search query is below the minimum character count by @solomonfortune in #2667
- (fix) O3-5984: Label in-service patients with the configured status name by @NethmiRodrigo in #2750
- (fix) Don't crash the registration form when address hierarchy levels aren't JSON by @claude[bot] in #2756
- (fix) Treat a serialized exception from the address hierarchy endpoints as an error by @claude[bot] in #2757
- (fix) O3-5991: Allow post-registration redirects to non-SPA URLs by @cioan in #2758
- (fix) O3-5983: Add the actions menu back to in-service patient cards by @NethmiRodrigo in #2752
- (fix) O3-5997: Make service queues metric values less shouty by @UjjawalPrabhat in #2766
- (fix) O3-5912: Clear dependent address fields when a parent level changes by @Faisal77666 in #2761
- (fix) O3-5916: Reuse generated identifiers when retrying a patient save by @denniskigen in #2780
- (fix) O3-5914: Preserve saved location attributes while searching by @denniskigen in #2778
- (fix) Declare react-dom as a peer dependency by @denniskigen in #2784
- (fix) Fix the appointment form's default date behind UTC and a crash on a cleared date by @ibacher in #2795
- (fix) Show the right birth date in appointment details behind UTC by @denniskigen in #2796
- (fix) Match the bed management header title by position, not tag by @denniskigen in #2804
- (fix) O3-6020: Change visit summary in queues app to pass in correct encounter object by @chibongho in #2791
- (fix) O3-5666: Show plain-text server errors in queue snackbars by @denniskigen in #2800
- (fix) O3-5666: Handle Call action failures in the queue table by @denniskigen in #2789
- (fix) Add a page header to the service queues admin page by @denniskigen in #2806
🧪 Tests
- (test) O3-5812: Make appointments and ward e2e tests work with other distros by @chibongho in #2623
- (test) O3-4627: Add E2E test for patient photo upload in Patient Registration by @Josephkagimu1 in #2635
- (test) O3-5851: Drive the visit summary Timeline tab in the queue entry spec by @denniskigen in #2711
- (test) O3-5943: Update the visit summary timeline locator for the renamed overflow menu trigger by @denniskigen in #2713
- (test) Assert the search paging tests through what the user sees by @denniskigen in #2716
- (test) O3-2741: Add E2E tests for the dedicated patient search page by @VeronicaMuthee in #2747
- (test) Add E2E coverage for transfers between wards by @Isabirye1515 in #2119
- (test) Give ward E2E specs their own server session by @NethmiRodrigo in #2803
🧹 Housekeeping
- (chore) Adopt @openmrs/eslint-config and ESLint 9 by @denniskigen in #2664
- (chore) Verify generated translation catalogs by @denniskigen in #2665
- (chore) Don't update eslint config by @ibacher in #2671
- (chore) Upgrade to SWR 2.5.1 by @ibacher in #2762
- (chore) Adopt the shared Prettier configuration by @denniskigen in #2764
- (chore) O3-5924: Use React-scoped JSX types by @denniskigen in #2763
- (chore) O3-5869: Add @carbon/react to peerDependencies in the home app by @jwnasambu in #2670
- (chore) O3-5859: Add @carbon/react to peerDependencies by @denniskigen in #2779
- (chore) Remove leftover workspace v1 containers by @denniskigen in #2790
- (chore) Update OpenMRS dependencies by @ibacher in #2810
- (chore) O3-6051: Add one-click release inputs to CI by @UjjawalPrabhat in #2814
- (chore) Bump esm-framework peerDependency to 11.x by @NethmiRodrigo in #2815
New Contributors
- @JordanCalzen made their first contribution in #2666
- @kanchana404 made their first contribution in #2690
- @VeronicaMuthee made their first contribution in #2747
- @claude[bot] made their first contribution in #2756
- @Faisal77666 made their first contribution in #2761
- @mherman22 made their first contribution in #2809
Full Changelog: https://github.com/openmrs/openmrs-esm-patient-management/compare/v11.1.0...v12.0.0
Formulaires et saisie de données
Constructeur de formulaires
v3.6.0
Publié le: 8 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v3.6.0 -->What's Changed
🚀 New features
- (feat) O3-3958: Add a select all option for concept answers by @NethmiRodrigo in #519
- (feat) O3-4997: Differentiate retired concepts in the form builder by @VeronicaMuthee in #1335
🐛 Bug fixes
- (fix) Use framework modal for saving forms by @denniskigen in #1320
- (fix) Remove global CSS styles and dead style code by @ibacher in #1326
- (fix) Handle forms without an encounter type in Audit Details by @denniskigen in #1384
- (fix) Disable publishing when the form has no schema by @denniskigen in #1383
🧹 Housekeeping
- (chore) Adopt @openmrs/eslint-config and ESLint 9 by @denniskigen in #1285
- (chore) Don't update eslint config by @ibacher in #1286
- (chore) Clean build outputs before bundle size comparison by @denniskigen in #1306
- (chore) Share SWR through module federation by @denniskigen in #1347
- (chore) O3-5865: Add @carbon/react to peerDependencies by @jwnasambu in #1282
- (chore) Capture E2E server logs with the shared capture-docker-logs action by @denniskigen in #1376
- (chore) O3-6057: Add one-click release inputs to CI in openmrs-esm-form-builder by @foverokavindz in #1390
- (chore) Bump esm-framework peerDependency to 11.x by @NethmiRodrigo in #1392
New Contributors
- @VeronicaMuthee made their first contribution in #1335
- @foverokavindz made their first contribution in #1390
Full Changelog: https://github.com/openmrs/openmrs-esm-form-builder/compare/v3.5.1...v3.6.0
Moteur de formulaire React
v4.3.0
Publié le: 8 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v4.3.0 -->What's Changed
🚀 New features
- (feat) O3-5815: Show ICD-11 codes next to diagnoses by @denniskigen in #767
- (feat) Wrap FormEngine in Suspense boundary by @ibacher in #797
🐛 Bug fixes
- (fix) Inline obs date and comment not saved when field visibility is toggled by @NethmiRodrigo in #759
- (fix) Reduce re-render churn in FormProcessorFactory by @ibacher in #670
- (fix) Form engine shouldn't create global CSS rules by @ibacher in #798
- (fix) Avoid redundant searches and duplicate field processing by @denniskigen in #800
- (fix) O3-5963: Improve contrast and anchoring of remove-attachment btn by @sudeshkar in #816
- (fix) Declare RxJS as a runtime dependency by @denniskigen in #818
- (fix) O3-6030: Keep hidden obs group members, orders and diagnoses out of submissions by @denniskigen in #822
- (fix) O3-6027: Clear order and diagnosis submissions on every write by @denniskigen in #826
- (fix) O3-6025: Load z-score tables only when a form needs them by @denniskigen in #824
- (fix) O3-6046: Return null when height is outside reference table or no reference applies by @Faisal77666 in #830
- (fix) O3-6048: Accept numeric string height in calcWeightForHeightZscore by @solomonfortune in #832
- (fix) O3-6045: Use WHO girls' height-for-age reference and cover month after age 5 by @Faisal77666 in #834
🧪 Tests
- (test) Add scaffolding for better testing by @ibacher in #783
- (test) Create "golden schemas" for Form Schema operations by @ibacher in #784
- (test) Add "golden schemas" for encounter payloads by @ibacher in #787
- (test) Add tests to cover form submission orchestration by @ibacher in #812
- (test) Wait for the z-score tables before querying the height field by @denniskigen in #837
🧹 Housekeeping
- (chore) Adopt @openmrs/eslint-config and ESLint 9 by @denniskigen in #779
- (chore) Bump @openmrs/eslint-config to 2.1.0 by @denniskigen in #782
- (chore) O3-5866: Add @carbon/react. to peerDependencies in openmrs-esm-form-engine-lib by @jwnasambu in #778
- (chore) Clean build outputs before bundle size comparison by @denniskigen in #791
- (chore) Upgrade to SWR 2.5.1 by @ibacher in #809
- (chore) O3-5924: Initialise the root form ref by @denniskigen in #810
- (chore) O3-6063: Adopt shared build and release workflows by @kavinduUdhara in #833
- (chore) Bump esm-framework peerDependency to 11.x by @NethmiRodrigo in #835
New Contributors
- @jwnasambu made their first contribution in #778
- @sudeshkar made their first contribution in #816
- @Faisal77666 made their first contribution in #830
- @kavinduUdhara made their first contribution in #833
- @solomonfortune made their first contribution in #832
Full Changelog: https://github.com/openmrs/openmrs-esm-form-engine-lib/compare/v4.2.1...v4.3.0
Moteur de formulaire Angular
v20.1.0
Publié le: 7 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v20.1.0 -->What's Changed
🚀 New features
- (feat) O3-5815: Show ICD-11 codes next to diagnoses in the diagnosis picker by @denniskigen in #176
- (feat) O3-5817: Add a schema-configurable endpoint data source by @maikofelix47 in #178
🐛 Bug fixes
- (fix) Forward setValue options in the AFE form controls by @denniskigen in #177
- (fix) O3-5818: Center ng-select field content vertically by @denniskigen in #179
- (fix) O3-5817: Handle missing data sources gracefully in the form renderer by @denniskigen in #180
- (fix) O3-5892: Scope alert relations to controls referenced in the alert expression by @denniskigen in #184
- (fix) Align engine behavior with the documented schema contract by @denniskigen in #174
- (fix) Show options pushed by a data source in remote-select by @denniskigen in #190
- (fix) O3-6046: Return null when height is outside reference table or no reference applies by @Faisal77666 in #191
🧪 Tests
- (test) Add rendering and payload test guardrails by @denniskigen in #173
📝 Documentation
- (docs) Add Angular version policy pointer to the README by @denniskigen in #172
🧹 Housekeeping
- (chore) O3-6062: Adopt shared build and release workflows by @kavinduUdhara in #192
New Contributors
- @Faisal77666 made their first contribution in #191
- @kavinduUdhara made their first contribution in #192
Full Changelog: https://github.com/openmrs/openmrs-ngx-formentry/compare/v20.0.0...v20.1.0
Saisie rapide de données
v1.6.0
Publié le: 8 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v1.6.0 -->What's Changed
🚀 New features
- (feat) Show the form name in the fast data entry workflows by @denniskigen in #408
🐛 Bug fixes
- (fix) Use framework modals for fast data entry by @denniskigen in #374
- (fix) Add a page header with the data entry pictogram to the forms page by @denniskigen in #403
- (fix) Remove the unused breadcrumbs from the form entry workflows by @denniskigen in #409
🧹 Housekeeping
- (chore) Adopt @openmrs/eslint-config and ESLint 9 by @denniskigen in #353
- (chore) Don't autoupdate eslint config by @ibacher in #354
- (chore) Bump @openmrs/eslint-config to ^2.1.0 by @denniskigen in #359
- (chore) Fix the e2e Dockerfile by @denniskigen in #363
- (chore) Clean build outputs before bundle size comparison by @denniskigen in #366
- (chore) Upgrade to SWR 2.5.1 by @ibacher in #385
- (chore) Capture E2E server logs with the shared capture-docker-logs action by @denniskigen in #406
- (chore) O3-6054: Add one-click release inputs to CI by @chamals3n4 in #416
- (chore) Bump esm-framework peerDependency to 11.x by @NethmiRodrigo in #417
New Contributors
- @chamals3n4 made their first contribution in #416
Full Changelog: https://github.com/openmrs/openmrs-esm-fast-data-entry-app/compare/v1.5.1...v1.6.0
Applications cliniques
Dispensation de médicaments
v1.11.2
Publié le: 8 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v1.11.2 -->What's Changed
🐛 Bug fixes
- (fix) Use PageHeader and the pharmacy pictogram in the Dispensing header by @denniskigen in #932
🧪 Tests
- (test) O3-4868: Add e2e test for editing a medication dispense event by @gitcliff in #316
- (test) O3-6024: Fix flaky E2E tests by @jayasanka-sack in #928
🧹 Housekeeping
- (chore) Adopt @openmrs/eslint-config and ESLint 9 by @denniskigen in #883
- (chore) Clean build outputs before bundle size comparison by @denniskigen in #892
- (chore) Upgrade to SWR 2.5.1 by @ibacher in #911
- (chore) O3-5924: Use React-scoped JSX types by @denniskigen in #912
- (chore) Capture E2E server logs with the shared capture-docker-logs action by @denniskigen in #935
- (chore) O3-6056: Add one-click release inputs to CI by @chamals3n4 in #941
- (chore) Bump esm-framework peerDependency to 11.x by @NethmiRodrigo in #942
New Contributors
- @chamals3n4 made their first contribution in #941
Full Changelog: https://github.com/openmrs/openmrs-esm-dispensing-app/compare/v1.11.1...v1.11.2
Constructeur de cohorte
v4.0.7
Publié le: 8 oct. 2026
<!-- Release notes generated using configuration in .github/release.yml at v4.0.7 -->What's Changed
🐛 Bug fixes
- (fix) Add a page header with the cohorts pictogram to Cohort Builder by @denniskigen in #738
- (fix) Renumber every filter when composing search history items by @denniskigen in #744
- (fix) O3-6055: Default publish-only input to false for CI events by @DilshanNaveen in #757
- (fix) Load translations under the app's package name by @denniskigen in #743
- (fix) Save queries with the name and description entered in the modal by @denniskigen in #748
🧹 Housekeeping
- (chore) Adopt @openmrs/eslint-config and ESLint 9 by @denniskigen in #692
- (chore) Fix the e2e Dockerfile by @denniskigen in #699
- (chore) Share SWR through module federation by @denniskigen in #720
- (chore) O3-5924: Use React-scoped JSX types by @denniskigen in #719
- (chore) Capture E2E server logs with the shared capture-docker-logs action by @denniskigen in #741
- (chore) O3-6055: Enable one-click releases by @DilshanNaveen in #755
- (chore) Bump esm-framework peerDependency to 11.x by @NethmiRodrigo in #758
New Contributors
- @DilshanNaveen made their first contribution in #755
Full Changelog: https://github.com/openmrs/openmrs-esm-cohortbuilder-app/compare/v4.0.6...v4.0.7
Référence de scaffolding
Utilisez @openmrs/create-o3-app pour les nouveaux modules frontend. L’application template est listée ici uniquement comme référence de structure; elle peut donc publier moins souvent que les modules actifs.
Application template
v4.0.0
Publié le: 16 mai 2024
What's Changed
Breaking changes
- (BREAKING) Migrate
esm-template-appto use routes.json by @vasharma05 in #13
New features
- (feat) Add demonstration of extension system by @brandones in #3
- (feat) Show 'slots' syntax by @ZacButko in #5
Refactors
- (refactor) Useful refactors by @denniskigen in #17
Bug fixes
- (fix) Miscellaneous cleanup by @brandones in #7
- (fix) Update github actions prerelease template to use yarn by @mogoodrich in #11
- (fix) Exports should reference the result of getSync/getAsync by @denniskigen in #14
Docs
- (docs) Add module management app link to README by @denniskigen in #8
- (docs) Fix small error in README by @mogoodrich in #10
Tests
Housekeeping
- (chore) Fixed not working CI/CD by @FlorianRappl in #1
- (chore) Switch to yarn by @brandones in #2
- (chore) Remove prettier config by @brandones in #4
- (chore) Update GitHub workflows to use Yarn instead of NPM by @brandones in #6
- (chore) Add .DS_Store files to .gitignore by @manuelroemer in #9
- (chore) Bump dependencies by @denniskigen in #12
- (chore) Switch back to
swc-loaderby @denniskigen in #15 - (chore) Update to newer versions of openmrs and @openmrs/esm-framework by @denniskigen in #16
- (chore) Updated code dependencies by @vasharma05 in #22
- (chore) Reduce timeout to 15 minutes in E2E test CI workflow by @suubi-joshua in #23
- (chore) Only auto-generate English translations by @ibacher in #25
- (chore) Bump openmrs tooling and framework versions by @denniskigen in #26
- (chore) Bump playwright by @kdaud in #27
- (chore) Bump openmrs framework dependancies by @NethmiRodrigo in #28
- (chore) Bump dependencies by @denniskigen in #29
- (chore) Decouple linting and formatting concerns by @denniskigen in #30
New Contributors
- @FlorianRappl made their first contribution in #1
- @brandones made their first contribution in #2
- @ZacButko made their first contribution in #5
- @denniskigen made their first contribution in #8
- @manuelroemer made their first contribution in #9
- @mogoodrich made their first contribution in #10
- @vasharma05 made their first contribution in #13
- @RandilaP made their first contribution in #18
- @suubi-joshua made their first contribution in #23
- @ibacher made their first contribution in #25
- @kdaud made their first contribution in #27
- @NethmiRodrigo made their first contribution in #28
Full Changelog: https://github.com/openmrs/openmrs-esm-template-app/commits/v4.0.0