3.5.0 Release Notes - 13 December 2018

Status: Stable

3.5.0 is a stable release, and all users of OpenLMIS version 3 are encouraged to adopt it.

Release Notes

The OpenLMIS Community is excited to announce the 3.5.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 was a major milestone in the the Gap Project and adds more functionality to reduce the gap in features between different versions of OpenLMIS. We are excited to announce that four organizations collaboratively worked on the 3.5 release!

For a full list of features and bug-fixes since 3.4.1, see OpenLMIS 3.5.0 Jira tickets.

For information about future planned releases, see the Living Product Roadmap. Pull requests and contributions are welcome.


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.5.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.

Download or View on GitHub

OpenLMIS Reference Distribution 3.5.0

Known Bugs

Bug reports are collected in Jira for troubleshooting, analysis and resolution on an ongoing basis. See OpenLMIS 3.5.0 Bugs for the current list of known bugs.

To report a bug, see Reporting Bugs.

New Features

The OpenLMIS community proudly presents the following new features with 3.5.0:

  • New in application reporting metrics, visualizations and tooling! To see a in-depth demo of the reporting tooling and capabilities, please reference the OpenLMIS YouTube channel) for a short video. Please note that the data is for development purposes only and not reflective of real data.

  • Configuring OpenLMIS to support multiple suppliers for one facility based on specific products.

  • Support the mCSD profile for facilities to allow for OpenLMIS to subscribe to a Facility Registry.

  • Allow Average Consumption to calculate the order quantities for Stock Based Requisitions, which are requisitions automatically populated by stock transactions recorded in the stock management service.

  • A new possible column for requisitions to capture the additional stock needed for new patients, which impacts the calculated order quantity.

  • Ability to configure the Packs to Ship column to show up during the approval step to support users in seeing the number of packs to be ordered based on the dispensing unit.

  • New functional tests, testing strategy and process improvements to support the team in releasing faster and moving towards more automatization!

Reference the 3.5 epics for more details.

Changes to Existing Functionality

See all 3.5.0 issues tagged ‘UIChange’ in Jira.

API Changes

Some APIs have changes to their contracts and/or their request-response data structures. These changes impact developers and systems integrating with OpenLMIS:

  • Fulfillment Service v8.0.0 - fulfillment changelog
    • Refactored /api/orderFileTemplate API into /api/fileTemplate that persists config for both order and shipment templates.

    • Updated Transfer properties so that it can also be used to persist transfer properties for shipment files imports.

  • Reference Data Service v12.0.0 - ref-data changelog
    • Removed DELETE /api/processingPeriods/{id} endpoint

    • Removed GET /api/users/{id}/supervisedFacilities endpoint

    • Changed supervisory node structure

    • Removed login restricted from the User model

  • Stock Management Service v4.0.0 - stockmanagement changelog
    • Can’t change type or category for stock card line item reason on update.

  • UI Components Service v7.0.0 - ui-components changelog
    • Changed syntax for using sort component.


Overall, the performance of version 3.5.0 improves upon the 3.4.0 release. Significant improvements have been seen in the requisition submission, authorization, approval, and convert to order processes; with slight regressions in the initial load and initiate requisition processes.

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 3.5.0 UI loading times in seconds for 3.3.0, 3.4.0, and 3.5.0 using the same test data.

UI Load Times for 3.4.0 and 3.5.0

Test Coverage

OpenLMIS 3.5.0 was tested using the 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.5.0. Manual tests were conducted using a set of 107 Zephyr tests tracked in Jira and 6 manual tests for reporting. A total of 16 bugs were found during testing. For more details about test executions and bugs found for this release please see this wiki page.

All Changes by Component

Version 3.4.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.

Auth Service 4.1.0


CCE Service 1.0.2


Fulfillment Service 8.0.0

Fulfillment CHANGELOG

Notification Service 4.0.1

Notification CHANGELOG

Reference Data Service 12.0.0

ReferenceData CHANGELOG

Report Service 1.1.2

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.


Requisition Service 7.1.0

Requisition CHANGELOG

Stock Management 4.0.0

Stock Management CHANGELOG

Reference UI 5.1.2

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:

Reference Data-UI 5.5.0

ReferenceData-UI CHANGELOG

Auth-UI 6.1.3


CCE-UI 1.0.2


Fulfillment-UI 6.0.2

Fulfillment-UI CHANGELOG

Report-UI 5.1.0


Requisition-UI 5.5.0

Requisition-UI CHANGELOG

Stock Management-UI 2.0.2

Stock Management-UI CHANGELOG

UI-Components 7.0.0


UI-Layout 5.1.2


Dev UI 8.1.0


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.

Further Resources

Please see the Implementer Toolkit on the OpenLMIS website to learn more about best practicies in implementing OpenLMIS. Also, learn more about the OpenLMIS Community and how to get involved!