Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This version of OpenMRS Platform is a prerelease and not considered worthy for production use. Its function is to give users an idea of what to expect in the upcoming major release (Platform 2.0.0) and help discover any possible obscure new bugs.

What's New

OpenMRS Platform 2.0.0 Beta is the second pre-release for testing, leading up to an eventual release of Platform 2.0 in 2016.

Platform 2.0: The New Era

The Platform 2.0 release will mark a new era for OpenMRS.

Fundamentally, Platform 2.0 will be the first version of OpenMRS that truly embraces its role as a Platform: the base installation does not include a user interface, and you can only interact with it through web services. This will enable OpenMRS Platform to serve as a true back-end service, and a foundation upon which people can innovate with modern web application frameworks.

Simultaneously, we are also cleaning up our Java APIs by removing all the deprecated methods that have built up over the last decade of OpenMRS releases, and modernizing by running on Java 8, and upgrading libraries like Spring and Hibernate.

These are fundamental changes, not all of which are backwards-compatible, and we are marking the occasion by increasing the major version of the Platform for the first time in OpenMRS's history.

 You can download <TODO update link> Platform 2.0.0 Beta to try/test it

New Features

(See below for the complete list in the  change log section)

  • Support Open Web Apps as a bundled module 
  • Support for Order Sets and other features from Platform 1.12-beta
  • Migrated LegacyUI to the LegacyUI module. 
  • Added support for Java 8,  Spring  4.1.4,  Hibernate 4.3.9
  • Moved Allergy API into OpenMRS core.
  • Removed deprecated methods from core API

What this means?

  • To use LegacyUI with Platform 2.0.0 Beta, you have to install the LegacyUI module. Neither of Platform 2.0.0 Beta Standalone, Sourceforge distro or openmrs-core github projects come bundled with it 
  • If your module uses any deprecated API methods from OpenMRS 1.x, appropriate changes may be required to run it on Platform 2.x
  • If your module builds with Java 6 or Java 7 or uses Hibernate 3.x, it might be a good idea to check it's compatibility with Platform 2.x. A number of modules have already been ported to work with Platform 2.x. We had a Developer Forum call on 17 March 2016 to discuss migration of modules to Platform 2.x. It was led by raff.

A huge thanks to the 93 people that contributed code to this release: Aashna Garg, Achinta Roy, Akshika Wijesundara, Alexei Grigoriev ,Alexis Duque, Arkadiusz Kołodziejski, Bhavana Ramasayam, Břetislav Hájek, Burke Mamlin, Cathy Chen, Chethan A, Clifton McIntosh, Daniel Kayiwa, Darius Jazayeri, Dave Lahn, David Churcher, Fernando Barbosa, Filip Biedrzycki, Gaurav Narula, Geoffrey Wasilwa, Haolan Chen, Harsha Kumara, Imran Tatriev, Ivange Larry, Jakub Buczyński, Jakub Kondrat, James deGraft-Johnson, Jason Vena, Judy Gichoya, Julius Duic, Kishore Yekkanti, Kristopher Schmidt, Lluis Martinez, MA Corrales, Manika Maheshwari, Mark Goodrich, Mayank Sharma, Michael Downey, Michael Hofer, Michael Souza, Mihir Khatwani, Mikko Suniala, Myrle Krantz, NAGASOWMYA MAJETY, Nicholas Folk, nilmadab mondal, Owolabi Legunsen, Pascal Brandt, Paweł Muchowski, pralay ramteke, Priya Samuel, Radosław Puzdrowski, Rafal Korytkowski, Rasanjana Perera, Robert Day, Roman Zayats, Ryan Crichton, Sam Dale, Sandeep Raparthi, Saptarshi Purkayastha, Sashrika Waidyarathna, Satwik Reddy, Sebastian Theis, Sergey Morozov, Seth Noyes, Sharon Varghese, Shekharreddy Mittapelly, Shreyans Sheth, Shubham Rai, sravanthi naraharisetti, Stanislav Pereverziev, Stephen Senkomago Musoke, Tanay Abhra, Tharunya Pati, Thilo Beckmann, Thisura Thejith, Thomas Van Doren, tobias vogel, Tomasz Mueller, Ujjwal Arora, Václav Krpec, Venkata Jaswanth U, Vicente Bermúdez, Vikash Gupta, Vinay Venu, Vishnu Mechineni, Wesley Brown, Willa Mhawila, Wyclif Luyima, Yousef Hamza, Yuri Sintyaev, Zakaria Amine

Not to mention all the people that contributed in countless other ways to support this release and be a great part of the shaping of this release: pbiondich, mdowney, burke, jthomas, the infra team

Community Input

We welcome any user to download OpenMRS Platform 2.0.0 Beta or try it out on one of the servers where it is deployed (see table below), give us feedback, and potentially bug reports on this release. We especially ask current users try this version out on their own database and with their custom modules.

Deployed ArtifactsServer
Platform 2.0.0-betadevtest05.openmrs.org
Platform 2.0.0-beta + Legacy-UIuat01.openmrs.org //TODO add Link

p.s : Platform 2.0.0-beta includes REST-WS module, FHIR module and OWA module (//TODO add versions)

Even if you don't have time to do any thorough testing, we'd really appreciate it if you can upgrade a copy of your database to the 2.x data model, and report on any errors than may occur in the upgrade script.

If a new bug is found, send an email to one of the mailing lists or create a new JIRA ticket (click upper right icon) Signup for an ?OpenMRS ID

We request module owners to verify their module works with Platform 2.0.0 Beta. A number of modules have already been ported. Please follow the instructions mentioned in RA-954

We request the implementers to try out Platform 2.0.0- Beta with the latest RefApp release in a staging environment. It would to great to know about features that are missing or need to be introduced in the upcoming releases.

We do not recommend using this in a production environment!

Download

Bundled Modules

These modules are bundled with the 2.0.0-Beta openmrs.war download. They will be started automatically.

//TODO add versions

Milestones

For Platform 2.0.0 Beta, we have focused largely completing REST-WS support for exposing the OpenMRS API and adding support for Open Web Apps

  • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
  • Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Please look at Platform 2.0.0 Alpha Release Notes to take a look at the milestones covered prior to this Beta release

 

Changelog

Database

  • Updating layout.address.format global property
  • Removing dashboard.regimen.standardRegimens global property
  • Encrypting the users.secret_answer column
  • Temporarily removing foreign key constraint from person_attribute_type.edit_privilege column
  • Temporarily removing foreign key constraint from role_privilege.privilege column
  • Increasing the size of the privilege column in the privilege table
  • Adding foreign key constraint to person_attribute_type.edit_privilege column
  • Increasing the size of the privilege column in the role_privilege table
  • Adding foreign key constraint to role_privilege.privilege column
  • Adding foreign key on patient_identifier.patient_id column
  • Add changed_by column to encounter_type table
  • Add date_changed column to encounter_type table
  • Create allergy table
  • Create allergy_reaction table
  • Add allergy_status field to the patient table
  • Custom changeset to migrate allergies from old to new tables
  • Removing the active_list_problem table (active_list feature removed)
  • Removing the active_list_allergy table (active_list feature removed)
  • Removing the active_list table (active_list feature removed)
  • Removing the active_list_type table (active_list feature removed)
  • Add drug_non_coded column to drug_order table
  • Adding address columns (7-15) to person_address and location

Bugs (after OpenMRS Platform 1.11.5)

  • TRUNK-3951 NotTransactional not working correctly
  • TRUNK-4573 Improve migration of concept name tags to types
  • TRUNK-2894 Change all void references to delete in interface
  • TRUNK-4745 UpdateFilter should not depend on InitializationFilter being initialized before it
  • TRUNK-4811 Daemon user must be cached
  • TRUNK-3840 Retired concepts aren't showed as retired when listed as set members
  • TRUNK-4497 Hide or disable (option of selecting) a child role instead of throwing an error
  • TRUNK-4495 Settings page returns 500
  • TRUNK-4630 System default locale not in allowed_locales, causes AdminService error
  • TRUNK-4618 Fix class loading performance issues
  • TRUNK-4582 Adding a coded answer to the concept causes ConstraintViolationException
  • TRUNK-4576 Concept Dictionary CSV download - looping issue causes incorrect output
  • TRUNK-4529 Prevent voiding a Person linked to Provider(s) and/or User(s) metadata
  • TRUNK-4520 Cannot add synonym to a concept and error message is not helpful
  • TRUNK-4703 jetty-maven-plugin invalid configuration
  • TRUNK-4669 Blank Concept Information Page
  • TRUNK-4345 Non ASCII characters do not display correctly in spanish
  • TRUNK-4251 Patient dashboard issue when using french locale
  • TRUNK-4380 Location parent not displayed when location widget is "tree" view
  • TRUNK-4545 Fix failing tests in EncounterServiceTest
  • TRUNK-4542 Add new role doesn't work on branch master
  • TRUNK-4417 "equals(Object obj)" and "hashCode()" should be overridden in pairs
  • TRUNK-4416 Throwable and Error classes should not be caught
  • TRUNK-4731 Task throws and Exception error when stopping a related module
  • TRUNK-4752 User password should be validated before changing it
  • TRUNK-3625 Cannot view saved complex obs
  • TRUNK-4726 auto_update_database=true would not apply liquibase changesets
  • TRUNK-4845 Update drug_order.dosing_type to use fully-qualified Java class names
  • TRUNK-4803 Email pattern is wrong
  • TRUNK-4800 Installer uses deprecated MySQL system variable
  • TRUNK-4835 Ensure that we log the location of the runtime properties file
  • TRUNK-4824 Concept Name Tag Validator throws a duplicate error for the same concept name tag
  • TRUNK-3876 HibernateSerializedObjectDAO.saveObject should set auditable fields before serializing
  • TRUNK-4492 Remove the tribe field from the 'patient' table
  • TRUNK-4481 Mapping concept proposal to synonym can create duplicate concept names
  • TRUNK-4482 Voided encounters shows in the current visit in patient header
  • TRUNK-4480 Patient search yields "No matching records found" when there are matching records
  • TRUNK-4473 Form Resource (Long-Text) causes error with binary file upload
  • TRUNK-4469 Don't allow a concept to reference itself as a coded answer
  • TRUNK-4468 Error when viewing patient form for deleted patients
  • TRUNK-4466 Schema design "Find Form Elements" box should be always be visible
  • TRUNK-4463 dashboard.overview.showConcepts GP should either receiver spaces after/before each concept id or change the description to inform the user not to enter them
  • TRUNK-4458 Default locale message is in English when you select the français locale
  • TRUNK-4457 Make User.hasRole() case insensitive.
  • TRUNK-4456 Add error checking to relationship future start/end dates on patient dashboard
  • TRUNK-4454 Hide 'Show N entries' on the patient dashboard under encounters
  • TRUNK-3912 Task does not turn off automatically when uninstalling the module associated with it
  • TRUNK-3888 Arden patch for ArdenServiceImpl in core api to support concept names regardless of a specific language
  • TRUNK-4148 Providers are no longer listed by default
  • TRUNK-4140 Substitute deprecated method call in HibernateContextDAO
  • TRUNK-4131 Coded concept broken with Most Recent Observation on dashboard
  • TRUNK-4109 Add method to retrieve Observations based on their accession Numbers
  • TRUNK-4054 Add missing version to maven-javadoc-plugin
  • TRUNK-4053 Problems with ClassCast Exception
  • TRUNK-3968 Need to have option to void Person when the person is also a patient
  • TRUNK-4635 Cancel button doesn't allow to exit Creating New Concept Page
  • TRUNK-4617 patient_identifier.patient_id is missing foreign key to patient
  • TRUNK-4603 Exception when running SchedulerFormControllerTest under Java 8 (onSubmit_shouldNotRescheduleATaskThatIsNotCurrentlyScheduled)
  • TRUNK-4597 Exception when running WebModuleUtilTest under Java 8
  • TRUNK-4595 Exception When Running ExtensionUtilTest under Java 8
  • TRUNK-4594 DownloadDictionaryServletTest Fails under Java 8
  • TRUNK-4596 Exception when running PortletTagTest under java 8
  • TRUNK-4592 PatientDashboardGraphControllerTest Fails under Java 8
  • TRUNK-4590 Exception when Executing Test with Java 8
  • TRUNK-4593 DownloadDictionaryServletTest Fails under Java 8
  • TRUNK-4587 Warning During Compilation - HttpClient
  • TRUNK-4586 Warning During Compilation - KeepAliveCache
  • TRUNK-4534 The scripts on the long patient form get broken if a patient has more than 10 identifiers
  • TRUNK-4523 Person attributes are not being displayed when viewing a voided person
  • TRUNK-4522 If JVM is 1.8, some tests do not pass.
  • TRUNK-4514 OpenMRS does not start if JVM is 1.8
  • TRUNK-4509 Cannot edit concept description to empty
  • TRUNK-4506 Heading of the admin page should use the localized message
  • TRUNK-4507 Translate more messages for the hindi locale
  • TRUNK-4500 Use of APIException not localized (mostly)
  • TRUNK-4692 Performance improvement in LocationService getLocationsHavingAllTags
  • TRUNK-4690 Orders.orderer column cannot be set to NOT NULL until after user to provider migration occurs
  • TRUNK-4683 TRUNK-4630 fix still have issue
  • TRUNK-4670 The French version of the "Create a New Patient" page is only partially translated into French
  • TRUNK-4350 OpenmrsClassLoader may chose wrong ModuleClassLoader when one module name is a substring of another module name and there is a period in the name
  • TRUNK-4338 Don't show the "Add Provider" link for users that don't have the "Manage Providers" privilege
  • TRUNK-4337 Remove deprecated org.openmrs.reporting
  • TRUNK-4328 Datepicker requires two clicks for the year menu to remain visible
  • TRUNK-4313 [RelationshipType] Error due to the Empty Description
  • TRUNK-4307 Incomplete error message in implementation id form
  • TRUNK-4285 Incorrect behavior of Person.getPersonName() and getPersonAddress() for a voided Person
  • TRUNK-4267 AlertServiceImpl.notifySuperUsers throws exception for exceptions with short stack traces
  • TRUNK-4260 Error while submitting empty form in the page: "openmrs/admin/concepts/conceptSource.form"
  • TRUNK-4252 Date fields are stored precise to the second in the DB, and MySQL 5.6 rounds milliseconds instead of truncating them
  • TRUNK-4208 Gender and Birth date should not be required for persons linked to providers or users
  • TRUNK-4406 Remove duplicate keys from message resource files
  • TRUNK-4418 Fix random failure of ModuleActivatorTest
  • TRUNK-4569 Calculated autoexpire date should be one second earlier
  • TRUNK-4729 EncounterType is missing changedBy and dateChanged fields
  • TRUNK-4779 Cache reflection info for calls in RequiredDataAdvice
  • TRUNK-4771 Authorization checks are slow when running as Daemon
  • TRUNK-4758 Enable Hibernate second level cache
  • TRUNK-4746 Default error handlers should display the appropriate error message
  • TRUNK-4737 Remove liquibase changeset that doesn't belong
  • TRUNK-4725 ContextWithModuleTest inconsistent failure
  • TRUNK-4724 BeanCreationException during spring application context refresh should stop loading of the application
  • TRUNK-4711 Clean up javadocs
  • TRUNK-3709 Secret answer should be encrypted
  • TRUNK-3705 getName(Locale locale, boolean exact) simply calls getName() if exact = false
  • TRUNK-3654 ModuleUtil should not treat SNAPSHOT as 999.
  • TRUNK-3780 Searching for patient with patient name/new feature
  • TRUNK-3569 When a patient identifier fails regex validation, it should display the pretty formatDescription if available
  • TRUNK-3413 Unable to delete scheduled tasks that refer to classes that are not available
  • TRUNK-3383 HandlerUtil.getPreferredHandler(Class<H> handlerType, Class<T> type) throws an exception if top-ranked handlers have the same order ranking
  • TRUNK-3479 Concept Validator should ignore short names
  • TRUNK-3465 AddPersonController needs to be refactored to not use instance fields
  • TRUNK-3448 Locale with country does not work
  • TRUNK-2205 Jackson JSON cannot handle BaseOpenmrsObject
  • TRUNK-1505 Remove obs.value_boolean
  • TRUNK-3915 liquibase change-set 20090402-1518 (Adding not-null constraint to uuid columns) not run when creating a new 1.9.3 database from scratch
  • TRUNK-4825 Module upload should not refresh context more than once
  • TRUNK-50 Obs not voided when updated via saving an Encounter
  • TRUNK-3422 Upgrading to 1.9 requires new privileges for visits which are not added by default
  • TRUNK-3849 Move Address and Name layout support classes from web layer to api layer
  • TRUNK-3850 Program validator is inefficient when checking for duplicates
  • TRUNK-4462 Change failed module's name from org.openmrs.module.xxx x-version to xxx x-version
  • TRUNK-3982 SchedulerUtil locks out openmrs user with false log in attempts.
  • TRUNK-3937 Stored XSS in Location Pages
  • TRUNK-3935 Stored XSS via Custom Form Fields
  • TRUNK-4627 Use StringUtils.isEmpty(stringObject) instead of (stringObject == null || stringObject.equals(""))
  • TRUNK-4499 AddressTemplate should not display default when the changes are invalid
  • TRUNK-4672 Correctness - int value cast to float and then passed to Math.round
  • TRUNK-4652 Correctness - Method call passes null for nonnull parameter
  • TRUNK-4650 Multithreaded correctness - Static DateFormat
  • TRUNK-4646 Support compressed requests
  • TRUNK-4315 [Create Provider] Invalid validation for both empty Field and Both Filled Field
  • TRUNK-4301 Including voided patients in openmrs 1.11.x
  • TRUNK-4297 [Add User] Invalid Error Message for Blank Password
  • TRUNK-4386 Fix loading messages in tests for modules
  • TRUNK-4561 Minor comments error in web.xml
  • TRUNK-4429 Add check that default locale is amongst allowed locales list
  • TRUNK-2717 Display a meaningful message when a scheduled task with no repeat interval fails to start
  • TRUNK-2660 Validate field lengths of domain objects in management pages
  • TRUNK-2809 At least one non-empty description should be required for a concept
  • TRUNK-2967 Fix Performance tests
  • TRUNK-3771 "Select Multi" should only be enabled for coded datatype in Edit FormField
  • TRUNK-227 Constraint error when recreating the Concept word index with concept_names containing accented characters.
  • TRUNK-2296 PersonNameValidator gives the wrong field names
  • TRUNK-2003 InvalidPropertyException on long patient form when user adds new name or address or identifier
  • TRUNK-208 Fix Transactions Across Service Methods
  • TRUNK-3844 Correct BaseOpenmrsObject equals
  • TRUNK-3938 JSESSIONID should be assigned after a user has been successfully authenticated
  • TRUNK-4634 Dodgy - Write to static field from instance method
  • TRUNK-4633 Correctness - Invocation of toString on an array
  • TRUNK-4632 Dodgy - Redundant nullcheck of value known to be non-null
  • TRUNK-4622 Correct surefire exclude test
  • TRUNK-4614 Multithreaded correctness - Call to static DateFormat
  • TRUNK-4613 Eliminate critical issues reported by Sonar
  • TRUNK-4615 Bad practice - Method may fail to close database resource
  • TRUNK-4612 Correctness - Call to equals() comparing different types
  • TRUNK-4611 Multithreaded correctness - Incorrect lazy initialization of static field
  • TRUNK-4644 Correctness - Possible null pointer dereference
  • TRUNK-4645 Thread.run() and Runnable.run() should not be called directly
  • TRUNK-4643 Performance - Method concatenates strings using + in a loop
  • TRUNK-4640 Throwable.printStackTrace(...) should never be called
  • TRUNK-4639 "equals(Object obj)" should be overridden along with the "compareTo(T obj)" method
  • TRUNK-2960 Non-blocking error message is logged after updating concept words task completes
  • TRUNK-3346 When create a form it places Patient_name table rather than Person_name in the Field table
  • TRUNK-2107 Program management does not show workflows
  • TRUNK-4796 Drug search with special characters in name throws exception
  • TRUNK-4782 Retrospective edit of Orders.
  • TRUNK-4826 Springloaded does not work on Windows
  • TRUNK-4459 HTML tags are shown on merge patient page
  • TRUNK-4637 Temporary jarfiles not deleted
  • TRUNK-4605 OrderEntryIntegrationTest fails due to timing of discontinued order
  • TRUNK-4580 When revising an order, the previous order should be stopped an instant before the new one starts
  • TRUNK-4574 Fix Integration test failure
  • TRUNK-4531 Encounter Provider Names not shown for providers not linked to a person on patient dashboard visits tab
  • TRUNK-4691 Concept and ConceptService.saveConcept should automatically set the value of "is_set"
  • TRUNK-4687 NonUniqueObjectException when modifying a concept
  • TRUNK-4675 Italian Create Patient Label displayed in English
  • TRUNK-4660 Administration page does not display
  • TRUNK-4657 Method may fail to clean up stream or resource on checked exception
  • TRUNK-4658 Correctness - Possible null pointer dereference in method on exception path
  • TRUNK-4654 Performance - Method invokes inefficient Number constructor; use static valueOf instead
  • TRUNK-4653 Dodgy - Dead store to local variable
  • TRUNK-4331 GitHub openmrs-core repo missing CONTRIBUTING.md file
  • TRUNK-4261 Error while submitting empty form in the page: "openmrs/admin/concepts/conceptReferenceTerm.form"
  • TRUNK-4354 Retired Location Attributes are shown when editing a Location or adding a new Location
  • TRUNK-4419 Change Database1_9_7UpgradeTest to integration test
  • TRUNK-4767 Application Data directory structure in Windows 10 causes install problem
  • TRUNK-4741 Corrected message_es properties file for spanish
  • TRUNK-4721 Performance issue with version of H2 that we are using
  • TRUNK-3722 Add partial previous stacktrace to error handler.
  • TRUNK-3077 Regimen Date Formats Change
  • TRUNK-2224 Show appropriate notification message when void reason is empty when voiding a patient
  • TRUNK-4841 Using @JoinColumn instead of @Column with @ManyToOne in BaseOpenmrsData
  • RESTWS-543 Get /visit is not displayed in swagger documentation
  • TRUNK-4779 Cache reflection info for calls in RequiredDataAdvice
  • TRUNK-4752 User password should be validated before changing it
  • TRUNK-4746 Default error handlers should display the appropriate error message
  • TRUNK-4745 UpdateFilter should not depend on InitializationFilter being initialized before it
  • TRUNK-4741 Corrected message_es properties file for spanish
  • TRUNK-4737 Remove liquibase changeset that doesn't belong
  • TRUNK-4731 Task throws and Exception error when stopping a related module
  • TRUNK-4729 EncounterType is missing changedBy and dateChanged fields
  • TRUNK-4725 ContextWithModuleTest inconsistent failure
  • TRUNK-4724 BeanCreationException during spring application context refresh should stop loading of the application
  • TRUNK-4721 Performance issue with version of H2 that we are using
  • TRUNK-4711 Clean up javadocs
  • TRUNK-4703 jetty-maven-plugin invalid configuration
  • TRUNK-4692 Performance improvement in LocationService getLocationsHavingAllTags
  • TRUNK-4691 Concept and ConceptService.saveConcept should automatically set the value of "is_set"
  • TRUNK-4690 Orders.orderer column cannot be set to NOT NULL until after user to provider migration occurs
  • TRUNK-4687 NonUniqueObjectException when modifying a concept
  • TRUNK-4683 TRUNK-4630 fix still have issue
  • TRUNK-4675 Italian Create Patient Label displayed in English
  • TRUNK-4672 Correctness - int value cast to float and then passed to Math.round
  • TRUNK-4669 Blank Concept Information Page
  • TRUNK-4660 Administration page does not display
  • TRUNK-4658 Correctness - Possible null pointer dereference in method on exception path
  • TRUNK-4657 Method may fail to clean up stream or resource on checked exception
  • TRUNK-4654 Performance - Method invokes inefficient Number constructor; use static valueOf instead
  • TRUNK-4653 Dodgy - Dead store to local variable
  • TRUNK-4652 Correctness - Method call passes null for nonnull parameter
  • TRUNK-4650 Multithreaded correctness - Static DateFormat
  • TRUNK-4646 Support compressed requests
  • TRUNK-4645 Thread.run() and Runnable.run() should not be called directly
  • TRUNK-4644 Correctness - Possible null pointer dereference
  • TRUNK-4643 Performance - Method concatenates strings using + in a loop
  • TRUNK-4640 Throwable.printStackTrace(...) should never be called
  • TRUNK-4635 Cancel button doesn't allow to exit Creating New Concept Page
  • TRUNK-4634 Dodgy - Write to static field from instance method
  • TRUNK-4633 Correctness - Invocation of toString on an array
  • TRUNK-4632 Dodgy - Redundant nullcheck of value known to be non-null
  • TRUNK-4630 System default locale not in allowed_locales, causes AdminService error
  • TRUNK-4627 Use StringUtils.isEmpty(stringObject) instead of (stringObject == null || stringObject.equals(""))
  • TRUNK-4622 Correct surefire exclude test
  • TRUNK-4618 Fix class loading performance issues
  • TRUNK-4617 patient_identifier.patient_id is missing foreign key to patient
  • TRUNK-4615 Bad practice - Method may fail to close database resource
  • TRUNK-4614 Multithreaded correctness - Call to static DateFormat
  • TRUNK-4613 Eliminate critical issues reported by Sonar
  • TRUNK-4612 Correctness - Call to equals() comparing different types
  • TRUNK-4611 Multithreaded correctness - Incorrect lazy initialization of static field
  • TRUNK-4605 OrderEntryIntegrationTest fails due to timing of discontinued order
  • TRUNK-4603 Exception when running SchedulerFormControllerTest under Java 8 (onSubmit_shouldNotRescheduleATaskThatIsNotCurrentlyScheduled) TRUNK-4597 Exception when running WebModuleUtilTest under Java 8
  • TRUNK-4596 Exception when running PortletTagTest under java 8
  • TRUNK-4595 Exception When Running ExtensionUtilTest under Java 8
  • TRUNK-4594 DownloadDictionaryServletTest Fails under Java 8
  • TRUNK-4593 DownloadDictionaryServletTest Fails under Java 8
  • TRUNK-4592 PatientDashboardGraphControllerTest Fails under Java 8
  • TRUNK-4590 Exception when Executing Test with Java 8
  • TRUNK-4587 Warning During Compilation - HttpClient
  • TRUNK-4586 Warning During Compilation - KeepAliveCache
  • TRUNK-4582 Adding a coded answer to the concept causes ConstraintViolationException
  • TRUNK-4580 When revising an order, the previous order should be stopped an instant before the new one starts
  • TRUNK-4576 Concept Dictionary CSV download - looping issue causes incorrect output
  • TRUNK-4574 Fix Integration test failure
  • TRUNK-4573 Improve migration of concept name tags to types
  • TRUNK-4569 Calculated autoexpire date should be one second earlier
  • TRUNK-4561 Minor comments error in web.xml
  • TRUNK-4545 Fix failing tests in EncounterServiceTest
  • TRUNK-4542 Add new role doesn't work on branch master
  • TRUNK-4534 The scripts on the long patient form get broken if a patient has more than 10 identifiers
  • TRUNK-4531 Encounter Provider Names not shown for providers not linked to a person on patient dashboard visits tab
  • TRUNK-4529 Prevent voiding a Person linked to Provider(s) and/or User(s) metadata
  • TRUNK-4523 Person attributes are not being displayed when viewing a voided person
  • TRUNK-4522 If JVM is 1.8, some tests do not pass.
  • TRUNK-4520 Cannot add synonym to a concept and error message is not helpful
  • TRUNK-4514 OpenMRS does not start if JVM is 1.8
  • TRUNK-4509 Cannot edit concept description to empty
  • TRUNK-4507 Translate more messages for the hindi locale
  • TRUNK-4506 Heading of the admin page should use the localized message
  • TRUNK-4500 Use of APIException not localized (mostly)
  • TRUNK-4499 AddressTemplate should not display default when the changes are invalid
  • TRUNK-4497 Hide or disable (option of selecting) a child role instead of throwing an error
  • TRUNK-4495 Settings page returns 500
  • TRUNK-4492 Remove the tribe field from the 'patient' table
  • TRUNK-4482 Voided encounters shows in the current visit in patient header
  • TRUNK-4481 Mapping concept proposal to synonym can create duplicate concept names
  • TRUNK-4480 Patient search yields "No matching records found" when there are matching records
  • TRUNK-4473 Form Resource (Long-Text) causes error with binary file upload
  • TRUNK-4468 Error when viewing patient form for deleted patients
  • TRUNK-4466 Schema design "Find Form Elements" box should be always be visible
  • TRUNK-4463 dashboard.overview.showConcepts GP should either receiver spaces after/before each concept id or change the description to inform the user not to enter them
  • TRUNK-4462 Change failed module's name from org.openmrs.module.xxx x-version to xxx x-version
  • TRUNK-4459 HTML tags are shown on merge patient page
  • TRUNK-4458 Default locale message is in English when you select the français locale
  • TRUNK-4457 Make User.hasRole() case insensitive.
  • TRUNK-4456 Add error checking to relationship future start/end dates on patient dashboard
  • TRUNK-4454 Hide 'Show N entries' on the patient dashboard under encounters
  • TRUNK-4429 Add check that default locale is amongst allowed locales list
  • TRUNK-4419 Change Database1_9_7UpgradeTest to integration test
  • TRUNK-4418 Fix random failure of ModuleActivatorTest
  • TRUNK-4417 "equals(Object obj)" and "hashCode()" should be overridden in pairs
  • TRUNK-4416 Throwable and Error classes should not be caught
  • TRUNK-4406 Remove duplicate keys from message resource files
  • TRUNK-4380 Location parent not displayed when location widget is "tree" view
  • TRUNK-4354 Retired Location Attributes are shown when editing a Location or adding a new Location
  • TRUNK-4350 OpenmrsClassLoader may chose wrong ModuleClassLoader when one module name is a substring of another module name and there is a period in the name
  • TRUNK-4345 Non ASCII characters do not display correctly in spanish
  • TRUNK-4338 Don't show the "Add Provider" link for users that don't have the "Manage Providers" privilege
  • TRUNK-4337 Remove deprecated org.openmrs.reporting
  • TRUNK-4331 GitHub openmrs-core repo missing CONTRIBUTING.md file
  • TRUNK-4328 Datepicker requires two clicks for the year menu to remain visible
  • TRUNK-4315 [Create Provider] Invalid validation for both empty Field and Both Filled Field
  • TRUNK-4313 [RelationshipType] Error due to the Empty Description
  • TRUNK-4307 Incomplete error message in implementation id form
  • TRUNK-4301 Including voided patients in openmrs 1.11.x
  • TRUNK-4297 [Add User] Invalid Error Message for Blank Password
  • TRUNK-4285 Incorrect behavior of Person.getPersonName() and getPersonAddress() for a voided Person
  • TRUNK-4267 AlertServiceImpl.notifySuperUsers throws exception for exceptions with short stack traces
  • TRUNK-4261 Error while submitting empty form in the page: "openmrs/admin/concepts/conceptReferenceTerm.form"
  • TRUNK-4260 Error while submitting empty form in the page: "openmrs/admin/concepts/conceptSource.form"
  • TRUNK-4251 Patient dashboard issue when using french locale
  • TRUNK-4208 Gender and Birth date should not be required for persons linked to providers or users
  • TRUNK-4148 Providers are no longer listed by default
  • TRUNK-4140 Substitute deprecated method call in HibernateContextDAO
  • TRUNK-4131 Coded concept broken with Most Recent Observation on dashboard
  • TRUNK-4109 Add method to retrieve Observations based on their accession Numbers
  • TRUNK-4054 Add missing version to maven-javadoc-plugin
  • TRUNK-3982 SchedulerUtil locks out openmrs user with false log in attempts.
  • TRUNK-3968 Need to have option to void Person when the person is also a patient
  • TRUNK-3951 NotTransactional not working correctly
  • TRUNK-3938 JSESSIONID should be assigned after a user has been successfully authenticated
  • TRUNK-3937 Stored XSS in Location Pages
  • TRUNK-3935 Stored XSS via Custom Form Fields
  • TRUNK-3912 Task does not turn off automatically when uninstalling the module associated with it
  • TRUNK-3888 Arden patch for ArdenServiceImpl in core api to support concept names regardless of a specific language
  • TRUNK-3876 HibernateSerializedObjectDAO.saveObject should set auditable fields before serializing
  • TRUNK-3850 Program validator is inefficient when checking for duplicates
  • TRUNK-3849 Move Address and Name layout support classes from web layer to api layer
  • TRUNK-3840 Retired concepts aren't showed as retired when listed as set members
  • TRUNK-3780 Searching for patient with patient name/new feature
  • TRUNK-3771 "Select Multi" should only be enabled for coded datatype in Edit FormField
  • TRUNK-3722 Add partial previous stacktrace to error handler.
  • TRUNK-3709 Secret answer should be encrypted
  • TRUNK-3705 getName(Locale locale, boolean exact) simply calls getName() if exact = false
  • TRUNK-3654 ModuleUtil should not treat SNAPSHOT as 999.
  • TRUNK-3625 Cannot view saved complex obs
  • TRUNK-3569 When a patient identifier fails regex validation, it should display the pretty formatDescription if available
  • TRUNK-3479 Concept Validator should ignore short names
  • TRUNK-3465 AddPersonController needs to be refactored to not use instance fields
  • TRUNK-3448 Locale with country does not work
  • TRUNK-3413 Unable to delete scheduled tasks that refer to classes that are not available
  • TRUNK-3077 Regimen Date Formats Change
  • TRUNK-2967 Fix Performance tests
  • TRUNK-2960 Non-blocking error message is logged after updating concept words task completes
  • TRUNK-2894 Change all void references to delete in interface
  • TRUNK-2717 Display a meaningful message when a scheduled task with no repeat interval fails to start
  • TRUNK-2660 Validate field lengths of domain objects in management pages
  • TRUNK-2224 Show appropriate notification message when void reason is empty when voiding a patient
  • TRUNK-2107 Program management does not show workflows
  • TRUNK-2003 InvalidPropertyException on long patient form when user adds new name or address or identifier
  • TRUNK-227 Constraint error when recreating the Concept word index with concept_names containing accented characters.   

 

 

 

New Features (after OpenMRS Platform 1.11.5)

  • TRUNK-4786 Add a Platform 2.0 is running page
  • TRUNK-4780 Add a static home page to indicate that OpenMRS is running
  • TRUNK-4761 Free Text Drug Orders
  • TRUNK-4728 Enable batching of inserts and updates in the JDBC driver.
  • TRUNK-4727 Adding new birthtime column in person table.
  • TRUNK-4717 Rebuild search index when server is running
  • TRUNK-4702 OrderService should allow you to save overlapping DrugOrders if the caller acknowledges that they are aware of the overlap
  • TRUNK-4701 You should not be allowed to create a discontinue order by concept that ambiguously indicates stopping more than one active order
  • TRUNK-4699 OrderService.saveOrder should only apply duplicate/overlap checking to DrugOrders
  • TRUNK-4665 Add Russian translation of openmrs-core
  • TRUNK-4638 Upgrade Jetty to 9.x
  • TRUNK-4636 NameTemplate should provide a format method
  • TRUNK-4626 There should be a way to disable validation logic for bulk data import or SHR use cases
  • TRUNK-4584 Upgrade to spring 4.x
  • TRUNK-4583 Upgrade to java 8
  • TRUNK-4578 Ignore tests based on OpenMRS core version and modules
  • TRUNK-4572 Provide UI to "Delete Forever" unused Concept Drugs
  • TRUNK-4571 Get encounters by creation/modification date [Feature request]
  • TRUNK-4537 Add a way to Delete a specific Provider forever
  • TRUNK-4486 Display OpenMRS api version during the installation processes
  • TRUNK-4485 Use Global Property to Specify how Provider Search behaves
  • TRUNK-4474 Have a core global property for a concept representing Unknown
  • TRUNK-4453 AuthenticatedUserTestHelper, for writing mock-based unit tests that require an authenticated user, but no other context
  • TRUNK-4452 Getting concepts by mapping should be case-insensitive
  • TRUNK-4447 Add ci config for sonar
  • TRUNK-4445 Support custom DosingTypes
  • TRUNK-4440 Allow implementations to control whether drug orders require formulation
  • TRUNK-4438 Ability to start all modules in their correct order
  • TRUNK-4415 Add sonar properties
  • TRUNK-4411 Provider identifiers should not be required to be unique
  • TRUNK-4385 Annotated BaseOpenmrs... classes
  • TRUNK-4364 Upgrade to Hibernate 4
  • TRUNK-4355 Create complex handler for storing and displaying video and audio files
  • TRUNK-4240 Create a drop-down list handler for Location Attribute types
  • TRUNK-4020 AddressTemplate should let a user specify required fields
  • TRUNK-4015 Application data directory should include web app name
  • TRUNK-3963 Visit validator should prevent or allow overlapping of visits depending on global property
  • TRUNK-3871 Create UserService.saveUser(User user) method
  • TRUNK-3629 Rewrite the Manage Program, Workflow, and State admin pages
  • TRUNK-3386 Increase the privilege column size
  • TRUNK-3372 Rename some of the API-level privileges
  • TRUNK-3325 Add UI for managing drug ingredients
  • TRUNK-3323 Move drug.route to order entry process
  • TRUNK-3064 Create unit test for duplicate messages
  • TRUNK-2999 Investigate replacing concept word with full text search
  • TRUNK-2843 ORUR01Handler should support multiple providers per encounter
  • TRUNK-2280 Refactor maximum length checking in the view layer
  • TRUNK-2119 Improve Crash Reporting
  • TRUNK-2039 Modify the Regimens tab to work with new order templating system
  • TRUNK-2037 Determine the feasibility of transitioning from current Orders to new orders
  • TRUNK-367 Create a German messages.properties translation file
  • TRUNK-14 Remove RegimenSuggestion class  

 

Upcoming End of Release Notice

 

OpenMRS 1.9 will reach end of life when Platform 2.0.0 is released.

As of described in Unsupported Releases (EOL), OpenMRS can only support up to three released versions at a time (the current release and then two versions back). With the release of OpenMRS 2.0.0, support will no longer be provided by the core Development Team for OpenMRS 1.9.x and earlier. This announcement also serves as advance notice that support will end for OpenMRS Platform 1.10.x, concurrent with the release of Platform 2.1.0

 

 

 

Rafal Korytkowski
Geoffrey Wasilwa
Daniel Kayiwa
Ivange Larry
Michael Souza
Mihir Khatwani
Kristopher Schmidt
Gaurav Narula
Paweł Muchowski
Unassigned
Yuri Sintyaev
Bhavana Ramasayam
Alexis Duque
David Churcher
Jakub Kondrat
Jakub Buczyński
Wesley Brown
Wyclif Luyima
Mayank Sharma
Václav Krpec
Tharunya Pati
James deGraft-Johnson
Vishnu Mechineni
Achinta Roy
Vicente Bermúdez
Stephen Senkomago Musoke
Shreyans Sheth
Radosław Puzdrowski
Manika Maheshwari
nilmadab mondal
Sharon Varghese
tobias vogel
Akshika Wijesundara
Sandeep Raparthi
Zakaria Amine
Harsha Kumara
Satwik Reddy
Shubham Rai
Burke Mamlin
Dave Lahn
Aashna Garg
Roman Zayats
Tomasz Mueller
Vinay Venu
Vikash Gupta
Mark Goodrich
Alexei Grigoriev
Cathy Chen
Sergey Morozov
Arkadiusz Kołodziejski
Darius Jazayeri
Priya Samuel
Nicholas Folk
Mikko Suniala
Thomas Van Doren
Venkata Jaswanth U
sravanthi naraharisetti
Clifton McIntosh
Fernando Barbosa
Haolan Chen
Filip Biedrzycki
Robert Day
NAGASOWMYA MAJETY
Thisura Thejith
pralay ramteke
Tanay Abhra
Ujjwal Arora
Owolabi Legunsen
Kishore Yekkanti
Lluis Martinez
Shekharreddy Mittapelly
Myrle Krantz
MA Corrales
Yousef Hamza
Sashrika Waidyarathna
Seth Noyes
Rasanjana Perera
Sebastian Theis
Thilo Beckmann
Břetislav Hájek
Willa Mhawila
Jason Vena
Ryan Crichton
Michael Hofer
Stanislav Pereverziev
Sam Dale
Imran Tatriev
Michael Downey
Julius Duic
Chethan A
Saptarshi Purkayastha
Judy Gichoya
Pascal Brandt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

TRUNK-3951NotTransactional not working correctly
  • No labels