title | description | position | publish | slug | previous_url |
---|---|---|---|---|---|
iOS Runtime Changelog |
NativeScript iOS Runtime Changelog |
6 |
false |
ios-changelog |
/Changelogs/iOS Runtime |
- runtime: invalid isa pointer access in ios 14 (#1275)
- runtime: Private root classes cause infinite loop (#1270)
- metadata-generator: Static frameworks from .o (#1271)
- metadata-generator: Typings generation of global functions (#1250)
- runtime: Icons from inner resource bundle named as its framework are missing (#1252, #1257)
- debugging: Do not close data socket prematurely (#1254)
- metadata-generator: Typings generation of global C functions (cbf89d0)
- runtime: iOS runtime Marshalling returns NSObject - Objective-C iOS-onfido-sdk(#1251)
- metadata-generator: Customize metadata generation to avoid adding unnecessary unused JS wrappers according to specified black/white lists (#1209)
- project-template: Make the pbxproject fastlane compatible (#1240)
- runtime: Correctly retrieve discarded exceptions flag (fdaffaf)
- webkit: Safari Inspector shows error on startup (#1238)
- webkit: Update WebKit to iOS tag 13.2 (#1220)
- debugger: Chrome DevTools console evaluation doesn't work with
tns debug --start
(#905) - inspector: Conditional breakpoints by Chrome DevTools frontend (#1215, fixes #1181)
- project-template: Remove build scripts from target (#1224)
- runtime: Crashes after destroying a worker runtime (#1213, fixes #1163 and #1139)
- runtime: Do not hide property with more accessors (#1226, fixes #1223)
- runtime: Don't crash app if
discardUncaughtJsExceptions
flag is present (#1230) - runtime: Lookup into native MD tables when searching by name (#1218, fixes #712 and #1223)
- metadata-generator: Generating TSC declarations fails due to Metadata generator error w/specific imports (#1233)
- marshalling: Objective-C functions returning
unsigned char *
are not correctly interpreted in {N} (#1196) - runtime: Do not lose exception in TS extends (#1211)
- Add build scripts to the template project (cc9425e84b35746e)
- Sporadically native exceptions cannot be caught in JS try/catch (#1207)
Error.prepareStackTrace
method support and change the format of the stack trace to be the same as in Android (#1135)- Expose internal interfaces' members to JS (#1127)
- Support app refresh through the notifications service (#1191)
- debugging: Dispatch messages to global GCD queue (18a526e)
- debugging: Improve user experience when app crashes in debugger (c09819f)
- interop: Reset pointer after free (2ac4f84)
- metadata-generator: Improve detection of static frameworks (#1177)
- metadata-generator: Metadata generation failed with
tns-ios@6.0.2
(#1197) - project-template: Add LDPLUSPLUS variable (#1203)
- project-template: Correctly get architecture in
nsld
with Xcode 11 (#1179) - runtime: Change the format of the stack trace to be the same as in Android(#1180)
- runtime: Improve error messages thrown by iOS runtime (#1193)
- runtime: Improve error handling in overriding properties and methods (943948d)
- runtime: Native properties provided by internal classes are not available (#1149)
- runtime: null pointer dereference in signal and unhandled exception handlers (#1199)
- metadata-generator: Preserve headers' relative order when sorting (#1182)
- project-template: Build fails after adding a watchOS target (#1171
- project-template: Surround all paths in
nsld.sh
with quotes (177640c) - project-template: Metadata for Swift classes is missing on the first build with Xcode 10.2 (#1166)
- metadata-generator: Place Swift headers at the bottom of the umbrella header (#1153)
- jsc: Incorrect sources shown in Chrome DevTools when attaching to application (#1158)
- bridge: Synchronize access to Strong handles in collection adapters (#1144)
- workers: Memory leak when creating/wrapping native objects in worker.onmessage(#1137)
- metadata-generator: Convert unsigned 64-bit enum values to signed (#1150)
- jsc: Prevent 2nd destructor call from ThreadSafeRefCounted (60b589bc5547b)
- Dump Native and JS callstacks on signal (6ec5d5c)
- Cache result in getSystemVersion() (f0e9253)
- metadata: Add
TNS_DEBUG_METADATA_STRICT_INCLUDES
option (https://github.com/NativeScript/ios-runtime/commit/b2d03e4ccbf6815d417d91c5c7daadb1b1d451c5) - project-template: Support Swift files in the .xcodeproj (#1128)
- project-template: Add NS_LD variable to be used for alternate linker (#1133)
- project-template: Change angled bracketed includes to quoted (#1116)
- metadata: Copy stderr log to yaml dir (#1119)
- marshalling: return WrappedObject for classes with no meta (#1125)
- runtime: Unicode properties (#1129)
- runtime: added const to avoid using
seen
as global () - metadata: Stop randomizing modules' order of serialization (#1141)
- livesync:
__onLiveSync
function must be called on the UI thread (#1108)
- runtime: UIApplication's deprecated writable properties are now read-only (#1104)
- metadata: Metadata generator upgraded to use LLVM 7.0.0 (#1082)
- runtime: Lazy evaluation of properties (#1100)
- build: Can't compile runtime with CMake 3.14 (#1097)
- debugger: Unable to debug onNavigatingTo event (#1021)
- debugger: Chrome DevTools: can set breakpoint in the middle of multiline log (#1036)
- debugger: Catch and log inspector_modules.js loading errors (#1081)
- debugger: VSCode debugger crashes on old simulators (#1084)
- debugger: {N} app crashes when inspecting SearchBar with VSCode debugger (#1085)
- debugger: Chrome DevTools: console.trace() doesn't log call stack in Chrome's Console (#1099)
- debugger: Console evaluation doesn't work with
tns debug ios --bundle
(#1054) - debugger: Empty Elements tab in Chrome with
tns debug ios --bundle
(#1055) - debugger: Cannot add watch expressions with
tns debug ios --bundle
(#1056) - debugger: No requests are shown in Network tab with
tns debug ios --bundle
(#1057) - webkit: Make JSC log to system logs instead of only to stderr (#1093)
- bridge: Synchronize access to Strong handles in collection adapters (b1cfb82)
- Dump Native and JS callstacks on signal (11304ed)
- api: Add OnDiscardedError handler (#1051)
- api: Provide API to release the native object wrapped by a JS one (#1062)
- runtime: Add support for Objective-C methods with same JS name and different parameters (#1013)
- runtime: Provide automatic garbage collection triggering (edbf653), closes #1035
- runtime: Provide support for setting JSC options in {N} applications (#1004)
- bridge: Don't read JS properties without obtaining a lock (8786f80)
- bridge: Catch ObjC Exceptions and throw them to JS (#1043, #1029),
- bridge: Don't read returned value of a function which threw an exception (bdfdd9c)
- bridge: Marshal arguments of async calls in worker thread (30bcaca)
- bridge: Remove ObjCWrapperObject from cache after dealloc (b3713cb)
- interop: Interop.Pointer int64 creation from NativeScript side (#921)
- interop: Add methods
toHexString
andtoDecimalString
to Pointer (8b4157f) - interop: Construct Pointer from a wrapped number (8d69895)
- runtime: Keep JS instances in Strong references after creation (0e09ac9)
- runtime: GVRKit plugin metadata generation issue (#877)
- runtime: UncaughtExceptionHandler is called 2 times (#1049)
- debugging: Ensure a valid listenSource on each AttachRequest (#1058)
- debugging: Logs are not shown in Chrome console tab (#1037)
- marshalling: Memory leak in IsObjcObject (#1018)
- template: Remove VALID_ARCHS from project.pbxproj (#1027 related to NativeScript/nativescript-cli#4197)
- libffi: Cannot handle double3, double4, SCNVector3 function parameters(#979)
- metadata-typings Accept Pointers and References for
char*
args (#1022)
- Update WebKit to iOS 11.4
- Typings generation improvements. Related to Typings for NSArray and NSDictionary
- marshalling Keep strong references to assigned values in ReferenceInstance
- marshalling Native app embedding {N} crashes when opening a modal
- project-template Set IPHONEOS_DEPLOYMENT_TARGET to 9.0
- LiveSync Set IPHONEOS_DEPLOYMENT_TARGET to 9.0
- LiveSync Disable modules debugging linker option for LiveSync library to resolve build warnings in {N} apps
- libffi Correctly pass/return standalone vectors in native function calls
- marshalling Reading collisionBoundingPath on UIView results in Objective C exception
- Introduce a setting for discarding uncaught exceptions from called JS methods
- Introduce NativeScriptEmbedder protocol
- Correctly find source of CommonJS modules in setScriptSource
- App cannot be deployed on device when NS is built as a dynamic framework
- App not crashing on unhandled exception
- Throw an Objective C exception on fatal error
- Fixed Chrome DevTools doesn't reconnect everytime from the first attempt
- Fixed empty tabs in Chrome DevTools
- Fixed Inspector: console.dir(object) prints "undefined"
- Fixed default debugging port is changed to 18183
- Fixed console.time() doesn't print anything in Chrome DevTools console
- FIxed in Chrome DevTools console console.dir() prints only [object Object]
- Fixed calling
require()
with an empty .js file - Fixed Inspector error with --debug-brk
- Fixed broken Inspector’s Elements tab
- Fixed issue with console.dir()
- Fixed issue with missing console.time() messages
- Fixed issue with canonical module path resolution
- Fixed various issues with iOS Inspector
- Fixed issue with Inspector crashing on macOS versions earlier than High Sierra (10.13)
- Fixed missing stack-trace
- Fixed issue with WTF threading not initialized
- Fixed issue with Inspector crashing on MacOS High Sierra
- Double click on file in ios debug inspector throws an error
- Livesync makes some modules executed twice
- Tagged (rc) versions cannot be uploaded to TestFlight/iTunes
- Prevent crash when materializing a property without a getter
- Fix the AppIcon setting - #743
- Support for Chrome DevTools remote debugging
- Update the JavaScriptCore Engine (100% ES6 support)
- [Experimental] Multithreading support enabled with Web Workers API - #620
- Marshalling Objective-C class properties - #635
- Fix debugging without rebuild on iOS device - #634
- Fixed struct marshalling on x86_64 architecture
- LiveSync improvements
- Add
CFBundleVersion
andCFBundleShortVersionString
keys in theInfo.plist
of the NativeScript framework
- Various debugging and LiveSync improvements
- Removed iOS 7 support
- LLVM/Clang in metadata generator is updated to v3.8.0
- Throw error on unknown module character encoding
- Add methods to Objective-C protocol wrappers
- Throw error when overriding properties without getter/setter
- Provide runtime implementation for source maps
- ES6 modules
- Swift-style initializers
- Distribute inspector application as a separate npm package
- Generate TypeScript comments in TypeScript declarations
- TNS Objective-C exception handler
- Wrap bridged NSError objects in JavaScript errors
- Allow vanilla TypeScript classes to extend null
- Performance improvements for method calls
- Rename Objective-C class name in case of extend conflicts
- Use proper debug macro in project template
- Fix for debugger connecting after a delay
- Remove code signing identity from project template
- Throw an error if package.json has non-utf8 encoding
- Throw an error if loading module source fails
- TypeScript extends should not replace parent scope variables
- Remove quotes from paths in nativescript-build.xcconfig
- Loading static frameworks as shared frameworks
- Marshalling boxed JavaScript primitive types throws an exception
- Unicode console logs in stderr
- Fix out struct marshalling
- Prefix modulemap link directives with "lib" as the linker would
- Log Clang diagnostics when parsing modulemaps
- Metadata generator build fails on older machines
- Fix some errors in TypeScript declarations - #33, #34
- Automatic memory management of CoreFoundation functions marked with
CF_IMPLICIT_BRIDGING_ENABLED
- Manual memory management of CoreFoundation functions not-marked with
CF_IMPLICIT_BRIDGING_ENABLED
- Include merged xcconfig files from CLI (#363)
- Fix issues with iPhone 6s and iPad Air 2 devices (#377)
- iOS 9 Support: Introduce generic information in TypeScript definitions (#341)
- Add async method to FFICall (#339)
- Migrate to Clang 3.7 (#332)
- Move project template files in internal folder (#325)
- Expose compile-time constants (#329)
- Schedule the runtime on the runloop of its owner thread (#323)
- Inject InspectorFrontendHost in the Inspector frontend and communicate over raw sockets (#317)
- Improved CocoaPods support by passing more Xcode build settings to metadata generator (#314)
- Add option in template xcconfig to generate TypeScript declarations and debug metadata (#311)
- Disambiguate native APIs with name collisions (#299)
- Call global.__onUncaughtError if a fatal exception is thrown (#78)
- Throw error if there is a metadata for a symbol, but it's not available at runtime (#349)
- Fix mangling of utf8 characters in module code (#334)
- Require file when there is a directory with same name (#287)
- ReferenceConstructor should accept a single type argument (#284)
- Rename some enums to be consistent with how Swift exposes Objective-C enums (#318)
- Embed metadata in binary so it can be stripped by app thinning (#275)
- Swift modules use mangled name which is different than the klassName so get the name from the metadata (#274)
- Require with tilde (~) should resolve to the app folder (#254)
- Pause the debugger on startup with --debug-brk (#245)
- Web Inspector Page Agent (#240)
- Two-way marshaling between NSData and ArrayBuffer (#235)
- JavaScript functions, when passed to Objective-C as blocks, will now round-trip back to JavaScript, as the initial function object (#234)
- Create a global require function (#84)
- Error when file ends with a commented line (#288)
- NativeScript::SymbolLoader incorrectly caches framework bundles (#273)
- Better handling of package.json main configuration (#270)
- Expose a conversion between ArrayBuffers and NSData (#231)
- Require doesn't look for index.js in main folder (#112)
- Delete the module cache when a module throws an exception (#20)
- NSDecimalNumber marshalling (#14)
- Explicitly set the metadata generator's OS X deployment target (#285)
- -[TNSValueWrapper value] can return null (#262)
- Add lib/iOS folder to framework search paths #266
- Call Block_copy in ObjCBlockCall::finishCreation #264
- Timelines recording sends some long messages that hit the buffer limit of write method, so fallback to dispatch_io_write (#255)
- Fix TypeScript inheritance of Objective-C classes (#252)
- Work around crash when logging warnings (#248)
- Do not register the instance structure (#247)
- Implement and consume NSFastEnumeration (#222)
- Memory management of class clusters (#214)
- Update to the latest JavaScriptCore (#211)
- Add application that uses the updated webkit webview to show web inspector frontend (#201)
- Transform (NSError **) parameters to JavaScript error throw (#186)
- CMake the JSC: performance and memory diffs (#185)
- iOS 9 support: metadata for Objective-C generics (#177)
- WebInspector: enable WebInspector Performance Profiler (#164)
- Optimize require of JavaScript modules (#139)
- Recursive calls from Objective-C to a method returning JavaScript function as block (#210)
- Enums which have no common prefix are not exposed correctly (#205)
- Recursive calls from JavaScript to Objective-C method receiving a block argument (#199)
- Fix TypeScript extends (#178)
Milestone 1.1.0, Release v1.1.0.
- NativeScript for iOS is now built using CMake
- The runtime is now distributed as a static library and a Cocoa Framework
- API metadata now includes information about Clang modules
- NativeScript apps for iOS no longer ship with a WebSocket server for debugging, but rely on a plain TCP socket instead
- Removed backwards compatibility for the pre-0.10 behavior when looking for tns_modules
- The NativeScript CLI iOS template project now strips non-device architectures from embedded frameworks
- You can now require paths with .js extension
- Fixed issue where invoking an Objective-C class cluster as a JavaScript constructor with
new
would cause memory leaks - Fixed issue where an inspector frontend connecting to the same app multiple times in a single session would not display sources
- Accessing JavaScript from multiple threads is properly synchronized
- The
tns-ios
package is versioned
- Escape header and framework search paths in metadata generator
Milestone 1.0.0, Release v1.0.0.
- New metadata generator using Clang
- Fix some threading issues
- C enumeration syntax changed
- Remove visibility warnings when linking
Milestone 0.10.0, Release v0.10.0.
- JavaScript Date is implicitly converted to NSDate and vice versa.
- JSON object and JS Map, when passed to native, are wrapped in NSDictionary. NSDictionaries do not behave as JSON objects when returned from native.
- We will try to freeze the application on crash if there is a debugger attached so the debugger can be used to examine the errors.
- When Objective-C exception is thrown from code called from JavaScript, it will be wrapped in JavaScript error and reported to the debugger.
- We have fixed the “tagged pointers” bug on iPhone 5s with iOS7.0.
- We have dramatically reduced the “tns-ios” package size by stripping the debug symbols from the NativeScript.framework.
- We have fixed the project template to properly support the app-id provided from the CLI.
- We’ve cleaned the package.tgz from some xcodebuild logs and the Chrome version of the inspector.
- Made submodules public, fixed builds.
- tns_modules are now expected in the app folder. We are backward compatible but will remove the compatibility in the future.
- We have updated the project template to use larger resolution.
- Promise reactions have too low a priority on the runloop.