DHIS2 patch release 2.38.4 is now available

Dear all,

DHIS2 version 2.38.4 (patch release) is out with bug fixes and enhancements.

This is the latest stable release for version 2.38, and supersedes releases 2.38.0 to 2.38.3(.1).

The release note for this patch can be found here: Patch 2.38.4 Release Note.


DHIS2 Release Team

Release Information Links
Release Note Patch 2.38.4 Release Note
Upgrade notes 2.38 Upgrade notes
Download release and sample database Downloads - DHIS2
Documentation and Javadocs Home - DHIS2 Documentation
Source code on Github Release 2.38.4 · dhis2/dhis2-core · GitHub
Demo instance DHIS 2 Demo - Sierra Leone
Docker docker pull dhis2/core:2.38.4
for more docker image variants see dockerhub

Dear @phil ,

Thank you for your updates. I have installed new version and found a lot of bugs have been fixed.
However, faced a new problem where the program rules on the enrollment registration stopped to work,

but the same rules perfectly works inside the event pages.

Plus when I tried to check program rules, for example: d2:hasValue(‘HIV_Calculated_Age_group’)&&(#{HIV_Calculated_Age_group} < 15)
, I found the same program rules are showing errors, without any explanations

Could you check it please?

Thank you.


Dear @Ulanbek ,

Thank you for reporting this. It was also reported by another party yesterday and we have worked quickly to release a hotfix for this regression. I have just announced the hotfix here:

Sorry for the inconvenience and thanks again for letting us know so quickly.

Kind regards,

Dear @phil,

Thank you and the DHIS2 team for your great job. Appreciate your quick response.


Morning @phil,

It seems there is another bug came up. I have an expression, which suppose to form Unique code based on the 2 letters of mother, 2 letters of father, gender -1/0, and the last 2 digits of the year of birth.
expression is : d2:concatenate(A{Mother_2l},A{Father_2l},d2:left(A{Sex_at_birth},1),d2:right(A{DOB},2))

Now I have following error:

Expression with id action:ZkfKRJ8OrUk could not be run. Original condition was: d2:concatenate(A{Mother_2l},A{Father_2l},d2:left(A{Sex_at_birth},1),d2:right(A{DOB},2)) - Evaluation ended up as:d2:concatenate("SS","XX",d2:left("1_male",1),d2:right("01-06-2003",2)) - error message:SyntaxError: Octal literals are not allowed in strict mode.

and result of calculation is false

It may happen if the year of birth ends from 00 to 09 :frowning:

The rest years are fine.

Would it be possible to check this issue please?

Thank you.


I’ll follow this up with the team!

Kind regards,

@Ulanbek was this working for you in a previous version?

1 Like

Yes, @phil, I had no problem with version 2.38.3, and currently it works on

1 Like