Jump to: navigation, search

EDT:The Differences between EDT 0.8.2 and EDT 0.8.1

It is recommended that you use a new workspace after upgrading to 0.8.2 M3 or later.  Existing projects can be imported into the new workspace from the file system or from a source code repository.

Changes between .8.1 and .8.2 M3

  • Only the package "eglx.lang" from the system eglars is automatically imported. All other types from the system eglars must be imported explicitly in the code.
    • Fix: Right-click on your projects >  EGL Source > Organize Imports
  • Annotation syntax is now more strict. For simple annotations with a single field we used to allow it as: myAnnotation = "some value". This is no longer supported.
    • Fix: Manually change the syntax to: @myAnnotation{"some value"} (or you can explicitly name the field, @myAnnotation{myField = "some value"})
  • Timestamp patterns are now case-sensitive. Month must be uppercase 'M', minute must be lowercase 'm', hour must be uppercase 'H'. The full pattern is: yyyyMMddHHmmssffffff
    • Fix: Manually change invalid patterns to the correct case
  • The field named "class" in Widget has been renamed to "cssClass".
    • Fix: Manually change references to this field to the new name.
  • New versions of the widget projects need to be used. The previous versions of the projects will contain compile errors.
    • Fix: Delete the existing widget projects, create a new project to import the new version of the projects, and update the EGL Path of the projects that referenced the old widget projects. 
  • Services cannot be declared as variables anymore. Clients do not instantiate a service, they use a proxy to invoke the service.
    • If you were using "call serviceVariable.func() ..." you can change it to "call ServiceType.func() ..." - referencing the service function in a static way without a variable. 


Changes between 0.8.2 M3 and 0.8.2 M4

  • The precision and decimals functions were moved from MathLib to the numeric data types.
    • Fix: Change MathLib.precision(x) to x.precision(). Change MathLib.decimals(x) to x.decimals().
  • The second parameter of MathLib.modf changed from bigint to float.
    • Fix: Existing code will continue to work since bigint and float are compatible, but the value assigned to the parameter may be slightly different than before.
  • The empty statement ';' has been removed from the language, in support of being able to write a function with no body as 'function foo(){@IBMiProgram ... };' 
    • Fix: Remove the ';' statements. They did not actually do anything so no logic changes are required.
  • Dynamic access on fields of a record is case-sensitive. In other words, to access a field called ABC1 you must use "ABC1", not "Abc1" or "abc1". Dynamic access in JavaScript had incorrectly been case-insensitive. Dynamic access in Java code has always been correct.
    • Fix: This change may require updates to Rich UI applications. For example, if you use DataGrids, confirm that the name fields of your DataGridColumns are set using the correct case.


Changes between 0.8.2 M4 and 0.8.2 Final

  • The @Property annotation is now only allowed on fields inside ExternalTypes. You can use the @EGLProperty annotation on fields inside other part types, which has stricter validation.