Dear community,
We’re excited to announce the release of OpenMRS Form Engine Library version 3.0.0
– a significant milestone that reimagines our form-handling architecture!
What’s New?
This release marks a pivotal transformation in how we approach form management. The key highlight is our migration from Formik to React Hook Form, which brings substantial performance improvements and a more streamlined development experience.
Breaking Changes & Architectural Improvements
- Framework Migration: We’ve fully transitioned to React Hook Form, offering a more efficient form state management solution.
- Form Processors: Introduced an abstraction layer that makes our form engine more modular and domain-agnostic. Now, specific processors like
EncounterFormProcessor
can handle unique domain-specific logic without complicating the core engine. - Enhanced Flexibility: The new architecture allows for more granular control over form validation, initialization, and submission processes.
Highlights of the Release
Our new version comes packed with features:
- Support for nested observation groups
- Ability to clear dropdown and radio button selections
- Improved form navigation with collapsible sections
- Enhanced validation and error handling
- Performance optimizations
A Heartfelt Thank You
This release wouldn’t have been possible without our incredible community. Special thanks to our new and existing contributors:
- @pirupius
- @usamakakumba
- @minimalist
- @veronica
- @nethmi
- @dkigen
- @Art-Ndiema
- @IamMujuziMoses
- @jnsereko
- @sainingo
- @gabriel090
- @TrevorAntony
- @Twiineenock
And a massive shoutout to the implementation teams at MSF and METS, whose real-world challenges and relentless testing pushed us to create a more robust solution. Your commitment to uncovering and helping us resolve complex bugs has been instrumental in making this release possible.
Resources
- Release notes: Release v3.0.0 · openmrs/openmrs-esm-form-engine-lib · GitHub
- Repo: GitHub - openmrs/openmrs-esm-form-engine-lib: React Form Engine library for O3
- Slack channel
Cheers!