Servoy 7.4.3

We are pleased to announce the immediate availability of Servoy 7.4.3 release (releaseNumber 2036).

This version is available through the download option on the Servoy website and auto update.
Always make a backup of your current Servoy installation (directory and database) before installing/upgrading.
To update a Servoy eclipse open “Check for updates” via help menu.

The issues addressed, since Servoy 7.4.2 release:

Client changes
[fix] SVY-7774 Loss of precision storing database value

SmartClient changes
[chg] SmartClient libs signed with new Servoy certificate
[fix] SVY-7546 Databroadcast causes UI Converters fire all the time, causes loss of focus and input errors
[fix] SVY-7557 readOnly issue
[fix] SVY-7782 Read Only Issue 2

WebClient changes
[fix] SVY-7559 Problems with modal dialogs in Web Client
[fix] SVY-7526 Scrollbar in front of last column in web-client tableView
[fix] SVY-7461 Loading foundset with wrong data
[fix] SVY-7557 readOnly issue
[fix] SVY-7664 Related records are wrongfully deleted when having a duplicate index
[fix] SVY-7552 Problem selecting record in listview
[fix] SVY-7427 revertEditedRecords on self-relation of a new record causes isNew to return false

Developer changes
[fix] SVY-7525 An internal error occurred during: “compute variable details”.
[fix] SVY-7620 Invalid help link for XulRunner
[fix] SVY-7341 Developer will not run under Java 8 / Yosemite (Mac OS X 10.10)

Server changes
[fix] SVY-4315 SQL Server 2012 Warning in log file

Mobile changes
[enh] SVY-7249 No way to specify version number in Mobile Client when synchronizing data.
[fix] SVY-7231 utils.numberFormat for currency applies incorrect symbol
[fix] SVY-7214 NaN can be set in mobile client data, but not read resulting in “unexpected token N”
[fix] SVY-7233 Incorrect error on invalid authentication in Mobile on IOS
[fix] SVY-7248 Foundset search using array of values broken in Mobile

Extension changes
[fix] SVY-7306 Problem with HTTP plugin
[fix] SVY-7425 PDF_Merge fails when combining large amount of pdfs

extract this beans.zip over the current application_server\beans dir so that you have now correctly signed jars that are not using an expired one certificate

beans.zip (131 KB)

SVY-7427 revertEditedRecords on self-relation of a new record causes isNew to return false

I have updated Servoy 7.4.3 and using this code:

var _editedRecord = databaseManager.getEditedRecords(forms[frm].foundset)
		if ((_editedRecord)&&(_editedRecord.length>0))
		{
			_editedRecord[0].revertChanges()
		}
		databaseManager.revertEditedRecords(forms[frm].foundset)

Only when cancel a New record

Give that error:

org.mozilla.javascript.WrappedException: Wrapped java.util.ConcurrentModificationException (C:\Users\juan\servoy_workspace7\set_navegacion\forms\sn_frm.js#425)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1815)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:180)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:312)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1774)
at script.sn_cancelar(C:\Users\juan\servoy_workspace7\set_navegacion\forms\sn_frm.js:425)
at script.sn_cancelar_form(C:\Users\juan\servoy_workspace7\set_navegacion\forms\sn_frm.js:450)
at script.sn_cancelar_form(C:\Users\juan\servoy_workspace7\set_navegacion\forms\sn_base_btn_frm.js:28)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:837)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:158)
at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:628)
at com.servoy.j2db.debug.RemoteDebugScriptEngine.executeFunction(RemoteDebugScriptEngine.java:393)
at com.servoy.j2db.BasicFormController.executeFunction(BasicFormController.java:818)
at com.servoy.j2db.FormController.executeFunction(FormController.java:1274)
at com.servoy.j2db.FormController.executeFunction(FormController.java:1141)
at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:1053)
at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:284)
at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:250)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:218)
at com.servoy.j2db.smart.dataui.AbstractScriptLabel$5.mouseReleased(AbstractScriptLabel.java:929)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.WaitDispatchSupport$2.run(Unknown Source)
at java.awt.WaitDispatchSupport$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(Unknown Source)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at com.servoy.j2db.util.gui.JEscapeDialog.setVisible(JEscapeDialog.java:170)
at com.servoy.j2db.gui.FormDialog.setVisible(FormDialog.java:164)
at com.servoy.j2db.smart.SwingRuntimeWindow.finalizeShowWindow(SwingRuntimeWindow.java:872)
at com.servoy.j2db.smart.SwingRuntimeWindow.doOldShowInDialog(SwingRuntimeWindow.java:508)
at com.servoy.j2db.smart.SwingRuntimeWindow.doOldShow(SwingRuntimeWindow.java:417)
at com.servoy.j2db.scripting.RuntimeWindow.doShow(RuntimeWindow.java:295)
at com.servoy.j2db.scripting.RuntimeWindow.show(RuntimeWindow.java:289)
at com.servoy.j2db.scripting.RuntimeWindow.showObject(RuntimeWindow.java:276)
at com.servoy.j2db.scripting.JSWindow.js_show(JSWindow.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:158)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:312)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1774)
at script.sn_nuevo_form(C:\Users\juan\servoy_workspace7\set_navegacion\forms\sn_frm.js:863)
at script.sn_nuevo_form(C:\Users\juan\servoy_workspace7\set_navegacion\forms\sn_base_btn_lst.js:57)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:837)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:158)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:406)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3204)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:156)
at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:628)
at com.servoy.j2db.debug.RemoteDebugScriptEngine.executeFunction(RemoteDebugScriptEngine.java:393)
at com.servoy.j2db.BasicFormController.executeFunction(BasicFormController.java:818)
at com.servoy.j2db.FormController.executeFunction(FormController.java:1274)
at com.servoy.j2db.FormController.executeFunction(FormController.java:1141)
at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:1053)
at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:284)
at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:250)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:218)
at com.servoy.j2db.smart.dataui.AbstractScriptLabel$5.mouseReleased(AbstractScriptLabel.java:929)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.util.ConcurrentModificationException
at java.util.WeakHashMap$HashIterator.nextEntry(Unknown Source)
at java.util.WeakHashMap$KeyIterator.next(Unknown Source)
at com.servoy.j2db.dataprocessing.Row.remove(Row.java:815)
at com.servoy.j2db.dataprocessing.EditRecordList.rollbackRecords(EditRecordList.java:1385)
at com.servoy.j2db.dataprocessing.JSDatabaseManager.js_revertEditedRecords(JSDatabaseManager.java:3172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:158)
… 115 more

we already have fixed that exception will be in the next intermediate/releaes