Changes in .2681 since .2651
Core
- E25394: $LINE adjusts line number but not filename
- E25374: .NET Core: find closest matching dbgshim, if no exact version match is found
- E25254: .NET Debugger: Can't set a breakpoint to a local method
- E21589: C# 7.3 Pattern-based fixed statement
- E21588: C# 7.3 Stackalloc array initializers.
- E25277: C# 7: task types
- E25270: C# 8: async streams
- E22888: C#8: allow
$@
vs. @$
on strings
- E24899: C#9:
[ModuleInitializer]
attribute (all languages and platforms)
- E24639: C#9: Pattern matching enhancements
- E25359: C#:
return
is handled incorrectly inside throw
section
- E25108: C#: CC option to add namespace inline or into usings
- E25240: C#: Go to Definition breaks after interpolated string
- E25395: C#: missing
return
in a closure gives Pascal-style hint text
- E24639: C#: Pattern fixes
- E25091: C#: problem with #if
- E25400: Can’t see parameters if ; is missing
- E24097: CC for members on property fails, if there's additional multi-part method names.
- E25108: CC for multi-part always insists to add existing later parts too
- E25261: CC: Nothing to complete (after closure?)
- E23936: Compiler Obfuscation ignores System.Reflection.Obfuscation attribute
- E25332: Cooper: IE with functional interface
- E25332: Cooper; IE with functional interface
- E25244: CPW hint shows in platform-specific code
- E25344: Darwin: AV accessing NSDictionary
- E25318: Darwin: AV on nil block
- E25323: Darwin: AV with
id
cast to Island object-model class
- E25338: Darwin: Optional interface method mismatches on the first label
- E25355: Darwin: Still "mismatch on first label"
- E25354: Darwin: Still AV passing Island string literal to %@ formatter
- E25335: Debugging asynchronous .NET Core code in Water misses method
- E24525: Delphi Compatibility: allow "for in" to loop a set
- E25296: Echoes: Await doesn't work correctly with the colon operator
- E24518: Echoes: Contra-variance is accepted when it should not be
- E25348: Echoes: Stack overflow in an async console application
- 85173: Fixes for Oxidizer
- E25409: FX struct: add
Generated
attribute for event handlers
- E24374: Go to Definition provides Position w/o filename OR type
- E25416: Guids are badly read when from LIB import dumps
- E25345: HI fails on Xcode 13 RC
- E25357: HI: allow name of .xcframework to differ from the .framework(s) inside (fix for error message)
- E25235: HI: fails on Xcode 13 Beta 3
- E25243: HI: Once again, Foundation classes show as namespaces
- E25224: Implement abstract methods does not override
- E25237: InvalidProgramException with a local method defined inside the code part of a normal method
- E25327: Island debugger: Darwin: Dispose after Stop takes too long
- E25326: Island Debugger: Darwin: three steps to get over line
- E25324: Island Debugger: Darwin: wrong top stack frame and get get locals
- E25249: Island Debugger; doesn't know exception type in Mac Catalyst
- E25382: Island SDKs on Toffee: cannot see
NSString
members on String
- E25382: Island SDKs on Toffee: cannot see NSString members on String
- E25369: Island SDKs on Toffee: confusion with RTL2 Log and Object vs Exception
- E25370: Island SDKs on Toffee: IE building libEBuild
- E25375: Island SDKs on Toffee: other issue
- E25383: Island SDKs on Toffee: rtl.fx depends on Island
- E25341: Island/Linux: can not get resources embedded in file
- E25302: Island/Windows: ActiveX Aspect & Template (C# only, this week)
- E25353: Island: "invalid recored" calling Linq on SBL List
- E25356: Island: bad linker error for exported method starting with "L" on i386
- E25230: Island: bad self in closure
- E25247: Island: bogus "Statement can not be reached" warnings on properties
- E25285: Island: cannot call length() on a string from strongly-typed DOM interface
- E25392: Island: cannot use nullable int in case statement
- E25257: Island: IE with new Cast method on INSFastEnumertable
- E25281: Island: linker error on missing .ctor
- E25242: Island: linker error with latest RTL2
- E25352: Island: NRE in BroadcastManager
- E25210: Island: Reflection: Way to get the type of a non-generic IList
- E25288: Island: runtime AccessViolationException
- E24897: Island: type mismatch on Cocoa enum
- E25339: Island: wrong hint when assigning to out param
- E25236: Local methods should be marked private on assembly level
- E25431: Mercury: "Case Is"
- E25426: Mercury:
&
should be able to concat everything
- E25418: Mercury:
0D
and similar numeric literals
- E25402: Mercury:
Exit Select
- E25280: Mercury: bad code format for nested struct
- E25205: Mercury: bad indent/reformat after Imports
- E25312: Mercury: bad reformat after attributes
- E25419: Mercury: Can't pass double literal to Decimal
- E25404: Mercury: cannot
&
enum values.
- E25256: Mercury: cannot divide Decimals
- E25427: Mercury: end not reachable with Throw in Select
- E25401: Mercury: Imports a class
- E25388: Mercury: Internal error: failed to emit default value for parameter
- E25381: Mercury: keywords missing from CC
- E25279: Mercury: method might not return value when “On Error Resume Next” is on
- E25399: Mercury: No CC after
Implements
- E25403: Mercury: No CC for sub-namespace
- E25411: Mercury: Parameter 2 is
<method pointer>
, should be Action<String>
- E25398: Mercury: Partial classes can't implement different interfaces
- E25406: Mercury: Prescendence issue in namespace resolving
- E25373: Mercury: problem with .NET Core API project template
- E25362: Mercury: problem with conversion of integer to boolean
- E25263: Mercury: problems in form designer with Events
- E25263: Mercury: problems in Form Designer with Events
- E25361: Mercury: problems with initialization of several variables on a row with list separator
- E25203: Mercury: Some CC issues
- E25360: Mercury: support for formatting in interpolated strings
- E25417: Mercury: support for non-const values in
Select
/Case
- E25262: Mercury: Type mismatch with
Case
comparing Decimal to literal
- E25412: Mercury: Wrong
Exit
modifier: can not find Do
in the current context
- E25430: Mercury: Wrong operator precedence for
-
and <
- E25026: NRE in island after exception
- E25346: NRE when passing nil to a method with
params par1: array of dynamic
- E25305: Oxidizer from C# generates empty unit
- E24593: Oxygene: combined interface aliases as in Swift
- E25394: Oxygene:
{$LINE
adjusts line number but not filename
- E24136: Oxygene: Allow multiple uses statements
- E25297: Oxygene: bad reformat with
until
- E25289: Oxygene: Cannot pass a single array to "params aStrings: array of array of String"
- E25313: Oxygene: confusing errors when global method has "class" keyword
- E25291: Oxygene: no warning for Obsolete ancestor
- E23925: Oxygene: Problems with
{$HINT}
between except
and on
- E22287: Oxygene: support for
params
with sequence of
- E25295: Oxygene: weird error for dupe
((
- E24059: Peek at Definition should we hide stuff i cannot access
- E25331: potential fix for segv during a build
- E25319: Regression with 'case' and anon result
- #25253: Regression: case broken with nullable integers, for Cocoa only
- E25396: Regression: EBuild fails to build for Toffee
- E25314: Regression: Internal error: Error while inlining call to method Field.Visibility
- E25349: Regression: linking libEBuild/Toffee fails
- E25294: Regression: property access assigned to discard gets optimized away/ignored
- E25331: Segv in LLVM during compile
- E25316: Show Parameters on mapped type shows overloads for base type
- E25194: Swift/Island: cannot override method
- E25195: Swift/Toffee does not report on non-nullable vars not initialized by a .ctor
- E25367: Swift: bad CC on Island
- E25377: Swift: cannot see #ifdef'ed protocol method
- E25290: Swift: Custom swift operators with weird characters in .NET compile to the same method name
- E25252: Swift: Generic enum case results in an invalid .NET assembly
- E25284: Swift: no CC when missing () on call site
- E24349: Swift: SE-0281 @main: Type-Based Program Entry Points
- E25307: Toffee regression: invalid record
- E25424: Toffee: compiler crash with libEBuild
- E24055: Toffee: exesssive code in NRE message
- E25282: Toffee: NRE with latest Bugs.app
- E23903: Two types mapped to the same type should respect the hierarchy
- E25378: Unable to overload
Array<T>
filter function
- E25267: Undefined symbol: OBJCMETACLASS$RLMObject
- E25420: Water: Incorrect message in debugger
- E25306: WebAssembly:
inc()
on a record member inside a with clause has no effect.
- E25397: WebAssembly: await support for JavaScript Promises
- E25363: WebAssembly: regression: Invalid cast error in Wasm when reading HTML element propertyinterface method
- E25286: WebAssembly: support for ByteString -- check when a dynamic call without () is a method or property
- E25393: Weird/wrong case auto-fix: Tuples should still register their locals properly
- E22632: XAML CC: after namespace prefix still shows namespaces
- E25234: XML comments for local methods
- C#: wrong case in .ctor label doesn't trigger proper "case mismatch"
- CC NRE
- Darwin: AV passing (island) string literal to NSLog-style
…
param
- Debugger: CLR: do Continue only after pause
- Debugger: CLR: Fix for enumerables expansion
- Debugger: CLR: Fix for Locals in anonymous methods
- Debugger: CLR: Pointer type evaluation
- Debugger: hide extra locals created for async support
- Debugger: Island: better eval for arrays (pointer type) and pointer to char/ansichar
- Debugger: Island: breakpoints added after session started are not resolved
- Debugger: Island: Don't open file via FSOpen
- Debugger: Island: find current position once when step over/into
- Debugger: Island: Find Elements exception type if dwarf info not loaded
- Debugger: Island: fix for "array of" eval
- Debugger: Island: fix for ExceptionMessage (Remote)
- Debugger: Island: fix Swift arrays evaluation
- Debugger: Island: get sub-values for variables with special range location
- Debugger: Island: NRE fix
- Debugger: Island: NRE in GetSubValues
- Debugger: Island: Read only necessary dwarf debug info (Apple only)
- Debugger: Island: remote debugger tweaks
- Debugger: Island: Skip step into OS methods for cocoa apps
- Debugger: Island: tweaks on GetSubValues
- Debugger: Island: use "addressing_bits" to adjust addresses
- Debugger: Mono: don't expand enum type
- Debugger: Mono: Enum values evaluation
- Denugger: Island: Don't stop on debug position with line = 0 when do "Step Into"
- Echoes: unable to set BP on await
- Go to Definition: fails on "invalid types" such as from Swift ABI
- Island/iOS: linker issues with platform type macCatalyst
- Island: Debugger: BPs not resolved in VS
- Island: Debugger: NRE in FailedToStart
- Island: importlibs fix for iOS
- Let GetAssemblyVersion handle bad version strings with extra stuff
- Mercury: allow indexer access on any enumerable
- Mercury: VBOptionStrict was off by default, in non-EBuild (eg ASP.NET) mode
- Merged CodeGen4
- Merged DelphiRTL
- Merged EBuild
- Merged Everwood5
- Merged IslandRTL
- Merged Marzipan
- Merged MercuryBaseLibrary
- Merged RTL2
- Merged Samples
- Oxidizer.exe didn't use "whole file" mode
- Pass BuildDestination to compiler; also refactor/renamed NougatIsSimulator (and added IsMacCatalyst)
- Templates: Island/Windows: new Dynamic Class Library template (C# & Go)
- Templates: Storyboard from Simple iOS App template hangs latest Xcode
- Test fixes
- Time stamps for debug log
- WebAssembly debugging: Allow CORS ("Access-Control-Allow-Origin") to the debug HTTP server
Fire & Water
- E22888: C#8: allow
$@
vs. @$
on strings
- E25364: Fire: bad contrast in 80's Blue theme
- E22737: Nest per-device .xibs properly under pas
- E25366: Option to launch browser for ASP.NET Core on every run (
alwaysLaunchBrowser
)
- E25334: Water: NRE when build finished w/o ever having had messages
- Add References: Don't show Deployment Target (
rtl-*.fx
) and yet unsupported Swift Helpers (_*.fx
) frameworks in list
- Add References: show
.fxp
placeholder references
- Allow building/running individual non-active projects from the context menu (regression fix for skipping und necessary builds)
- Allow Website Projects to build (inactive publicly, for now)
- Conditional defines manager; sorting should be case-insensitive
- Fire:
simctl list
hangs on some systems, causing the list of simulators to remain empty.
- Fire: AutoLayout of Project view could force the navigation pane to hide in small windows
- Fire: Don't ship "Toffee SDKs" folder & Go.fx’s
- Fire: long error message on .xib or .storyboard could force-close the navigation pane due to auto-layout constraint
- Fire: Ship libRemObjects.Elements.LLVM.dylib in ./Resources, because else it cant be found on macOS Monterey
- Force NuGet packages to get the canonical name, when added via Manage References, even if case was bad.
- Login: alignment fix
- Make certain texts in About window selectable
- Mercury: Editor: Smart-end for "Select" was missing
- Message tweak for "Project ... has no FinalOutput.xml"
- Namespace manager: sorting should be case-insensitive
- NRE invoking context menu on Folder project
- Performance: (unused) Form Designer checks would cause small delay on load for (really) large projects
- Performance: update Recents in background instead of
Main()
- Potential NRE when creating a Shared Project from template with "Use Elements RTL" option checked
- Report errors/warnings per target, in solution tree
- Show the better Wasm template with codebehind in Welcome
- Show Warning overlay (not just error/success) on projects, in solution tree
Visual Studio
- E25120: "iOS Device" shows twice in CrossBox menu
- E24577: Adding a Cirrus reference adds an absolute path
- E25186: Avalonia Core project gets debugged as classic CLR, fails
- E25365: build fails after adding an MS C# project reference in an Oxygene
- E25114: Cannot move a file to a folder
- E25116: Debugger: Just My Code (Island)
- E25328: Error when project has ".NET5.0" instead of ".NETCore5.0"
- E24919: Files added as link get added with absolute path, even if they care close by the original project
- E25110: Folder can not be removed
- E25320: Hook "Just my Code" option up for Island and Toffee
- E25202: Impossible to remove file from shared project
- E25176: Installer crashes on missing zip when Toffee is unchecked
- E25233: Mercury: auto-complete for XML comments
- E25232: Mercury: two problems with form designer (icon & NRE)
- E25336: PEVerify error in RemObjects.Oxygene.VisualStudio.Editor
- E25333: Problems debugging asynchronous code
- E25329: Setting application icon sets an absolute path
- E22315: Support for how EBuild does NuGet
- E25182: VS2022 Preview: double click on error list doesn't show the source
- E25304: VS2022: Can't add a reference to a project in the same solution
- E25241: VS2022: Locals and Quick Watch uses C# syntax
- E25181: VS2022: Settings | Fix-its is not complete
- E25414: VS: exponential hangs building solution with legacy targets
- Experimental Support for Visual Studio 2022 Preview 1 and 2
- Fix for .NETCore/.NETFramework target framework setting
- Fix for NRE when adding project reference
- Presence of an Elements shared project breaks NuGet in VC#
EBuild
- E25374: .NET Core: debugger needs runtime name, because versions may differ
- E25422: allow swizzling HintPath for project reference to matching configuration, even if configuration is not the last subfolder
- E25365: CPS: Problem adding new references after removing the last one
- E25116: Debugger: Just My Code
- E25357: HI: allow name of .xcframework to differ from the .framework(s) inside
- E25386: Island debugger: constant 200% CPU when debugging iOS Simulator
- E25251: Island: linker errors for Simulator, x86_64 only (arm is fine)
- E25405: Mercury: Forms should be available as global vars
- E25405: Mercury: forms should be available as global vars: Add Rootnamespace.My to implicit default uses.
- .NET Core 5.0+ needs to use netX not netcoreappX for dependencies from .nuspec, as well (but still use netcoreappX if they are below 5.0)
- .NET Core: Microsoft.AspNetCore.Mvc.Razor.Extensions.dll moved for .NET Core 6.0
- .NET Core: VC# References that depend on non-NuGet references also in the current project could create a bad NuGet Reference with that name
- Allow "RC" environment var to override path to rc.exe
- Allow downloading Go reference remotely if needed on first use
- Allow falling back to Island SDKs for Toffee (support for remote downloads to grab Island, too)
- Allow falling back to Island SDKs for Toffee projects
- Allow PreBuild/PostBuild inside PropertyGroups
- Allow PreBuild/PostBuild inside PropertyGroups (ElementsProjectFile)
- Allow variable names in HintPaths
- Bad in parameter order for rc.exe
- CloneRelevantSettings only if depending project is enabled
- Cocoa: duplicate version number in log message
- Drop spaces from default BundleIdentifier if project name has tnem
- ElementsPreparePlatforms ran repeatedly for each target but processing every target each time
- Empty value from command line might accidentally get tired as such (rather as missing)
- Fire:
simctl list
hangs bin some systems, causing the list of simulators to remain empty.
- Fix for ProcessVariables and eliminated redundant ReplaceVariables method
- Fixes for E23903: Make two types mapped to the same type respect the hierarchy
- Inconsistent metadata when a project reference was in the project and implicitly added from a second project reference
- Island projects w/o explicit architecture set would sometimes fail to launch due to a race condition determining the SDKName
- Island/Mac Catalyst app didn't get default deployment target as it should
- Island: drop *versionmin parameter from lld, as it just generates a warning
- Island: pass filename as last parameter to rc.exe
- Mercury: bad property names in resx generated code, if resources had dotted names
- New (unexposed) option
UseIslandSDKsForToffee
to force use Island SDKs on Toffee projects
- New IsSystemLibrary option (for internal use)
- NuGet: if a preferred repo si set for a package and that repo is set up/known in the project (possibly with credentials), the credentials were not used
- NuGet: incorrect case for package name could cause duplicate refs added via a project reference dependency.
- Running x86_64-only project on an arm Mac w/o selecting Rosetta would launch wrong (arm) debugserver
- Silver.dll should require implicit Echoes.dll
- Support for processing .aspx files (wip)
- Use Condition="'$(Platform)' == '...'"> for PreBuild/PostBuild
- Use macOS, not iOS version in LSMinimumSystemVersion for Mac Catalyst
- Workaround (and actually better code) for E25319: Regression with 'case' and anon result
- Workaround for E25307: Toffee regression: invalid record (revert later!)
- Wrong filename displayed in error message about missing razor.dll
- “Config” and “Configuration” variables were not set properly
Elements RTL
- E25265: Island/Darwin: AccessViolation in ToISO8601String
- E25238: Island: OrderBy crashes when ordering by RTL2 DateTime
- Extra cast operator for Dictionary on Darwin
- Guid.TryParse for Island
- ImmutableBinary.ToNSMutableData
- Implemented Http class for Island/Darwin
- Implemented Http for Island/Darwin (leftover debug logging removed)
- Implemented http for Island/Darwin: fix for AV due to incompatible Binary
- Implemented Http for WebAssembly (wip)
- New method File.IsReadOnly
- Workaround for E25434
Island RTL
- E25391: Cant call method on WebAssembly object from JS
- E25210: How to get the type of a non generic IList
- E25265: Island/Darwin: AccessViolation in ToISO8601String
- E25238: Island:
OrderBy
crashes when ordering by RTL2 DateTime
- E25210: Island: Reflection: Way to get the type of a non-generic IList
- E25347: Linux/arm: String.ToUpper can fail if "en_us" locale is not installed in the system
- E25390: WebAssembly and factory method
- 25315: WebAssembly.ReflectConstruct and Uint8Array
- Await support for dynamic & wasm calls.
- Bounds fix in copy from array and copy to array
- Bug in
MemoryStream.LoadFromFile
- Code cleanup
- Implemented
INSFastEnumeration.Cast<T>
- New method File.IsReadOnly
- ToString for arrays and lists
- Typed array support
- Typo in the copy-to-array code.
- WebAssembly: Browser.Url convenience property
Delphi RTL
- Adding first steps for Linux GTK GUI (wip)
- Fixes for dfm loading
- Update DRTL tests
- Use RTL2String when streaming/rtti invoke
- WebAssembly: load .dfm async (wip)