RemObjects Elements 10.0.x

Released: Oct 4, 2019

Mises à jour de 10.0.x

v10.0.0.2625

Updated Apr 30, 2021

  • C# 9.0: Top Level Statements.

v10.0.0.2611

Updated Mar 12, 2021

  • C# 9.0 Record types (all languages, native keyword for C# and Mercury).
  • C# 9.0 "x with {}" in LINQ (C# only).
  • Mercury: Interface Delegation with Implements on a Property.
  • Mercury: #CrossPlatform directives.
  • Fire and Water:
    • Allow building/running individual non-active projects from the context menu.

v10.0.0.2609

Updated Mar 5, 2021

  • C# 9.0: Allow GetEnumerator to be implemented in Extensions (all languages, .NET).
  • C# 9.0: Co-variant returns (all languages).
  • C# 9.0: Lambda discard parameters (all languages that have discards).
  • Mercury: Lazy Properties.

v10.0.0.2605

Updated Feb 19, 2021

  • Core
    • Compiler: issue with generating XML documentation.
    • Cooper: Java Byte vs SByte interpretation issue.
    • Error in generated code: NRE.
    • Mercury: Adjust all default visibilities.
    • Mercury: allow implicit cast from Enum to Integer (and back with OptionStrict off).
    • Mercury: allow missing visibility specifier own some parts of a Partial class.
    • Mercury: Better detection of LineContinuation token.
    • Mercury: can't new up a string array literal.
    • Mercury: cannot declare two variables in one line, when omitting Dim.
    • Mercury: cannot use Implements more than once.
    • Mercury: CC inserts generic in Oxygene syntax.
    • Mercury: CC shows everything after sub definition.
    • Mercury: Compiler crash.
    • Mercury: Compiler doesn't see inherited Interface.
    • Mercury: Generic parameter doesn't fulfill constraint on generic declaration.
    • Mercury: Improved "Did you mean X" errors for Attributes.
    • Mercury: Namespace should be more conditional keyword.
    • Mercury: NRE for Go to Definition.
    • Mercury: On Error resume Next can not be used everywhere.
    • Mercury: Option Strict Off: allow indexing sequences with ().
    • Mercury: P/Invoke methods should not emit Method reaches end without returning a value warning.
    • Mercury: Return is not shown in Function in CC.
    • Mercury: Wrong line continuation detection on ParseExpression.
    • NSLog format warnings show on completely wrong one.
    • Debugger: Island/Windows: disable evals when exception happens.
    • Debugger: Island/Windows: exe locked after ignored exception.
    • Debugger: Island: array evaluation in toffee apps.
    • Debugger: Island: exception after deleting and creating BP when paused.
    • Debugger: Mono: didn't show correct exception messages due to Mono/Mac reflection bug.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged RTL2.
    • MSBuild wrapper: support "Mac Catalyst" as build destination.
    • Support for importing .xcframeworks.
    • Templates: ported WebService template to all languages.
    • Workaround for bad _istarget_os(macosx) define in core .fx files.
  • Fire & Water
    • Debug log output from iOS-deploy erroneously got merged by the "parallel builds" sorting logic.
    • Support for importing .xcframeworks (allow dragging them into Fire to create a project).
    • Toffee: wrong SDK name if a project/target had SubMod set, but not SDK.
  • Microsoft Visual Studio
    • Performance problems in a specific, very large solution.
  • EBuild
    • .vbproj import: typo fix.
    • Clone architectures and build destinations from dependent project, for project references.
    • Common Project System: implemented setValue(string? @value) forSetting(string! settingName) target(string! target).
    • Cooper: aapt2 didn't see all .java files.
    • Cooper: false positive "error" message from aapt2.
    • Cooper: set JAVAx and <jdkname>x defines, where x is the current version.
    • Dupe error for failed project references, as AdjustReferenceIfNeeded was run again on them as "regular" reference.
    • Honor NoStdLib and NoVBRuntimeReference project settings.
    • MSBuild wrapper: support "Mac Catalyst" as build destination.
    • Settings generators: duplicated My.
    • Support "My" class for projects w/o RootNamespace, too.
    • Support for importing .xcframeworks.
    • Tweaks to “My” code for WebService projects (wip).
  • Elements RTL
    • Hide bad .ctor for JsonNullValue.
    • Improvements to Field/Property Reflection API.
    • Local Workaround for JDK15 vs JDK8.
  • Island RTL
    • Compiler: issue with generating XML documentation.

v10.0.0.2595

Updated Jan 16, 2021

  • Build .2595 fixes a small deployment issue with the Island/Windows SDK folder in .2593.
  • Core
    • C#: CC NRE after bad ":=".
    • CC should show subclassed records as having a "flat" structure.
    • Cooper: comparing bytes fails, converting byte to Char gives inconsistent result.
    • Debugger/Island: not all breakpoints resolve in Fire.sln for Island/arm debug session.
    • Echoes: icon group resource in .exe/.dll has wrong index.
    • Mercury: ’’ within an interpolated string is seen as an escaped quote.
    • Mercury: compiler bug.
    • Mercury: drop warning when a method paramter hides a field.
    • Mercury: ensure we honor proper implicit line continuation rules.
    • Mercury: Go to Definition on .ctor call shows wrong type.
    • Mercury: IE compiling WebAssembly project with static var.
    • Mercury: If statement fails, when wrapped to multiple lines with _.
    • Mercury: Problem calling overloaded extension method.
    • Mercury: Some bad code block detection.
    • Mercury: With block does not compile when line above is creating a new class.
    • Oxygene: bad error for {$IFDEF}.
    • Oxygene: cannot use {$ERROR in {$IFDEF.
    • Oxygene: Error in mapped class has no source location.
    • Oxygene: generic interfaces fails on "parameter is X should be X".
    • Refactor|Rename is incomplete.
    • Toffee: call to equality operator for _RemObjectsElementsRTLCaseInsensitiveString fails at runtime.
    • TypeLoadException in .NET code.
    • Arm64 debugging: allow arm64e; better terror message mir unknown arch, code cleanup.
    • Arm64 debugging: extra logging for GDB packets (disabled).
    • Debugger: Island: don't resolve bad addresses to nearest module/symbol.
    • Debugger: Island: don't use top 16 bits of addresses, on arm64.
    • Debugger: Island: Raise ModuleLoad event when register module.
    • Island: location-less errors for bad (arm64) asm.
    • Mercury module looking for nested types.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged IslandRTL.
    • Regression fixes.
    • Templates: drop hardcoded "i386" default architecture from Island/Windows templates.
  • Fire & Water
    • Adjusted to fixes in CodeGenerator API.
    • Code snippet tweaks.
    • Debugger: Cleaner view for stack frames, both in Debug tree and bt console output.
    • Debugger: show load address in image list console command output.
    • Disable adding/removing/converting projects, if Solution file is read-only.
    • Fire: project file icon fix.
    • Fire: Stack Overflow with WebReferenceUrl project item with URL in include.
    • Oxidizer/Mercury: expose “Convert to Mercury” option on Menu; drop/fix namespace clause in resulting .vb file.
    • Proper-scale Language icons (old ones rendered down badly in Water); proper final mercury icon.
    • References: could not drag a project reference to more than on Target of a multi-target project.
    • References: NRE-proofing in Add References for missing SDK folders.
    • Unnecessary builds between runs, because .mdb files triggered a cache clear.
    • VSProject Import: if matching .sln exists, backup and replace it, rather than creating new one under a fresh name.
    • Water: Active Project didn't update right away when a first eligible project got added to an open solution (i.e. by convert).
    • Water: Register importable projects to open with Water.
    • Water: Rename menu item on files showed as "checked".
  • Microsoft Visual Studio
    • Mercury: WinForms new even handler.
  • EBuild
    • .vbproj import: fix wrong "DependentUpon" that’s missing the folder name; also.
    • .vbproj Import: some projects (such as ASP.NET) must keep using the legacy .targets file.
    • .vbproj import: try to determine DesignableClassName from the DependentUpon tag, if not already set.
    • CrossBox: detect Windows/arm64.
    • Dropped workaround for caseInsensitive being broken on Toffee.
    • EBuildElementsProject shoudln't need to hold onto the Xml document after reading it.
    • Passing --goal: still built all projects... (regression when main/goal project was disabled, nothing got built).
    • Race if LoadElementsDll got called before LoadElementsToolsDll.
    • Settings CodeGen: $IF EXISTS tweak for Mercury non-WinForms apps.
    • Settings CodeGen: emit more attributes.
    • Settings CodeGen: regression fix (only emitted the last setting to code).
    • SharedProjectSystem: Fix for http:// or https:// instead of paths in Include.
    • Support for Windows/arm64 (wip).
  • Island RTL
    • Windows/arm64, ifdef prepwork (all builds; some missing implementations).

v10.0.0.2587

Updated Jan 1, 2021

  • Core
    • Echoes: cannot assign nullable tuples to tuple set on 4.8.
    • Echoes: IE building compiler with latest compiler (on Mono/Apple Mac).
    • Mercury: CC doesn't work with inferred types.
    • Mercury: On error/goto.
    • Oxygene: Embarcadero Delphi Compatibility: allow "program" keyword, similar to "unit".
    • Support for subclassing records/structs (all languages).
    • XmlDoc: not all elements get documented.
    • Merged DelphiRTL.
    • Merged EBuild.
    • Merged MercuryBaseLibrary.
    • Merged Samples.
    • New Big Sur-style template icon for Mac projects and samples.
  • Fire & Water
    • Editor Code Snippets: Cursor would be places on wring line for some snippets, if placeholder wasn't on the first line.
    • Editor Code Snippets: Fixed code snippets for Mercury.
    • Editor Code Snippets: Make Toffee code snippets work for Toffee and Island/Darwin.
    • Editor Code Snippets: snippet-related fix for Mercury Smart indent when new line start with "End".
    • Editor: "program" keyword for Oxygene in legacy DCM.
    • Editor: Show Call Parameters popup should favor using the full with, over lining up with the code and getting truncated.
    • Fire: Argument Manager would use wrong text color for highlighted cell(s).
    • Oxidizer: allow running "Convert to Oxygene" command on Files marked as imported from Delphi/FCP.
    • Project Settings: LinkerOptions was not exposed for Island.
    • Option to import or convert Embarcadero Delphi (.bdsproj) and Lazarus (.lpr) prpjects.
    • Unknown projects got the Elements project type guid in the .sln, and so EBuild tried/failed to build them.
    • Water: build all binaries for Microsoft .NET 4.8.
  • Microsoft Visual Studio
    • Project Settings: LinkerOptions (Island), XmlDocWarnForMissingParameters.
  • EBuild
    • Always build remote project references for all (required) Build Destinations.
    • Option to import or convert Embarcadero Delphi (.bdsproj) and Lazarus (.lpr) prpjects.
  • Delphi RTL
    • IFDEF fixes for Mac Catalyst.
    • Ship Delphi RTL for Island/Darwin.
    • Use new multi-target solution to build.

v10.0.0.2575

Updated Dec 4, 2020

  • Core
    • Additions to the Oxidizer.
    • Additions to the Swift Oxidizer.
    • C# 9.0: Init only setters.
    • CC exception "Collection was modified; enumeration operation may not execute.".
    • Embarcadero Delphi Compatibility: Problem with indexed property in class helper.
    • Hide CPW warnings in code that's already platform-ifdef'ed.
    • Mercury: #End Region causes end of file expected afterwards.
    • Mercury: #externalsource & co.
    • Mercury: allow $/# suffix on method calls too, not just vars. enforce it matches.
    • Mercury: allow Runtime.CompilerServices.Extension methods in Modules, w/o the module having the attribute itself.
    • Mercury: allow “New” with nullable.
    • Mercury: Cannot use #if DEBUG = True Then.
    • Mercury: Default method implementations in interfaces.
    • Mercury: error with // comment in same line as #if -- better parse of #if statements.
    • Mercury: Errors implementing generic interfaces.
    • Mercury: Fixes for VB-native syntax for DllImport.
    • Mercury: Just about anything can be passed as "by ref".
    • Mercury: let Optional w/o default value imply a Null default.
    • Mercury: LINQ Zip operator.
    • Mercury: Support for if aspect.
    • Mercury: Treat smart quotes as as regular ones.
    • Mercury: Warn if a function/property getter does not explicitly assign or return a result value.
    • Mercury: XML Literals (wip).
    • Mercury: “New x From {}".
    • Water: Android debugger hangs.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged libToffee.
    • Merged MercuryBaseLibrary.
    • Sign ToffeeHelper for Apple Mac Distro.
  • Fire & Water
    • After changing active configuration, next run cannot skip the build.
    • Editor: New keywords: init and record for C#; Record and Zip for Mercury.
    • Fire: Always use internal mono to run the compiler, on Apple Arm Macs (because Mono.x86_64 seems to crash on some compiles).
    • Fire: Editor: Workaround for wrong font metrics being reported on Apple Air Macs.
    • Fire: Show architecture rather than just witness for Mono on About window.
    • Switch to use Generators form EBuild.
    • Water: Having default language set to "Mercury" would show "Go" in preferences instead.
    • XmlLiteralMode Setting for Mercury/Echoes.
  • Microsoft Visual Studio
    • Add new item dialog: Iodine Items and Mercury items.
    • Core template gives Microsoft .Net Framework options.
    • S: NRE when opening a project that specifies no Mode.
    • Debugger: add VS support for getting the Apple macOS symbol cache on macOS Big Sur.
  • EBuild
    • Microsoft ASP.NET Core: propagate errors emitted from Razor tool properly.
    • Better error when trying to connect to an unsupported NuGet 2.0 repository.
    • Better/more forward looking version mapping from Apple Mac Catalyst 14.x to macOS 11.x and vice versa.
    • CodeSign: Caching fix for CodeSign.
    • CodeSign: don't try and codesign .ll files.
    • CodeSign: Fix for signing only the exe, not the app bundle, when signing locally.
    • CodeSign: only code sign for local when output is exe.
    • CrossBox: Check for Microsoft .NET Core, not just Mono, to see if local Apple Mac CrossBox supports Echoes projects.
    • CrossBox: debug on Apple iOS devices via WiFi.
    • CrossBox: use iOS-deploy for device detection.
    • Apple Mac Castlyst: detect macOS 11.1 as 14.3.
    • Mercury: XmlElementClass setting.
    • Smart-copy for .app bundles would fail if new bundle had root folder that existing bundle had not.
    • Support for running Generators at build time.
    • Tweaked help message for --convert command.
    • VB Project Import: default “XML Literals” setting to “Linq to XML”.
    • VB Project Import: Migrate DefinesDebug and DefinesTrace settings.
  • Island RTL
    • GCsetpages_executable(0) for GC on Apple Silicon.

v10.0.0.2569

Updated Nov 7, 2020

  • Core
    • Bad message for wrong/mismatched nullability in implementation.
    • Cannot access members on InstanceType result.
    • CC: event handlers missing.
    • Debugger: Show enumerable values as part of expanding an enumerable type.
    • Echoes: InstanceType vs. T.
    • Echoes: Asynchronous methods and exceptions.
    • Echoes: IE with generics.
    • Echoes: runtime "Method not found" for class method from interface.
    • Mercury: "current block" regions are mostly bad.
    • Mercury: #const and #ifdef with const did not work.
    • Mercury: XML Literals (wip).
    • Oxidizer C#: cannot do attributes.
    • Oxygene: can't escape a single quote in interpolated strings.
    • Regression: [Module] aspect stopped working.
    • Wrong generated code with async/await.
    • Debugger: Island/Darwin: shows Signal 17 message on stop and pause.
    • Fix for Mercury current block and class method.
    • HI fix.
    • Invalid cast in union code.
    • Merged EBuild.
    • Merged RTL2.
  • Fire & Water
    • Allow dragging Cirrus project reference to any project type; mark them accordingly.
    • Debugger stack frames would show as disabled/gray instead of proper status color, if the project was disabled.
    • Debugger: New “pb" command, same as “po” but copies to clipboard too.
    • Fire: in full screen mode, debug console spitter position would change between restarts.
    • Fire: potential fix for (intermittent) problems with Full Screen mode on Big Sur.
    • Fire: Regression: crossboxhelper was not executable.
    • Make editor read-only, if file is read-only on disk.
    • Mercury: Syntax coloring for XML literals.
    • Water: could not copy text of popup unless the editor had a selection.
    • Water: show Rename in context menu.
  • Microsoft Visual Studio
    • Microsoft .NET Core: implicit namespaces aren’t known for CC.
    • Can not find a Shared Project Template in Visual Studio 2019.
    • Regression: Visual Studio didn’t show ResolveReferences output panel any more.
    • Visual Studio creates "copy(1).copy(2).copy(3)" files.
  • EBuild
    • MSBuild wrapper: expose ImpliedDefaultUses.
  • Elements RTL
    • File.IsReadOnly.

v10.0.0.2565

Updated Oct 23, 2020

  • Core
    • Cirrus: using System.Int32 in aspect caused IE error on island.
    • Cooper: Indexing arrays with java enums gives Internal compiler error.
    • Delphi Compatibility Mode: Automatically Pointers de-referencing with {$X+}.
    • Mercury: bad current block range.
    • Mercury: Field initialization in Microsoft Visual Basic should happen later than in C#.
    • Mercury: For each variable not shown in CC.
    • Mercury: improve parse recovering for CC on in-progress code.
    • Mercury: Like operator.
    • Mercury: Me and MyBase keywords are missing from the CC.
    • Mercury: WinForms Designer cant be shown when icon has been set.
    • Mercury: WinForms Designer: Rename does not rename the Handles.
    • Mercury: XML comments don't work with ///.
    • Oxidizer: NRE converting Swift to Oxygene.
    • Oxygene: generic classes with nested classes.
    • Regression: cannot use [Warning].
    • Swift: problem with subscript.
    • Toffee: Regression: IE with rodl2code.
    • Debugger: Evaluate method call with nil parameter.
    • Debugger: Island: don't get properties for arrays.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged MercuryBaseLibrary.
    • Merged RTL2.
  • Fire & Water
    • Water: crash in menu when there's no "current" project.
  • EBuild
    • ASP.NET Core: location for rzc.dll changed in Microsoft .NET 5.0 RC2.
    • Project reference could add a duplicate dependency, if the case differed (e.g. "Elements" vs "elements").
  • Elements RTL
    • Cooper: Type.GetType should return nil, not throw exception, when type doesn't exist.

v10.0.0.2557

Updated Sep 25, 2020

  • Core
    • Allow root modifier in XML comments.
    • Cooper: IF condition is converted into a bytecode that fails with internal NRE.
    • Fixes for the Swift Oxidizer (part 1).
    • Gold: NRE compiling for Island platforms using latest.
    • Mercury: Editor really slow (about 6 seconds per keypress) when typing an enum.
    • Mercury: Fix parsing enums if no identifier found.
    • Mercury: Long L suffix character does not work on hex literals.
    • Mercury: Proper error message when parsing an event.
    • Mercury: Rem keyword does not work on module level.
    • NRE in large project.
    • Oxygene: Wrong XML documentation for constructors and methods with "not nullable" parameters.
    • Swift: CC for incremental method name part now shows/inserts full sig.
    • Swift: NRE on self inside a local method.
    • Swift: Type mismatch on "if let x = array literal".
    • Swift: Use Type.GetGenInstParam or Type.OriginalGenericType.GetInstParm if it's null in SetSwiftResult.
    • Toffee: IE with latest Bugs8 project.
    • WebAssembly: Can not make an event public.
    • WebAssembly: RaiseEvent does not work.
    • Internal: Better exception logging for .NET Core debugger.
    • Island: Debugger: Changes for Cocoa apps.
    • Island: Debugger: Make __ElementsObjcClassInfoToString return a ^ansichar.
    • Merged CodeGen4.
    • Merged EBuild.
    • Merged libToffee.
  • Fire & Water
    • New (not exposed in UI) ShowExceptionSheet setting.
  • Visual Studio
    • VS: CrossBox2 can Add or Remove Servers (remote shared folder).
    • VS: ProjectRef is not resolved sometimes.
  • EBuild
    • .NET Core: Internal tweaks.
    • ASP.NET Core: Omit XmlDoc warnings from Views project.
    • Attach to Process: Bitness of macOS processes was read incorrectly from ps.
    • NRE proofing for activateMacAppWithBundleUrl.
    • UnregisterCrossBox2Server API.
    • VB import: Add CONFIG= and TARGET= defines (build fix for libToffee).
    • WebAssembly/Html codegen (wip).
  • Go Base Library
    • Added 5 namespaces missing from GBL: go/ast, go/parser, go/printer, go/token and go/types.

v10.0.0.2551

Updated Sep 4, 2020

  • Core
    • Allow "SizeOf" on properties and index properties.
    • Cooper: Swift enum shortcut syntax broken.
    • Cooper: two errors that make no sense.
    • Delphi Compatibility: record const initializers.
    • Delphi Compatibility: syntax for "Constructor" and "is class" constraints for generics.
    • Island: can't use range in Swift switch statement (.NET is fine).
    • Mercury: VS Editor: Object reference not set to an instance of an object.
    • Oxygene: include/exclude functions for enums.
    • Oxygene: add implicit cast operator to MetaClasses, to cast to Type.
    • Oxygene: allow passing/assigning direct type references to Type.
    • Oxygene: redundant “$ENDIF” could hang the IDE parser.
    • Oxygene: support for "else" on "on/do" clauses.
    • Toffee: bogus warning about string literal.
    • ToffeeL Incremental Linking: still fails.
    • Windows installer doesn't clean up completely GAC.
    • Debugger: Island: fix for getting objc class info.
    • Debugger: Island: read debug info from dyldsharedcache.
    • Merged DelphiRTL.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged RTL2.
    • Oxygene regression: file should not be a reserved word.
  • Fire & Water
    • Code smarts didn't honor new ConditionalDefines setting, only legacy DefinedConstants.
    • Internal cleanup.
    • regression: broken check for live system arch broke CC for macOS projects in Fire.
  • Microsoft Visual Studio
    • CPS: Renaming related files is inconsistent and can break project.
    • Mercury: Can not set a breakpoint on end of sub.
  • EBuild
    • Island: regression: bad warnings from linker task.
  • Island RTL
    • LocalTimeZone fails on ToffeeV2 - fix overflow on date calculation for 32 bits posix platforms (armv6).
  • Elements RTL
    • RTL2: XmlTagStyle.PreferSingleTag is not honored.
    • Fixes for DateTimeFormatInfo.
    • Nullability annotation fixes in Http.
  • Island RTL
    • Change DOM generated interfaces type Date to DateTime.
  • Delphi RTL
    • Add Empty property on TGUID.
    • Added BigEndianUnicode.
    • Added TryStrToFloat, StrToFloat and StrToFloatDef.
    • Build/ship binaries for .NET Core and .NET Standard.
    • Introduce a "pass-thru" class that implements System.IO.Stream under Echoes.
    • Under Echoes, introduce GetEncoding(int), UTF7 and ANSI.

v10.0.0.2549

Updated Aug 28, 2020

  • Core
    • Delphi Compatibility: "unknown identifier" in UNDEFed code.
    • Delphi Compatibility: allow "File of Byte" in UFDEFed code.
    • Delphi Compatibility: re-declare a property to increase its visibility.
    • Delphi Compatibility: Unscoped enums don’t work when declared inside a class.
    • Delphi Compatibility: wrong error message when calling "Create" constructor in a meta class.
    • Island: cannot find operator to evaluate "nullable Char" = "nullable Char".
    • Island: HI Regression: DllImport fix.
    • Mercury: attributes in enum values are not accepted.
    • Mercury: cannot access enum members on instance.
    • Mercury: Date Literals.
    • Mercury: Equals operator on Enum is missing.
    • Mercury: Implicit storage field of a property should be writable even if property is read only.
    • Mercury: LINQ - Group Join and fix join with typed var.
    • Mercury: LINQ - more than one select expression, using an anonymous class like C#.
    • Mercury: LINQ - supporting more than one condition in on clause.
    • Mercury: REM keyword is not compiled as comment.
    • Mercury: Wrong upper bound when creating array.
    • Oxygene: "reintroduce" on a property is ignored, if it is in active IFDEF.
    • Oxygene: Problem with class references.
    • Oxygene: Two NREs in compiler.
    • Toffee: IE.
    • Merged CodeGen4.
    • Merged DelphiRTL.
    • Merged EBuild.
    • Merged MercuryBaseLibrary.
    • Merged RTL2.
    • Template fix for multi-target.
  • Fire & Water
    • Fire: Editor: Ctrl+D, Ctrl+H & Ctrl+K standard keyboard shortcuts.
    • Fire: keep Exception sheet from becoming too tall.
    • Multi-target: not all references showed properly nested under the right targets, and some showed duplicated.
    • Multi-target: potential NRE added references to a target.
    • Multi-target: References: "Use Elements RTL" option was not honored when creating a multi-target project from template.
    • Multi-target: show dupe of shared references across all targets.
    • Multi-target: show original reference in suffix.
    • Project Setting: Add Mercury and Gold to Default Languages.
  • Visual Studio
    • Can not add a service reference.
    • Renaming files is inconsistent and breaks project.
    • RescanRefs hangs in particular case.
    • Project Setting: Add Mercury and Gold to Default Languages.
  • EBuild
    • Add implicit Elements & Echoes ref, for Mercury ref.
    • CPS: adding objects/settings to a target/configuration should Add the proper element if needed.
    • CPS: Multi-target: renaming should renaming a target/config Item and property group.
    • Implicit Mercury.dll & co needs to be CopyLocal.
    • Island: emit warnings for missing files passed to lld.
    • Tweaks for MultiTarget references.
  • Elements RTL
    • Environment.ProcessArchitecture vs OSArchitecture (wip).
  • Delphi RTL
    • Many improvements that accidentally got listed in previous release already.

v10.0.0.2545

Updated Aug 21, 2020

  • Core
    • Cirrus and "not nullable" types.
    • Delphi Compatibility: allow "assembler" directive in undefined code.
    • Delphi Compatibility: allow "register" directive in undefined code.
    • Delphi Compatibility: allow “asm” in undefined code.
    • Delphi Compatibility: change error when something cannot be inlined to as wanting.
    • Delphi Compatibility: Compiler can't handle "implements" w/o semicolon in undefined.
    • Echoes: Crash in Mono.Cecil.SignatureWriter.
    • Island: LocalTimeZone fails on ToffeeV2.
    • Mercury: REM keyword is not compiled as comment.
    • Mercury: CType on null object should cast to default.
    • Mercury: date literal with time portion.
    • Mercury: nullable value types should use VC#s "dumb” behavior and not unwrap.
    • Mercury: System.InvalidProgramException with null.
    • Oxygene: Cannot assign a single character string to a single item array of string.
    • Oxygene: compiler doesn't enforce the "has constructor" generic constraint.
    • Oxygene: IFDEFing out local methods is not working.
    • Swift: Ignored "E513 Parenthesis are required to call method Count()" skips state.
    • WebAssembly: program hangs, debugger hangs on pause and cant be stopped.
    • WebAssembly: Strange compile bug with a generic collection (and then an IE).
  • Fire & Water
    • Better handling for "Reveal/Open output folder in..." For multi-target projects.
    • Drawing tweak for current line when it has messages & editor is not focused.
    • Fire: Regression: after selecting a message, navigating up/down did not switch between messages, but between files.
  • Microsoft Visual Studio
    • Can not add a service reference.
    • Can’t debug .dll project with host app.
    • Error dragging data grid onto WinForms designer.
    • VS2015: NRE when opening a Swiftlight solution.
    • VS2019: Cannot add events in WPF.
  • Island RTL
    • LocalTimeZone fails on ToffeeV2 - fix overflow on date calculation for 32 bits posix platforms (armv6).
  • Elements RTL
    • Annotations for stuff not implemented for all platforms.
    • Char.IsLetter for Island (currently within 00..FF only).
    • Convert.TryBinaryStringToUInt64.
    • DateTime.ToString not implemented for Island (partial).
    • Fix for Convert (Int values < 0 for Chars, maximum digits for Double on Cocoa).
    • JsonDocument.FromUrl.
  • Island RTL
    • Island/Linux app throws SIGSEGV on exit.
    • WebAssembly: "=" crashes on dynamic.
    • WebAssembly: cannot call members on a static field of Dynamic type.
  • Delphi RTL
    • Do not force TKey and TValue to be a class on TObjectDictionary so as to allow TObjectDictionary or TObjectDictionary for instance.
    • Introduce GetFormatSettings and InitSysLocale to better mimic the RTL.
    • Just like IComparer, make IEqualityComparer inherit from the .Net interface under Echoes.
    • Make TClass an alias for System.Type which allows implementing quite a few methods on TObject.

v10.0.0.2525

Updated Jun 19, 2020

  • Core
    • Additions to the C# Oxidizer.
    • Additions to the Swift Oxidizer.
    • Cooper: Fixes for LINQ implementation on Java.
    • Delphi Compatibility: Keyword "label" support.
    • Echoes: Invalid IL comparing IntPtr.
    • Island/Linux app throws SIGSEGV on exit.
    • Island/Win: Two problems (IE and runtime exception) when using Dictionary with (^Void) as Key.
    • Oxidizer: unsafe code problems.
    • Private fields cause "assigned but never read" warning.
    • Problem using DynamicInterface.
    • Support for “XmlDoc” w/o Xml.
    • Swift: Calls to fatalError fail to compile because they use wrong overload.
    • Task: System.InvalidProgramException again.
    • WebAssembly: Chrome still shows generic page when launching from Fire, often.
    • ASP.NET Core project templates generated two extra files.
    • ASP.NET Core View and PageModel file templates (Oxygene).
    • Debugger: support conditional breakpoints in MI debugger.
    • Island static libs were not marked as MainBinary in FinalOutput.xml.
    • Merged EBuild.
    • Merged IslandRTL.
    • Merged MercuryBaseLibrary.
    • Merged RTL2.
    • Merged SwiftBaseLibrary.
    • Template fixes for multi-file Echoes/Code templates in Fire/Water.
  • Mercury
    • {} not recognized as multi-dim array literal.
    • Allow use of function name to assign result value.
    • Basic support for Mercury in Visual Studio (wip).
    • Bug: call of an anonymous function does not work.
    • Cannot assign class to var declared as interface.
    • Cannot make generic method call.
    • Digit grouping does not allow _.
    • Regression: attributes get applied wrong/multiple times.
    • Type Mismatch on is.
    • ASP.NET Core templates.
    • Generate a cleaner error for leftover ; characters.
    • VB-style string comparison support.
  • Fire & Water
    • Editor: don't highlight //// or '''' a XmlDoc.
    • Editor: fix for Razor exit condition in syntax highlighter.
    • Editor: last char of XmlDoc was highlighted as comment again.
    • Fire required Catalina due to bad deployment target for internal Mono.
    • Updated internal Mono to 386ae0405d0.
  • Microsoft Visual Studio
    • Can't set CopyLocal=true for the newly added ref.
    • Project Settings show bad list of architectures for Island/Linux.
    • Microsoft Visual Studio 2019: Cannot load Nuget.PackageManagement.dll, 5.4.0.2.
  • EBuild
    • CommonProjectSystem: Fix for adding/removing items not affecting the existing list.
    • CommonProjectSystem: NRE loading a project with per-target user settings.
    • CommonProjectSystem: NRE with addMissingItemGroup.
    • DefaultBuildActionForFile had bad default for .xml files own Android.
    • ExcludeFromBuild metadata should map to “Ignored”, for backward compatibility.
    • Island: static libs were not marked as MainBinary in FinalOutput.xml.
    • NuGet: pass prerelease=true & semVerLevel=2.0.0 to package discovery.
    • Support for keychain storage for passwords on macOS, even from managed CrossBox.
    • Tweaks for Package.exe util.
  • Elements RTL
    • Annotations for stuff not implemented for all platforms.
    • Char.IsLetter for Island (currently within 00..FF only).
    • Convert.TryBinaryStringToUInt64.
    • DateTime.ToString not implemented for Island (partial).
    • Fix for Convert (Int values < 0 for Chars, maximum digits for Double on Cocoa).
    • JsonDocument.FromUrl.
  • Island RTL
    • Island/Linux app throws SIGSEGV on exit.
    • WebAssembly: "=" crashes on dynamic.
    • WebAssembly: cannot call members on a static field of Dynamic type.
  • Swift Base Library
    • And Some String changes #12 was also incomplete for Java & failed to build.
    • Had to undo parts of pull request Minor Dictionary changes #13 because for Each did not compile.
    • Visibility fix.

v10.0.0.2513

Updated May 16, 2020

  • Core
    • 84198: Cooper: cannot remove events with -= since each +=/-= gets a new instance.
    • 84275: Invalid operator names fail, even in undefined code.
    • 84297: Island debugger hangs on Sig17.
    • 84293: Mercury: Attributes on classes dont get emitted? and adding extends to create class extensions (wip).
    • 84299: Mercury: Can not call class extensions methods.
    • 84285: Mercury: Cant use 'Object' or other type keywords after 'New'.
    • 84280: Mercury: Indexed property syntax fix.
    • 84279: Mercury: Namespaces within the root namespace can not be found w/o specifying full name.
    • 84278: Mercury: Writable indexed property does not work.
    • 84274: Namespace confusion with repeating identifiers in namespace.
    • Island Debugger: skip caching for loading AR files.
    • Mercury: Don't allow private field access when WithEvents is set.
    • Mercury: WebAssembly template fixes.
    • Merged EBuild.
    • Project settings: Import section was misnamed.
  • Fire & Water
    • Project settings: Import section was misnamed.
    • Updated Mercury codegens.
    • Water: Regression for Go to Definition within the same file.
  • EBuild
    • 83919: .NET Core: Copy resources to App Host (wip).
    • CommonProjectSystem tweaks for VS.
    • Improved My* support (cleanup).

v10.0.0.2485

Updated Feb 18, 2020

  • Core
    • 82066: Bad reformat after attribute.
    • 82132: CC crash, Invalid cast.
    • 81955: Gold: endless loop in ConstDefiniton.
    • Merged EBuild.
    • Merged EUnit.
    • Merged Everwood5.
    • Merged RTL2.
    • Template fixes.
  • Fire and Water
    • Fire is not Notarized again (wasn’t for the past two weeks due to rule changes from Apple* and now runs under the Hardened Runtime on Mojave and Catalina. This required a number of nasty internal hacks that hopefully should be transparent for end-users, but extensive testing/feedback would be appreciated, especially using the internal compiler and Cocoa and Island projects.
    • Fire: better text color for selected inactive file when tree view doesn't have focus.
    • Fire: use MonoHost to work around mono exe issues when running under the Hardened Runtime.
    • Internal NRE in editor when file buffer was also open outside of the context of project would prevent it from syncing properly.
    • Regression: Cannot run Test projects since switching to new --goal parameter.
    • Updated to newer Mono 6.14 and trim down bundled Mono folder up more.
    • zip/mangle .a files to enable Notarization Notarization.
    • Visual C# Import: add .xaml files, too.
  • Visual Studio
    • 83776: Android project passes non-lowercase package id (cleanup).
    • 81742: VS2017: the members list in the top right no more works.
    • 81847: Xml comments look bad on some tooltips.
  • EBuild
    • AllowUnsafeCodeImplicitly now implies AllowUnsafeCode.
    • Internal: made CommandLine class public, for use from MonoHost.
    • Support for compiling .rc resource scripts as part of the build (on Windows only).
    • Support for extracting zipped static libraries .az files on the fly to work around Apple Notarization bug (Toffee fix for non-Device targets).
  • Elements RTL
    • 83936: RTL2 XML saves double quotes for DOCTYPE.
    • New Difference class.

v10.0.0.2475

Updated Jan 24, 2020

  • EBuild can now automatically download older or newer versions of Island and Cocoa SDKs not installed locally.
  • Go Base Library has been updated to Go 1.13.5.

v10.0.0.2473

Updated Jan 17, 2020

  • New Observer class for working with Property Notifications in a platform-agnostic way.

v10.0.0.2469

Updated Jan 3, 2020

  • New visual test activity for EUnit on Android.
  • New Oxidizer.exe command line tool.

v10.0.0.2465

Updated Dec 20, 2019

  • EBuild support for <Remote> files in projects.
  • Improvements to Delphi compatibility (generic constraints, enums).

v10.0.0.2461

Updated Dec 6, 2019

  • New Asynchronous Sequences and async loops in Oxygene and C# on .NET.
  • Support for arm64_32 and improvements to the watchOS tool chain.
  • New DynamicInterface aspect for importing external JavaScript APIs for use from WebAssembly projects.
  • Support for optionally filtering/selecting profiles and certificates by "Teams" in Fire/Water, for Cocoa projects.
  • Project Templates for Remoting SDK for .NET Core in Fire.

v10.0.0.2457

Updated Nov 22, 2019

  • Pre- and Post-Build Scripts in EBuild.

v10.0.0.2455

Updated Nov 8, 2019

  • DelayLoadDllImport Aspect for Island.
  • ASP.NET Core project templates for all four languages.
  • Support for Custom Templates in Fire and Water.

v10.0.0.2453

Updated Nov 8, 2019

  • 83311: C#8: Pattern.
  • 82382: C#8: Ranges and Indexes (.NET Core 3.0 and Island).

v10.0.0.2449

Updated Oct 25, 2019

  • Support for Node.js in WebAssembly, including new Templates.

v10.0.0.2447

Updated Oct 18, 2019

  • Environment Variables Manager for Fire and Water.
  • Trailing Closures in Oxygene and C#.

v10.0.0.2443

Updated Oct 4, 2019

  • Official support for .NET Core 3.0 RTM.
  • Support for ASP.NET Core and Razor.
  • Support for the iOS 13.2 Beta SDK.
  • Mixed mode debugging for Android NDK Extensions inside an Android SDK App.