NativeScript

⚡ Empowering JavaScript with native platform APIs. ✨ Best of all worlds (TypeScript, Swift, Objective C, Kotlin, Java). Use what you love ❤️ Angular, Capacitor, Ionic, React, Solid, Svelte, Vue with: iOS (UIKit, SwiftUI), Android (View, Jetpack Compose), Dart (Flutter) and you name it compatible.

MIT License

Downloads
145K
Stars
23.7K
Committers
260

Bot releases are hidden (Show)

NativeScript - @nativescript/[email protected]

Published by NathanWalker almost 2 years ago

Bug Fixes

Features

  • core: new autoFillTypes for newUsername, newPassword and oneTimeCode (#10159) (bff35e5)
NativeScript - @nativescript/[email protected]

Published by NathanWalker almost 2 years ago

Bug Fixes

  • android: WebView url and event handling (#10147) (#10148) (8444087)
  • ios: prevent layout in viewSafeAreaInsetsDidChange until first viewDidLayoutSubviews (#10151) (760bbd0)
  • ios: prevent transitionCoordinator usage during modal presentation (#10153) (d138ac0)
  • ios: TextField keyboard handling with emoji, autofill, and shortcuts (#10154) (00944bb)
NativeScript - @nativescript/[email protected]

Published by NathanWalker almost 2 years ago

Bug Fixes

  • android: backwards compat Java cast Float to Long for ApplicationSettings.getNumber (#10140) (7c1590a)
  • core: update metadata filtering for IOS 16 (#10133) (c461f1b)
  • ios: box shadow border radius (#10142) (6948f7c)
  • ios: navigatingTo event handling (#10120) (a4f28b8)
  • ios: reset additional insets if they're zero (#10134) (8b7d5ab)
  • listview: delegate handling removed from unloaded (#10138) (04c3d9a)
  • utils: ios to filter out null values (#10117) (4723114)
NativeScript - @nativescript/[email protected]

Published by rigor789 almost 2 years ago

8.4.1 (2022-11-30)

Bug Fixes

  • core: circular imports of SDK_VERSION (82d60ae)
NativeScript - @nativescript/[email protected]

Published by NathanWalker almost 2 years ago

Features

  • android: support drawable in ImageSource (#10098) (75eefa6)
  • android: use NestedScrollView for vertical ScrollView (#9199) (cfaa813)
  • core: support css font-variation-settings (#9995) (a5e3e22)
  • core: support for external XML UI compilers (#10008) (75503ef)
  • HtmlView: selectable property (#10057) (ca9c092)
  • types-android: API Level 33 (#10113) (c1187fe)
  • types-ios: 16.1 (#10114) (da78e0b)
  • utils: dismissKeyboard, copyToClipboard, setWindowBackgroundColor, getCurrentActivity and getResource (#10089) (2e1d2c1)
  • webview: adds iosAllowInlineMediaPlayback property (#10014) (4a0e1c9)
  • TypeScript 4.8+ support and NativeClass decorator improvements (#10081) (7f069a7)

Bug Fixes

  • android: application fallback for startActivity (#10062) (f3a5c16)
  • android: file manipulation threw exception inside worker (#10076) (25c862e)
  • android: file system normalizePath (#10077) (497a9db)
  • android: modal status bar props applied to wrong window (#10049) (6934645)
  • android: normalize for API >= 26 (#10083) (e687e9d)
  • android: tappable spans aren't visible on single-line labels (#10055) (5765707)
  • android: ApplicationSettings return precise stored numbers (#10094) (fd98690)
  • android: memory leak with EditableTextBase (#10052) (501d310)
  • android: prevent flashing activity on app start (#9190) (6a9484a)
  • android: shared SDK_VERSION (#10090) (0226f47)
  • core: ellipsis at the end for Labels with maxLines (#10005) (6c60eab)
  • core: prevent a circular reference because of SDK_VERSION (#10097) (c957b48)
  • core: Color.isValid returned true for null/undefined (#10040) (9091e43)
  • core: font-weight allow passing number (#10072) (5f3f1ac)
  • core: windows build (#10056) (7860d51)
  • color: floating point color values (66e8e39)
  • core: deprecation notes for WeakRef clear and get (3019181)
  • core: WeakRef deprecation notes (b83ed39)
  • ios: animation layer resilience (#10060) (6cabcab)
  • ios: Color.fromIosColor returns wrong value (#10059) (b7d340f)
  • ios: ensure autocorrect not applied silently on IOS16 (#10032) (40b9e35)
  • ios: frame navigatingTo event (#10096) (6148955)
  • ios: stability around canceling an animation (b8d5372)
  • webpack: prevent hmr from patching __onLiveSync multiple times (#10103) (42f5dc5)
  • webpack: support angular 15.x (#10106) (f100109)
  • webpack: close compiler after run (#10080) (59ca35b)
  • webpack: make NativeClass transformer backwards compatible (59624a4)

Performance Improvements

Breaking Changes

utils/utils is just Utils

  • BEFORE
import { layout } from '@nativescript/core/utils/utils'
  • AFTER
import { Utils } from '@nativescript/core'

Utils.layout

This will affect some plugins. If you use a plugin that encounters this issue you can do the following:

  1. Add a quick webpack alias to mitigate for now:
webpack.chainWebpack(config => {
    config.resolve.alias.set('@nativescript/core/utils/utils', '@nativescript/core/utils');
    config.resolve.alias.set('tns-core-modules/utils/utils', '@nativescript/core/utils');
    config.resolve.alias.set('tns-core-modules', '@nativescript/core');
  1. Contribute a pull request to the plugin author.

WeakRef type

Core uses the latest WeakRef types and you can update your tsconfig to latest targets.

  • BEFORE
    tsconfig.json
"compilerOptions": {
  "target": "es2017",
  ...
  "lib": ["es6", "dom"],
  • AFTER
"compilerOptions": {
  "target": "es2020",
  ...  
  "lib": ["esnext", "dom"],
NativeScript - @nativescript/[email protected]

Published by NathanWalker almost 2 years ago

Bug Fixes

NativeScript - @nativescript/[email protected]

Published by rigor789 about 2 years ago

What's Changed

NativeScript - @nativescript/[email protected]

Published by NathanWalker about 2 years ago

Bug Fixes

NativeScript - @nativescript/[email protected]

Published by NathanWalker about 2 years ago

Bug Fixes

Features

  • core: make font style, weight, scale params optional (#9993) (4b0c812)
NativeScript - @nativescript/[email protected]

Published by NathanWalker about 2 years ago

Bug Fixes

  • android: getScaledDimensions (#9992) (944d542)
  • ios: additional safe area insets were miscalculated if already set (#9991) (be6efc3)
NativeScript - @nativescript/[email protected]

Published by NathanWalker about 2 years ago

Bug Fixes

  • android: FragmentCallbacksImplementation memory leak (#9977) (286d36b)
  • android: FragmentClass memory leak (#9983) (0548aaf)
  • core: Added ObservableArray constructor declarations to allow setting multiple arguments (#9980) (d82f3d9)
  • revert "fix(ios): not responding after rotation (#9931)" (#9984) (54d3006)
NativeScript - @nativescript/[email protected]

Published by NathanWalker over 2 years ago

Bug Fixes

NativeScript - @nativescript/[email protected]

Published by NathanWalker over 2 years ago

Bug Fixes

  • android: connectivity reporting none on resume (#9915) (413fa2e)
  • android: content uri handling improvements (#9936) (9fcd440)
  • android: device language and region from system configuration. (#9868) (ad01e6b)
  • android: font icons had incorrect fallback size (#9914) (e8bed44)
  • android: Textfield focus fix (#9885) (fbd1e23)
  • core: allow View subclass to force onLayoutChangeListener (#9886) (6ccf5a2)
  • core: android wrong background state + current value accessors (#9883) (58a7206)
  • core: ensure platforms/android/core.aar is not included in pack (a1dff9a)
  • core: import fix (45dcada)
  • core: metadata filtering (#9946) (4a5e2e2)
  • core: navigatingToEvent allows access to resolvedPage now (#9954) (38142a6)
  • core: trace log using a wrong parameter (#9951) (cd5d2c2)
  • ensure reusable ProxyViewContainer re-adds native children (#9882) (0a082b3)
  • export 'dataSerialize' from utils (#9909) (a85a72d)
  • incorrect font icon size conversion to device pixels. (#9910) (d3718e5)
  • ios: apply proper border radius to box shadow and view sublayers (#9881) (b7e6128)
  • ios: do not convert tap event data to device pixels twice (#9935) (3681fd4)
  • ios: label measure correct height when using custom numberOfLines (#9945) (2ff0891)
  • ios: memory leak after using 'showModal' passing any Page as parameter (#9939) (4db4e4a)
  • ios: memory leak after using the 'presentViewControllerNavigation' (#9934) (957af32)
  • ios: proper disposal and recreation of iOS native views (#9879) (f548fdc)
  • live-sync: navigation history is now maintained (#9889) (665009b)
  • RootLayout: resilience around shadeCover options (e5fffa1)
  • TabView: item styling improvements for iOS 15+ (#9888) (7ccc949)
  • ui-mobile-base: Android http request body was not sent if method was DELETE (#9887) (57e4973)
  • webpack: NativeClass decorator should run after angular transformers in AOT mode (#9908) (c9f77a0)
  • webpack: unit test runner with node 18+ (#9952) (97a21bb)

Features

  • android: runOnMain, postFrameCallback & removeFrameCallback (#9943) (49343cb)
  • application: expose inBackground and suspended (#9897) (8987bab)
  • core: iterable ObservableArray (#9824) (df74a8b)
  • core: maxLines support for all text components (#9884) (7ff7233)
  • ios: Utils.getRootViewController (29004d9)
  • mac: support for Mac Catalyst with ui-mobile-base (fc77c92)
  • RootLayout: add opened and closed events (#9893) (7b11b6a)
  • types-minimal: paired down typings optimized for smaller footprint editing environments (#9947) (f49e412)
  • Utils: dataSerialize, dataDeserialize, numberHasDecimals, numberIs64Bit (cab5947)

Performance Improvements

  • cache UIFont construction based on FontDescriptor (#9948) (8756df3)

BREAKING CHANGES

  • core: ObservableArray push will now handle arguments just like Array.prototype.push.
    Certain existing methods will now return ObservableArray instance instead.
    Callback arguments that contained an array argument themselves will now contain an ObservableArray argument.
  • android: Exposes language and region values from android system configuration. If you were working around locale handling because this wasn't originally the case you can likely remove extra conditions as this should reflect more accurately now.
  • ios: tapData.getX() and tapData.getY() will now return correctly in DIP, so any extra conversions (like calling toDevicePixels) twice must be changed.
  • core: When using navigatingToEvent event.entry, the backstackEntry object is now returned which has an entry property on it if you still need it.
NativeScript - @nativescript/[email protected]

Published by NathanWalker over 2 years ago

Bug Fixes

  • color: output from rgbToHsv and rgbToHsl is now correct (#9933) (ef70956)
  • ios: not responding after rotation (#9931) (aee1d05)

Features

  • core: allow removal of specific CSS variables (#9896) (32567ef)
NativeScript - @nativescript/[email protected]

Published by NathanWalker over 2 years ago

Bug Fixes

  • Utils: dispatchToUIThread (9089b2c)
  • webview: android not loading local content (#9923) (834b4bf)

Features

  • types-minimal: minimal types for only the latest Android and iOS sdks (#9927) (80e6b81)
NativeScript - @nativescript/[email protected]

Published by NathanWalker over 2 years ago

Bug Fixes

  • android: ensure android application is created before setting listeners (#9876) (54f454f)
  • android: improve content uri handling (#9874) (a272296), closes #9871
  • file access cross platform stub (338ae56)
  • removed unecessary console.log (#9877) (74e42fc)

Features

  • added Utils.executeOnUIThread (36a55da)
NativeScript - @nativescript/[email protected]

Published by NathanWalker over 2 years ago

Bug Fixes

  • ActionItem: rendering threw errors if it had a nested child. (#9821) (efa80c7)
  • android: gesture events fix (#9842) (2664783)
  • css: borderColor parse handling for hsl(a) color values (#9857) (da3bd2c)
  • ios: navigation button now allows using custom icon (#9835) (f88c158)
  • RootLayout: close popup views on live-sync (#9834) (6941466)
  • Utils.queueGC debounce and throttle with reuse of different settings (#9852) (9ce7455)

Features

  • RootLayout: added topmost method to retrieve view at top (#9826) (3bb8fc2)
  • TouchManager: touchDelay property for nested tap control (c05145b)

Performance Improvements

  • Improved live-sync functionality for RootLayout (#9836) (3537858)
NativeScript - @nativescript/[email protected]

Published by rigor789 over 2 years ago

Bug Fixes

  • wrong thread when in Async task in a worker (794a779), closes #9819
NativeScript - @nativescript/[email protected]

Published by NathanWalker over 2 years ago

Bug Fixes

  • android: a11y - do not provide content description for TextView elements (#9673) (dbaf203), closes #9588
  • android: api17 crash on a11y service (#9792) (2efcdf5)
  • android: boolean keyboardType should not set inputType (#9795) (9e6371f)
  • android: edge cases and compatibility with fragments 1.2.x (#9782) (6b41268)
  • android: fragment creation loaded/unloaded protection (ac2e944)
  • android: nested frames were sometimes not recreated (#9725) (902a4c6)
  • android: nested frames were sometimes not recreated (#9748) (cb648e3)
  • android: NullPointerException on navigation (#9669) (9b5d125), closes #8441
  • android: prevent error when detaching from unloaded ScrollView (#9666) (e59f3ff)
  • android: text-transform: capitalize behavior (#9598) (aa1c631), closes #7059
  • android: when hiding the keyboard make view lose focus to match ios behavior (#9786) (b78996a)
  • application instance creation occurs only within Application.run (a518249)
  • core: animation iteration correct for android css animations and iOS rotation (#9628) (608bb1e), closes #7712
  • core: Application handling of nativeApp instance (6c06c77)
  • core: parse template literal syntax with nested identifiers as expression. (#9744) (57cc4ed)
  • ensure android can access native app instance before bootstrap (f10cffc)
  • fs: wrong common paths (51b92f3)
  • ios: do not redraw if background image is 'none' (#9800) (402a7bb)
  • ios: force layout of view when changing the safe area insets (#9773) (a1ba1f6)
  • ios: proper UITabBarAppearance handling (6c71ce2)
  • ios: tabview background color with appearance api in iOS 15+ (#9617) (2749221)
  • ios: UIImage memory leaking after Image is disposed (#9777) (19d8869)
  • memory leaks around image picking/saving to device (7dcfecf)
  • qualifier matcher did not support multiple qualifiers for a single file. (#9720) (3d03f8f)
  • setup script to build only what's necessary (b05650c)
  • tear down views after a modal is closed (#9801) (b38337e)
  • time-picker: correction for super.disposeNativeView (c41e702)

Features

  • android: content uri support for File (#9807) (c68d002)
  • android: tab view icon rendering mode (#9605) (66d8aff)
  • android: update ui-mobile-base to gradle7 (#9778) (c7df2d0)
  • background/foreground events (#9763) (b553a90)
  • bindable: allow "global" context for expressions inside bindings (#9734) (2cbb135)
  • binding expression parser additions and improvements (#9791) (716b831)
  • config: add new option for pathsToClean (08d5656)
  • config: cli.additionalPathsToClean to clean other paths with 'ns clean' (#9808) (3ec8c42)
  • core: add event when disposeNativeView is called (f038e6b)
  • core: support RGB alpha notation (#9699) (388d7ea)
  • datepicker: ability to show time via showTime property (#9570) (ab4e47a)
  • gestures: GestureEvents.gestureAttached added to modify native recognizers when needed (168a169)
  • improved background handling (#9615) (dde9e02)
  • improved converter and function call parsing mechanism for XML expressions (#9805) (c5856c6)
  • ios: allow dynamic ProMotion frame refresh rate changes (#9775) (b292495)
  • new expression parser for xml bindings (#9729) (90ceed1)
  • proper handling for bindings with converters that were undefined (#9813) (a1772c0)
  • root-layout: support gradient colors on shade cover (#9626) (d756eb5)
  • switch: :checked pseudo and color fixes (#9790) (6437352)
  • testID property for use with e2e testing without interfering with a11y (#9793) (8be543b), closes #9748
  • touch animations demo in toolbox (d7916d7)
  • types-android: updated types + api32 (#9774) (2393dad)
  • types-ios: iOS 15.2 (#9710) (25679a6)
  • types-ios: iOS 15.4 (#9806) (39164ef)
  • types-ios: reduced ios types to common types for optimized ts resolution (#9809) (6cd8b8e)
  • ui: TouchManager for ease in adding interactivity (26953ec)
  • Utils for queueGC, debounce and throttle (40c5984)

Performance Improvements

  • ios: autoreleasepool for image extensions (fbefea4)
  • ios: prevent crash with image release (1fb687d)
  • ios: uifont and formatted string optimizations plus uiimage scaling (#9761) (9d3977e)
  • ios: UIImage memory leaks (#9783) (988f372)

Breaking Changes

For vanilla NativeScript users (using .xml views), several adjustments were made to the xml binding expressions parsing and you may need a few adjustments, for example:

BEFORE:

{{ default ? ' something' : ' something else' }}

AFTER:

Note: renamed default to variable name.

{{ enableSubmit ? ' something' : ' something else' }}

This is related to the fact that default is a reserved keyword and the expression parsing uses natural language syntax now.

BEFORE:

Note: This would apply to example usage: {{ variable | someConv }}

getResources().someConv = {
   toView: function () {}
}

AFTER:

getResources().someConv = function () {}

This is related to improving/simplifying the convertors syntax with bindings.

NativeScript - @nativescript/[email protected]

Published by rigor789 over 2 years ago

Features

--env.e2e support to go along with the new testID property in core