RemObjects Elements 11.0.x

Released: May 7, 2021

Updates in 11.0.x

v11.0.0.2863

Updated Aug 25, 2023

  • Core
    • C#: Confusing errors for missing ().
    • Internal error: Unknown element 101.
    • Island/Delphi: Inheriting from Form loses 8 bytes in metadata.
    • No error declaring var w/o "var" keyword, only using it.
    • Regression: Can't call parameter-less .ctor in Swift.
    • Merged EBuild.
    • Merged InternetPack.
  • Fire & Water
    • "Index out of bounds" after pressing Shift+Tab.
    • CodeBot: Get assistance from CodeBot for exceptions.
    • Debugger: persist info about the current exception, while paused.
    • Editor: Don't highlight current token while selecting.
    • Internal NRE fix for block?.CurrentMethod.
    • Paste should not keep soft-selected keyword from smart-completed line (regression fix).
    • Regression: ProjectGuid should always be uppercase.
    • Water: Disable Attach to Process when running under Microsoft .NET Core (for now), because the APIs don't allow enumerating processes.
  • EBuild
    • DFM Parser: Collections were always written as strings.
    • Regression: ProjectGuid should always be uppercase.
    • Toffee: Use -platform_version to link, for all platforms except for Apple macOS.

v11.0.0.2859

Updated Aug 12, 2023

  • Core
    • C#: Curly for switch reformat badly.
    • Island/Delphi: Methods from Winapi.Windows.pas aren't imported.
    • Oxygene: CC missing for directives (method, property).
    • Oxygene: Formatting doesn't work when closing parents for class ancestor is missing.
    • Refactor/rename misses var.
    • Cirrus: Improved short message when exception occurs in Aspect.
    • Debugger: NRE in DebugEngine.DecodeMethodName without parameters.
    • Merged InternetPack.
    • Merged RTL2.
  • Fire & Water
    • Editor: Paste should keep soft-selected ( from smart-completed line.
    • Editor: Paste should not keep soft-selected keyword from smart-completed line (eg "begin").
    • Editor: Added support for "protected" & more for smart-enter after "class".
    • Fire: Internal NRE in New File dialog.
  • Elements RTL
    • Added Convert.TryToIntPtr.
    • DateTime.TryParse should now handle nil input.
    • XmlDocument: Value for an empty XmlElement should be nil, not empty.

v11.0.0.2857

Updated Aug 4, 2023

  • Core
    • C#: Bad reformat.
    • Island/Delphi: wip.
    • Oxygene: Bad reformatting for method implementation.
    • Debugger: Island: Call stack fixes for Windows.
    • Debugger: Island: NRE fix.
    • Debugger: Island: Show message fore exceptions during evaluation.
    • Debugger: Island: Temporary revert "return empty debug position if it is outside symbol".
    • Debugger: Mono debugger fixes.
    • Merged EBuild.
    • Merged InternetPack.
    • Merged RTL2.
  • Fire & Water
    • Water: Index was outside the bounds of the array after prissing.
    • CC popup got in the way of Copy too much; disabled ability to copy it.
    • CodeBot: Convert code from selection or clipboard.
    • CodeBot: Option to ask about errors.
    • Editor: Support "initialization", "finalization" for smart-enter after "implementation".
    • Editor: Trim ; from clipboard for code snippets.
    • Editor: Undo could get out of whack after CC with related changes.
    • Fire: KVO could cause the IDDE to crash if project file changed externally while viewing the project view.
  • EBuild
    • DFM Parser: Support strings mixed with char literals (two regression fixes).
  • Elements RTL
    • String.Trim API improvements.

v11.0.0.2855

Updated Jul 28, 2023

  • Core
    • C#: Cannot handle < in switch pattern.
    • C#: Nested pattern should allow patterns inside the patterns.
    • Island/Delphi: wip.
    • Oxygene: Bad reformat with global methods.
    • Oxygene: Confusing message: "E1 unknown token expected".
    • The debugger displays the set value, no identifiers.
    • Water/VS: Architectures property is shown incorrectly.
    • Case fix.
    • Debugger: CLR: Improved error when you can't evaluate method calls due to native stack frame.
    • Debugger: CLR: Do internal Step on Pause, to prevent evaluation exceptions.
    • Debugger: Enum evaluation fix (Island, Mono, CLR).
    • Debugger: Island: Return empty debug position if it's outside symbol.
    • Merged EBuild.
    • Merged InternetPack.
    • Merged IslandRTL.
    • Merged RTL2.
  • Fire & Water
    • Project Settings: Legacy fallback for CpuType.
  • Microsoft Visual Studio
    • Exposed "IsDelphi" flag for project settings filter.
    • Problem(s) with Manage References in Visual Studio 2022.
    • Project Settings: Legacy fallback for CpuType.
  • EBuild
    • Microsoft .NET Core: Always "Publish".
    • Improved check for jmod folder in both JRE *and JDK, if both are set.
    • DFM Parser: Cleanup/refactoring.
    • DFM Parser: Added support for nested objects w/o name.
    • DFM Parser: Added support for strings mixed with char literals.
    • libToffee: Build fix for building on older Apple macOS SDKs.
    • NuGet: "runtimeTargets" tag was not created for .so/.dylib files.
    • NuGet: Don't consider sub-platform lib/ref folders as valid candidates for references.
    • NuGet: Don't use stuff from runtimes as "Content".
  • Elements RTL
    • Convert.ToHexString: You can now allow splitting output into multiple lines as well.
    • Convert.ToHexString: Overloads lost the "spacer" value.
    • JSON: You can now allow JsonStringValue.Implicit cast on null strings.
    • JSON: You can now allow null as input for Try* methods.
    • JSON: Added the ability to pass string/bool/int/double as values on document (root), as they were allowed on objects.
    • JSON: Added convenient methods to create document from array of bytes.
    • XML: Speed improvements to XmlNode.CheckName (and with that, document load).
  • Island RTL
    • Added overloads to create GUID with non-open 16-Byte array and with ^Byte.
  • Island Delphi Support
    • Added IsInstanceInterface.
    • Added many Embarcadero Delphi Intrinsic Routines.

v11.0.0.2847

Updated Jun 30, 2023

  • Core
    • "Required" not properly enforced for descendants.
    • "Required" properties are more compatible with "not nullable" now.
    • CC: Constructor definition doesn't show parameters from the base class.
    • HI failure with Xcode 15 SDKs.
    • Oxidizer C#: problem with dot in delegate name.
    • Added support for visionOS/xrOS in Header Importer Availability.
    • Debugger: Indexer property evaluation fixes.
    • Debugger: Added new WebAssembly instructions.
    • Island/Delphi: wip.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged libToffee.
    • Merged MercuryBaseLibrary.
    • Merged RTL2.
    • Merged SwiftBaseLibrary.
    • Added support for visionOS.
  • Fire & Water
    • You can now allow standard Apple iOS and iPad apps to run/debug on visionOS Simulator and Hardware.
    • Data Abstract integration: Errors during table codegen did not show an alert.
    • Data Abstract integration: Added support for JSON-based .daSchema v2 format.
    • Device discovery was not started properly, for multi-target projects.
    • Added support for visionOS.
    • Wrong device could be used for debugging, in multi-target projects.
  • EBuild
    • Improved error when Lipo encounters an ELF binary.
    • Improved error when Lipo encounters bad file: show the name of the actual file thats bad, not the .a.
    • Don't fail when resource processing fails, on Mono (because it always does).
    • Fix for building libEBuild against macOS 14 SDK.
    • iOS: Don't force-set get-task-allow.
    • Added support for visionOS.
  • Elements RTL
    • Added support for visionOS.
  • Island RTL
    • Added support for visionOS.
  • Swift Base Library
    • Added support for visionOS.

v11.0.0.2841

Updated Jun 2, 2023

  • Core
    • C# 11: Required fields/properties - Properties can now be marked with the required directive. The new directive addition mandates explicit initialization of the properties every time an instance of the containing class or any of its descendants is created. This enhancement directly promotes the principle of fail-fast, which allows developers to detect potential issues at the earliest stages of instantiation.
    • C# 11: Relaxed Shift Operator.
    • C#: "treat as fixed" missing semicolon loses next statement.
    • C#: Errors with "global using" after #if.
    • C#: Global alias does not work.
    • Oxidizer: C#->Oxygene use hex values as in source fragment.
    • Oxidizer: Issue with converting Delphi code to Oxygene.
    • Oxygene: Required fields/properties - Properties can now be marked with the required directive. The new directive addition mandates explicit initialization of the properties every time an instance of the containing class or any of its descendants is created. This enhancement directly promotes the principle of fail-fast, which allows developers to detect potential issues at the earliest stages of instantiation.
    • Oxygene: Added Inline Variable Declarations in 'is' Type Checks - This addition promotes not only readability but also enhances code efficiency. Essentially, the source value is type-cast to the target type, if it matches, and made available as a new named variable.
    • Oxygene: Bad follow-up errors in method with missing declaration (and wrong message in general).
    • Regression: IE with class of on Cocoa.
    • Debugger: Island: MachO evaluations don't work.
    • Debugger: Typo fix.
    • Island/Delphi: wip.
    • Merged EBuild.
    • NRE fix.
  • Fire & Water
    • Editor: Added 'Required' keywords for Oxygene and C# 11.
    • Water: Favorite solutions.
  • Microsoft Visual Studio
    • Fixes for breaking changes in VS2022 17.7 Preview.
  • EBuild
    • Error loading .jar files files, with .NET Core version of compiler.
    • Store ResolvedPath canonically to avoid regression bug in Apple macOS with /../ paths.

v11.0.0.2837

Updated May 12, 2023

  • Core
    • Debugger: Microsoft .NET Core doesn't know vars declared via tuple.
    • Embarcadero Delphi Compatibility: Deprecated with message after const.
    • Island/Windows/arm64: dupe symbols.
    • Debugger: Island: Proper stack frame for stubs.
    • Swift: Bad Oxidizer.
    • You can now compile and actually ship InternetPack in Elements distro.
    • Debugger: Island: Windows: Improvements in GetStackFrames.
    • Merged Echoes.dll.
    • Merged IslandRTL.
  • Fire & Water
    • Water crashes when files in the project are in different drives.
    • CodeBot: Context menu tweaks.
  • Microsoft Visual Studio
    • Can not start project with Echoes.Legacy from VS2022.
  • Island RTL
    • Added Microsoft Windows/arm64 support (wip).

v11.0.0.2835

Updated May 5, 2023

  • Core
    • C#: You can now allow ifdef in array literal.
    • C#: You can now allow ifdef in switch.
    • Debugger: Problem catching Embarcadero Delphi AV with arm64 debugger.
    • Island/Delphi: AV calling [Delphi] interface.
    • Island/Delphi: "published" is now the default visibility for types with $M+.
    • Methods declared as returning "future X" return nil task, when result is not set.
    • Oxygene: One more bad unindent.
    • Oxygene: Bad indent with using.
    • Oxygene: Bad reformat with attribute.
    • Oxygene: Cannot have {$HINT in case.
    • Oxygene: CC in dupe method fails with bogus errors.
    • Oxygene: Nested method keeps reindenting.
    • Regression: Type "InterfacedObject" has a different class model than "rtl.IUnknown" (Island vs COM).
    • Debugger: CLR: workaround for generic parameters problem on arm64.
    • Island/Delphi: WIP on inline code.
    • LLVM has been updated.
    • Merged cooper.jar.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged libToffee.
    • Merged RTL2.
  • Fire & Water
    • CodeBot: tweaks.
    • Settings view was laggy for .NET Core projects.
    • Project settings typo.
    • Fire: Settings view would lose position and selection when making changes.
  • Microsoft Visual Studio
    • Dropped duplicate “Mercury” entry for .elements file extension.
    • Impossible to extract sub-method.
  • Elements RTL
    • JsonDocument.TryFromString should allow now nil input.
    • List: Tweak for AddRange on Echoes.
    • Queue: Allow Peek on empty queue, return null.
    • Random.NextInt(x) was broken for x = 2^y.
    • Revert "Url.AddPercentEncodingsToPath missed #58, ":"".
  • Island RTL
    • Introduced some Task helper methods.

v11.0.0.2833

Updated Apr 21, 2023

  • Core
    • Island: You can now add generic parameters to a non-generic type.
    • Island: E0 Internal error: Invalid aggregate record.
    • Island: wrong interface method is called.
    • Debugger: Island: Fix in decoding method names.
    • Delphi COM support Fixes for inherited interfaces.
  • Fire & Water
    • CodeBot window didn't show automatically after invoking from Editor; logging/typo cleanup.
  • Visual Studio
    • VS: Issue with drag&dropping files to project.

v11.0.0.2821

Updated Mar 17, 2023

  • Core
    • Added Embarcadero Delphi resource support on Darwin and Linux.
    • Echoes: Bad IL with future/await.
    • Echoes: Method not found when using "future Void" across DLL boundaries.
    • Mercury: Wrong length in Array Declaration -- in vb means upper array range, not elements number.
    • Debugger: Island: Windows: set bp on the next instruction when step over "Call".
    • Island/Delphi: inline work (wip).
    • Merged CodeGen4.
    • Merged EBuild.
  • Fire & Water
    • Fire: Bad font color for selected note in dark mode again.
    • Fire: Dark Mode -> Settings -> References -> Font is too dark.
    • Go to Definition doesn’t see project ref code when using BinaryName.
    • Editor: "Paste & Convert Delphi" via context menu used Objective-C instead.
  • Visual Studio
    • Go to Definition doesn’t see project ref code when using BinaryName.
  • EBuild
    • Android: More aapt2 tweaks (reference pre-linked aars; wip).
    • Dcp import: make Dcp disposable.
    • Honor "TargetFrameworkIdentifier" when falling back to legacy "TargetFrameworkVersion" setting.
    • Added support for Microsoft .NET 8 Preview.

v11.0.0.2819

Updated Mar 10, 2023

  • Core
    • Cirrus: Way to redirect errors to a different line.
    • Cooper: .jar MANIFEST.MF has lines that are too long.
    • HI Fails on Xcode 14.3 (attributeavailabilitywithversionunderscores).
    • HI fails on Xcode 14.3 (bad line break).
    • Island/Delphi Method Pointers.
    • Island/Delphi: E: Internal error: Invalid value name.
    • Island/Delphi: Explicit cast from ShortString is not called.
    • Debugger: Island: Probable fix for InvalidCastException in EvaluateExpression.
    • Merged EBuild.
    • Merged IslandRTL.
  • Fire & Water
    • Editor: __published keyword for Java.
    • Fire: potential crash when theme would change between light and dark automatically.
  • Visual Studio
    • Problem upgrading Microsoft .NET Target Framework on project.
    • Visual Studio doesn't show aar references properly.
  • EBuild
    • Android: pre-aapt2-link each aap to an apk with dependencies.
    • Android: Reverted needing ElementsCooperGenerateAndroidManifestFile to run before References.
    • Build all Microsoft Windows platforms for "legacy" (on CI2), don’t exclude arm64.
    • Island/Delphi: NRE when no .dcps were found to import.
  • Island RTL
    • Windows/arm64 tweaks/defines (wip).

v11.0.0.2815

Updated Feb 24, 2023

  • Core
    • C# 11: Added "main" attribute prefix.
    • C# 11: Added Lambda default parameters.
    • C# 11: newline in string interpolation.
    • Delphi Compatibility (System.pas): "overload" on external.
    • Delphi Compatibility (System.pas): "packed array".
    • Embarcadero Delphi Compatibility (System.pas): Added support for "platform" keyword.
    • Delphi Compatibility (System.pas): type decl nested in method var section.
    • Island/Delphi: Added support for "published" without DCM (also C#).
    • Oxygene: Improved error for badly declared Anonymous Interfaces.
    • Debugger: CLR: You can now show "self" in iterator method.
    • Debugger: Mono: You can now unwrap generated local in iterators.
    • Merged EBuild.
  • Fire & Water
    • Editor: _published keyword for C#.
    • Editor: Added new keywords for Oxygene (Embarcadero Delphi Compatibility) and C# 11.
  • Visual Studio
    • Microsoft Visual Studio now asks for Target Framework when creating new Apple iOS app.
  • EBuild
    • Fix for changed path of jdk in Android Studio for Microsoft Windows.
    • Added new URLs for Google's default Maven repositories.

v11.0.0.2807

Updated Jan 27, 2023

  • Core
    • Cannot use "future integer" syntax for async main method.
    • Echoes: "Invalid Program" when using exit before await.
    • Island-Delphi: WIP.
    • Toffee: Two IEs building Fire FCE with latest with Compiler/Core.
    • Debugger: Echoes: MIDebugger doesn't support asm and registers for Echoes.
    • Debugger: Island: don't evaluate property if there is appropriate generated field.
    • Debugger: Island: fix for evaluate special range expression.
    • Debugger: Island: include generated fields only (if exists) for properties when expand object.
    • Merged EBuild.
    • Merged RTL2.
  • Fire & Water
    • "show in output finder" menus did not work when building NuGet packages.
  • Visual Studio
    • Task list via custom comment tokens do not work.
  • EBuild
    • Generating NuGet packages: make project references come thru as NuGet dependencies.
    • Generating NuGet packages: use "MainReference" in FinalOutput.
    • Generating NuGet packages: version for dependent packages was emitted wrong.
  • Elements RTL
    • Default XML Styles.

v11.0.0.2803

Updated Dec 31, 2022

  • Core
    • Island Debugger: Delphi stack frames are missing method name, for .ctor.
    • Fix for the duplicated property being grayed out in editor.
    • Island Debugger: Fix for getting Cocoa exception type.
    • Merged EBuild.
    • Merged Everwood5.
  • Fire & Water
    • Editor: Fix for IBOutlet code snippet.
    • Project Settings: expose Runtime Identifiers in GUI, for .NET Core.
    • Properly use selectedControlTextColor instead of whiteColor for table view selections.
    • Water: ManagedLogging option (and --managed-logging command line), like Fire.
  • EBuild
    • .NET Core: append runtime identifier to target name in .deps.json, if theres exactly one.
    • .NET Core: don't publish runtime folders for platforms not in RuntimeIdentifiers setting.
    • Island/Delphi: implicitly reference Delphi.rtl.fx.

v11.0.0.2799

Updated Dec 16, 2022

  • Core
    • Additional oxidizer test (C#).
    • Cannot cast ^Void to TObject.
    • CC: Hide enum members form CC on an actual enum value.
    • CM warns on missing mscorlib for .NET Core projects (same for rtl, java etc).
    • Delphi Compatibility: Allow missing semicolon on last record member.
    • Inconsistent Go to Definition in interpolated string.
    • Island Debugger: Cannot get disassembly.
    • Island/Delphi: Support union/field offsets in records.
    • Island/Linux: Internal error: Invalid constant type.
    • Island: Another IE.
    • Island: Cannot link Security, "could not load TAPI file".
    • More improvements in how CC inserts multi-part named over existing code.
    • Oxidozer/Swift adds two breaks for switch, when none are needed.
    • Toffee IE.
    • Toffee: IE if void block gets used as boolean.
    • Toffee: NRE in constructor fro RTL2 Exception base class.
    • Debugger/CLR: Possible fix for locking DLL.
    • Debugger/Island: Dictionary expand fix.
    • Debugger/Island: Fix for setting fMain breakpoint.
    • Debugger/Island: Windows: Delphi exceptions fix (rtlxxx.bpl loaded/unloaded several tomes).
    • Debugger/Island: Windows: Disassembly improvements.
    • Debugger/Island: Windows: Fixes for get next stack frame.
    • Island/Delphi: WIP.
    • Merged EBuild.
    • Merged IslandRTL.
    • Regression fix: Delete ElementsHelper.exe.config now that ElementsHelper.exe is 4.8.
  • EBuild
    • Use llvm-rc on Mac and Linux.
  • Island RTL
    • Island: weird default ToString for DateTime.
  • Island DelphiSupport
    • WIP.

v11.0.0.2795

Updated Dec 2, 2022

  • Core
    • Better error message for broken .res files.
    • Delphi Compatibility: allow {$IF SizeOf(x) = .. }.
    • Island/Delphi: Debugger: Added support for evaluating Delphi objects.
    • Island/Delphi: Debugger: Added support for catching Embarcadero Delphi exceptions (wip).
    • Oxygene: call with trailing closure just gets completely ignored.
    • Debugger: Island: Fix for Windows stack frames.
    • Island/Delphi: wip.
    • Merged CodeGen4.
    • Merged EBuild.
  • Fire & Water
    • Fire: iOS debugging does not stop ios-deploy, when process is killed.
    • About window xib fix.
    • Disable git logging for Fire.
    • Git: build fix for changed API.
    • Added the ability to sign ios-deploy for local build.
    • Added support for provisioning profiles for Apple macOS apps.
    • Water: projects failed to load if git was not installed.
  • Visual Studio
    • Options tweak for Oxygene: CC and namespace sorting.
  • EBuild
    • Island/Delphi: "empty" .dfm resulted in broken .res.
    • Cocoa: fix for detecting if a library is device or simulator, with Xcode-style path names.
    • Island/Delphi: import: fix for path-less file parameters; better exception display.
  • Island DelphiSupport
    • WIP.
  • Delphi RTL
    • Fix for reading .dfm files.

v11.0.0.2791

Updated Nov 18, 2022

  • Core
    • CC adds dupe "public" for method override.
    • Toffee: Odd behavior with ord() on an indirect nullable string.
    • Debugger: Island: Assign to nil fSharedCacheMod when arch is changed.
    • Debugger: Island: Prepwork for catching Delphi exceptions.
    • Debugger: Island: Read symbols for necessary libs only from shared cache; load symbols by demand.
    • Island/Delphi: WIP.
  • Fire & Water
    • Editor: Don't apply surroundSelectionWith logic when selection is a placeholder token.
    • Fire: Fix for welcome screen on dark theme.
    • FireCodeEditor: Mode for drawing "diff" view.
    • Git: Fix for "git status" and filenames with spaces.
    • Git: Fix for full "diff".
    • NRE proofing.
    • References: Could not drag a project reference onto a specific target.
    • Renamed "Build and Run" context menu to just "Build", for projects that can't run.
  • EBuild
    • Logging cleanup.
  • Island Delphi Support
    • WIP.

v11.0.0.2785

Updated Oct 28, 2022

  • Core
    • Added "[Internal]" aspect to hide public classes from CC.
    • Microsoft .NET Core debugging was broken on Apple macOS for Core 7.
    • Island: Can now use "assembly" class from external .fx.
    • Added a range on arrays on non-.NET.
    • Debugger: Improved logic for whether to run the selected debughost in Core, Mono or .NET.
    • Debugger: Island: Darwin: read symbol names only for necessary dylibs.
    • Debugger: Island: Darwin: remove 'dylddebuggernotification' after get necessary dylibs.
    • Debugger: Island: read symbols by name from shared cache.
    • Merged CodeGen4.
    • Merged EBuild.
  • Fire & Water
    • Breakpoints: Break true/false flag was persisted badly in .water.cache.
    • Breakpoints: Fix for field validation in Edit Breakpoint sheet.
    • Breakpoints: Added support for having a breakpoint stop the current process.
    • Debugging: Don't use Core version of debughost for now from Fire.
    • Fire: Fix for Help view for Microsoft documentation domain.
    • Fire: Fix for Help view opening too many external URLs when viewing Google documentation.
    • Logging cleanup.
    • NRE proofing.
    • Project Settings: Added the ability to allow some settings to pick files from a project and browse for external files.
    • Regression: Implicit package refs no longer showed on root project, for single-target projects.
    • Water: Added File/FolderPicker settings type that allows browsing.
    • Water: Refactored FolderBrowserDialog into OpenFileDialog.
  • Visual Studio
    • Path text boxes doesn't have Browse button on property page.
  • EBuild
    • Island binary cannot launch for debugging in Simulator.

v11.0.0.2777

Updated Oct 1, 2022

  • Core
    • Delphi Compatibility: Ignore {$R *.xxx}.
    • Island: Added support for building/linking with the right platform triple for Apple iOS Simulator/arm64.
    • Range still parses as error on non-.NET platforms.
    • Debugger: CLR: Dispose after could hang if process was not started.
    • Debugger: Island: Read AnsiChar string in big chunks when GetObjcClassInfo.
    • ElementsHelper: You can now use System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile to find right machine.config.
    • Install script fixes for Mac/Linux.
    • Island/Delphi (WIP).
    • Merged cooper.jar.
    • Merged EBuild.
    • Merged Echoes.dll.
    • Merged libToffee.
  • Fire & Water
    • F3 for "find next" in finding in water does not work when the find edit is active.
    • Water crash when updating the file of opened project.
    • Editor: Added a highlight token at cursor.
    • Editor: Now needs to refresh syntax definition when active project changes.
    • Fire: You can now deploy llvm-rc too.
    • Now treats .dpr as Oxygene code file.
    • Water: Added plugins to Tools menu above the "Options" menu.
    • Water: Build messages should now only show their first line in messages tree view.
    • Water: Added the ability to import Embarcadero Delphi SDKs (experimental).
  • Visual Studio
    • Debugger: Watch window fails with Internal parsing error exception.
    • VS2022: Issue with adding .dll to reference.
  • EBuild
    • Island: Added support for building/linking with right platform triple for Apple iOS Simulator/arm64.
    • No path for Reference when switching between device and simulator.
    • Improved .dproj import.
    • Internal: LiveObject for Project reference got lost during cache restore. Storing these per project now, instead.
    • Island/Delphi: (WIP).
    • Project Import: Delphi: You can now add .dfm/.lfm/.fmx files to project alongside their .pas.
    • Now treats .dpr as Oxygene code file.
  • Island Delphi Support
    • WIP.

v11.0.0.2773

Updated Sep 16, 2022

  • Added the ability to allow "InstanceType" to be used in operator definitions.
  • Added new “Default Uses Prefixes" setting.
  • Exposed .fx codegen via EBuild's --dump parameter.
  • Added Toolchain support for Grpc and Google ProtoBuffer .proto files.
  • Added new/enhanced project upgrade/migration logic using CPS in Microsoft Visual Studio.
  • Fire/Water:
    • Debugger: Added the option to turn off "stop on (any) Exceptions" from the Exception Sheet in Fire.
    • Debugger: Added the option to use breakpoints from all open Solutions in Fire.
  • Added support for running Water on Microsoft .NET Core 6, including natively on Microsoft Windows/ARM.
  • Added support for running EBuild and compiler on .NET Core 6, including natively on Windows/ARM.
  • Added support for Apple Xcode 14.0 GM SDKs.
  • Added support for older v2 NuGet repositories.

v11.0.0.2763

Updated Aug 12, 2022

  • Core
    • Added C# Index support on non-.NET (Cooper and Toffee).
    • Debugger: Demangling of multi-part names adds extra ().
    • HI codegen: Added clearer range check exceptions.
    • HI codegen: Range type was not handled.
    • HI codegen: Set type was not handled; operators were emitted as methods.
    • HI2: Improved error recovery in .fx codegen.
    • Install-delete old RemObjects.Mono.Helpers.
    • Island/Delphi .dcp import (wip).
    • Merged cooper.jar.
    • Merged EBuild.
    • Merged Echoes.dll.
    • Merged IslandRTL.
    • Merged libToffee.
    • Merged MercuryBaseLibrary.
    • Merged RTL2.
    • Regression for "The process failed to start with the following error: Cannot debug a Darwin process on a Unix host!".
  • Fire & Water
    • Improved editor/CC support for target-specific files.
    • Don't nest target-specific files under their target.
    • Improved Island/Embarcadero Delphi tool-chain support (wip).
    • Project Picker was not always alpha-sorted.
    • RO/DA: Improved support for integration with multi-target projects (connect to RO server, wip).
    • RO/DA: nesting fix for multi-target code files under remoteRODL.
    • RO/DA: Improved support for adding files to a specific target.
  • EBuild
    • Bad copy-local on RemObjects.Elements.Code.dll reference.
    • Island/Delphi import tweaks (wip).
    • Improved Island/Delphi tool-chain support (wip).
  • Elements RTL
    • Improved Environment.OSName.

v11.0.0.2757

Updated Jul 22, 2022

  • Improved Embarcadero Delphi compatibility in Oxygene.
  • Island/Linux: Improved COM Interop.
  • Improved DateTime and Double in Elements RTL.
  • Fire/Water:
    • Debugger: Added support for instruction-level StepInto/Over in Disassembly.
    • Debugger: Added support for registers in Debug Inspector.
    • Improved Remoting SDK and Data Abstract integration.
    • Added support for recursive **.pas wildcards.

v11.0.0.2727

Updated Apr 1, 2022

  • Improved Embarcadero Delphi compatibility mode for external methods.
  • Oxidizer: Added new Keyword Escaper for escaping non-Delphi Oxygene keywords in a .pas file.

v11.0.0.2723

Updated Mar 18, 2022

  • Core
    • HI: ArgumentNullException parsing Island RTL.
    • Island: .winmd support (wip).
    • Island: AV creating COM interface from Object.
    • Mercury: "Import" missing from CC.
    • Swift ABI (wip).
    • Wrong overload called with nullable numeric values.
    • Debugger: Stack trace fix for WebAssembly.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged RTL2.
    • A Microsoft .NET Core version of the compiler is now shipped in the setup.
    • Ship Fuchsia SDK (wip).
    • Added support for “Universal” references in Island.
  • Fire & Water
    • Added support for adding NuGet package references to Island/Microsoft Windows projects.
  • Microsoft Visual Studio
    • Editor shows @ Razor syntax as error in .cshtml files.
  • EBuild
    • Generate bitcode does not work for Island.
    • Fuchsia (prep-work).
    • ImpliedConditionalDefines- (tweak/regression, ran to late to process all/legacy).
    • Potential NRE processing NuGet packages on incremental build if a dupe .dll was added.
    • Added support for NuGet packages on Island/Windows.
  • Elements RTL
    • Environment.CurrentDirectory should not be available on WebAssembly.
  • Island RTL
    • Implemented more Fuchsia apis (wip).
    • IFDEF fixes for Linux.
    • WinRT helper APIs.

v11.0.0.2719

Updated Mar 4, 2022

  • Core
    • Compiler NRE in CombinedParsedType.get_GUID.
    • Go to Definition: NRE showing Guid attribute.
    • HI: generate const values.
    • Island: InternalCalls.GuidOf returns empty guid.
    • Island: Issue with showing Guid in Go to Definition.
    • Mercury: Class Contracts: Old expressions support.
    • Mercury: some templates are missing Mercury reference.
    • Merged EBuild.
    • Merged EUnit.
    • Merged RTL2.
  • Fire & Water
    • Added a dedicated project status icon for "Clean successful vs "Build successful".
    • Editor: .cshtml files used wrong tab size (8 vs 2).
    • Editor: Some missing new C# and Swift keywords.
  • Microsoft Visual Studio
    • Improved platform type indication for Island templates.
  • EBuild
    • Debug logging for bad ResolvedPaths passed to .ctor (safe to ship).
    • Added a dedicated project result for "Clean successful vs "Build successful".
    • Fuchsia: .far file reader/extracter.
    • Internal: --skip-compile option.
    • Added a more detailed error when NuGet package XML fails to be read.
    • Added new Target.AddObjectIfResolved method.
    • Save .ebuild xml even on failure, as it can aid with debugging build problems.
  • Elements RTL
    • Bad default width for Convert.ToHexString.
    • Constructor for String(bytes) didn't drop preamble.
    • Fuchsia (prep work).
    • Added a new overload for Encoding.DetectFromBytes that returns preamble size.
    • Path.ChangeExtension failed on files w/o extension, if one of the folder names had a dot.
  • Island RTL
    • WebAssembly: linker warnings.
    • Fuchsia (prep work).
    • Return 0 should be nil.

v11.0.0.2709

Updated Jan 29, 2022

  • Core
    • C# emitted error and warning for case mismatch.
    • Declaration of type is shown incorrectly.
    • Echoes: Potential NRE in .licx compiler.
    • Island/Darwin: Ambiguous call to "description".
    • Island/Darwin: Can't use generic params with Cocoa collection even if constained to NSObject.
    • Island/Darwin: Cannot use Uint in Cocoa generics.
    • Island/Darwin: Regression: Cannot use simple types in generics on ToffeeV2.
    • Island: AV.
    • Island: Improved error message for "wrong class model".
    • Island: Some regressions from generics changes/fixes.
    • Mac Catalyst can't get NSException type by name.
    • Mapped types in generated .h file.
    • Peek at Definition was missing namespace in some cases.
    • Swift ABI (steady wip).
    • Swift: IE on .NET.
    • Swift: Not all "unknown type" errors get namespace fix.
    • Swift: Regression: Error for "initialized" vars in unreachable code.
    • Swift: Wrong inserting method after CC.
    • Toffee/watchOS: Bitness problems with NSNotFound on (arm64_32?) device.
    • Unicode evals (and Water console) still don’t work for Cooper.
    • Warn on discarding awaits.
    • Water: __Extensions group isn't informative.
    • Debugger: Island: Fix for modules could have shared segments.
    • Debugger: Island: Global vars evaluation.
    • Mercury: Template fix for WebService.
    • Merged EBuild.
    • Merged EUnit.
    • Merged Everwood5.
    • Merged IslandRTL.
    • Merged RTL2.
    • Merged SwiftBaseLibrary.
  • Fire & Water
    • Reference paths: Use method has been refactored to EBuild and drop submodes.
  • Microsoft Visual Studio
    • Options page: Review reference paths pages.

v11.0.0.2705

Updated Jan 10, 2022

  • Core
    • Microsoft Visual Studio: Added support for “Peek Definition”.
    • Ambiguous overload with writeLn() and id.
    • Cooper: runtime error with Unicode in string literal.
    • Debugger: demangle generic method in stack trace.
    • Go to definition on abs function gives NRE.
    • Island RTL: four bogus "code cannot be reached" warnings in Release.
    • Island: Generated header file has "void" parameters.
    • Island: Generated header file has bad simple types.
    • Mercury: CC sees types before Module members, while compiler doesn't.
    • Mercury: NullReferenceException in event handler.
    • WebAssembly: more GC issues.
    • Merged EBuild.
    • Merged IslandRTL.
    • Potential file locking fix for Assembly.Load(File.ReadAllBytes.
  • Island RTL
    • Island: arm64 posix app does not launch using debug build of Island RTL.
    • Island: Reflection Method.Invoke was not implemented for arm64.
    • WebAssembly: more GC issues.
    • Bug at showing long/short month name.

v11.0.0.2689

Updated Nov 12, 2021

  • Added support for Microsoft .NET Core 6.0 and Visual Studio 2022.
  • Oxygene: for/to loop variables can now be inferred, just like for each.

v11.0.0.2671

Updated Sep 25, 2021

  • Core
    • CC for members on property fails, if there's additional multi-part method names.
    • Darwin: AV accessing NSDictionary.
    • Darwin: Still "mismatch on first label".
    • Darwin: Still AV passing Island string literal to %@ formatter.
    • Embarcadero Delphi Compatibility: allow "for in" to loop a set.
    • Echoes: Stack overflow in an async console application.
    • Island Debugger: Darwin: wrong top stack frame and get get locals.
    • Island: bad linker error for exported method starting with "L" on i386.
    • Island: NRE in BroadcastManager.
  • Regression: linking libEBuild/Toffee fails.
  • Merged DelphiRTL
  • Fire & Water
    • Water: NRE when build finished w/o ever having had messages.
    • Force NuGet packages to get the canonical name, when added via Manage References, even if case was bad.
    • Message tweak for "Project ... has no FinalOutput.xml".
    • Potential NRE when creating a Shared Project from template with "Use Elements RTL" option checked.
  • Microsoft Visual Studio
    • Fixed .NET Core/.NET Framework target framework setting.
    • Fixed NRE when adding project reference.
  • EBuild
    • HI: allows the name of the .xcframework to differ from the .framework(s) inside.
  • Elements RTL
    • ImmutableBinary.ToNSMutableData.
    • Implemented http for Island/Darwin: fix for AV due to incompatible Binary.
  • Delphi RTL
    • Adding first steps for Linux GTK GUI (wip).
    • Fixes for DFM loading.
    • Use RTL2String when streaming/rtti invoke.
    • WebAssembly: load .dfm async (wip).

v11.0.0.2667

Updated Sep 10, 2021

  • C# 8: Added support for async streams.
  • C# v7.3: Improved pattern-based fixed statements.
  • Island Debugger now honors Just My Code setting in Microsoft Visual Studio.

v11.0.0.2661

Updated Aug 20, 2021

  • Core
    • CC: Nothing to complete (after closure?).
    • Island: Cannot call length() on a string from strongly-typed DOM interface.
    • Mercury: Bad code format for nested struct.
    • Mercury: Problems in form designer with Events.
    • Oxygene: Bad reformat with until.
    • Swift: No CC when missing () on call site.
    • WebAssembly: Added support for ByteString -- check when a dynamic call without () is a method or property.
    • Debugger: Island: Improved eval for arrays (pointer type) and pointer to char/ansichar.
    • Debugger: Island: You can now get sub-values for variables with special range location.
    • Debugger: Island: You can now use "addressing_bits" to adjust addresses.
    • Merged CodeGen4.
    • Merged EBuild.
  • EBuild
    • You can now allow PreBuild/PostBuild inside PropertyGroups (ElementsProjectFile).
    • You can now use Condition="'$(Platform)' == '...'"> for PreBuild/PostBuild.
  • Microsoft Visual Studio
    • Adding a Cirrus reference adds an absolute path.
    • Cannot move a file to a folder.
    • Folder can not be removed.
    • Impossible to remove file from shared project.
    • Mercury: Added auto-complete for XML comments.
    • Visual Studio 2022: Locals and Quick Watch uses C# syntax.
  • Island RTL
    • ToString for arrays and lists.

v11.0.0.2657

Updated Aug 6, 2021

  • Core
    • C#: problem with #if.
    • Echoes: Contra-variance is accepted when it should not be.
    • Mercury: method might not return value when “On Error Resume Next” is on.
    • Mercury: problems in Form Designer with Events.
    • Mercury: Type mismatch with Case comparing Decimal to literal.
    • Swift: Generic enum case results in an invalid .NET assembly.
    • Undefined symbol: OBJCMETACLASS$RLMObject.
    • CC NRE.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged RTL2.
    • WebAssembly debugging: Allow CORS ("Access-Control-Allow-Origin") to the debug HTTP server.
  • EBuild
    • Allow PreBuild/PostBuild inside PropertyGroups.
    • Island/Mac Catalyst app didn't get default deployment target as it should.
    • Mercury: bad property names in resx generated code, if resources had dotted names.
  • Elements RTL
    • Implemented Http for Island/Darwin (leftover debug logging removed).
    • Implemented Http for WebAssembly (wip).
  • Island RTL
    • Island/Darwin: AccessViolation in ToISO8601String.
    • WebAssembly: Browser.Url convenience property.

v11.0.0.2655

Updated Jul 30, 2021

  • Added Combined Interfaces in Oxygene - A type alias can combine two or more Interfaces into a new Interface type, using the and keyword. To be compatible with the new combined interface type, a type must implement all the interfaces.

v11.0.0.2653

Updated Jul 23, 2021

  • Added experimental support for Microsoft Visual Studio 2022 Preview.
  • Oxygene: Added support for params with sequence types.
  • C# 9.0: Added [ModuleInitializer] attribute (all languages and platforms).
  • C# 9.0: Improved pattern matching.

v11.0.0.2649

Updated Jul 16, 2021

  • Core
    • Calling extension methods on extension types that extend a type with interfaces.
    • HI: error generating code for Island SBL (Swift.fx).
    • Island: AV comparing string and char.
    • Island: AV with one filed being initialized from the other.
    • Mono debugger still doesn't show if you have symbols for a module or not.
    • Regression: SBL/Toffee: Recursion detected in inheritance tree for type “Streamable”.
    • Swift ABI: associated types don't get filled/handled properly yet (wip).
    • Island: Microsoft Windows: fix for exceptions during evaluation.
    • Improved extension type refactoring for Swift.
    • HI: codegen fix.
    • HI: use CGUnknownTypeReference.UnknownType.
    • Merged EBuild.
    • Merged RTL2.
    • Merged Samples.
    • Merged SwiftBaseLibrary.
    • Merged CodeGen4.
    • Switch Swift templates to reference “Silver” instead of “Swift” for SBL.
  • Fire & Water
    • Added the option to view generated code for any referenced .fx file.
    • Project settings: ImportCodeGen: Added support for Mercury as language.
  • EBuild
    • New lld: wrong order for deployment target and target sdk.
    • Use LSMinimumSystemVersion and not MinimumOSVersion, for Apple macOS Info.plist.
  • Elements RTL
    • Exposed HttpRequest.ContentType property.
    • Missing deployment targets.
  • Swift Base Library
    • Changed output name for all platforms to “Silver” instead of “Swift”.

v11.0.0.2639

Updated Jun 18, 2021

  • Core
    • Bug in async method nested in async method.
    • Delphi Compatibility: don’t use pre-declared for vars.
    • Internal error: System.NullReferenceException.
    • Oxidizer C# adds empty class (and other).
    • Oxidizer: don't always emit full file/namespace (Swift).
    • WebAssembly: Added SEH support.
    • WebAssembly: SEH support: Fix.
    • Debugger: Island: set bp in method that objc_msgSend calls when StepInto.
    • EUnit templates for island (other Langs, wip).
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged EUnit.
    • Template cleanup.
  • Fire & Water
    • Template cloner should set LanguageTag for Visual Studio.
  • Visual Studio
    • Argumets manager needs multi-select.
    • WPF Designer issue.
  • EBuild
    • EBuild: use .deps.json file from referenced Core dlls for generating the new deps.
    • Tweaks for ProcessIntentDefinition.
  • Island RTL
    • Island: Added Environment.GetCommandLine.

v11.0.0.2635

Updated Jun 4, 2021

  • Core
    • Microsoft .NET Standard: Misleading errors when using RTL2 Registry class without proper references.
    • C#9: Function Pointers.
    • C#: Cannot use #if in array/dictionary literal.
    • Code Model Errors in Fire project.
    • Gold: need to use reflect.DeepEqual for comparing structs.
    • Interpolated string loses parts.
    • Self inside a class method is not the actual type but the ancestor one.
    • Fixed side effects of fix for 85980 Mercury: cannot have #if/end around namespace.
    • Merged DelphiRTL.
    • Merged EBuild.
    • Merged IslandRTL.
    • More cirrus tweaks.
    • Ported Microsoft ASP.NET Core file templates to all 5 languages.
  • Fire & Water
    • Fix for some potential leaks on repeated builds.
    • Internal: avoid broadcast subscriptions for files that can't get build messages (eg references).
  • Microsoft Visual Studio
    • WinForms designer fails NRE on particular test case.
  • EBuild
    • DOM: generate code behind in Oxygene unless the project has VB files.
  • Island RTL
    • Added support for using valueTypes like DelphiString in Dynamic invoke.
    • Parameter-less .ctor for Exception.
    • Updated DOM for XMLHttpRequest.
    • Warning fixes.
  • Delphi RTL
    • Added support for using valueTypes like DelphiString in Dynamic invoke.
  • Go Base Library
    • reflect.kind and Value.Index do not handle fixed array types correctly.
    • You need to use reflect.DeepEqual for comparing structs.
    • You can now use go.builtin.string in reflect.Value.SetString method.

v11.0.0.2629

Updated May 14, 2021

  • Added new PropertyWrapper which provides a simplified way to implement a certain type of Aspect, namely one that decorates a Property to add behavior to it's read and write accessors or control it's storage.
  • Swift 5.5: Added async/await support.

v11.0.0.2627

Updated May 7, 2021

  • Officially released Mercury v1.0.
  • Added new Breakpoint Actions in Fire and Water.
  • Added new Code-Behind development model and templates for WebAssembly.
  • Improved Go language and added new Memory<T> type.