RemObjects Elements 版本發佈

查看各個版本中的最新內容,包含功能、增強與已解決問題的詳細資訊。

1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
RemObjects Elements v13.0.0.31012026年7月24日
功能
  • Core
    • Oxygene: Units of Measure.
    • IE: on Island Windows.
    • Added a Unix-friendly CoreCLR debughost.
    • Header Importer: Handles framework binaries with missing .tbd (e.g. UIUtilities).
    • You can now import Swift async ABI metadata.
    • Setup will now offer to install .NET Core and link the appropriate Water/Core instance in the start menu.
    • Added support for derived unit operator lookup.
    • Swift ABI: wip.
    • Toffee: Honor ToString/description for boxed structs.
    • Merged EBuild.
    • Merged EUnit.
    • Merged Everwood5.
    • Merged IslandDelphi.
    • Merged libToffee.
    • Merged RTL2.
  • Fire & Water
    • CodeBot Avatar: Added persistent avatar snooze options for one hour, three hours, or the rest of the day.
    • CodeBot Avatar: You can now allow media thumbnail drag-and-drop.
    • CodeBot: Added Aurelo AI provider account and model strategy support.
    • CodeBot: Added CodeBot Server AI account support.
    • CodeBot: Added NVIDIA NIM account support with API key authentication.
    • CodeBot: Added Perplexity account support and model strategies.
    • CodeBot: Enabled scheduling in Fire, not just Campfire.
    • CodeBot: Finalized canceled tool progress messages.
    • CodeBot: Improved account login dialogs and service branding.
    • CodeBot: Improved CodeBot preferences layout.
    • CodeBot: Added Style AI account suffixes in provider menus.
    • CodeBot: Updated OpenAI model strategies for GPT-5.6.
    • Enabled copy-local references for Island projects.
    • Fire: You can now ignore metadata-only filesystem change notifications.
    • Fire: You can now preserve solution format when AppKit provides extensionless URLs.
    • Fire: Refreshed and exposed source-control status.
    • Fire: You can now stop debugging when dismissing the exception sheet with Command-.
    • Improved Android tooling validation and run gating for modern JDKs/SDKs.
    • Made improvements to auto-update logic in Fire, Water, GitBrowser.
    • Increased solution build message limit.
    • Trimmed build status labels before displaying them.
  • EBuild
    • Added configurable .NET Core executable path override for debug settings.
    • Cooper: Added support for modern JDK/Android SDK layouts and enabled Android Run in Fire.
    • Derived Mono base path from the detected Mono executable location.
    • Expanded Linux Mono path detection to support additional library locations.
    • Improved Apple device identification with type detection and product model mapping.
    • Improved EBuild path discovery across Echoes and platform-specific installations.
    • Marked project, target, and context references as weak to avoid retain cycles and improved object lifetime management.
  • Elements RTL
    • Added controllable HTTP response streaming with callback cancellation and transport cleanup.
    • Added cross-platform keychain password helper (moved from EBuild).
    • Added Milliseconds-based overloads for thread sleep and DateTime arithmetic.
    • Added unit-based TimeSpan.From overloads and deprecated legacy conversion methods.
    • Added unit-typed time APIs, improved timeout handling, and extended duration and Unix-time support with tests.
    • Adopted strongly typed time units across HTTP requests, time spans, stopwatches, and thread joins, while deprecating integer-based timeout overloads.
    • Defined standard Units of Measure.
    • Echoes: Drained process output asynchronously to prevent pipe deadlocks, with regression coverage for large concurrent stdout and stderr streams.
    • You can now preserve XML formatting options and line endings on parsed documents without retaining the parser instance.
    • You can now return the process exit code after capturing standard error output.
修正
  • Core
    • Confusing error when assigning void.
    • Island: Case on type var doesn't work with mapped version (fine on Echoes).
    • Line after missing semicolon gets ignored.
    • Elements13 define was missing.
    • Fixed CoreCLR native debugging on Unix by disabling named memory maps while retaining Windows cache reuse.
    • Header Importer: Fix for multi-character enum constant byte order.
    • Island: Corrected export visibility handling for value types, globals, and member owners in .fx.
  • Fire & Water
    • Account manager: Fixed base URL field visibility when login sheet loads (Windows).
    • CodeBot: Fixed scheduled prompt countdown cancellation.
    • Fire: Synchronized file buffer access and URL updates with locking to avoid rare crash on load.
    • Water: NRE fix.
    • Water: Title fix for License manager window.
  • EBuild
    • Cooper: Fixed bundletool aapt2 extraction on modern JDKs.
    • Fix for SDK zipm extraction failure on some Linux systems.
    • Fixed malformed Mono base folder error message.
  • Elements RTL
    • Display fix in Convert.MillisecondsToTimeString.
    • Echoes: HTTP requests follow HttpRequest.Timeout, not HttpClient's default.
    • Fixed process output capture and returned the task exit code.
    • Http: PathAndQueryString part was ignored in Windows/Island.
  • Island RTL
    • Fixed Swift runtime loading paths and lazily resolved string type metadata.
  • IslandDelphi Support
    • Temporarily disabled two helpers due to bad E793 Untyped parameters require Delphi Compatibility Mode.
RemObjects Elements v13.0.0.30952026年6月26日
功能
  • Core
    • Debugger: Added local Linux gdbserver debugging support.
    • Debugger: You can now use libdl.so.2 for Linux symbol loading and ignore missing gdbserver working directories.
    • Debugger: You can now validate debugger and runtime executables before launch, with clearer startup failures.
    • Improved debugger handling for native and MI backends, refining process state updates and error reporting.
    • Improved debugger selection and diagnostics by routing Mono/non-Windows .NET Core runs through MI when appropriate.
    • Improved debugger startup diagnostics and Mono/.NET Core host selection.
    • Native Debugger: You can now separate cached memory-mapped files from view accessors & reuse file maps across views.
    • Templates: Removed bad/unnecessary default architecture settings from Linux templates.
    • Merged EBuild.
    • Merged Everwood5.
    • Merged RTL2.
  • Fire & Water
    • CodeBot Avatar: You can now double-click to bring pending requests forward or hide the avatar.
    • CodeBot: Added a file copy function with project integration.
    • CodeBot: Added work plan support, footer status, and planning-profile support.
    • CodeBot: Handles pending media generation continuations only for structured action responses.
    • CodeBot: You can now keep prompt availability independent of send lock while blocking Enter shortcuts during locked sends.
    • CodeBot: Made generated image annotations clickable.
    • CodeBot: You can now track user-visible output for scheduled runs.
    • CodeBot: Updated codebot subagent manifest for code research profile.
    • CodeBot: You can now use QuickLook previews for local CodeBot images in Fire/Mac.
    • Fire: You can now assign a keyboard shortcut to Copy all Error Messages.
    • Fire: You can now clean up unused file change notification entries when watched files or folders are removed.
    • You can now share Cocoa file change event streams by repository root, dispatch events to registered managers, and clean up streams when watchers are removed.
    • Improved CodeBot avatar bubble handling and pulse logging.
    • Improved CodeBot continuation handling.
    • Improved CodeBot response formatting guidance.
    • Improved image generation workflow metadata handling.
    • You can now pass image generation requests through the requested save handling.
    • Water: Added the possibility to delete recent projects from the main menu and welcome window (Favorites).
    • Water: You can now guard FCETableView interactions against out-of-range row indices.
    • Water: Added XAML preview toggle UI and commands.
  • EBuild
    • Added local Linux CrossBox server support and register it in the server factory.
    • Added NuGet fallback for locating app host templates and support native runtime paths.
    • Handles in-Terminal process execution differently on Windows and other Echoes platforms.
    • Improved .NET Core base path detection, especially on Linux, and validate app host prerequisites.
    • Improved Mono path detection on Linux by falling back to /usr/local/bin and deriving the base directory from the executable when available.
    • You can now invalidate Xcode cache when the developer folder changes and scope persisted cache to the active Xcode path.
    • Added support for conditional define filtering when expanding paths.
    • Added support for ElementsCompilerDll setting when resolving compiler path.
  • Elements RTL
    • Added nullable TryGetString decoding APIs while making GetString return non-null strings and consistently raise FormatException when decoding fails.
    • Cocoa: Handles process launch failures on Toffee with proper error propagation, cleanup, and finished callbacks; also default stdin to null device to avoid blocking.
    • You can now validate trimmed JSON object delimiters before parsing strings in JsonObject.TryFromString.
  • Island RTL
    • Updated Swift runtime bindings for absolute dylib paths and safer array/string interop.
修正
  • Core
    • Internal error: System.InvalidCastException while compiling (wip).
    • Wrong H11 warning "local variable unread", when it is returned.
    • Debugger: WebAssembly: Error when reading wasm file (unknown instruction fc).
    • Debugger: WebAssembly: Exception on Pause and Set Breakpoint during idle state.
  • Fire & Water
    • CodeBot: Pasting a screenshot would sometimes send the message (Fire).
    • Water: Diagnostics sometimes gets error.
  • Island RTL
    • Fixed foreign exception record cleanup.
RemObjects Elements v13.0.0.30932026年6月20日
功能
  • Core
    • Debugger: Added support for delegate variables (Cooper).
    • Merged EBuild.
    • Merged InternetPack.
    • Merged RTL2.
  • Fire & Water
    • Water: Added the possibility to delete recent and favorite projects from main menu and welcome window.
    • Added assembly reference diagnostics option for Echoes (fixes).
    • Added a new menu command to only copy all build error messages.
    • CodeBot: Added prompt send-lock controls.
    • Added CodeBot Avatar: A standalone macOS companion character for Fire, Campfire, CodeBot CLI and GitBrowser, with animated UI, status bubbles, approval prompts and more.
    • CodeBot: Added Beads backlog tool support.
    • CodeBot: Added Kling account and image/video generation support.
    • CodeBot: Added support for prompt queuing.
    • CodeBot: Added new and improved prompt action controls (send, queue, steer, cancel) in Fire.
    • CodeBot: Model Strategies: Use "gpt-5.4-mini" as simple-task model in default OpenAI strategy.
    • CodeBot: Added support for prompt steering.
    • CodeBot: Model Strategies: Updated Claude latest strategy to use Sonnet 4.6 by default and routed review/deep reasoning to Opus 4.8.
    • Editor: Added build message action menus and richer fix-it labels (tweaks).
    • GitBrowser: Added CodeBot Avatar support (only if running).
    • GitBrowser: Added Git operation timeout support.
    • GitBrowser: Added repository tree worktree nodes.
    • GitBrowser: Added worktree selection and cleanup actions.
    • GitBrowser: You can now detect worktree inventory changes and refresh worktree icons for popup updates.
    • GitBrowser: Expanded worktree context actions and cross-worktree analysis.
    • GitBrowser: GitNavigationPanelViewController should be the ITreeControllerDelegate.
    • GitBrowser: Guarded against null repository during branch popup loading and author highlighting.
    • GitBrowser: Improved worktree tree selection and labels.
    • GitBrowser: Made remote branch popup selection more robust.
    • GitBrowser: You can now preserve the actual folder when dispatching Git operations asynchronously.
    • GitBrowser: You can now refresh status by directly updating the repository instead of triggering the status changed handler.
    • GitBrowser: Added support for repository folder dragging from tree.
    • GitBrowser: Routed worktree comparison action through a reusable comparison handler.
    • GitBrowser: Now uses the actual worktree path for context menu actions, script discovery, solution scanning, and shell execution to correctly target active worktree folders instead of the repository root.
    • GitBrowser: Windows: Dropped unneccessary settings.
    • GitBrowser: Windows: Enabled and refreshed repository menu actions based on repository.
    • GitBrowser: Windows: Improved menu labels for repository groups and IDE-specific solution opening.
    • GitBrowser: Windows: Added prefix commit tags with pin markers.
    • GitBrowser: Windows: You can now use navigation panel controller.
    • Internal: Renamed question event enum cases in status mapping.
    • NRE proofing.
    • CodeBot models are now refreshed when account settings change.
    • Now returns social post create results with completed status and published ID side effect.
    • Reverted "Water: workaround for Account loading on .NET Core".
    • Provider model choices are now sorted case-insensitively for consistent UI ordering.
    • Updated video generation model mapping to grok-imagine-video-1.5.
    • Water: Made image tweaks for codebot tab and in-editor actions.
  • EBuild
    • Added remote/local LLD path support for Toffee builds.
  • Elements RTL
    • Added Cancel support to HTTP requests.
    • Added Echoes.Core target and renamed classic Echoes.Full configuration.
    • Added HTTP upload/download progress callbacks (Cocoa).
    • Added proxy support (none, system, custom).
    • Consolidated platform-specific RTL projects into a unified cross-platform build and add a separate legacy solution preserving the previous split project layout.
    • DateTime.ToUnixDate.
    • Echoes: Use UTF-8 encoding for redirected process stdout and stderr.
    • Exposed Pid on Process (Echoes and Cocoa).
    • Exposed Pid on Process (Island).
    • Added Forgot= Island WebAssembly target configuration.
    • Hardened HTTP response streaming and Cocoa callback error handling.
    • Improved Convert.MillisecondsToTimeString to handle says too.
    • JSON: Allow nil filename for .TryFromFile.
    • Made process output handling nullable-safe and guard event signaling.
    • You can now parse JSON integers directly to Int64 with overflow fallback to floats, and replace locale-based Toffee Int64 parsing with strict digit validation to avoid misclassifying numeric tokens.
    • Process: Guarded process output parsing against nil UTF-8 string conversion results.
    • Process: Improved quoting and unquoting of command line parameters for all platforms.
    • Process: You can now prevent async process completion from hanging by signaling output handlers reliably and closing stalled output pipes after a timeout before invoking the finished callback.
    • You can now read stdout and stderr asynchronously during process execution to prevent blocking and ensure both streams are fully captured before converting and closing the handles.
    • You can now reuse JSON string escaping for property names by adding a shared render helper and applying it during serialization, ensuring names are quoted and escaped consistently with string values.
    • Serialization: You can now allow registering decoder types explicitly and fall back to the registry when the lookup misses.
    • Simplified configuration-specific build settings for Debug and Release.
    • Added tests for CollapseSpace.
  • Internet Pack
    • Removed AllowPartiallyTrustedCallers assembly attribute from non-Compact Framework builds.
  • RemObjects Infrastructure
    • Added fallback single-model strategy selection when configured strategy is missing.
    • Added Kling AI client for image and video generation with task polling, model support, and JWT bearer auth via access/secret keys, plus configuration support for new credentials.
    • Added runtime tests ensuring tool-result success checks allow non-tool method mentions and suggested action examples without blocking completed assistant responses.
    • Added steering-message support (wip).
    • Added tests for child side-effect success and stale lease recovery.
    • Adopted Codable-based agent event and approval JSON serialization.
    • Clamped model output tokens and stop exposing server ISE details.
    • Clarified run recovery behavior after interruptions and model requests.
    • ComfyUI: Adjusted fallback queue progress to report queued state.
    • Delayed remote tool dispatch until run is waiting.
    • Exposed usage tracking helper as public.
    • Honored background routing for child runs and skip conversation history on isolated background threads.
    • You can now log agent prompt size breakdowns.
    • Normalized provider-prefixed media model names for resolved clients by stripping matching provider prefixes before creating model references and assigning the client model.
    • Prefer structured progress callbacks over byte progress when available (also mitigating possible AV).
    • You can now record notice events for unverified tool-backed success claims instead of failing runs.
    • Refactored runtime initialization to lazily ensure and reuse the agent runtime during settings updates, reset runtime/worker when starting a new chat, and guard model strategy access when no runtime is active.
    • Removed unused session-memory overview summaries.
    • Removed useless custom JSON conversion helpers.
    • Restored missing Memory classes.
    • You can now revert bad rename for question event types to asked/response across AI session handling.
    • Subagent titles have much better descriptions of what child tasks do and why.
    • Added support for media model aliases when resolving AI clients by falling back from suffixed model names to their base model before lookup.
    • You can now track tool side-effect metadata in function results and events, and use completed side effects to verify tool-backed success claims with more precise final-response detection.
    • You can now track usage request lifecycle events.
    • You can now use typed side-effect status enums with wire-format conversion and validation, replacing raw string handling in serialization and runtime checks.
修正
  • Core
    • C#/Echoes: Initializer-less local in a goto-target block is re-defaulted, clobbering a value assigned before the goto.
    • RTL2 Char extensions don't work on .NET.
    • Toffee/Oxygene: block destroy helper omits captured block/object slot when nested callback block captures method context plus byref callback holder.
    • Debugger: DebugHost parsing error on function bp with ":" in name.
  • Fire & Water
    • Breakpoints Manager: Could not delete first breakpoint in list.
    • Breakpoints Manager: Auto-layout fix for Fire.
    • CodeBot: solution-file:// links for unknown files should not bubble outside of the app.
    • Fire: Fix for Navigation Pane sometimes going wild after a debug session.
    • GitBrowser: Build fix.
    • GitBrowser: Fixed macOS bundle identifier capitalization.
    • Type in Accountmanager created wrong account type for Perplexity.
    • Unternal: Default uses clause fix.
    • Water: Workaround for Account loading on .NET Core.
  • Elements RTL
    • Account decoding issue.
    • Build fixes for Island & ToffeV2.
    • Don't recycle JSON value nodes when making a unique copy.
    • Echoes: HTTP: Unwrap to show original, and do not crash on an unexpected exception type.
    • Locking fix.
    • Potential Cocoa thread safety issue for Convert with Current/Invariant formatter.
    • Potential thread safety issue for Locale.Current/Invariant.
    • Request cancellation: Locking not required (according to docs); solves compile error locking on Darwin.
    • String.Split(array of char) [has been disabled because it fails to link].
  • RemObjects Infrastructure
    • Bad model type filters for Gemini client.
    • NRE and cast fix.
RemObjects Elements v13.0.0.3081主要版本2026年5月8日
功能
  • Core
    • Coalesce and Potential null value is now implicitly cast to not nullable String.
    • Merged EBuild.
    • Merged Everwood5.
    • Merged InternetPack.
    • Merged IslandDelphi.
    • Merged RTL2.
  • Fire & Water
    • CodeBit: Diffs in cached approvals are now shown.
    • CodeBot: Added access to search results.
    • CodeBot: Added Action Items.
    • CodeBot: Added MCP function provider support (wip).
    • CodeBot: Added Agent-only skills.
    • CodeBot: Better "not a diff" annotation for new files.
    • CodeBot: Easier global approval for "always save"/readonly shell and git commands.
    • CodeBot: You can now keep active approvals visible outside execution groups.
    • CodeBot: You can now let CodeBot see Codex and Claude skills in the solution folder (readonly).
    • CodeBot: Added new Security review profile & skill.
    • CodeBot: Preferences: You can now reload LM Studio models when URL is changed.
    • CodeBot: Prompt tightening.
    • CodeBot: Run smart-paste via custom agent profile & skill.
    • CodeBot: UI tweaks.
    • CodeBot: Uses proper shell for external commands, to ensure PATHs.
    • Editor: Added dimension keyword for Oxgene.
    • Fire: Added "Show CodeBot" to CodeBot window and revised menu names.
    • Files in the search tree are now expandable by default to "find all.".
    • Water: You can now catch exceptions in dispatch.
    • Water: Renamed button on Accounts Manager for clarity.
    • Water: Added support for headers and sorting indicators in table view.
    • WebProjects: Added a context menu to open current page in browser.
    • Website publishing improvements.
    • Xaml Preview (wip).
  • EBuild
    • ESP: Can now handle <%-- comment blocks.
    • ESP: Can now read web.config directly from the project folder and reuse an existing appSettings node when merging configuration, improving EnableWebConfig handling and avoiding duplicate sections.
    • Can now handle <script runat="server" blocks.
  • Elements RTL
    • Exposed Pid on Process.
    • Http: Added Cancel support to HTTP requests.
    • Http: Added proxy support (none, system, custom).
修正
  • Core
    • C#: bad reformat.
    • Mercury sample fails to build.
    • Oxygene: Can't use field after const.
    • Go to Definition NRE fix.
    • Regression: Invalid IR building IslandDelphi.
  • Fire & Water
    • Close old files on reload to avoid dupes in the Search tree.
    • CodeBot: Adding the AL first account would not always activate it.
    • CodeBot: Cursor keys and backspace didn't work in the Question text field.
    • Fire: Auto-layout fix for BuildMessage view.
    • Fire: Bad autolayout on the project references view caused it to shrink.
    • Jumpbar: Nested class is shown twice in the Jumpbar.
    • Solution Tree: Sort on filename w/o extension, first (regression, lose case-insensitivity).
    • Water: Cannot uncheck "invalid" picker value in settings (fine in Fire).
    • Water: Manage accounts option was missing from CodeBot Preferences.
    • Water: Target Framework dropdown list is cut and isn't scrollable.
  • EBuild
    • ESP: Fix for ContentPlaceholders rendering too much.
  • Elements RTL
    • Locking fix.
  • IslandDelphi Support
    • Typo fix.
RemObjects Elements v12.0.0.30712026年4月4日
功能
  • 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.
修正
  • 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.30592026年2月20日
功能
  • 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.
修正
  • 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.30512026年1月23日
功能
  • Core
    • Visual Studio: Added Java tag to Cooper project templates.
修正
  • 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.30492026年1月16日
功能
  • 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.30472026年1月9日
功能
  • 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.
修正
  • 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.