Upgrade Core Libraries Sprint Announcement

Tags: #<Tag:0x00007f01bf6ef1f0>

Continuing the discussion from Call for participation in the Upgrade Libraries Sprint and Proposing a sprint to Upgrade Libraries for Platform 2.3 Release

The porpose of this Sprint is to have our Core libraries Libraries Upgraded for the Platform 2.3 release. see Platform 2.3 Release Road Map

Dates : 13-24 May 2019

Objectives

Github Repo : https://github.com/openmrs/openmrs-core

Technical Lead: Daniel Kayiwa (@dkayiwa )

Sprint Lead : @mozzy

Participants

cc @darius cc @dkayiwa @ruhanga

Announcing a sprint with only one ticket which is ready for work does not look the sprint is ready. Secondly, the invitation is not very clear. On the first reading, it appeared to me like you are only interested in those who are from dev3 and above.

Can you first talk to me before making the sprint announcement? I would like to cross check and guide you on what is left before having the sprint ready. After which you will update the documentation for upcoming sprint leads on how to have a sprint ready.

That being said, thanks for taking the lead on this. :slight_smile:

3 Likes

These are the pages with those details:

https://wiki.openmrs.org/display/RES/Development+Sprints

https://wiki.openmrs.org/display/RES/Being+a+Sprint+Leader

https://wiki.openmrs.org/display/RES/How-To+Have+a+Sprint

And an example of a sprint announcement: OpenMRS OCL Client Sprint 15 Announcement

1 Like

@dkayiwa, your input is required , so that i can make some key tickets ready for Work , especially for upgrading Spring and hibernate. Thanks

What exact input?

1 Like

definig the exact requirements for key libraries like spring and hiberate, especially when it comes to handling backward compatibility

If one can change the version, compile successfully, run and carry out some tests to confirm that all is well, raising a pull request would be the next step. Then a reviewer would assess the impact of this and raise concerns where necessary.

1 Like

here is the sprint dashbord.

I want to thank all the participants in this Sprint For the work your Doing.

A quick Points to note .

  • The Maven Report Script i shared ,in some cases points to a latest beta version of a given library say in this case

org.slf4j:slf4j-log4j12 … 1.6.0 -> 1.8.0-beta4

We should understand that we do not depend on beta releases , we only depend on the Full release.

in such case, the participant is to search for the latest full Release of the library say org.slf4j:slf4j-log4j12 1.7.0. rather than 1.8.0-beta4`

  • Another point to note, When maven generates a Maven report script, it ignores the latest version of the dependence in case its Artifart Id was changed

cc @gcliff @odorajonathan @ruhanga @georgejr @irenyak1 @reagan @herbert24 @jwnasambu @dkayiwa @ruhanga

I would like to make a further recommendation that the focus be on LTS releases for the different libraries, if they support that concept

1 Like

thats a cool idea. we actually had that When we were making a decission on which java version to upgrade to. like java 12 is not LTS , yet java 11 is LTS.

Thank you @mozzy for the nice work. :slight_smile:

1 Like

From a discussion today during the Openmrs Implementer Developer Office hours on libraries to prioritize in this sprint for the Platform 2.3.0 release , the sprint team came up with the following selection of libraries to prioritize. We based the selection criteria on the low hanging fruit libraries that won’t require significant refactor of the code base and at the same time won’t cause heavy backward compatibility drawbacks.

  • org.liquibase:liquibase-core … 2.0.5 -> 3.6.3

  • log4j:log4j … 1.2.15 -> 1.2.17-atlassian-1

  • org.apache.velocity:velocity … 1.6.2 -> 1.7

  • org.apache.commons:commons-lang3 … 3.6 -> 3.9

  • postgresql:postgresql …9.0-801.jdbc4 -> 9.4.1208-jdbc42

  • org.hamcrest:hamcrest-library … 1.3 -> 2.1

More devs in the community are welcome to take on as many libraries as can be done within this sprint’s timeline.

cc @burke, @dkayiwa, @ssmusoke, @mozzy, @gcliff, @herbert24, @c.antwi, @odorajonathan, @georgejr, @reagan, @jwnasambu, @irenyak1 @everyone .

Thank you.

Nathan

2 Likes

I want to thank and appreciate for the work you guys are doing. i just wish you all to become /dev/5s :smiley:

5 Likes

This is really important work that you are all doing. Can’t thank you enough for being a part of this sprint!

3 Likes

Adding to what @jennifer has just said, many of these library upgrades, fix serious security vulnerabilities. Therefore, your work is making OpenMRS more secure! :slight_smile:

4 Likes

Hello guys , now am seeing many of your PRs have merge conflicts. it has been brought up that some PRs to upgrade libraries have been merged , yet You didnt pull those latest merged changes into your local copies of the core.

Since all the PRs are affecting one file the POM , whenever youll make a PR without having the latest merged changes , it will result into merge conflicts. in otherwords , before you attempt to push , first make sure you pull the latest merged changes in the openmrs Upstream master. do this before you push
git pull --rebase upstream master

cc

3 Likes

@mozzy trying to sort this as explained earlier,thanks

1 Like

@mozzy is this sprint still ongoing? The sprint page says that the end date is 24th May 2019

1 Like

cc @ruhanga @c.antwi , can i stop the sprint and we go with the work that has been so far , or we still have some more time depending on your schedule of activities?? Though i want to once again thank all the participants. Sure guys have done a wonderful job.