RemObjects Elements Versioni

Scopri le novità in ogni release, con dettagli su funzionalità, miglioramenti e problemi risolti.

gen
feb
mar
apr
mag
giu
lug
ago
set
ott
nov
dic
RemObjects Elements v12.0.0.30714 apr 2026
Funzionalità
  • Core
    • Debugger/.NET: Added support for boolean operators.
    • Android: B0undle tool updated to 18.3.
    • Android: Added new Wear OS project templates.
    • Delphi Compatibility: Added support for {$IF Declared(X)} in legacy preprocessor.
  • Fire & Water
    • CodeBot: Added a new replaceSymbol function.
Correzioni
  • Core
    • Android Templates: Visual Studio asks to choose Target Framework, which is not applicable.
    • Android: Fixed Android Sample Projects for build and deployment issues.
    • Cocoa: InstanceType-inferred variable cannot be reassigned.
    • Debugger/Echoes: BreakpointID isn't set correctly in x86 mode.
    • NRE when trying to Go to Definition inside a directive.
    • Raw strings: line 'numbersfor' errors sometimes were off.
    • Refactor: doesn't find all vars.
    • File-scoped must symbols use different mangling on Java ($ not <>).
    • Reloading references fails after they were rebuilt.
    • N13 “Method CreateFromFile exists, is there a semicolon missing?” error with linebreaks in method call.
    • E26513: Wrong error code (E271 custom error) for missing type in method declaration.
    • Android: Fixed "obsolete" warning in the Android’s Tabs app template.
    • Android: Set Android min SDK in the project settings.
    • CC regression: Insert text include "in " when namespace is inserted.
    • HI: don't emit default namespace for each type, for codegen option.
    • Island/Delphi: duplicate symbol: __unnamed_1 at building island/Delphi app -- Use InternalLinkage for the delphi type name in GenerateTypeInfoFor.
    • CC: DisplayText had changed to include the namespace, leading to duplicate info.
    • CM: NRE in GetShortName for method having array result.
    • NRE in Go to Definition.
    • Change nested type name separator to "+" (to match ToString).
    • Confusing error locations for prematurely terminated raw string.
    • Debugger/Island: Get Locals fix.
    • Debugger: CLR: Error when trying to call a non-static member on TypeValue self.
    • Debugger: CLR: fixes for indexer evaluations.
    • Debugger: Island/Darwin Release build doesn't break on exceptions.
    • Debugger: Log exceptions raised when reading debug files.
    • Debugger: NRE when evaluate anonymous method (not supported for now though).
    • Delphi Compatibility: $ZEROBASEDSTRINGS directive is now ignored for OFF, and errors for ON.
    • Delphi Compatibility: const Empty: TEmpty = () recognised as empty named-field record init.
    • Delphi Compatibility: const Lambda: Func<Integer> = () -> 99.
    • Delphi Compatibility: deprecated directive’s message was ignored.
    • Delphi Compatibility: Allow 'label' section after 'var' section (while still allowing 'label' as a variable name).
    • Delphi Compatibility: Fix for include search path being tied to legacy preprocessor; allow relative include search path.
    • Delphi Compatibility: Handle goto label inside case statement.
    • Delphi Compatibility: Ignore additional preprocessor directives: INLINE, LEGACYIFEND, DEFINITIONINFO, J+/J-, O+/O-, T+/T-, X+/X-, A1-A16.
    • Delphi Compatibility: Warn if enum and label names shadow/duplicate).
    • Delphi import: cleaner exception type.
    • Installer: Reset files association to defaults after Elements deinstallation.
    • Internal: Adjustments to “E27569: C#: inconsistent initialization for out vars in Cocoa vs .NET”.
    • NRE fix (ExactBefore and ExactAfter could be nil).
    • Oxygene Delphi Compatibility: absolute keyword (Island, Echoes, Toffee; not implemented for JVM).
    • Oxygene Delphi Compatibility: label keyword recognised after var/const (was interpreted as var/const name).
    • Oxygene Delphi Compatibility: weak keyword/type disambiguation.
    • Oxygene Delphi Compatibility: adjust DCM-gated keywords: Oxygene allows initialization/finalization, cdecl/stdcall (supported for external methods), overload (doc-ed as ignored). 'packed' is DCM, use [Packed].
    • Oxygene Delphi Compatibility: Allow accessing @TType.InstanceMethod (static type, not an instance) as a method pointer.
    • Oxygene Delphi Compatibility: Allow cast from method pointer to pointer and back (requires DCM; unsafe in Echoes).
    • Oxygene Delphi Compatibility: Function name can mean function address in DCM mode (missing @).
    • Oxygene Delphi Compatibility: Legacy Preprocessor: avoid mutating types.
    • Oxygene Delphi Compatibility: Legacy Preprocessor: can resolve sizeof() for compiler inbuilt (e.g., Integer, Pointer) and referenced types (e.g., TMethod).
    • Oxygene Delphi Compatibility: Legacy Preprocessor: Support SizeOf(pointer).
    • Oxygene Delphi Compatibility: Pointers to functions implicitly convert to untyped Pointer in DCM mode.
    • Oxygene Delphi Compatibility: Support $MESSAGE directive (and ignore the $WARNINGS and HINTS directives).
    • Oxygene Delphi Compatibility: support (field: @func) const init syntax in DCM.
    • Oxygene Delphi Compatibility: Support self-referential typed constants (@ConstName.Field in own initializer).
    • Oxygene Delphi Compatibility: Tweaks for generic and non-generic types of the same name.
    • Oxygene: packed is back as a normal keyword (used often).
    • Oxygene: bad reformat.
    • Oxygene: parser fixes for Delphi compatibility.
    • Templates: New Android Tabs-based App added.
    • VS: Internal error when evaluating "x.Where(b-> b = 'a')".
    • C#: inconsistent initialization for out vars in Cocoa vs .NET.
  • Fire & Water
    • Show hints in jumpbar drop-down list.
    • Water: CTRL+D window is sometimes too small (regression).
    • Water: show full file path via hint.
    • Water: when Water is in maximize state, an auto-hidden taskbar cannot be shown.
    • Auto-fix is applied several times for files in shared project.
    • CodeBot: Analysis for selection didn’t use proper line numbers.
    • CodeBot: Minor tweaks for issues identified by Codex.
    • CodeBot: re-format code inserted by CodeBot.
    • CodeBot: run some editor-AI in the background and not the main chat.
    • CodeBot: Some internal cleanup & better prompt for file analysys.
    • Context menu cleanup..
    • Context menu option to open “Intermediate Folder”.
    • Context menu “Copy Path" on References only copied the name.
    • Debugger console: thread frame.
    • Debugger console: option to collapse single-letter commands (efg tfl for thread frame list).
    • Debugger: handle/highlight which thread is “current” dynamically, based on the current stack frame.
    • Editor: packed should be a regular keyword, not DCM.
    • Editor: Allow CC popup to grow further to the left, when invoking CC near the right edge.
    • Editor: CC error messages parsed badly when the filename/path contained parentheses.
    • Editor: CC: types from unused namespaces showed the namespace twice.
    • Editor: Color fix for Strings in white theme.
    • Editor: Detect DelphiCompatibility for highlighting if file has no active target but the setting is set project-wide.
    • Editor: highlight current type too, if available.
    • Editor: NRE proofing for the current block detection code.
    • Editor: Regression: cannot copy message popup with Cmd-C.
    • Editor: Shortcuts/menus to copy current type/block/member.
    • Exception logging proofing.
    • Extended Option-Cmd-Up/Down message navigation to build log.
    • Fire: CC popup is one pixel too small, causing scrolling/jitter.
    • Fire: Menu cleanup.
    • Fire: Restructured the Debug menu to match previous changes to Water.
    • Fire: Show message navigation commands in the menu (Water already did). Also added proper validation to them.
    • Generate Code from .RODL could hang in some cases.
    • Hide "empty" folders in the project tree, if all their files are in other virtual folders (regression: don't hide empty folders that didn't have virtual files.
    • If a project/target has more than one output, show the “Reveal Output _Folder" menu, instead of disabling it.
    • Island/Delphi: allow specifying just "Delphi" w/o number to target the latest available version.
    • Logging for Certificate filtering (for Jeremy ;).
    • Made the per-target target “Manage References" sheet easier to get to in multi-target projects, if the current node is associated with one of the targets.
    • NRE fix in desiredDefaultArchitectureForConfiguration.
    • Project Settings: Crash regression for Toffee/iOS.
    • Project Settings: Don't show unsupported architectures in picker for Island/Delphi (i.e. Windows/arm64 for Delphi 12 and below).
    • Project Settings: Don't use unsupported local device architecture as the default/desired architecture for Island/Delphi.
    • Project Settings: Settings tweaks/cleanjup for Delphi Compatibility.
    • Project Settings: Sort architectures properly and consistently (best first).
    • Regression: Island/Android defaulted to wrong (local computer) architecture.
    • RO/DA: Connect button should enable as soon as a valid URL is typed.
    • RO/DA: Don't generate _Invk for .remoteRODL files, even if the project uses Server.dll.
    • RO/DA: Don't generate ServerAccess file when using local RODL file.
    • RO/DA: Fix the Connect button and Browse dialog in Connect To Remoting SDK Server.
    • RO/DA: Newly generated _Intf files were (sometimes?) creating an implicit Target.
    • Show nested types in the types tree.
    • The type member dropdown was not always sorted consistently.
    • Water: allow filter/search in Exceptions Manager.
    • Water: avoid Internal exception when the webview for Codebot was accessed before being fully initialized.
    • Water: can't open .elements/.sln if it was specified w/o full path in the command line.
    • Water: CodeCompletion message "no match" has the wrong size.
    • Water: CTRL+D window is sometimes too small.
    • Water: don’t capture image for exception sheet, as that hangs (sometimes?).
    • Water: Dropdown list for project creation style fixed.
    • Water: Fixed a duplicate separator in the Target context menu.
    • Water: hide "Open in Service Builder" button for .remoteRODL files.
    • Water: Improved color for tree view disclosure triangles.
    • Water: NRE closing/switching to another project while the current project is debugging.
    • Water: Problems with syntax highlight in XML files.
    • Water: show full file path in treeview hint.
    • Water: some missing icons in the jumpbar.
  • EBuild
    • Android: bundletool updated to 18.3.
    • Delphi Project Import: avoid empty architecture in settings.
    • Delphi Project Import: reference Vcl or Fmx automatically if needed.
    • Delphi Project Import: Set better default uses prefixes for Windows.
    • Delphi Project Import: Set generic "Delphi" SDK version to always use latest.
    • Delphi Project Import: Support for Windows/arm64.
    • Delphi Project Import: Tweaks; enable Island/Delphi mode only for supported platforms.
    • Expose OutputFolder to FinalOutput.xml.
    • Ignore "empty" architectures resulting from a leading or trailing semicolon in the setting.
    • Island/Delphi: Allow specifying just "Delphi" w/o number to target the latest available version.
    • Island/Delphi: More clear errors when trying to build for a platform not supported for Delphi.
    • Island/Delphi: Support for importing Windows/arm64.
    • Island/Delphi: support for importing Windows/arm64 if present (wip, disabled).
    • Island: fixes for renamed debug symbol cache files in macOS 26.4.
    • Provide IntermediateFolder in FinalOutput.xml.
    • Set UseLegacyPreprocessor to true when importing Delphi & Lazarus projects.
    • Sort supported architectures properly and consistently (worst to best/newest).
  • Island Delphi Support
    • DelphiExtended80: Added ToString method and updated Exponent, Fraction, and Sign properties for improved clarity.
    • Implicit casts from integers, floats and TDateTime to Extended.
    • Keywords: change 'packed' (Delphi compatibility keyword) to '[Packed]' attribute.
    • Made all Extended casts implicit.
    • Operators for concatenating char+string.
    • Support for Windows/arm64.
  • Elements RTL
    • Add a constructor withCapacity to the Queue class.
    • Use CallingConvention attribute instead of stdcall directive.
  • Island RTL
    • Don't optimize Island RTL for Windows, until we fix the index out of range issue.
    • IslandRTL: change 'packed' keyword to '[Packed]' attribute (packed is DCM-only).
RemObjects Elements v12.0.0.305920 feb 2026
Funzionalità
  • Core
    • Oxygene: Now allows finding .inc files anywhere in the project, if used w/o path (all .inc files need to be added first).
  • Fire & Water
    • CodeBot: Access to error messages in current file.
    • CodeBot: Access to error messages in the current file.
    • Context menu to remove bookmarks.
    • Editor: Added 'field' keyword for Oxygene.
    • Editor: Added another highlighting regression/tweak for raw strings.
    • Editor: Cleaned \u2028 and \u2029 on paste.
    • Expose "Convert Solution to x-style linebreaks" menus like Fire has.
    • Fire: Added consistent icons for Fire, File, and Edit menus on Tahoe.
    • Water: Now shows horizontal scrollbar in tree.
  • EBuild
    • Defaulted to arm64 for all macOS-based platforms, when no actual local arch is known (i.e. on Windows).
    • Merged ROCodeGen.
    • Added support for .NET Core 11.0 (Preview).
  • Island RTL
    • Defined C RTL methods via SymbolName for Linux/WASM targets to be able to link Island-emitted mod/fmod and others.
    • Better ifdef/error for structUnwind_Exception.
    • Better ifdef/error for __struct__Unwind_Exception.
Correzioni
  • Core
    • VS: NRE after typing comma in multidim array (array [0..1,]).
    • Wasm: NRE in linker with legacy Delphi RTL library.
    • 'field' as an alternate keyword to 'var' for class fields.
    • 'file' scope on members (C#).
    • Bad autofix for missing end.
    • C#11: 'file' level type visibility.
    • Could not use variable from with matching in LINQ.
    • Cocoa: ARC issue causes AV when inherited ctor call throws an exception.
    • Code completion does not show variable 'i'.
    • Confusing behavior with invalid type declarations inside IF EXISTS.
    • Field-backed properties (C#14, Oxygene).
    • file-scoped members caused Toffee unrecognised selector (removed mangling on members).
    • Fix conditional directive evaluation for type aliases using exists().
    • Go: Regression: Cannot have label and var with the same name.
    • IE with interpolated string.
    • Island: Debugger shows confusing info for nil DateTime (or struct in general).
    • Local Fields (Oxygene).
    • Oxygene: Cannot use colon operator in raw string interpolation.
    • Refactor: Converting from unified to classic implementation lost array dimension.
    • Refactoring: Move body out of class definition works incorrectly with string parameters.
    • Regression fix for changed error message numbers.
    • Store source files checksum into .pdb.
    • Visual Studio: AI suggestions can’t be accepted.
    • VS: All file content in Go/Java/Mercury/C# files collapses to CSharpNamespace.
    • VS: Text paste inserts mixed indentation (6 spaces instead of tabs).
    • Android: ListView templates fix.
    • Fix for Go/Echoes shipping with wrong Echoes dependency.
    • Header Importer: skip wildcard subfolders not found in any include path.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged EUnit.
    • Merged GoBaseLibrary.
    • Merged IslandRTL.
    • Merged ROCodeGen.
    • Merged RTL2.
    • Reverted E27154 due to regression on C# formatting.
  • Fire & Water
    • Water: Bad default architecture arm64 for watchOS, Water only.
    • Water: Don't "bold" words inside XML comment.
    • Auto-case-fix for E468.
    • Fire: Auto-layout bug caused a maximum size for the Reference view.
    • Menu actions to uppercase/lowercase selection or token.
    • Menu: general menu cleanup and consolidation into 'Edit|Modify' submenu.
    • Regression: Internal NRE opening project with an unknown CrossBox server set.
    • Support automatic fix-it for E468 (case mismatch).
    • Water: Fixed bad default architecture arm64 for watchOS (Fire is fine).
    • Water: Regression: Disabled projects were no longer grayed out.
  • EBuild
    • Bad fallback if DesiredDefaultArchitecture is not available caused Water to show $(DesiredDefaultArchitecture) as default setting.
  • Elements RTL
    • Path fixes in project refs for tests.
    • Test fixes.
    • Regression: Duplicated variable" errors when same type is declared in multiple IFDEfs.
  • Island RTL
    • Fixed IFDEFs for IslandMath to only be used for Windows and macOS.
    • IslandMath linking issues (should not be used) on Linux.
    • Test fixes.
RemObjects Elements v12.0.0.305123 gen 2026
Funzionalità
  • Core
    • Visual Studio: Added Java tag to Cooper project templates.
Correzioni
  • Core
    • Afterhours: Fix for Oxidizer tests.
    • Bad error handling with extra (escaped) } in interpolated string.
    • CM: Highlighting works incorrectly.
    • Oxygene and C#: Hint for “unused multiline string variable” has incorrect in-editor highlighting range.
    • CodeModel: NRE fix in GetCurrentMember.
    • Debugger: CLR: Could not evaluate fields in nested methods (they have static attribute even if they are not static).
    • Debugger: CLR: Fix in ValuePath for CLRDebugValue.
  • Fire & Water
    • Possibility to go to breakpoints from Breakpoint Manager (fix for Fire).
    • Typo fix.
  • EBuild
    • Conditional defines fix.
RemObjects Elements v12.0.0.304916 gen 2026
Funzionalità
  • Core
    • Oxygene & C#: interpolated strings: extra } is added when having double } -- escape } too, for C#.
    • Oxygene raw string issue with } inside interpolation.
    • Support known conditional defined symbols in CC for $IF/#if.
    • Elements: remove Win/i386/FPU option (i386 is always SSE2) for Islanf.
    • Jumpbar: display C# unnamed constructor as "this".
    • Version-based define fixes for Elements 12.
    • Merged EBuild.
  • Fire & Water
    • Support for Raw Strings similar to C#11 (fix for no non-whitespace before curly).
    • Editor: allow code snippets to have a section of text pre-selected to be typed over.
    • Editor: highlighting fixes for C# non-raw interpolated strings to match Oxygene.
    • Editor: highlighting fixes for Swift interpolated strings to match Oxygene.
    • Editor: highlighting fixes/tweaks for Oxygene interpolated and raw strings.
    • Editor: Use #"" in Oxygene snippets.
    • Water: Possibility to go to breakpoints from the Manage Breakpoints dialog.
    • Water: Multiselect row support in sheets with table views.
  • EBuild
    • EBuild: remove i386-FPU (i386 is always SSE2).
RemObjects Elements v12.0.0.30479 gen 2026
Funzionalità
  • Fire & Water
    • Editor: Added support for Oxygene Strings.
    • Editor: Now allows code snippets to have section of text pre-selected to be typed over.
  • Island RTL
    • Updated conditional compilation for platform support in math implementation.
Correzioni
  • Core
    • C#: 2 bad reformats (trailing closure w/o (), private set).
    • Delphi Compatibility: noreturn keyword, behaves same as existing NoReturn aspect.
    • Oxygene: Final tweaks for Raw Strings.
    • Water/Debugger: It was impossible to the check length of byte[] - A class is not loaded.
    • Debugger: CLR: Would show an empty string if ToString returns nil.
  • Fire & Water
    • Water: Rename file doesn't show old file name.
    • Editor: Highlighting for Delphi compatibility Mode noreturn keyword.
    • Fire: Active tab had wrong color in Dark themes.