RemObjects Elements v9.3

Includes fixes and improvements to Iodine, Fire and Elements in Microsoft Visual Studio.
November 13, 2017 - 11:48
New Version

Features

Major new Features in Elements 9.3:

  • Iodine: Java
    • Refined language support for RemObject's Java language front-end, Iodine.
    • Adds support for WinForms and WPF designers for Iodine in Visual Studio. You can now create native Windows GUI apps in Java.
  • Fire
    • Significant under-the-hood improvements, including streamlining to app bundle size, memory footprint, and startup speed.
    • Usability improvements throughout the IDE.
  • Elements in Microsoft Visual Studio
    • Reverted to the classic project integration system, resulting in a much-improved user experience in Visual Studio 2017.

Enhancements:

  • Native debugger support for Linux.
  • C#: allow keywords after ' . '.
  • Confusing error message “Interface types not allowed on unmanaged records”
  • Iodine: '__struct support'.
  • Iodine: Access to interface 'consts' when implementing it.
  • Iodine: allow '.class'
  • Iodine: Support for '__ref' parameters
  • Swift: '__Field' to declare an actual non-property field
  • Swift: Cocoa templates updated for latest Swift
  • Swift: support for combining protocols via &
  • Use MPF with VS2017 for now
  • Android: Better errors from 'aapt' (don't treat "note:" as error)
  • Basic support for the new GDBServer debugger; Ubuntu on Windows
  • Merged DelphiRTL
  • Merged EBuild
  • Merged Everwood5
  • Merged IslandRTL
  • Merged libToffee
  • Merged RTL2
  • Merged Samples
  • Merged SwiftBaseLibrary
  • Ship new Xcode 9.1 SDKs

New Features in Fire:

  • Editor: Breakpoints visually indicate if they are resolved or not.
  • Editor: Full CC for Android Manifest files.
  • Editor: New "Flatten Selection" and "Expand Selection" editor commands.
  • Skip unnecessary rebuilds when re-running the same project w/o any changes made.
  • Support for 'images' command in debug console.

Enhancements in Fire:

  • Menu item to show EULA.
  • Ongoing abstracting of CrossBox support into EBuild.
  • References: Allow dragging of Island/NDK projects to Cooper projects to add a project reference (will work in EBuild only).
  • Smaller Mono footprint, making for a smaller Fire.app bundle.
  • Template manager now property delay-loads, causing ~1.5s startup time improvement.

Fixes

Fixes in Core Elements:

  • 78559: "Out/var" fix-it is bad
  • 78884: A TwoWay or OneWayToSource binding cannot work on the read-only property 'MissingSDKName'
  • 78480: Accessing a member of a nullable struct gives weird error
  • 78657: Adjust project templates (including Web templates) for VS2017 mpf
  • 77777: Android: Preflight checks don't see the fresh installed Android Studio + Android SDK bundle
  • 78668: Bad fix-it for "var" and "inherited" call
  • 78653: Break point line numbers get confused by .inc files
  • 78433: Bug in string value of 'Any?'
  • 78077: Building generates FixIts for non-existent XAML files in /obj
  • 78595: C#: class doesn't see local method from .ctor
  • 78214: C#: WPF events get inserted with bad spacing
  • 78656: Can't add linked file to shared library
  • 78692: Can't add reference
  • 78676: Check and Fix Testcases
  • 78263: Class View: some options don't work
  • 78511: Code completion getting in the way for Swift 'print'
  • 78593: Codegen issue for mono only
  • 78573: Compiler error
  • 78516: Compiler Error
  • 78454: Cooper: Debugger stops on second exception while beign stopped already
  • 78421: Cooper: Error executing task JavaSigning: Collection was modified
  • 78479: Cooper: Problem with parsing FX signature
  • 78522: Cooper: Simple enum iteration fails to compile
  • 78552: Crash when completing a mapped to XXX sentence
  • 78827: Dupe "with" in error message for .ctor
  • 78475: Echoes: compiler emits assemblies with incorrect DebuggableAttribute set
  • 78452: FXGen missing from CrossBox
  • 78120: GetBaseInfo returns nil/error when in an undefined #ifdef
  • 78804: GetDefinitionText show wrong definition for sequence
  • 78180: Go to Definition, GetDefinitionText do not show properly value for SystemFunction
  • 76692: IDE: Show All Files - Include In Project doesn't work for single file
  • 78495: Idione: class member shows as "local field" hover info
  • 78702: IE for Unknown Identifier
  • 78570: Implicit overload issue
  • 78907: Internal error
  • 78655: Internal error compiling project with shared library
  • 78455: Internal Error in "current block" on unfinished property
  • 78675: Internal Error with 'writeLn(Convert.TryToInt32("9223372036854775807"))'
  • 78826: Iodine template issues
  • 78777: Iodine/Island: NRE in Quick Watch window
  • 78549: Iodine: "No overloaded constructor" for anon interfaces
  • 78497: Iodine: 'r' gets no case-mismatch error, 'bundle' does
  • 78440: Iodine: AutoFix for "wrong param modifier" error for '__ref' inserts 'var' (and misses space)
  • 78450: Iodine: Bad CC for Attribute
  • 78494: Iodine: CC contains bad elements
  • 78056: Iodine: CC for enum includes 'do' and 'import' keywords
  • 78441: Iodine: CC is missing "new"
  • 78299: Iodine: EUnit TestClass template creates code that cannot be compiled
  • 78560: Iodine: IE when compiling against Java 1.6
  • 78499: Iodine: NRE in Go to Definition
  • 78548: Iodine: Problem with generic inference from ancestor?
  • 78509: Island : IE with Class Contracts
  • 78209: Island Core references; IDE should not add hint path
  • 78557: Island RTL: debugger can't show values for simple types like double
  • 78160: Island/C#: method from parent class is getting called instead of current class
  • 78779: Island/Linux samples don't show any output
  • 78673: Island: '[Used(Inherit := true)]' doesn't seem to work for EUnit/release
  • 78477: Island: AddReference does not add reference properly
  • 78476: Island: Can not compile linux console app that uses InternetPack
  • 78252: Island: executables generate .fx
  • 78353: Island: Go To Definition problem
  • 78744: Java debugger: problem with evaluating class instances
  • 77779: Java: Preflight check doesn't detect incorrect JDK path
  • 78508: Latest Water fails with IE on v9
  • 78473: MakeSwifty: NSUserDefaults.standardUserDefaults did not get renamed
  • 78762: No item templates for shared project
  • 78598: NRE compiling project
  • 78846: NRE when using '#selector' with quotes
  • 78694: Oxidizer NRE
  • 78156: Oxidizer ObjC: lost the round brackets
  • 78167: Oxidizer ObjC: Problem with multiply-assigment
  • 77358: Oxidizer ObjC: wrong result for particular testcase
  • 78585: Oxidizer paste index out of range
  • 78198: Oxidizer, PeekAtDef, GetDefText testcases are failed
  • 78198: Oxidizer, PeekAtDef, GetDefText testcases are failed - fix for Java testcases
  • 78792: Oxygene CodeDom produces wrong code for array initializers
  • 78792: Oxygene CodeDom produces wrong code for nested classes
  • 78577: Paste C# fails with "Not Implemented"
  • 78567: Performance issue in array for loop
  • 78714: Problem with aspects and Services.GetType
  • 78707: ProjectReference throws an error when no name is specified
  • 78297: Property Pages: Host Application property doesn't allow to open dialog window for selecting file
  • 78349: Refactoring: "Extract method" inserts semicolon after method call (Swift)
  • 78906: Refactoring: "Rename" problem in WinForms app
  • 78873: Refactoring: "Switch to classic syntax" change method name 'Main' on 'main$$'
  • 78872: Refactoring: Rename doesn't work
  • 78879: Regression: Cant assign field to same-named var
  • 78435: SBL fails compiling some code
  • 78437: Swift: '??' doesn't propagate nullability correctly
  • 78462: Swift: CC is not "soft" when typing a closure parameter
  • 77968: Swift: need to be able to skip named parameters in the middle, if they have defaults
  • 78727: Swift: NRE after creating project
  • 78666: Test project to reproduce the E621
  • 78898: Toffee/C#: Internal error compiling a class
  • 78866: Toffee: "invalid record" in testcase
  • 78596: Toffee: bad code in .h for Tuples
  • 78691: Toffee: HI doesn't honor enum constant as start value for other enum
  • 78576: Toffee: HI import for 'const' char array is broken
  • 78840: Toffee: internal error building
  • 78865: Toffee: testcase NRE
  • 78635: Two Internal Errors with latest FPS and FireCoreApp
  • 77206: Type error in tooltip with a nested type
  • 78457: Unable to debug Hydra plugin in Visual Studio using Delphi host app
  • 76723: VS2015: 'Add new class' item absent in shortcut menu
  • 78822: VS2015: Adding new EUnit TestClass item to the project fails on dupe EUnit reference
  • 78571: VS2015: Can not replace existing references (Island, RTL2), always adding default path
  • 78264: VS2015: resource item template doesn't create associated designer file
  • 77746: VS2015: Search option on Class view display wrong results
  • 77751: VS2015: Some Class view options don't work with shared projects
  • 78283: VS2015: Swift Split Page item template for WinRT doesn't compile
  • 78024: VS2017: "Insert directives in upper case" is not taken into account
  • 78774: VS2017: An exception is shown on creating iodine android app
  • 77877: VS2017: build always rebuilds all
  • 78757: VS2017: C# cocoa templates issues
  • 78447: VS2017: Class view, Object Browser should not contain SharedProject in project list
  • 78319: VS2017: Debugger shows variables that aren't present
  • 78775: VS2017: EUnit android app Iodine doesn't attach r file to project and fails to rebuild
  • 78389: VS2017: Go to Definition works incorrectly
  • 78449: VS2017: GoToPosition does not work for Class view, Object Browser
  • 78757: VS2017: Hydrogene cocoa templates issues
  • 78380: VS2017: IDE allows to add references for wring platform
  • 78719: VS2017: Impossible to rename form name in WinForms app
  • 78464: VS2017: Marking a file with Build Action “Resource”, it disappears from Solution Explorer
  • 78807: VS2017: No item templates for WPF and Shared projects
  • 78763: VS2017: Problem with adding reference to shared project into existing project
  • 78282: VS2017: Problem with CirrusInterface sample
  • 78357: VS2017: Swift: Adding a button and a WinForms PropertyGrid control corrupts code
  • 78693: VS2017: Unable to load Microsoft.Build.Framework
  • 78375: VS2017: Web.config file is empty, prevents debugging
  • 78721: VS2017: WinForm: only 1st event is put into 'designer-generated code' region
  • 78795: VS2017: WinForms: problem with showing designer
  • 78343: VS2017: WPF: Error displayed when adding event handler
  • 78535: VS: Error in Go to Definition
  • 76756: VS: if Xcode version is invalid or has no SDK files, VS shows the "new SDK detected" dialog badly
  • 76689: VS: Show All Files shows hidden files and folders, .sln files, project files
  • 78783: VS: Silver Cocoa templates issues
  • 78496: Why is E622 separate from E464 and has no fix-it?
  • 76595: WPF Application: CC doesn't contain controls with closed XAML
  • 78903: WPF designer shows odd error for Oxygene template
  • 78420: Wrong Peek at Def that keeps duplicating with each invoke
  • 78915: Wrong setting for Optimize in debug config, for some tempplates
  • 78094: XAML Nesting is broke for some files
  • 78468: XML CC: Three issues in core engine
  • Allow non atomic volatile reads.
  • Bad deployment SDK value in watchOS app template
  • Bad namespace placeholder in Iodine template
  • Bad rollup/sort order for Blank Universal app
  • Change check for Universal tools
  • Codegen fixes for TLS/Android.
  • CrossBox won't start
  • Exception when concatenating string + integer
  • generate.train: only zip up libraries if 'libraryBaseFolder' exists.
  • Iodine: Missing macOS templates
  • LLVM Update

Fixes in Fire:

  • Abstracted common logic about island architectures & co into shared IslandHelpers class in EBuild
  • Background NRE fix for editor smarts triggering in non-project code text files
  • Better (still tentative) handling of multi-file item templates (before, all files got the same name, last one won)
  • Better build phase parsing for EBuild, support for targets.
  • Better code snippet quote escaping for Oxygene single-quote literals
  • Better exception handling/logging when setting up Mono
  • Better handling of errors when trying to load a project with xml file
  • Better messaging when Mono is disabled
  • Couple places where UpdateFile was called inconsistently for shared files
  • debugger: Android: Ignore 'android.system.GaiException'
  • Debugger: Android: Ignore 'sun.misc.CEStreamExhausted' exceptions
  • Debugger: Better handling of the debug console prompt drawing, if stdout comes in AFTER the debugger broke
  • Debugger: console didn't handle ir well when console mode was active but new debugger lines came in
  • Debugger: Console would allow to delete one too many chars
  • Debugger: Console would sometimes stay active when manually stopping a paused session.
  • Debugger: Enhancements to how it reacts when two exceptions come in at the same time;
  • Debugger: Island debug API cleanup
  • Debugger: NRE on empty exception messages
  • EBuild: --skip-projects
  • Editor: '__assembly' keyword was missing for Iodine
  • Editor: '__field' keyword highlighting for Swift
  • Editor: '__struct' keyword for Iodine
  • Editor: 'lifetimestrategy' keyword for Oxygene v10
  • Editor: Allow '-' & co as valid token character for XML CC;
  • Editor: C#: allow unescaped keywords after '.'
  • Editor: Crash when trying to save a file that has broken UTF-8 data
  • Editor: expand soft selection in XML to whole attribute value
  • Editor: New Iodine keywords
  • Editor: New Iodine v10 keywords
  • Editor: New Swift keywords
  • Editor: Potential crash when SF Mono font was fund buy SF Mono Bold font did not exist
  • Editor: replaceSelection would not always preserve selection properly.
  • Error messages with line breaks (such as an IE) would show badly in jumpbar
  • Error messages would not match up is .sln path had a dash, due to inconsistent URL encodings
  • Fire/DA: Could not generate strongly typed data tables for Relativity.
  • Fire/DA: Generate DataAccess Class did not fill DA-specific variable placeholders in the template
  • Fire/DA: Generate DataAccess Class did not generate anything
  • Fire/DA: Need deploy and load RemObjects.SDK.CG4.dll as well.
  • Fire/DA: NRE when invoking "Generate Strongly-Typed Data Table Classes"
  • Fire/DA: Show proper error message the DA codegen fails
  • Fix for version Elements check, v9 vs v10
  • Island: problem registering CB w/o a default key file
  • Leak in Cross-Platform menu system
  • Merged/reworked Register CrossBox sheet for Fire and Water
  • Newly added Favorite projects would not get persisted.
  • NRE fix in addProjectReference for projects not in the SLN
  • Offer "Resource" build action on Echoes and Cooper projects
  • Pass IslandLddExePath to EBuild when using embedded compiler
  • Problems processing .fireplugins
  • Proper error message when loading a template fails
  • References: Crash when adding references to a project that had zero
  • References: don't add RTL2 reference to WatchKit app; do add it to the extension, if so requested
  • Some color fixes for "80's Blue" theme
  • Templates: watchOS template wizard did not show
  • Toffee: Get List of deployment SDKs in Project Settings dynamically rather than hardcoding the list
  • Toffee: Moved a bunch of Toffee SDK logic out of Fire into EBuild for reuse
  • URL fix for Apple IOS Cert portal
  • XML CC: support for expanding soft-selection for CC to cover full XML attribute
  • XML Reformat: PreserveEmptyLines
RemObjects Elements v9.3
RemObjects Elements

RemObjects Elements

Develop great apps with a compiler for the 21st Century.

Got a Question?

Live Chat with our RemObjects Software licensing specialists now.