3.6.0 Release Notes - May 16, 2019¶
3.6.0 is a stable release, and all users of OpenLMIS version 3 are encouraged to adopt it.
The OpenLMIS Community is excited to announce the 3.6.0 release of OpenLMIS! It is another major milestone in the version 3 re-architecture that allows more functionality to be shared among the community of OpenLMIS implementers. This release concludes the work being done as part of the Gap Project and continues adding more functionality to reduce the gap in features between different versions of OpenLMIS. The development of the Gap Project features and tasks have been a collaborative effort involving four separate organizations (VillageReach, SolDevelo, JSI, and Ona) and we are thankful to all these participants for their work on the 3.6 release.
For a full list of features and bug-fixes since 3.5.0, see OpenLMIS 3.6.0 Jira tickets.
Unless noted here, all other changes to OpenLMIS 3.x are backwards-compatible. All changes to data or schemas include automated migrations from previous versions back to version 3.0.1. All new or altered functionality is listed in the sections below for New Features and Changes to Existing Functionality.
Upgrading from Older Versions¶
If you are upgrading to OpenLMIS 3.6.0 from OpenLMIS 3.0.x or 3.1.x (without first upgrading to 3.2.x), please review the 3.2.0 Release Notes for important compatibility information about a required PostgreSQL extension and data migrations.
For information about upgrade paths from OpenLMIS 1 and 2 to version 3, see the 3.0.0 Release Notes.
Bug reports are collected in Jira for troubleshooting, analysis and resolution on an ongoing basis. See OpenLMIS 3.6.0 Bugs for the current list of known bugs.
To report a bug, see Reporting Bugs.
The OpenLMIS community proudly presents the following new features with 3.6.0:
- DHIS2 Report Generation OpenLMIS now supports the automatic generation of certain DHIS2 reports. This is an important first step towards being able to automatically send report data to a DHIS2 server, a feature which will be coming with or before the release of version 3.7.
- Multiple Suppliers Requisitions can be now be split and fulfilled by multiple suppliers. This work was started in version 3.5 and has now been completed with version 3.6.
- Notification Improvements A notification digest, a single notification containing information from multiple individual notifications, can now be sent for certain types of frequent notifications and we have also added the ability to send notifications via SMS as well as email.
- Kit Products and Kit Breakdown Kit products, that is a product which contains other products, can now be defined within the system and treated like any other product. Facilities also have the ability to “unpack” a kit and include the contained items in their local stock.
- Requisition Performance Improvements Some significant work has gone into improving the overall performance of the requisition API’s which is something that we will continue to focus on for each subsequent release.
Reference the 3.6 epics for more details.
API changes can be found in each service CHANGELOG.md file, found in the root directory of the service repository.
The performance of version 3.6.0 has some significant performance improvements to previous versions of OpenLMIS, particularly during the login and initiate proceed processes. Most other processes have performance figures that are similar to version 3.5 with the exception of the convert to order processes, which have seen an overall regression.
OpenLMIS conducted manual performance tests of the same user workflows with the same test data we used in testing v3.2.1 to establish that last-mile performance characteristics have been retained at a minimum. For details on the test results and process, please see this wiki page.
The following chart displays the UI loading times in seconds for 3.3, 3.4, 3.5, and 3.6 using the same test data.
OpenLMIS 3.6.0 was tested using the established OpenLMIS Release Candidate process. As part of this process, full manual test cycles were executed for each release candidate published. Any critical or blocker bugs found during the release candidate were resolved in a bug fix cycle with a full manual test cycle executed before releasing the final version 3.6.0. Manual tests were conducted using a set of 99 Zephyr tests tracked in Jira and 7 manual tests for reporting. A total of 18 bugs were found during testing. For more details about test executions and bugs found for this release please see the 3.6 QA Release and Bug Triage wiki page.
All Changes by Component¶
Version 3.6.0 of the Reference Distribution contains updated versions of the components listed below. The Reference Distribution bundles these component together using Docker to create a complete OpenLMIS instance. Each component has its own own public GitHub repository (source code) and DockerHub repository (release image). The Reference Distribution and components are versioned independently; for details see Versioning and Releasing.
Report Service 1.1.3¶
This service is intended to provide reporting functionality for other components to use. Built-in reports in OpenLMIS 3.4.0 are still powered by their own services. In future releases, they may be migrated to a new version of this centralized report service.
Warning: Developers should take note that the design of this service will be changing with future releases. Developers and implementers are discouraged from using this 1.1.1 version to build additional reports.
Reference UI 5.1.4¶
The Reference UI is the web-based user interface for the OpenLMIS Reference Distribution. This user interface is a single page web application that is optimized for offline and low-bandwidth environments. The Reference UI is compiled together from module UI modules using Docker compose along with the OpenLMIS dev-ui. UI modules included in the Reference UI are:
Components with No Changes¶
The components that have not changed are:
Many organizations and individuals around the world have contributed to OpenLMIS version 3 by serving on our committees (Governance, Product and Technical), requesting improvements, suggesting features and writing code and documentation. Please visit our GitHub repos to see the list of individual contributors on the OpenLMIS codebase. If anyone who contributed in GitHub is missing, please contact the Community Manager.
Thanks to the Malawi implementation team who has continued to contribute a number of changes that have global shared benefit.