Release Notes - Platform 2.0.0 Beta
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 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 Artifacts | Server | Deployment Status |
---|---|---|
Platform 2.0.0-beta | devtest05.openmrs.org | Waiting for server acquisition |
Platform 2.0.0-beta + Legacy-UI | uat01.openmrs.org | Waiting for server acquisition |
p.s : Platform 2.0.0-beta includes REST-WS module 2.14, FHIR module 1.4 and OWA module 1.4 (see below)
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
- Download Platform 2.0.0 Beta
- Download Standalone for Platform 2.0.0 Beta
Bundled Modules
These modules are bundled with the 2.0.0-Beta openmrs.war download. They will be started automatically.
- webservices.rest 2.14
- FHIR 1.4
- OWA 1.4
Additionally, LegacyUI Module 0.1 can be installed to use the LegacyUI
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.
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
Removing a column value_boolean from obs table
Set uuid for columns in all tables which has uuid as null. This is required for successful run of next changeSet.
Set uuid columns to "NOT NULL", if not set already for 1.9.x tables
Create order_set table
Create order_set_member table
Create order_group table
Adding 'order_group_id' column to orders table
Adding 'sort_weight' column to orders table
Converting values in drug_order.dosing_type column(TRUNK-4845)
New Features (after OpenMRS Platform 1.11.5)
TRUNK-4750 | PersonAddress and Location should include additional custom fields |
TRUNK-4780 | Add a static home page to indicate that OpenMRS is running |
TRUNK-4786 | Add a Platform 2.0 is running page |
TRUNK-4445 | Support custom DosingTypes |
TRUNK-4355 | Create complex handler for storing and displaying video and audio files |
TRUNK-2843 | ORUR01Handler should support multiple providers per encounter |
TRUNK-3372 | Rename some of the API-level privileges |
TRUNK-4747 | Move Allergies API into the core platform |
TRUNK-4808 | LegacyUI files copied into core WEB-INF show up as new git files |
TRUNK-4807 | Improve the implementation of SerializingCustomDatatype.validate |
TRUNK-4818 | AdministrationService.getPresentationLocales() should return results with a correct and consistent order |
TRUNK-3871 | Create UserService.saveUser(User user) method |
TRUNK-4474 | Have a core global property for a concept representing Unknown |
TRUNK-4452 | Getting concepts by mapping should be case-insensitive |
TRUNK-4447 | Add ci config for sonar |
TRUNK-4440 | Allow implementations to control whether drug orders require formulation |
TRUNK-4438 | Ability to start all modules in their correct order |
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-4638 | Upgrade Jetty to 9.x |
TRUNK-4584 | Upgrade to spring 4.x |
TRUNK-4583 | Upgrade to java 8 |
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-4240 | Create a drop-down list handler for Location Attribute types |
TRUNK-4411 | Provider identifiers should not be required to be unique |
TRUNK-4364 | Upgrade to Hibernate 4 |
TRUNK-4537 | Add a way to Delete a specific Provider forever |
TRUNK-4572 | Provide UI to "Delete Forever" unused Concept Drugs |
TRUNK-4571 | Get encounters by creation/modification date [Feature request] |
TRUNK-4769 | Add another method in HibernateContextDAO to use start() method of MassIndexer class |
TRUNK-4761 | Free Text Drug Orders |
TRUNK-4717 | Rebuild search index when server is running |
TRUNK-3325 | Add UI for managing drug ingredients |
TRUNK-3323 | Move drug.route to order entry process |
TRUNK-3629 | Rewrite the Manage Program, Workflow, and State admin pages |
TRUNK-3499 | Support more CustomDatatypes and their associated CustomDatatypeHandlers |
TRUNK-3386 | Increase the privilege column size |
TRUNK-3359 | Create hibernate mapping files for organisational roles |
TRUNK-257 | Add Feature to enable moving Encounter Data to a different patient |
TRUNK-2119 | Improve Crash Reporting |
TRUNK-4833 | Add getDrugIngredientByUuid() to the service layer |
TRUNK-3920 | Module message properties should not be forced to have their keys start with moduleId |
TRUNK-4486 | Display OpenMRS api version during the installation processes |
TRUNK-4578 | Ignore tests based on OpenMRS core version and modules |
TRUNK-2999 | Investigate replacing concept word with full text search |
TRUNK-14 | Remove RegimenSuggestion class |
TRUNK-3064 | Create unit test for duplicate messages |
TRUNK-367 | Create a German messages.properties translation file |
TRUNK-2039 | Modify the Regimens tab to work with new order templating system |
TRUNK-2280 | Refactor maximum length checking in the view layer |
TRUNK-4485 | Use Global Property to Specify how Provider Search behaves |
TRUNK-4453 | AuthenticatedUserTestHelper, for writing mock-based unit tests that require an authenticated user, but no other context |
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-4699 | OrderService.saveOrder should only apply duplicate/overlap checking to DrugOrders |
TRUNK-4665 | Add Russian translation of openmrs-core |
TRUNK-4385 | Annotated BaseOpenmrs... classes |
TRUNK-4415 | Add sonar properties |
TRUNK-4728 | Enable batching of inserts and updates in the JDBC driver. |
TRUNK-4727 | Adding new birthtime column in person table. |
TRUNK-2037 | Determine the feasibility of transitioning from current Orders to new orders |
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 |
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