Servoy 2025.6.0

We are pleased to announce the availability of Servoy 2025.06.0 (release number 4082)

This version is available through the download site

See whats new for the global changes and the case list

An installation (coming from the normal installer or from a platform specific archive) is shipping with a Java VM (Java 21.0.7)

So for the platform specific archives you don’t need to install or have java on your system.

This release can be updated by using the “latest” url: http://download.servoy.com/developer/latest/ (when you come from 2019.03 or higher)
This release is build on Eclipse 2025.03 (4.35)

This is a release in our quarterly release cycle
if you want to stay on the LTS path you need to stick to 2024.03.4 LTS and enabled only the lts update site. (25.03.2 LTS will be released in the coming weeks)

Many webpackages have new releases (or will have) for the 2025.06 but only NGGrids is mandatory.

If coming from a much older release like 2022.03 then you first have to updated to 2023.03 and then go to 2024.12
This is because of an Eclipse update bug that prevents these updates.

1 Like

After upgrading to 2025.6 I started receiving a lot of the following exception. Has anybody else seen this yet?

ERROR com.servoy.j2db.util.Debug - Non-terminating decimal expansion; no exact representable decimal result. (Form Context: opp_detail_content2), JSEvent(type = form, source = FormController[...], formName = opp_detail_content2, elementName = <no name>, timestamp = Tue Jul 01 09:22:18 CDT 2025,modifiers = 0,x =0,y = 0,data = null) java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
	at java.base/java.math.BigDecimal.divide(Unknown Source) ~[?:?]
	at org.mozilla.javascript.ScriptRuntime.divide(ScriptRuntime.java:3448) ~[?:?]
	at org.mozilla.javascript.Interpreter.doArithmetic(Interpreter.java:4014) ~[?:?]
	at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1659) ~[?:?]
	at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:1159) ~[?:?]
	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:87) ~[?:?]
	at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:347) ~[?:?]
	at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:4540) ~[?:?]
	at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:85) ~[?:?]
	at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:749) ~[?:?]
	at com.servoy.j2db.debug.RemoteDebugScriptEngine.executeFunction(RemoteDebugScriptEngine.java:386) ~[?:?]
	at com.servoy.j2db.BasicFormController.executeFunction(BasicFormController.java:1200) ~[?:?]
	at com.servoy.j2db.BasicFormController.executeFormMethod(BasicFormController.java:909) ~[?:?]
	at com.servoy.j2db.BasicFormController.executeOnShowMethod(BasicFormController.java:740) ~[?:?]
	at com.servoy.j2db.BasicFormController$1.run(BasicFormController.java:410) ~[?:?]
	at org.sablo.eventthread.Event$1.run(Event.java:97) ~[?:?]
	at org.sablo.websocket.CurrentWindow.runForWindow(CurrentWindow.java:80) ~[?:?]
	at org.sablo.eventthread.Event.execute(Event.java:87) ~[?:?]
	at org.sablo.eventthread.EventDispatcher.dispatch(EventDispatcher.java:144) ~[?:?]
	at org.sablo.eventthread.EventDispatcher.run(EventDispatcher.java:90) ~[?:?]
	at com.servoy.j2db.server.ngclient.eventthread.NGEventDispatcher.run(NGEventDispatcher.java:60) ~[?:?]
	at java.base/java.lang.Thread.run(Unknown Source) [?:?]

Example Code (we have multiple other places where we have to divide decimal values):
utils.numberFormat((income / balance),'#,##0.00%;(#,##0.00%)')

hmm i could reproduce this, will have a look
This is a the different way we handle internally big numbers (to keep it a big number not loosing precision). But it seems the divide of stuff doesn’t work

Good morning, with version 2025.6.0 we’re having the same problem with numerical operations, for example:
.difcot_importe = Math.round(vl_dif_cotiz_pesos / (1 + tmp_alic_iva / 100) * 100) / 100

We’re getting the error:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

And the method doesn’t continue, the process is aborted.

Any temporary solution?
Regards

this divide problem is fixed for the 06 branch, you can download an installer from here:

Index of /latest/servoy_release/

Please next time try an RC once, this would have been an easy catch, because for some divide operations that do need a rounding mode specified this above is now a problem