Released: Nov 3, 2017
9.3 中的更新
特性
Major new Features in Elements 9.3:
- Iodine: Java
- Refined language support for RemObject's Java language front-end, Iodine.
- Adds support for WinForms and WPF designers for Iodine in Visual Studio. You can now create native Windows GUI apps in Java.
- Fire
- Significant under-the-hood improvements, including streamlining to app bundle size, memory footprint, and startup speed.
- Usability improvements throughout the IDE.
- Elements in VS
- Reverted to the classic project integration system, resulting in a much-improved user experience in Visual Studio 2017.
Enhancements:
- Native debugger support for Linux.
- C#: allow keywords after ' . '.
- Confusing error message “Interface types not allowed on unmanaged records”
- Iodine: '__struct support'.
- Iodine: Access to interface 'consts' when implementing it.
- Iodine: allow '.class'
- Iodine: Support for '__ref' parameters
- Swift: '__Field' to declare an actual non-property field
- Swift: Cocoa templates updated for latest Swift
- Swift: support for combining protocols via &
- Use MPF with VS2017 for now
- Android: Better errors from 'aapt' (don't treat "note:" as error)
- Basic support for the new GDBServer debugger; Ubuntu on Windows
- Merged DelphiRTL
- Merged EBuild
- Merged Everwood5
- Merged IslandRTL
- Merged libToffee
- Merged RTL2
- Merged Samples
- Merged SwiftBaseLibrary
- Ship new Xcode 9.1 SDKs
New Features in Fire:
- Editor: Breakpoints visually indicate if they are resolved or not.
- Editor: Full CC for Android Manifest files.
- Editor: New "Flatten Selection" and "Expand Selection" editor commands.
- Skip unnecessary rebuilds when re-running the same project w/o any changes made.
- Support for 'images' command in debug console.
Enhancements in Fire:
- Menu item to show EULA.
- Ongoing abstracting of CrossBox support into EBuild.
- References: Allow dragging of Island/NDK projects to Cooper projects to add a project reference (will work in EBuild only).
- Smaller Mono footprint, making for a smaller Fire.app bundle.
- Template manager now property delay-loads, causing ~1.5s startup time improvement.
修補程式
Fixes in Core Elements:
- 78559: "Out/var" fix-it is bad
- 78884: A TwoWay or OneWayToSource binding cannot work on the read-only property 'MissingSDKName'
- 78480: Accessing a member of a nullable struct gives weird error
- 78657: Adjust project templates (including Web templates) for VS2017 mpf
- 77777: Android: Preflight checks don't see the fresh installed Android Studio + Android SDK bundle
- 78668: Bad fix-it for "var" and "inherited" call
- 78653: Break point line numbers get confused by .inc files
- 78433: Bug in string value of 'Any?'
- 78077: Building generates FixIts for non-existent XAML files in /obj
- 78595: C#: class doesn't see local method from .ctor
- 78214: C#: WPF events get inserted with bad spacing
- 78656: Can't add linked file to shared library
- 78692: Can't add reference
- 78676: Check and Fix Testcases
- 78263: Class View: some options don't work
- 78511: Code completion getting in the way for Swift 'print'
- 78593: Codegen issue for mono only
- 78573: Compiler error
- 78516: Compiler Error
- 78454: Cooper: Debugger stops on second exception while beign stopped already
- 78421: Cooper: Error executing task JavaSigning: Collection was modified
- 78479: Cooper: Problem with parsing FX signature
- 78522: Cooper: Simple enum iteration fails to compile
- 78552: Crash when completing a mapped to XXX sentence
- 78827: Dupe "with" in error message for .ctor
- 78475: Echoes: compiler emits assemblies with incorrect DebuggableAttribute set
- 78452: FXGen missing from CrossBox
- 78120: GetBaseInfo returns nil/error when in an undefined #ifdef
- 78804: GetDefinitionText show wrong definition for sequence
- 78180: Go to Definition, GetDefinitionText do not show properly value for SystemFunction
- 76692: IDE: Show All Files - Include In Project doesn't work for single file
- 78495: Idione: class member shows as "local field" hover info
- 78702: IE for Unknown Identifier
- 78570: Implicit overload issue
- 78907: Internal error
- 78655: Internal error compiling project with shared library
- 78455: Internal Error in "current block" on unfinished property
- 78675: Internal Error with 'writeLn(Convert.TryToInt32("9223372036854775807"))'
- 78826: Iodine template issues
- 78777: Iodine/Island: NRE in Quick Watch window
- 78549: Iodine: "No overloaded constructor" for anon interfaces
- 78497: Iodine: 'r' gets no case-mismatch error, 'bundle' does
- 78440: Iodine: AutoFix for "wrong param modifier" error for '__ref' inserts 'var' (and misses space)
- 78450: Iodine: Bad CC for Attribute
- 78494: Iodine: CC contains bad elements
- 78056: Iodine: CC for enum includes 'do' and 'import' keywords
- 78441: Iodine: CC is missing "new"
- 78299: Iodine: EUnit TestClass template creates code that cannot be compiled
- 78560: Iodine: IE when compiling against Java 1.6
- 78499: Iodine: NRE in Go to Definition
- 78548: Iodine: Problem with generic inference from ancestor?
- 78509: Island : IE with Class Contracts
- 78209: Island Core references; IDE should not add hint path
- 78557: Island RTL: debugger can't show values for simple types like double
- 78160: Island/C#: method from parent class is getting called instead of current class
- 78779: Island/Linux samples don't show any output
- 78673: Island: '[Used(Inherit := true)]' doesn't seem to work for EUnit/release
- 78477: Island: AddReference does not add reference properly
- 78476: Island: Can not compile linux console app that uses InternetPack
- 78252: Island: executables generate .fx
- 78353: Island: Go To Definition problem
- 78744: Java debugger: problem with evaluating class instances
- 77779: Java: Preflight check doesn't detect incorrect JDK path
- 78508: Latest Water fails with IE on v9
- 78473: MakeSwifty: NSUserDefaults.standardUserDefaults did not get renamed
- 78762: No item templates for shared project
- 78598: NRE compiling project
- 78846: NRE when using '#selector' with quotes
- 78694: Oxidizer NRE
- 78156: Oxidizer ObjC: lost the round brackets
- 78167: Oxidizer ObjC: Problem with multiply-assigment
- 77358: Oxidizer ObjC: wrong result for particular testcase
- 78585: Oxidizer paste index out of range
- 78198: Oxidizer, PeekAtDef, GetDefText testcases are failed
- 78198: Oxidizer, PeekAtDef, GetDefText testcases are failed - fix for Java testcases
- 78792: Oxygene CodeDom produces wrong code for array initializers
- 78792: Oxygene CodeDom produces wrong code for nested classes
- 78577: Paste C# fails with "Not Implemented"
- 78567: Performance issue in array for loop
- 78714: Problem with aspects and Services.GetType
- 78707: ProjectReference throws an error when no name is specified
- 78297: Property Pages: Host Application property doesn't allow to open dialog window for selecting file
- 78349: Refactoring: "Extract method" inserts semicolon after method call (Swift)
- 78906: Refactoring: "Rename" problem in WinForms app
- 78873: Refactoring: "Switch to classic syntax" change method name 'Main' on 'main$$'
- 78872: Refactoring: Rename doesn't work
- 78879: Regression: Cant assign field to same-named var
- 78435: SBL fails compiling some code
- 78437: Swift: '??' doesn't propagate nullability correctly
- 78462: Swift: CC is not "soft" when typing a closure parameter
- 77968: Swift: need to be able to skip named parameters in the middle, if they have defaults
- 78727: Swift: NRE after creating project
- 78666: Test project to reproduce the E621
- 78898: Toffee/C#: Internal error compiling a class
- 78866: Toffee: "invalid record" in testcase
- 78596: Toffee: bad code in .h for Tuples
- 78691: Toffee: HI doesn't honor enum constant as start value for other enum
- 78576: Toffee: HI import for 'const' char array is broken
- 78840: Toffee: internal error building
- 78865: Toffee: testcase NRE
- 78635: Two Internal Errors with latest FPS and FireCoreApp
- 77206: Type error in tooltip with a nested type
- 78457: Unable to debug Hydra plugin in Visual Studio using Delphi host app
- 76723: VS2015: 'Add new class' item absent in shortcut menu
- 78822: VS2015: Adding new EUnit TestClass item to the project fails on dupe EUnit reference
- 78571: VS2015: Can not replace existing references (Island, RTL2), always adding default path
- 78264: VS2015: resource item template doesn't create associated designer file
- 77746: VS2015: Search option on Class view display wrong results
- 77751: VS2015: Some Class view options don't work with shared projects
- 78283: VS2015: Swift Split Page item template for WinRT doesn't compile
- 78024: VS2017: "Insert directives in upper case" is not taken into account
- 78774: VS2017: An exception is shown on creating iodine android app
- 77877: VS2017: build always rebuilds all
- 78757: VS2017: C# cocoa templates issues
- 78447: VS2017: Class view, Object Browser should not contain SharedProject in project list
- 78319: VS2017: Debugger shows variables that aren't present
- 78775: VS2017: EUnit android app Iodine doesn't attach r file to project and fails to rebuild
- 78389: VS2017: Go to Definition works incorrectly
- 78449: VS2017: GoToPosition does not work for Class view, Object Browser
- 78757: VS2017: Hydrogene cocoa templates issues
- 78380: VS2017: IDE allows to add references for wring platform
- 78719: VS2017: Impossible to rename form name in WinForms app
- 78464: VS2017: Marking a file with Build Action “Resource”, it disappears from Solution Explorer
- 78807: VS2017: No item templates for WPF and Shared projects
- 78763: VS2017: Problem with adding reference to shared project into existing project
- 78282: VS2017: Problem with CirrusInterface sample
- 78357: VS2017: Swift: Adding a button and a WinForms PropertyGrid control corrupts code
- 78693: VS2017: Unable to load Microsoft.Build.Framework
- 78375: VS2017: Web.config file is empty, prevents debugging
- 78721: VS2017: WinForm: only 1st event is put into 'designer-generated code' region
- 78795: VS2017: WinForms: problem with showing designer
- 78343: VS2017: WPF: Error displayed when adding event handler
- 78535: VS: Error in Go to Definition
- 76756: VS: if Xcode version is invalid or has no SDK files, VS shows the "new SDK detected" dialog badly
- 76689: VS: Show All Files shows hidden files and folders, .sln files, project files
- 78783: VS: Silver Cocoa templates issues
- 78496: Why is E622 separate from E464 and has no fix-it?
- 76595: WPF Application: CC doesn't contain controls with closed XAML
- 78903: WPF designer shows odd error for Oxygene template
- 78420: Wrong Peek at Def that keeps duplicating with each invoke
- 78915: Wrong setting for Optimize in debug config, for some tempplates
- 78094: XAML Nesting is broke for some files
- 78468: XML CC: Three issues in core engine
- Allow non atomic volatile reads.
- Bad deployment SDK value in watchOS app template
- Bad namespace placeholder in Iodine template
- Bad rollup/sort order for Blank Universal app
- Change check for Universal tools
- Codegen fixes for TLS/Android.
- CrossBox won't start
- Exception when concatenating string + integer
- generate.train: only zip up libraries if 'libraryBaseFolder' exists.
- Iodine: Missing macOS templates
- LLVM Update
Fixes in Fire:
- Abstracted common logic about island architectures & co into shared IslandHelpers class in EBuild
- Background NRE fix for editor smarts triggering in non-project code text files
- Better (still tentative) handling of multi-file item templates (before, all files got the same name, last one won)
- Better build phase parsing for EBuild, support for targets.
- Better code snippet quote escaping for Oxygene single-quote literals
- Better exception handling/logging when setting up Mono
- Better handling of errors when trying to load a project with xml file
- Better messaging when Mono is disabled
- Couple places where UpdateFile was called inconsistently for shared files
- debugger: Android: Ignore 'android.system.GaiException'
- Debugger: Android: Ignore 'sun.misc.CEStreamExhausted' exceptions
- Debugger: Better handling of the debug console prompt drawing, if stdout comes in AFTER the debugger broke
- Debugger: console didn't handle ir well when console mode was active but new debugger lines came in
- Debugger: Console would allow to delete one too many chars
- Debugger: Console would sometimes stay active when manually stopping a paused session.
- Debugger: Enhancements to how it reacts when two exceptions come in at the same time;
- Debugger: Island debug API cleanup
- Debugger: NRE on empty exception messages
- EBuild: --skip-projects
- Editor: '__assembly' keyword was missing for Iodine
- Editor: '__field' keyword highlighting for Swift
- Editor: '__struct' keyword for Iodine
- Editor: 'lifetimestrategy' keyword for Oxygene v10
- Editor: Allow '-' & co as valid token character for XML CC;
- Editor: C#: allow unescaped keywords after '.'
- Editor: Crash when trying to save a file that has broken UTF-8 data
- Editor: expand soft selection in XML to whole attribute value
- Editor: New Iodine keywords
- Editor: New Iodine v10 keywords
- Editor: New Swift keywords
- Editor: Potential crash when SF Mono font was fund buy SF Mono Bold font did not exist
- Editor: replaceSelection would not always preserve selection properly.
- Error messages with line breaks (such as an IE) would show badly in jumpbar
- Error messages would not match up is .sln path had a dash, due to inconsistent URL encodings
- Fire/DA: Could not generate strongly typed data tables for Relativity.
- Fire/DA: Generate DataAccess Class did not fill DA-specific variable placeholders in the template
- Fire/DA: Generate DataAccess Class did not generate anything
- Fire/DA: Need deploy and load RemObjects.SDK.CG4.dll as well.
- Fire/DA: NRE when invoking "Generate Strongly-Typed Data Table Classes"
- Fire/DA: Show proper error message the DA codegen fails
- Fix for version Elements check, v9 vs v10
- Island: problem registering CB w/o a default key file
- Leak in Cross-Platform menu system
- Merged/reworked Register CrossBox sheet for Fire and Water
- Newly added Favorite projects would not get persisted.
- NRE fix in addProjectReference for projects not in the SLN
- Offer "Resource" build action on Echoes and Cooper projects
- Pass IslandLddExePath to EBuild when using embedded compiler
- Problems processing .fireplugins
- Proper error message when loading a template fails
- References: Crash when adding references to a project that had zero
- References: don't add RTL2 reference to WatchKit app; do add it to the extension, if so requested
- Some color fixes for "80's Blue" theme
- Templates: watchOS template wizard did not show
- Toffee: Get List of deployment SDKs in Project Settings dynamically rather than hardcoding the list
- Toffee: Moved a bunch of Toffee SDK logic out of Fire into EBuild for reuse
- URL fix for Apple IOS Cert portal
- XML CC: support for expanding soft-selection for CC to cover full XML attribute
- XML Reformat: PreserveEmptyLines