RemObjects Elements 10.0.x
Released: Oct 4, 2019
Actualizaciones en 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
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.