8.1.3 (2021-09-18)
8.1.2 (2021-09-15)
- android: background-image 'none' (#9547) (a38e2ca)
- core: Add missing required metadata filters (#9543) (a51b628)
8.1.1 (2021-09-10)
This commit breaks back-navigation in certain cases, most prominently with Button pseudo classes. Will target inclusion for 8.2.
8.1.0 (2021-09-08)
- allow ignoring
reduce-css-calc
w/ webpack without error (#9510) (0fd92b7) - android: dont dispose fragment on onloaded (#8793) (03b7715)
- android: make less calls to native with getters around prop handling (#9119) (bca4d95)
- android: onSaveInstanceState should not crash when no rootView is set (#9447) (ee3c4c2)
- android: prevent potential crash when app goes to background (#9347) (47df889)
- android: use
nativeTextViewProtected
internally (#9483) (71b856c) - backgroundGradient fix with android BorderDrawable (41ce315)
- Color.darken fix (394209e)
- css colors not parsed correctly within background property (453ea18)
- include bundle-entry-points by default (ea0b3b0)
- ios: actionBar title to use appearance api on ios15+ (#9534) (4edeb19)
- ios: actionBar to use appearance api on ios13+ (#9530) (8e3f16d)
- ios: actionitem coloring with 15+ (7e35fdf)
- ios: prevent views from being measured if no native view (#9511) (56c50f2)
- ios: resiliency to frame controller viewDidDisappear (a5fd53b)
- modal: persist modal through configuration changes (#9533) (f3cd3d3)
- styling: change transform parameters parsing (#9481) (dbaab58), closes #5202
- webpack5: angular scss rule not ignoring regular scss (#9502) (093b369)
- webpack: add virtualEntry before main entry (5a3a35d), closes #9469
- webpack: use async type-checking in watch mode (5309f2d)
- AbortController polyfill (#9333) (af281dd)
- android: support clipToBounds (#9508) (5890667)
- android: vector drawable support (#9464) (490f7dc)
- autofillType property for edit text base (#9478) (4964d31)
- color: added utilities and improved color parsing performance (#9110) (0ff2221)
- config: added option for ignoredNativeDependencies (4cad76c)
- core: make css parsers tree-shakable (#9496) (dce7408)
- Frame replacePage by entry (#9460) (4a5bec1), closes #9497
- handle config name (3bf55b7)
- image-source: add saveToFileAsync, toBase64StringAsync & resizeAsync (#9404) (36900d7)
- requestLayout performance improvements (#9122) (e4ce17e)
- types-android: API 31 (b5b46273b)
- types-ios: iOS 15 (cb8bf6f)
- webpack: -v and --version flags (7530ee4)
- webpack: export merge helper (53492ea)
- webpack: try resolving compiler, but don't fail if not found (ff4359a)
8.0.11 (2021-09-07)
- ios: actionitem coloring with 15+ (bf89aa2)
8.0.10 (2021-09-03)
8.0.9 (2021-09-02)
8.0.8 (2021-06-15)
- stop leaking style scopes (#9444) (b8d8110), closes #9311
- android: accessibilityIdentifier (#9432) (9f582ba)
8.0.7 (2021-06-02)
- animations: stop keyframe animations after View unloaded (#9421) (04381fa)
- box-shadow: support for 'none' (#9418) (263c920)
- core: guard unstable page/frame init contexts under async conditions (#9428) (d3bc4d5)
- core: typings for Utils.queueMacrotask and static methods on Observable (#9425) (d589ac6)
- WebView: allow JS bound window frame navigation to be intercepted through loadStarted (#9430) (3806b85)
8.0.6 (2021-05-20)
- a11y: add missing application event for fontScaleChanged (#9396) (dac36c6)
- a11y: font size (#9395) (7a92c16)
- Device: don't cache device language & region (#9394) (95596e8), closes #6082
- ios: image with alpha resize (#9386) (f380782), closes #9385
- RootLayout: prevent android touch event to pass through views underneath (#9389) (0b2c190)
- text-view: add returnPress (#9390) (64adf5e), closes #4882
- Utils: add dismissSoftInput helper (#9392) (6cf4c59), closes #4594
- web-view: disableZoom property (#9391) (7e878f8)
8.0.5 (2021-05-10)
8.0.4 (2021-05-05)
8.0.3 (2021-04-24)
- core: protected class getter/setter webpack issue (6076047)
- core: typings issue around Trace.categories.All (27c545d)
8.0.2 (2021-04-20)
- a11y: Accessibility breaks limiting metadata (#9332) (cbdff1f)
- a11y: ios voiceover crash during touch (#9318) (9a407ce)
8.0.1 (2021-04-07)
- android: accessibility crash on View not extending android.view.View (#9303) (fde666d)
- android: crash on slide transition (#9289) (e73cebf)
- core: Enums deprecation adjustment (#9306) (f42acd8)
8.0.0 (2021-04-06)
- color: support web standard #rrggbbaa format (aaeab99), closes #ff00ff00 #ff00ff00 #00ff00 #00ff00
- core: stack layout padding (#9183) (a12c188), closes #8810
- core: trace instead of throw (cc592b6)
- layouts: rootlayout not closing when no shadecover transition specified (#9278) (3c569ef)
- move BottomNavigation and Tabs to @nativescript-community (e62acba)
- safeguards against invalid values (f5db584)
- core: type collisions with namespace (#8809) (7330509)
- ios: gesture touch event coordinates improvements (#8998) (d46f956)
- observable-array: findIndex now supported (770030e)
- view: "hidden" property binding is now supported (f00144e)
- implement BoxShadowDrawable (9a7d3ec)
- implement spreadRadius (fca3466)
- improved css-shadow parser (d2f50e5)
- core: box shadow demo (#9182) (3bd2d96)
- core: box-shadow support (#9161) (67e2fe4)
- core: convenient color utilities (#9066) (304633d)
- core: first class a11y support (#8909) (d5a8a25)
- core: reusable views (#9163) (6cc130f)
- core: RootLayout with api to fluidly handle dynamic layers (#8980) (a90609a)
- core: text-shadow support (#8991) (a6b1bde)
- core:
BottomNavigation
andTabs
moved to@nativescript-community
If using BottomNavigation
, just install @nativescript-community/ui-material-bottom-navigation
and update your imports to use it.
If using Tabs
, just install @nativescript-community/ui-material-tabs
and update your imports to use it.
- core: support web standard #rrggbbaa format
BEFORE:
// #aarrggbb
const color = new Color('#ff00ff00');
Label {
background-color: #ff00ff00;
}
AFTER:
// #rrggbbaa
const color = new Color('#00ff00ff');
Label {
background-color: #00ff00ff;
}
7.3.0 (2021-02-27)
- core: AndroidTransitionType is now a static member of the Transition class.
BEFORE:
import { AndroidTransitionType } from '@nativescript/core/ui/transition';
AFTER:
import { Transition } from '@nativescript/core';
Transition.AndroidTransitionType.enter; // etc.
- android: If you were using
native.Array
for any of your own custom plugin typings, you can switch them toandroidNative.Array
BEFORE:
public writeAsync(path: string, bytes: native.Array<number>) ...
AFTER:
public writeAsync(path: string, bytes: androidNative.Array<number>) ...
7.2.2 (2021-02-27)
- android: KeyboardType now respects numbers (#9240) (f08fcb1)
- bottom-navigation: fragment handling (#9244) (c8ef6f2)
- xhr: remove unnecessary throw when event not supported (#9251) (11ef943)
- android: Add possibility to choose theme in android dialogs (#9212) (e7951b3)
- core: allow property overrides at runtime (#9241) (c04e1b5)
- add npm scripts for different package managers, ie: yarn, pnpm (#9230) (d7b2c84)
7.2.1 (2021-02-07)
7.2.0 (2021-02-05)
- core: ObservableArray splice with start only (#9159) (3ddfb5c)
- ios: allow navigationFrom event for deep navigation within modal frame (#9187) (8f1455e)
- ios: force release of nsdata after saving image (#9177) (e002d72)
- ios: navigation via swipe crash fix (#9132) (28061e3)
- ios: textfield resizing (auto width) on text change (#9176) (c31bab1)
- page: frame getter for custom Frames (#9195) (6da7d90)
- webpack: --env.uglify works properly now (#9165) (be52cef)
- webpack: Angular no longer has issues handling {N} plugins without nativescript in name (#9172) (79a5fc8)
- webpack: inspector_modules (87418cd)
- android: FlexboxLayout support for isPassThroughParentEnabled (#8798) (5fe2742)
- core: setSelection method for editable text components (#9175) (58b2542)
- ios: build TNSWidgets as XCFramework (#9167) (04a7641)
- webpack: allow passing env.appComponents and env.entries (#8898) (90d208c)
7.1.4 (2021-01-23)
7.1.3 (2021-01-17)
7.1.2 (2021-01-14)
- webpack: support other workspace config styles (7a79a89)
- core: rollup additional Utils (882aa42)
7.1.1 (2021-01-13)
7.1.0 (2020-12-30)
- android: modal not following activity windowSoftInputMode (#9042) (d09a564)
- android: ActivityIndicator custom color affecting other indicators on the page (#9026) (e16bc60)
- android: Tabs selected item color incorrectly applied (#9040) (b47ce0a)
- compat: add screen and device aliases (#9088) (4204ac8)
- core: notify object now optional (#9032) (539fd1e)
- ios: ios 10 tab crash (#9018) (b3f9c0d)
- list-view: handle reusing wrong view (#9023) (64e0aa6)
- tabs: ios safeArea calculation (#9089) (9391b44)
- android: setInterval closer to web spec (#9044) (1769de9)
- ios: types for latest ios 14.3 with Xcode 12.3 (#9118) (9aad2db)
- ios iosIgnoreSafeArea property (#9092) (ea67422)
- core: queueMacroTask (#8904) (e3dc89f)
- core: allow app to start without a root view (#9056) (bd7c686)
- frame: add navigatingTo and navigatedTo events (#9025) (cf96e72)
- faster color parsing (c569236)
7.0.13 (2020-10-28)
- core: ListViewCell.initWithEmptyBackground (#8985) (0eb2246)
- ios: UIImage.imageWithData.async is not a function (b966542)
7.0.12 (2020-10-21)
- android: BottomNavigation error on back press (application exit) (#8970) (99bb067)
- core: ObservableArray tests and a typo (#8968) (5c1b7f6)
7.0.10 (2020-10-10)
- webpack: angular configuration schema validation compliance (ee05b44)
- webpack: angular configuration support for environment handling (#8938) (3f7bf67)
7.0.10 (2020-10-03)
7.0.8 (2020-10-01)
- android: fragment onPause (#8919) (a55bcd8)
- core: ObservableArray splice ensure index is > 0 (#8921) (6d135e5)
7.0.8 (2020-09-29)
- core: global index typing fix for unit testing framework (#8915) (806fc88)
- core: Observable splice index > length (#8900) (65b1cdb)
- ios: Utils.openFile (#8914) (647926e)
7.0.7 (2020-09-26)
7.0.6 (2020-09-25)
- core: delegate should be set on nativeTextViewProtected (#8881) (021c0bb)
- core: global handling with env.production flag (#8903) (3437ed7)
7.0.5 (2020-09-23)
7.0.4 (2020-09-23)
- android-transitions: remove hard-coded flip transition duration/curve (#8851) (5f8d3d0)
- ios: text-view color refreshes properly after setting the text to keep the styles (#8863) (313f476)
- ios: time-picker and date-picker for iOS 14 (#8877) (45fb6c4)
7.0.3 (2020-09-12)
7.0.2 (2020-09-10)
- core: autoSystemAppearanceChanged typings in ambient context fix (c30a9c3)
- core: bundle-config-loader global handling (#8838) (1623a56)
- webpack: verify now works properly (f7713c4)
7.0.1 (2020-09-09)
- webpack: react config (#8822) (354b935)
- invalid cli tag version (#8821) (d51abef)
- webpack: apply-css-loader not applying css (#8811) (c1a2d54)
- webpack: Change NativeClass properties to enumerable (#8813) (e4a2930)
- core: boolean to disable systemAppearanceChanged (theme) (#8827) (5286adf)
- core: export additional properties for plugin usage (#8835) (a2e1aa2)
7.0.0 (2020-09-03)
- ios: stop using artificial state handler via animated setter on uiviewcontroller (#8797) (967d652)
- webpack: don't require ts transformer unless processing ts file (fa9f095)
- core: es2017 targeting (020ad4d)
- core: nativescript.config and webpack updates (#8801) (54cce4f)
- add enableMultithreadedJavascript flag to config definition (4abfc8a)
- webpack: using new nativescript.config (#8796) (33a703e)
6.5.15 (2020-08-12)
6.5.13 (2020-08-07)
- android: 'isEnabled' now works properly for SegmentedBar (#8711) (0850252)
- android: line-height (#8751) (4708ff4)
6.5.12 (2020-07-21)
6.5.11 (2020-07-20)
- android: add check in ad.dismissSoftInput to make sure the dismissed nativeView has focus at that moment (#8720) (4479096)
6.5.10 (2020-07-11)
6.5.9 (2020-07-07)
- bindable: parent referenced expression-values now load properly using an update call (#8670) (6b0028a), closes #8666 #6981 #5054
- scroll-view: android 'isScrollEnabled' will apply if changed while gesture is underway (#8695) (02ec7f1)
- snapshots: android is not defined (#8691) (a8bbd7c)
- text-view: only reload text if hint is showing on ios (#8662) (ec17727)
- connectivity: getActiveNetworkInfo and NetworkInfo modern compliance #8580 (#8652) (635f31f)
- dialog: ios destructive style from options (#8676) (bb531ce)
- ImageSource: resize method (#8678) (bd12baf)
- text-view: allow easy subclassing on ios (#8663) (7d36447)
6.5.8 (2020-06-20)
- enums: add Visibility.hidden (#8655) (41a21ea), closes #8653
- module-name-resolver: livesync page qualifier handling (#8637) (4f64bac)
6.5.7 (2020-06-17)
6.5.6 (2020-06-16)
- ios: gesture handling resilience when views are destroyed quickly (#8645) (9afa15f)
- text-base: apply dynamic text color change on button for ios (#8635) (5cacc25)
6.5.5 (2020-06-10)
- text-base: apply letter spacing in ios text field (#8618) (e2a9af2)
- text-base: letter spacing for textfield (#8627) (eb4c61f)
- text-base: update text color for ios (#8617) (d3549ac)
6.5.4 (2020-06-04)
6.5.3 (2020-06-04)
6.5.2 (2020-05-28)
- fix ios hmr (#8559) (446163d)
- the css parser should handle empty nodes (#8503) (f7ab4ba)
- parse css selectors with escape sequences (for real) (#8496) (50eb372)
- do not clear androidView._cachedDrawable (#8475) (e421129)
- call to nativeView (#8488) (2b06adc)
- dont default to Font.default (#8401) (ad9daa8)
- tabs: dynamic styling fixes (#8479) (fc8f769)
- android/TextField dont default to Font.default (#8525) (50e58fa)
6.5.1 (2020-03-30)
6.5.0 (2020-03-18)
- Fix issue for view not being removed from its parent (#8432) (e081340)
- d.ts: Update iOS typings iOS 13.2 (#8430) (18a9b1a)
- bottom-nav: Android TabStripItems not aligned correctly when one of the image is smaller (#8414)(9830be7)
- tabs: delay loadView when animation runs (#8353) (e649a6c)
- tabs: Tabs styling improvements (#8366)(4589431)
- tabs: Added selectedItemColor and unSelectedItemColor to the TabStrip (#8435)(243dc98)
- gestures: add locationX and locationY to double tap event data (#8338)(5ff78e2)
- tabs: Added iconClass property to TabStripItem (#8439)(270988d)
6.4.2 (2020-02-27)
- ios: Ensure ObserverClass is initialized (#8365) (06b9ecf)
- tabs: Tabs animation and selected index fixes (#8377) (acaabb)
- XHR readystatechange event (cff125d)
- guard cachedDrawable (#8320) (dd11158)
- flipLeft and flipRight on Android (#8307) (c13b104)
- andoid: crash when setting font on tab-item with no image (2dd3bb2)
- android: tap-trip-item title disappearing (cb8cea8)
- build: Add platforms/android to NPM package (#8312) (a644e40)
- button textAlignment on IOS (UIButton) (#8181) (05ef9b0)
- android: crash on setting elevation on API21 (#8269) (02763ec)
- android: Request Timeout #6523 (#8194) (d65a2db)
- invoke done callback in image cache unit test for API Level < 20 (#8267) (f293398)
- make integer type visible (ea8a436)
- remove the password for TextField as well (#8290) (0b50f3e)
- return default tab background color when the background color is not explicitely set through css (#8240) (8569b51)
- ios: ActionBar style wrong after cancelled swipe back navigation (#8252) (6133d6b)
- ios/bottom-navigation: move TabStrip items event emitting to selectedIndex changed handler (#8160) (8550c32)
- html-view: Additional properties for HtmlView component (#8207) (9217094)
- http: better binary support & XHR support (#7707) (e293367)
- ios: set preferredStatusBarStyle in Page VCs (#8241) (4e48e68)
- add longPress state with UIGestureRecognizer (iOS) (416f1c8)
- textview: added maxLines property (#7943) (3c79ded)
- Add 3D rotation to view - takeover of PR# 5950 (#8136) (e8f5ac8), closes #8076 #8041
- Add Android APIs usage list (#8286) (f031f6f)
- add integer only keyboard type for text-field and for all editable text components (954e1c6)
- Add iOS APIs usage list (#8291) (3bb8a40)
- Make css-tree the default parser (ab4c389)
6.3.2 (2019-12-20)
- check is disposed fragment is in the FragmentManager (#8201) (4b00376)
- handle fake attach after FragMgr is destroyed (#8200) (d1858f8)
6.3.1 (2019-12-16)
6.3.0 (2019-12-06)
- android: Fatal Exception: java.lang.OutOfMemoryError (#8061) (8d382a6)
- grid-layout: value parser will now accept strings or numbers (#8042) (3199a39)
- iOS: Opening alert/confirm on top most of modal dialogs (#7982) (60ac4e7), closes #6939
- nested css-calc and css-variables with fallback (#7987) (fc2a233)
- css: Added optional css-tree parser (#8076) (49a7607)
- dialogs: Setting the size of popup dialog thru dialog options (#8041) (cd5703a)
- support requestAnimationFrame (#8112) (2aa6e9b)
- System css classes for modals (#8155) (7b78f3b)
- modal-view-ios: handle iOS 13 dismiss modal gesture (#8024) (c5df258)
6.2.2 (2019-11-25)
- android: Fatal Exception: java.lang.OutOfMemoryError (#8061) (#8098) (bca1271)
- frame: nested frame wrong background after parent navigation (#8095) (d983f79)
- tab navigations don't work with lowercase xml (#8016) (800f5bc)
- frame: push recreated frame back in frameStack when Don't Keep Activities enabled (#8096) (47f4c25)
- iOS: check for iOS 13 APIs (#8093) (b069ff3)
6.2.1 (2019-11-12)
- dark-mode: formatted string and html view text color (#8031) (0c7f838)
- ensure @CallSuper native methods call superFunc (#8025) (7fa9978)
- dev-tools: use app root in getDocument() (#8071) (f686472)
- gradient: import LinearGradient with alias (#8063) (eb33ede)
6.2.0 (2019-10-24)
- action-bar: font icon support to NavigationButton (#7842) (4991e6d) (#7918) (bdb411f)
- action-bar-ios13: action bar items population (#7965) (ce96dad)
- application-settings-android: possible uninitialized sharedPreferences variable usage (#7813) (4f421ff)
- css: parse css selectors with escape sequences (#7689) (5520213)
- xml parsing when input value is reported as object instead of string (#7916) (a06a5f9)
- css-android: restore elements' native features if offending css is removed while the app is running (#7789) (2beae5b)
- css-calc: reduce_css_calc_1.default is not a function (#7787) (03d1ff0)
- bottom-navigation-ios: incorrect layout on orientation change (#7927) (c9bfec1)
- action-bar-android: add properties to control the titleView content insets (#7805) (57a8605)
- css: add attribute scoped css without global refresh (#7907) (f791a40)
- css: Add HSL/HSLA support (#7730) (3cabdde)
- dark-mode: add system appearance property, event and CSS classes (#7887) (5c9a217)
- file-system: async read/write (#7671) (2146ac9)
- dark-mode-ios: adapt dynamic system colors (#7826) (f82cf08)
- platform-declarations: add android29 typings (#7923) (dc65402)
- platform-declarations: generate typings from iOS 13.0 SDK (#7817) (3e8d635)
- segmented-bar-ios: add support for the new selectedSegmentTintColor property (#7880) (ca7c46d)
- overhaul and streamline Android page navigation transitions (#7925) (08e23bc)
- Scoped Packages (#7911) (cc97a16)
- update material components dependency to 92.3 (#7936) (866c2b0)
6.1.2 (2019-10-15)
- expose orientation to application module (#7832) (4166e2d)
- frame-android: IllegalStateException: The specified child already has a parent (#7948) (ff30c48)
- tabs-ios9: no view controller managing visible view error (#7837) (7fe8d1c)
6.1.1 (2019-09-11)
- android-list-picker: NoSuchFieldException on api29 (#7790) (997d6de)
- css-calc: reduce_css_calc_1.default is not a function (#7787) (#7801) (20c0773)
6.1.0 (2019-09-02)
- dots can now be used in module names (#7655) (b6ff4d3)
- css: parse css selectors with escape sequences (#7689) (#7732) (e3ed028)
- ios-tabs: handle tabs extended layout for ios 10 (f7f0612)
- ios-tabs: crash when add tabstrip in loaded event (#7743) (a66f2f2)
- ios-tabs: handle nesting proxy view container (#7755) (92c3338)
- handle empty folders in non-bundle-compat (#7649) (5fd7913)
- implement css-variables and css-calc (#7553) (673c808)
- add CSS classes to app/modal root views to target platform/device/orientation/type (#7606) (3adba68)
- GridLayout: Add synonym property column[Span] for col[Span] in GridLayout (#7641) (d3c39c1)
- apply styles when adding them to the application scope (#7652) (1d12136)
- expose application orientation (#7602) (e2c3c8c)
- ios-bottom-navigation: add icon rendering mode (#7738) (ff6d89f)
- android-tabs/bottom-navigation: fix tab resource icon size based on specification (#7737) (f436b6f)
- tabs/bottom-navigation: introduce TabStrip.isIconSizeFixed property (#7691) (8039c2c)
- tabs/bottom-navigation: add support for custom tabstrip (#7580) (acc3436)
- tabs/bottom-navigation: inherit TabContentItem from ContentView (#7629) (72ca461)
- tabs/bottom-navigation: flexible font icon usage (#7672) (c0b8db4)
- tabs: emit tabStripItem tap event (#7693) (b0d1c91)
- tabs/bottom-navigation: add TabStrip.itemTap event (#7711) (55c9cc9)
6.0.7 (2019-08-22)
- bottom-navigation: codebehind creation (#7624) (056d0bf)
- prevent plugin podfile platform version clash (#7626) (49b3571)
- hmr: close modal views during livesync #7668 (#7679) (9877b20)
- tabs-android: tabStripItem color not applied (#7617) (2518655)
6.0.6 (2019-08-08)
- tns-core-modules-widgets: use correct version (6.0.6).
6.0.5 (2019-08-02)
- bottom-navigation: codebehind creation (#7624) (056d0bf)
- tabs-android: tabStripItem color not applied (#7617) (2518655)
- prevent plugin podfile platform version clash (#7626) (49b3571)
6.0.5 (2019-08-02)
- observable-array: splice to notify correct amount of added items (#7426) (5e14de6)
- added missing openFile method in ios utils (#7431) (cb58cab)
- full Unicode support in xml (#7428) (b8659e6)
- timer: setTimeout/setInterval support for boolean period (#7569) (a569bb2)
- bottom-navigation-ios: limit to 5 items (5815246)
- split globals to support smaller worker chunks (0ee0b67)
6.0.4 (2019-07-30)
- ios: 'ui/tabs' not found for element 'Tabs'
6.0.3 (2019-07-29)
6.0.2 (2019-07-26)
- android: remove wait for doubletap if no gesture recognizer (#7584) (9fd5ddc)
- bottom-navigation: crash when tab selected with no item (#7527) (46c17ca)
- tabs: tab bar not visible when nested in layout (#7544) (f00b370)
- tabs-android: wrong tabStripItem selected (#7522) (ca22ba9)
- tabs-ios: crash when setting tabStripItems through items property (#7548) (4511c76)
- tabs-ios: unable to return to tab after tab with nested frame visited (#7574) (490cab0)
6.0.0 (2019-06-28)
- bundle: support for file qualifiers with webpack (#7386) (9fcc1dd)
- bundle: code-only typescript custom components with webpack (#7321) (9fcc1dd)
- bundle: component builder support for codeFile / cssFile / import with webpack (#7324) (9fcc1dd)
- bundle: different event order (NativeScript/nativescript-cli#4633) (8851835)
- restore TextField.textChange and Switch.checkedChange event syntax in xml (#7403) (76b5089)
- android: ignore gzip content-encoding for status code 204 (#7417) (4437cd6)
- android-transition: exit transition not executed after app suspend resume (#7402) (f08b491)
- css-state: _appliedSelectorsVersion assignment (#7405) (9ecf07f)
- observable-array: splice to notify correct amount of added items (#7426) (5e14de6)
- cancel contradictory gesture events (#7296) (b8a82f2)
- allow span descendants in FormattedString (#7369) (01c4b8c)
- bundle: bundle workflow support (#7320) (ecd9fc3)
- android: androidX support (#7039) (c5db112)
- BETA/EXPERIMENTAL: bottom navigation and tabs components (#6967) (0c2c1cc)
- add support for :focus pseudo class in TextField / TextView (#7396) (0bfddab)
- animation: support animating width/height properties (#5147) (e7c575)
AndroidApplication.currentContext
intns-core-modules/application
module is now removed.
Use AndroidApplication.startActivity
, AndroidApplication.foregroundActivity
, or AndroidApplication.context
properties instead.
start(...)
method intns-core-modules/application
module is now removed.
Use application.run(...)
method instead. Check the "Flexible Frame Composition" section in this document that explains the full migration path from application.start(...)
to application.run(...)
and the implications from this change
loadPage(...)
method intns-core-modules/ui/builder
module is now removed.
Use createViewFromEntry(entry: NavigationEntry)
method in tns-core-modules/ui/builder
module instead.
tns-core-modules/ui/core/dependency-observable
module is now removed.
Use tns-core-modules/ui/core/properties
module instead.
ViewBase.showModal()
,ViewBase.showModal(moduleName: string, context: any, closeCallback: Function, fullscreen?: boolean, animated?: boolean, stretched?: boolean): ViewBase
, andViewBase.showModal(view: ViewBase, context: any, closeCallback: Function, fullscreen?: boolean, animated?: boolean, stretched?: boolean): ViewBase
method overloads are now removed.
Use ViewBase.showModal(moduleName: string, modalOptions: ShowModalOptions): ViewBase
or ViewBase.showModal(view: ViewBase, modalOptions: ShowModalOptions): ViewBase
instead.
Frame.androidOptionSelectedEvent
andAndroidOptionEventData
interfrace intns-core-modules/ui/frame
module are now removed.
Event not raised by NativeScript core framework anymore.
AndroidFrame.cachePagesOnNavigate
intns-core-modules/ui/frame
module is now removed.
Not used internally in NativeScript core framework anymore.
stack()
method intns-core-modules/ui/frame
module is now removed.
Use getFrameById(...)
method if you want to retrieve a frame different than the topmost one instead.
AndroidActivityCallbacks.onCreate(activity: any, savedInstanceState: any, superFunc: Function)
method overload intns-core-modules/ui/frame
module is now removed.
Use AndroidActivityCallbacks.onCreate(activity: any, savedInstanceState: any, intent: any, superFunc: Function)
instead.
WebView.url
property intns-core-modules/ui/web-view
module is now removed.
Use WebView.src
property instead.
ios.getter(...)
function intns-core-modules/utils
module is now removed.
Use the respective native property directly instead.
View.observe(...)
method intns-core-modules/ui/core/view
module is now removed.
Use View.on(...)
method instead.
- The addedCount variable from ObservableArray.splice(...) change event is always the amount of added items.
Migration steps:
The old addedCount can be obtained by const addedCount = event.addedCount - event.removed.length
- Fix to cancel contradictory gesture events (e.g. tap and double tap) introduces the following behavior breaking change
Before:
- iOS / Android:
- double tap: child tap -> parent tap -> child double tap -> parent double tap
- tap: child tap -> parent tap
After:
- iOS:
- double tap: child double tap
- tap: child tap
- Android:
- double tap: child double tap -> parent double tap
- tap: child tap -> parent tap
Migration steps: Move event handlers accordingly.
5.4.3 (2019-06-21)
- clear the
resolvedPage
when entry is being cleared, change the passedView
to be a weak reference (#7327) (dfe7621)
5.4.2 (2019-06-06)
- hmr: support for multi module replacement (7c22ffe)
- register layout child for nested custom components (#7230) (3604df8)
- ios: potential memory leak with propertybag implementation (#7298) (1c22a73)
- platform-declarations-ios: Change 2^64-1 enum values to -1 (6720139)
5.4.1 (2019-05-23)
- android: CommonLayoutParams measure/layout child guard (#7271) (333ab36)
- android: elevation should not require explicit dynamic elevation offset (#7250) (be6e408)
- hmr: quick fade upon replace navigation (#7251) (0aca087)
5.4.0 (2019-05-14)
- throw if failed to load component (#7186) (b7abb3d)
- android/button: possible incorrect button visual state (#7190) (2a02360)
- devtools-ios: Ensure UI modifications run on main thread (c60f74d), closes #7219
- ios: add null check to TouchGestureRecognizer (#7182) (7d3f0d9)
- ios: application.displayedEvent does not depend on trace to fire (#7141) (#7156) (4e56c89)
- ios: image cache module not longer sets null in NSCache (#7171) (4f79d2e)
- ios-modal: closeCallback not being called with popover presentation style (#7189) (aa44eb9)
- ios-tabview: crash when setting tab text color (#7188) (77c45da)
- text: crash when removing FormattedText (#7237) (37b53c6)
- android: elevation shadow support (#7136) (cf533a7)
- android: implement a 'activityNewIntent' event (3efc06e)
- android: implement BorderDrawable outline (ec07a99)
- hmr: preserve navigation history on applying changes (#7146) (d35e14e)
- switch: add property for off state background color (#7138) (f0146f0)
5.3.2 (2019-05-03)
- no trace message on empty app.css (#7135) (170d2a8)
- ios: application.displayedEvent does not depend on trace to fire (#7141) (f6f7b51)
- ios: flat action bar incorrect layout after navigation (#7077) (1dc3952)
- ios-http-get: http failure during parsing xml (#7175) (c227c50)
5.3.1 (2019-03-28)
5.3.0 (2019-03-21)
- android: resource ID not found on navigation between pages with nested and single frames (#6955) (33d6d1f)
- android: navigation between pages with single and nested frames (#7011) (91d90cc)
- http: ensure httpcontent.toFile() creates intermediate directories (#6451) (d7fb9b8)
- WrappedValue.unwrap empty string behavior (#6900) (0482460)
- android-bottom-tabs: use immediate transition on programmatic selectedIndex change (#6942) (e9dfa20)
- ios: disable default tab reselect behavior (#6968) (043cbf3)
- ios-webview: report hostname lookup errors in loadFinished event (#6988) (e6486f6)
- ios-webview: loading of local-file dependency (#6947) (dcad754), closes /github.com/NativeScript/NativeScript/issues/6377#issuecomment-433322681 #6377
- set/unset touchListener.owner onLoaded/onUnloaded (#6922) (f056167)
- local icon handling in actionbar and tabview (#7009) (cd66300)
- android: add openFile to utils (#6895) (f8eee40)
- hmr: style views at runtime (#7012) (3c2c1d9)
- hmr: apply changes in page styles at runtime when app root is a frame (#6857) (44b8acd)
- view expose missing backgroundSize, backgroundRepeat, and backgroundPosition properties on View class (#7032) (88f2242)
5.2.2 (2019-03-01)
- android: resource ID #0xffffffec not found on nav (#6955) (33d6d1f)
- android-animations: reuse animatorSet to prevent high memory usage (#6930) (7236d32)
- ios: opaque bars break ui layout (#6929) (09fa085)
- ios: resize of scrollview content breaks layout (#6965) (a9d2043)
5.2.1 (2019-02-19)
- css: widget properties in css didn't work (#6889) (8330ac0)
- frame-ios: tearDownUI when UINavigationController disappear (#6892) (57f07a3)
- ios: searcbar hint color before hint property (#6902) (5dd01a3)
- ios-textview: text alignment reset to default on blur (#6903) (0416f7e)
5.2.0 (2019-02-08)
- android: raise resume event on activity.onPostResume() (#6766) (46c9de0)
- android: animator restore logic on simulated nav (#6710) (c034d6e)
- android: failure saving state in mixed parent/nested frame nav (#6719) (4dc35a5)
- android: a crash on application restart after livesync changes (#6756) (1f1d722)
- android: use passwordHint for password placeholder (25f4b56)
- android: clear dialog fragment when closing modal view (#6852) (8c80044)
- android: app crashes on ListView item template change (#6634) (2085d1e)
- android: fix a crash if modal is destroyed before dismissed (#6723) (8a32102)
- ios: native view frame optimizations in nested scenario (#6809) (08acd84)
- ios: textview content clipped on every other newline (#6864) (23dc84d)
- ios: tearDownUI and reset UINavigationController (#6817) (cea97c6)
- action-bar: flat mode breaks ios safe area (#6862) (603c901)
- tab-view: remove onBackPressed override (#6755) (984f162)
- call onNavigatingFrom event only if it exists (#6773) (19dfd16)
- app launch with application style hot module updates (7ced019)
- provide API to release the native object wrapped by a JS one (#6873) (8b4a9b3)
- HMR: apply changes in application styles at runtime (42a1491)
- dialog: add decimal input type for prompt dialog (#6805) (408614d)
- image-cache: expose onError callback (#6458) (3481e6f)
- android: option to make dialogs cancelable (#6765) (3a8c3fc)
- add rebeccapurple to known css colors (#6819) (672c821)
- add OnDiscardedError typings and event (#6777) (28db2af)
5.1.2 (2019-01-13)
5.1.1 (2018-12-19)
- android: animator restore logic on simulated nav (#6710) (54b6df6)
- android: failure saving state in mixed parent/nested frame nav (#6719) (e5f110f)
- android: nested fragment disappears on parent fragment removal (#6677) (c084660)
- tns-platform-declarations: Generate iOS typings from iOS 12.1 SDK (#6693) (1c0218e)
- view: added iOS parameter for modal presentation style (#6409) (540b2b4)
5.1.0 (2018-12-05)
- android-styling: correctly detect if drawable uses ColorFilter (#6342) (11d3884), closes #6341
- listview: incorrect layout when scroll (#6656) (63be78a)
- modals: regression with modals in angular (#6655) (30df4d9)
- searchbar: isEnabled and isUserInteractionEnabled (#6636) (25c99d8)
- tests: Sporadic failures after upgrade to WebKit 12.0 (#6635) (65e3a19)
- add hints options for username and password fields (#6416) (c834181)
- ActionBar: apply text color when largeTitletextAttribute is set on iOS (#6631) (b58dff0)
- modals: Enable modal dialog chaining in IOS (#6637) (64bccb9)
- scrollbar: add isScrollEnabled property (#6640) (ae0fa90)
- tabview: add androidSwipeEnabled property (#6652) (0b239d7)
5.0.5 (2018-11-26)
5.0.4 (2018-11-26)
- android-fragment: child already has a parent (#6589) (5b9b335)
- back-navigation: app freeze on going back in parent frame with states (#6595) (fc1f8c1)
5.0.3 (2018-11-20)
- crash on Android Tab-View #6466 (#6467) (db33cf3), closes ac04ede#diff-f1459d509d1432b432c29bcd30e462fbL97
- doc of transitionAndroid property of NavigationEntry interface (#6563) (efe3318)
- layoutChanged event in landscape (#6520) (7fbdc7a)
- nested frames order with tabs & suspend/resume (#6528) (7df8038)
- Resolve incorrect name of listener when unsubscribing (#6487) (af5eb73)
- Resolve incorrect name of listener when unsubscribing (#6487) (2933a9a)
- image: uncaught error in promise with image handling (#6453) (950fdcf)
- android: back navigation on app suspend/resume (#6489) (999e378)
- android: back navigation on app suspend/resume (#6489) (fac970e)
- android: IllegalStateException with tabview&nested frames (#6495) (7d21b5c)
- android: IllegalStateException with tabview&nested frames (#6495) (41ba93d)
- ios: safe area handling in scrollview (#6561) (51a191f)
- ios: scrollview safe area when no scroll (#6568) (f90995f)
5.0.2 (2018-11-07)
- android: back navigation on app suspend/resume (#6489) (999e378)
- android: IllegalStateException with tabview and nested frames (#6495) (7d21b5c)
- Resolve incorrect name of listener when unsubscribing (#6487) (af5eb73)
5.0.0 (2018-11-01)
- don't crash on missing resources in tab-view and action-bar (#6388) (56a1b12)
- nested fragments interact through child fragment manager (#6293) (3071720)
- Page and Frame isLoaded undefined checks (#6255) (12fade7)
- connectivity: making startMonitoring() behave on iOS as on Android (#6373) (a58fc52)
- observable-array: reduce no longer ignores zero as initial value (#6402) (c0438df)
- modals: application activityBackPressed event not fired for modals (#6261) (8575c60)
- list-view: Layout list-view items on request (#6159) (ec24c5a)
- tab-view: Title and icon positioning (#6362) (e3d5f0d)
- tab-view: change androidOffscreenTabLimit to 1 when using bottom tabs for android(#6476) (371fc9b)
- android: HEAD request should return statusCode (7e89f94)
- android: nested frames on app suspend/resume (#6339) (0bf6dc2)
- android: parallel navigations should not be triggered (#6275) (6c9fa16)
- android: suppress reflection for default animations (#6141) (cc19b40)
- android/platform: reinitialise screen metrics on orientation change (#6164) (2ee1d7d)
- ios: listview scrollToIndex crash with async data (#6182) (a8d016c)
- ios: nowrap label measure in horizontal stack layout (#6186) (a1c570c)
- ios: TimePicker minuteInterval property (#6116) (88f7ed8)
- add ability to pass touch event through parent view (#6204) (2625683)
- implement capitalization type option for prompt dialogs (#6325) (ae6a661)
- application-settings: implemented allKeys method (#6371) (829d18b)
- frame: add new actionBarVisibility property (#6449) (0002624)
- frame: hardware back in parent frame when back states available (#6446) (af651d6)
- grid: implement addChildAtCell (#6411) (a3f1493)
- image-asset-ios: add autoScaleFactor option to switch auto scaling (#6127) (81e63ee)
- styling: Add two functions to control applicationAdditionalSelectors (#6124) (85b8c01)
- tslib: add tslib helpers to global (#6351) (1232d1e)
- android: add Bluetooth connectivity type for Android (#6162) (f1bef48)
- android: migrate to support library apis (#6129) (cf034dd)
- android: platform declarations for Android API 28 (Android 9) (#6243) (b9fc373)
- iOS: Safe Area Support (#6230) (982acdc)
- iOS: update platform declarations (f54f71b)
- android: NativeScript core framework now extends support library APIs versus native framework classes as per Google's latest guidelines (#6129) (cf034dd):
- NativeScript activities now extend
android.support.v7.app.AppCompatActivity
(vs android.app.Activity) - NativeScript fragments now extend
android.support.v4.app.Fragment
(vs android.app.Fragment) - NativeScript now works internally with
android.support.v4.app.FragmentManager
(vs android.app.FragmentManager)
- NativeScript activities now extend
The implications of these changes should be mostly transparent to the developer except for the fact that the support library Fragment / FragmentManager work with Animation APIs versus Animator APIs.
For Android API Levels lower than 28 the new Fragment API uses a different fragment enter animation by default. You can customise the transition per navigation entry or globally via the navigation transitions API Before: Default fragment enter animation was fade animation
After: Default fragment enter animation for API levels lower than 28 is now a fast "push fade" animation; default fragment enter animation for API levels equal to or greater than 28 remains fade animation
- Layout class (
tns-core-modules/ui/layouts/layout
) is now removed as it is not used in {N} framework any more.
Before:
Built-in {N} layouts GridLayout, StackLayout, WrapLayout, etc. extended Layout
class
After:
Built-in {N} layouts GridLayout, StackLayout, WrapLayout, etc. now extend LayoutBase
class
To migrate your code follow the example below:
Before:
import { Layout } from "ui/layouts/layout";
// ...
let wrapLayout: Layout;
export function pageLoaded(args: EventData) {
const page = <Page>args.object;
wrapLayout = page.getViewById<Layout>("wrapLayout");
}
After:
import { LayoutBase } from "ui/layouts/layout-base"; // or import { WrapLayout } from "ui/layouts/wrap-layout;
// ...
let wrapLayout: LayoutBase; // or let wrapLayout: WrapLayout;
export function pageLoaded(args: EventData) {
const page = <Page>args.object;
wrapLayout = page.getViewById<LayoutBase>("wrapLayout"); // or wrapLayout = page.getViewById<WrapLayout>("wrapLayout");
}
-
android: change androidOffscreenTabLimit to 1 when using bottom tabs of tab-view(#6476) (371fc9b)
-
ios: widgets native view lifecycle refactoring - native view is now created right before they are added to visual tree (#6102) (46705ee):
The iOS widgets native view lifecycle now matches the Android widgets. Before, the iOS native view was created in the widget constructor and you could manipulate the native view right after the widget is instantiated. After the refactoring, the widget's native view will be created when it's added to the visual tree. The most correct way to manipulate the native view is in the loaded
event handler.
Before:
import { Button } from "ui/button";
// ...
const button = new Button();
button.nativeView.someNativeAPIMethod();
After:
import { Button } from "ui/button";
// ...
const button = new Button();
button.on("loaded", () => {
button.nativeView.someNativeAPIMethod();
});
- ios: Widgets that inherit the
ContainerView
class now overflow the safe area by default (#6230) (982acdc):
These are: AbsoluteLayout
, DockLayout
, GridLayout
, StackLayout
, WrapLayout
, FlexboxLayout
, ScrollView
, ListView
, WebView
and Repeater
.
The change is that now if these widgets touch the edge of the safe area, they will be automatically expanded to the edge of the screen. This will change their width and height. Margins and paddings will still be applied only in the safe area. This behavior can be reverted to the old one by setting the iosOverflowSafeArea
property of the widget to false
.
4.2.1 (2018-09-18)
- enable reportProgress property for NativeScirpt Angular's HTTPClient (#6154) (349850f)
- ios: listview scrollToIndex crash with async data (#6182) (ca6cccb)
- ios: touch delegate does not call base class touch methods (#6113) (284cd5)
- ios: TimePicker minuteInterval property (#6116) (ca9bad6)
- android: parallel navigation actions should not be triggered (#6275) (405ccae)
- android: HEAD request should return statusCode (fe35567)
- observable array reduce bug (#6219) (b028dd9)
- Page and Frame isLoaded undefined checks (#6255) (4a11cf9)
- android/platform: reinitialise screen metrics on orientation change (#6164) (040781c)
- ios: nowrap label measure in horizontal stack layout (#6186) (efd5f8d)
- list-view: Layout list-view items on request (#6159) (115a4c1)
- modals: application activityBackPressed event not fired for modals (#6261) (13d4f34)
4.2.0 (2018-08-08)
- action-bar: navController may be null (#6029) (324fdce)
- android: label width shrinking on shorter text change (#5917) (0b9d4ae)
- android: NavigationButton was read as "Button" by screenreaders (#5949) (0e04cb4)
- android: prevent error during tear down (#5947) (b0afd3a)
- animation: handle promise rejection and avoid throw (#5861) (9308bab)
- animations: avoid steady mem consumption rise (#6004) (bcadcbe)
- core/properties: typings for nativeValueChange (#5791) (357c8ec)
- dialogs-ios: dialogs not showing in single page apps (non Frame based apps) (#6000) (0082dfb)
- image: catch Response content may not be converted to an Image (#5856) (5cd8a1f)
- ios: safeAreaLayoutGuide fallback for iOS 10 cases (#5960) (4b5754a)
- ios: set current tab as topmost frame on load (#5908) (b122bd4)
- ios: translate transform breaks sequential animation set (#5961) (6cfdc20)
- ios-dialogs: unable to show dialog from modal view without a page (#5881) (e59d156)
- modal: parent page invalid hierarchy handling [extended] (#5966) (b5b8d51)
- typings: add Android typings for API levels from 17 to 27 (#5890) (398c9b3)
- Flexible Error/Exception handling (#5929) (3dc3a41)
- Pass NativeScript app to the native app instead of presenting it over the root ViewController (#5967) (05c2460)
- CSS: import of relative paths (#6023) (6ce1d22)
- ListPicker: add textField, valueField and selectedValue properties (#6033) (9e2e8ec)
- ListView: add animated scroll to index (#6077) (1fac718)
- typings:
- There is no longer added
I
prefix in the names of the interfaces. For example,android.view.IMenuItem
is nowandroid.view.MenuItem
. This matches the original name of the interface in the Android framework. - We are now generating only public methods, so all the methods which you override when extending Android class should be public.
- You need to use Array<string> (lowercase string) instead of Array<String> (uppercase String) when overriding a method accepting string array type.
- There is no longer added
4.1.1 (2018-07-18)
4.1.0 (2018-05-28)
- android: fix sporadic issue with transition cleanup logic called twice (#5805) (a86d41e)
- android: lollipop crash on changing activity context after navigation w/transition (#5700) (4f5887b)
- android-connectivity: add ethernet connection type (#5670) (1536d15)
- android-textfield: returnPress fired twice for GO/SEARCH/SEND (#5727) (ca444aa)
- flexbox-ios: resolve text size issue for ListView with flexbox layout template (#5799) (a03065c)
- flexbox: label text wrapping inside flexbox layout (#5781) (481043f)
- ios-image-asset: getImageAsync() can retrieve assets stored remotely in iCloud (#5705) (9e3da8e)
- ios-searchbar: fix searchbar auto sizing in iOS11 (#5658) (555e592)
- list-view-ios: fix rowHeight property to apply proper item size for iOS (#5693) (b9806ba)
- modal: exception when calling ViewBase.showModal(...) (#5737) (451589d)
- modal: innerView.closeModal(...) not passing back context (#5833) (1365f13)
- navigation: fix frame.navigate call inside page.navigatedTo handler (#5649) (cf950e1)
- crash at application launch on Android P (#5831) (7851629)
- file-system: add ability to retrieve file size (#5710) (6bdb5b5)
- tabview: add tab text font size property (#5752) (11f0d6e)
- view: introduce LayoutChanged event on every View component (#5825) (0fc1547)
- css: linear-gradient support for background and backgroundImage (#5534) (5a83a1c)
- feat(builder): enable reading xml from bundle (#5668) (1e682bf), closes #5668
- fix(layout): IOS Layout not invalidated with custom root (#5724) (f1c0b85), closes #5724
A detailed list of the new features and changes coming with NativeScript 4.0 ca be found here.
You can also check the NativeScript 4.0 is out blog post for highlights.
- android-images: set decodeHeight/decodeWidth default values to dip (#5490) (6509efa)
- animations: change throw -> trace to avoid unnecessary app crash (#5475) (fa80355)
- animations: check if target is present before removing its animation (#4586) (4bd3a94)
- animations: register both style's "name" and "cssName" (#3810) (3ea7365)
- animations: remove default getters for transform properties (#4286) (26e2748)
- css-animations: convert transform value properly (#4352) (b7c61ca)
- date-picker: Date picker changed check (#4797) (d0b3e0c)
- es6: object constructor assign (3ef45c1)
- file-system-access: join paths without leading slash (1a497b1)
- TextField not secure when keyboardType="number" (#5012) (3e6f465)
- frame: add generic frame cleanup logic after modal dialog close (#5479) (2704915)
- frame: recreate frame if no cached one found on app resume #5318 (#5330) (9d7f0e5)
- frame: root tabview with modal frame when suspend/resume app (#5408) (2edef3d)
- image: image aspect dimensions for ImageSource.fromAsset(...) (#5556) (7506905)
- image-source: Fix test for base64 image source for android API 26 (#4741) (1171da2)
- image-source: throw if source is not a correct native instance (#5273) (58d61ca)
- image: apply tintColor correctly on iOS (#5546) (75ee84c)
- inspector: Fix --debug-brk issue with Inspector (#5460) (0b34e67)
- iOS: image._setColorTint is not a function fix (465b5bf)
- ios-action-bar: enable NavigationButton text change on first navigation (#5458) (b878143)
- ios-action-bar: NavigationButton cannot be hidden if navigating with transition (#5451) (c54e069)
- ios-frame: do not update backstack when navigating the same page (#5426) (714af6b)
- layouts: Set automaticallyAdjustsScrollViewInsets (#5311) (b492996)
- livesync: attach __onLiveSyncCore to global object (#4215) (90a0da2)
- minor: reword missing-xml-error to be clearer (#4947) (374f31c)
- profiling: resetProfiles doesn't reset all profiles (#5425) (68d86fb)
- slider: correct maxValue setter for android (#4346) (6184338), closes #4343
- style: Styles are not applied to dialogs (#5612) (38e6f66)
- style-scope: remove isFileOrResourcePath check (5746dc5)
- text: Allow -1 to be a valid binding value for text views (#5563) (7cd8e7e), closes #5559
- uilabel: line height setter should not break line break mode (#5544) (75bd1d2)
- webpack: fix fragment css not being applied with webpack (#5172) (60773e7)
- webpack: register wrap layout (#5573) (0012bfd)
- xml parser: Fix text node data event. (67cfab2)
- xml parser: Handle whitespace around attribute = (2a2c0e5)
- ActionItems lacks proper support for VoiceOver on iOS (#2796) (#2799) (37d927b)
- ActionBar's title not updating in OnLoaded event (1d63103)
- add css-agent declarations (#4361) (c62e79e)
- add dom-node declarations (#4359) (08af2ef)
- cleanup modaltest paths (#5300) (8d59cc4)
- DatePicker month off by 1 in Android (#4872) (1e47117)
- Fix scroll-view tests for ios 9 and 10 (#5358) (464cdd5)
- layoutParent crash with ProxyViewContainer (#5315) (923d48b)
- Navigation test app added (4d23e37)
- Require core modules used for inspector lazily (#4977) (0fe1806)
- set default values to time widgets (#4383) (14098d4)
- set tns-core-modules-widgets to 4.0.0 (eff264e)
- throw if global css file is not found in webpack context (#5186) (9ce0819)
- typo on android utils, getPalleteColor to getPaletteColor (#4687) (7b36461)
- uuid for ios changed on IOS v7 (#4681) (92471c6)
- navigation: Flexible Frame Composition (#48)
- angular xml: Support [prop] and (tap) bindings (fdd8c9b)
- frame: handle back navigation when common layout is used as a root element (#5608) (70f0112)
- frame: rework frame retrieval api (#5527) (dfa70dd)
- ios: fire onDisplayed event when first frame is ready to be displayed (#5344) (1c78e47)
- ios-image-source: standardize quality scale in image-source (#5517) (319c153), closes #5474
- ios-list-view: introduce iosEstimatedRowHeight property. (#5568) (52c0448)
- listview: add required interface for generalized list-view component (#5524) (b29f04f)
- modal: introduce stretched param to showModal method (#5496) (0138873)
- observable: Implement observable .once (#5309) (2166d1e)
- style-scope: Resolve css sheets from tns_modules (414ebc6)
- tab-view-android: enable tabs positioning at the bottom (#5385) (f8dce08)
- view: expose method for android back override (#5537) (cf8dcfa)
- webpack: mark the CSS type for stylable views explicitly (#5257) (1cbb1e8)
- xml parser: Only allow angular syntax extensions if configured. (748b4f1)
- Add methods to get the root view and set a different root view at run time (#5386) (b113b00)
- Add require.context typings (#5156) (0986315)
- Register ./app.css instead of app.css so it can be provided by webpack context (#5158) (d356339)
- support intent replacement in the android activity (#5337) (01fab68)
- ios-layout Frame, Page and TabView measure/layout methods no longer used. We now rely on the iOS to position these controls. As a result width, height, minWidth, minHeight, margins won't be respected on these controls
- ios-layout Layouts for ViewContollers now implemented with UILayoutGuide (requires iOS 9)
- tabview TabViewItems are now loaded/unloaded on demand - when they will be displayed.
- webpack: Extending classes requires marking the derived class with @CSSType The root classes are not marked with CSSType and classes derived from ViewBase and View will continue to work as expected. More concrete view classes (Button, Label, etc.) are marked with @CSSType now and store their cssType on the prototype suppressing the previous implementation that looked up the class function name. So clien classes that derive from one of our @CSSType decorated classes will now have to be marked with @CSSType.
- android-images: change decodeHeight/decodeWidth properties to accept device independent pixels by default
- image-source: Change the return type of
setNativeSource
method fromboolean
tovoid
.
- (# 5337) Support intent replacement in the android activity
- (# 5344)) (iOS) Fire onDisplayed event when first frame is ready to be displayed
- (# 5047) Android: Click next moves the focus to next focusable TextField
- (# 5046) Android: Fix search-bar bug
- (# 5019) IOS: App crash on low memory notification with custom fonts
- (# 4993) ScrollView base: Adding listener when you are supposed to remove it
- (# 4959) Android: a crash related to ConstantState drawable on API 23
- (# 4950) Android: a crash when application is suspended
- (# 4897) Android: Button listener missing owner
- (# 4851) Android: DatePicker shows wrong month
- (# 4895) Android: default page transtion in app.ts is not working for the initial page & breaks navigation
- (# 4963) IOS: fix missing borderRadius on Image
- (# 4740) IOS: Button:highlighted stops working after 2nd click
- (# 4678) ListView w/"itemTemplates" (multiple templates) cannot be used with TabView
- (# 4767) (# 4721) (# 4715) CSS related optimizations
- (# 4930) Chrome DevTools Elements tab support
- (# 4922) Update platform declarations to iOS 11
- (# 3076) Setup scripts now support Silent Install mode
- (# 4728) Android: A crash where some Drawables do not implement getConstantState
- (# 4424) Android: Slider's value does not work when maxValue set
- (# 4230) IOS: A crash when setting FontFamily to Font-Awesome on a Span
- (# 4733) IOS: A TextView scrolling and sizing issue
- (# 4302) IOS: Icon fonts does not work for TabViewItem
- (# 4582) IOS: Label with formatted text and theme classes crashes
- (# 4138) Cannot change TabView icon
- (# 4419) Debugger.js exception for HTTP requests with no Content-Type
- (# 4650) Image replacement is not respected during tns run android
- (# 3963) ListView multiple item templates do not work inside a TabView
- (# 4647) Rename utils.ad.getPalleteColor to getPaletteColor
- (# 4725) Remove ListView selected state when rowHeight is set
- (# 4808) Android: Keep nativeViews when navigating forward
- (# 4464) Enable overlap for custom transitions
- (# 2181) Focus and blur events
- (# 4514) IOS: Text/xml content type not treated as text
- (# 4450) IOS: TNS 3.1 breaks background-color through css binding
- (# 4443) IOS: Can't load local files in a WebView on device
- (# 4415) Style error when setting background after upgrading to NS 3
- (# 4342) Unable to change the fontWeight.
- (# 4322) Flashing border on scroll within ListView on Android when border-radius is applied
- (# 4283) IOS: ActionBar will appear broken when internet sharing bar is displayed
- (# 4046) Animating a view is broken and freezes the animated properties
- (# 4522) Allow toggling of ScrollBar indicators on ScrollView
- (# 2740) Improved ActionBar CSS Support
- (# 1664) Implemented css line-height property
- (# 4147) SearchBar style creates error
- (# 4272) SearchBar is not displayed on Android API 24
- (# 4287) Margin value with TextWrap overlapping problem
- (# 4266) IOS: Wrapped text in Button not properly centered
- (# 3354) IOS: TextView hint becomes text
- (# 3614) TextField
maxLength
property support - (# 3957) http.getFile(url) should strip query string from saved file name
- (# 4103) A problem with base64 encoded images in Image element
- (# 4143) Background Image Failing
- (# 4127) Binding to 'bindingContext' of View is not working
- (# 4015) Crash: View already has a parent on Android 7.0 with Split screen + pageTransitions
- (# 3747) Images randomly get swapped on Android
- (# 3960) TabView with ScrollView and MapView crashes
- (# 3983) TextField: "0000" hint truncated to "0"
- (# 4135) TextField: If the secure property is true, the text property doesn't work properly
- (# 4123) Android: Pressing ENTER key from hardware keyboard in TextView throws an exception
- (# 4109) Android: Formatted string does not work if defined in XML
- (# 4022) Android: TabView & ScrollView causes crash on resume
- (# 4175) IOS: Switch not visible
- (# 4141) IOS: ActionBar will be hidden after closeCallback of modal page
- (# 4157) IOS: Hidden ActionBar will be shown by showModal()
- (# 4151) IOS: Layout will not update on modal page
A full list of breaking changes could be found here.
- (# 3941) JS: Error: Failed to apply property [color] ... Invalid color: inherit
- (# 3898) IOS: http-request header User-Agent always reports iOS 6
- (# 3775) IOS: Slide page transition causes "snap" behaviour
- (# 3654) IOS: Button text disappears with "swipe left" gesture
- (# 3584) IOS: TextView hint din't display numeric
- (# 3221) IOS: Applying class to secure TextField randomly change it's font-size
- (# 3538) Page navigation with whole page 'background-image' is very slow
- (# 3153) Out of Memory Issues still in 2.4
- (# 3058) Image is broken in Empty cases
- (# 2985) Listpicker width does not compute properly
- (# 2724) tns-platform-declarations 2.3.0 ERROR on build [iOS]
- (# 2095) declarations.*.d.ts files missing from published package
- (# 3889) Add support for both 'focusLost' and 'textChanged' events for Text input (or) add a focusLost/blur Event
- (# 3872) Can't load a local HTML file with querystring via WebView.src (WebView.url works but is removed)
- (# 3118) Feature: New Dialog-Prompt-Input-Type for E-Mails
- (# 3642) BREAKING: Make typings compatible with DOM and Node typings
- (#4342) Unable to change the fontWeight for both iOS and Android
-
(#3790) Fix a crash in Android tabview when resetting font property
-
(#3675) Fix a crash when nesting a ProxyViewContainer in FlexboxLayout
- (#3565) Fix a crash when ActionBar transparent background
-
(#3270) Android platform.screen.mainScreen props are not invalidated after orientation change
-
(#3232) CSS support for separatorColor property of ListView
-
(#3220) Background of the buttons inside dialog can be modified with CSS
-
(#3218) ListPicker foreground color doesnt change
-
(#3215) StackLayout isUserInteractionEnabled="false" value is not working
-
(#3210) Segmentedbar crash using a number as title
-
(#3181) Cursor position resets on toggling value of secure property of TextField on Android
-
(#3175) Invalid value 500 for property fontWeight in XML
-
(#3172) Pseudo selectors not applying when app resumes
-
(#3163) Issue with WHxxx calculations on android / wrong files loaded
-
(#3147) Setting
setTypeface()
to null object -
(#3137) Ripple effect lost on Segmented-Bar with selectedBackgroundColor
-
(#3129) Modal dialogs don't have background color
-
(#3113) Transparent border rendered as black
-
(#3111) TextView new line closes virtual keyboard on Android
-
(#3098) Connectivity module always return undefined on android <= 4.4
-
(#3064) Setting automationText to a number crashes the app on Android
-
(#3060) CSS clip-path rect() shape function implemented incorrectly
-
(#3007) java.lang.NumberFormatException when applying clip-path with percentage values
-
(#2980) FlexboxLayout flex shrink factor is not multiplied by the flex base size
-
(#2941) Using IconFonts in ActionBar + navigation leeds to displaced icons
-
(#2870) [iOS] ActionBar w/translucent navigationBar set to false is creating whitish transition
-
(#2815) TabView.androidOffscreenTabLimit property
-
(#2672) Erratic action bar transition when using bound (or empty) title property
-
(#2179) iOS ActionBarItems overlapping before page load
-
(#2116) setInterval callback is not fired while touch events are being processed
-
(#1869) ActionBar icons in iOS (back, hamburger icon) with different height are "jumping" when changing the screens
-
(#1799) ActionBar drop shadow lost with background-color
-
(#1639) Custom components within other custom components: occasionally not loaded "in time" and ignoring css
-
(#2736) CSS support for styling status bar; backgroundColor added in ActionBarStyler
-
(#2693) CSS clip-path
inset
shape -
(#2689) TabView.iosIconRenderingMode property
- (#3170) Export set function for cssFile and resources
- (#3242) Setting placeholder color on text field crashes is there is no hint
- (#3217) Properly extend Error so message and stack appear in error activity
-
(#2942) ListView with TextField in the Item template not showing Keyboard on Portrait mode
-
(#2911) CSS scale breaks background properties on iOS
-
(#2884) Dialogs stop working in android after another activity is shown
-
(#2879) Function get allTouches() is not working on iOS 10
-
(#2873) CSS padding requires background-color in latest tns-core-modules on Android
-
(#2850) [iOS only] Percentage margin of layouts not possible
-
(#2834) Animations: scale() syntax does not support only one argument
-
(#2813) The Camera module in Android doesn't handle permissions for you
-
(#2789) CSS border-width causes text to overflow TextView
-
(#2781) CSS border-color does not recognize rgb and rgba values
-
(#2751) Camera module not working on IOS 10 (only in devices) / It hangs and exit the app
-
(#2742) A failure in the modules on debugging with NativeScript inspector
-
(#2741) Memory leak when using slide transition on Android (API Level 23)
-
(#2735) Navigation is slow on Android with tns-core-modules version 2.3.0
-
(#2733) [2.3.0] Image gets covered with color of Page color property
-
(#2714) NativeScript IOS Apps Broadcast as iPad in UserAgent String EVEN on iPhone Using http.getJSON()
-
(#2712) Memory leak in GridLayout on Page Navigation
-
(#2661) Styling ActionBar in css file carries over to other view
-
(#2596) Cannot set View id to just a number
-
(#2571) [Android] memory leak for Images
-
(#2460) Taking several picture leads to OutOfMemory Exeption
-
(#3044) FlexboxLayout CSS properties
-
(#2986) Enhancement: Page Imports
-
(#2820) ListView item template selector
-
(#2796) ActionItems lacks proper support for VoiceOver on iOS
-
(#2739) Feature Request: SegmentedBar CSS Support
-
(#2738) Feature Request: Improved TabView CSS Support
-
(#2656) TextField Line Color
-
(#2621) Feature request: Add accessibility labels to views.
-
(#2608) Move the camera module to a plugin
-
(#1763) Default design/theme for the cross-platform UI. A-la Bootstrap?
-
(#1650) Flexbox Layout support
-
(#699) Suggestion : Add image rotate left/right
-
(#50) Support for pseudo/state selectors in CSS
-
(#2657) Handle native instances with weak refs in transition closures
-
(#2615) Button with text-decoration cannot change its text
-
(#2601) Text color of the Button not applied, when
text-transform
has been set. -
(#2591) Label zero height issue fixed.
-
(#2586) Fixed issue when bind to bindingContext and other property.
-
(#2649) ImageView CSS color property support
-
(#2593) Content type with "+json" structured syntax suffix not parsed
-
(#2356) Integrate the iOS .d.ts generator
-
(#712) Ability to style EditableTextBase's hint property
- (#2427) Refactor application of text decoration, text transform, letter spacing and formatted text
- (#2414) CSS background-image on Label not loading in iOS
- (#2413) Multiple HTTP response headers not returned correctly on Android
- (#2391) App crash when editing text and text-view is removed
- (#2362) Multiple ScrollViews on one page fires scrollEvent simultaneously
- (#2173) iOS onSuspend + showModal() returning "Error: This value is not a native object"
- (#2121) The navigation bar duplicates when going to TabView's "More" tab
- (#2528) Letter spacing in EM units
- (#2457) Feature Request - Nested Bindable Observables
- (#1278) TabView button icons (iOS)
- (#734) Add API to retrieve the following standard user directories under iOS
- (#731) NavigationEntry.bindingContext property
-
(#2383) android LayoutParams are not overridden
-
(#2372) Custom title on Android fails with exception
-
(#2367) Android 6.0+ sets activity intent extras by default which breaks application resume
-
(#2344) Action bar doesn't handle events properly when a custom button
-
(#1655) Added CSS not cascadded after screen is built
-
(#2310) Sorting issue with Css Selectors with same specificity.
-
(#2301) Updated webinspector interfaces
-
(#2299) Binding converter calls.
-
(#2286) Visual glitch with manual iOS transitions
-
(#2268) Undefined can be set as localValue to dependency observable
-
(#2266) Animation value sync issues
-
(#2263) Crash when ListView is used in a modal dialog (Android).
-
(#2262) Crash in action bar on iOS 9.3
-
(#2256) Custom ActionItem gets displaced in iOS
-
(#2250) Ignore the case when getting a response header
-
(#2240) Possible regex issue with CSS class names
-
(#2225) The exit transition of the current page is not played when navigating with clearHistory.
-
(#2220) Close current modal page on livesync
-
(#2209) CSS-Animation w/ iteration-count:infinite is never reset causing OutOfMemory error
-
(#2191) SegmentedBar unbound items not firing selectedIndex change events
-
(#2177) iOS CSS Animation rotate() do not reset the value after 360 degrees rotation
-
(#2161) TranslateX and Animate in iOS strange behaviour on 2.0
-
(#2151) Add z-index to the public API
-
(#2053) WebView still visible in chrome://inspect after page is destroyed
-
(#1948) Navigation stops working after navigating with clearHistory and a transition
-
(#1899) Android layerType should not be changed if there is no need
-
(#1807) SearchBar.textFieldHintColor not respected on iOS
-
(#1425) Images have margin when added to Layout
-
(#1563) Enable modules snapshot for Android
-
(#2339) Implement the BorderDrawable class used in background.android.ts in Java
-
(#2322) Added support for debugging TypeScript in WebInspector
-
(#2307) Modules won't call android requestLayout anymore. Android will handle its layout when needed
-
(#2304) Rename com.tns.Async.xxx to org.nativescript.widgets.Async.xxx
-
(#2298) Move UILableImpl as TNSLabel in widgets.
-
(#2288) Decouple Fragment implementation logic from the Extend call.
-
(#2271) Extract the Activity implementation logic in a separate class.
-
(#2270) Avoid excessive requestLayout calls
-
(#2269) Label won't requestLayout when its text is changed if it has fixed size
-
(#2260) Optimized DependencyObject setValue performance
-
(#2244) Remove the android.app.Application extend from the core modules
-
(#2217) Enable hardware acceleration for views animations in Android.
-
(#2198) Image won't requestLayout when measured with 'exactly' spec
-
(#2174) ListView views will apply CSS once per view.
-
(#2144) Performance improvements
-
(#2133) Removed unnecessary view state creation.
-
(#2126) zIndex fixed for Android buttons
-
(#2113) Panning gesture in Android creates non-smooth delta coordinates.
-
(#2100) Fix navigatedFrom event raised when Activity is destroyed without act…
-
(#2099) Typo in Pointer.getY method for iOS
-
(#2084) App crashes when animating ActionBar
-
(#2077) Animations not working in 2.0.0 on android?
-
(#2076) 2.0 Corrupted navigation stack
-
(#2062) Cannot change the iOS status bar text color since 2.0
-
(#2018) Bold and italic do not work on Android when no font family is specified
-
(#1982) UI not updated when propertyChange event of Observable is raised
-
(#1963) Default SegmentedBar items to textwrap false, expose option to configure
-
(#1958) Animate iterations property counts -1 on iOS when value is => 2
-
(#1916) TimePicker minHour, maxHour are throwing exception when hour is out of their range
-
(#1912) Text-transform not applied on text property change (label, button, etc.)
-
(#1905) Visual states not working properly when the animation is canceled in Android
-
(#1902) CSS text properties not applying on button when no other text element is used in page
-
(#1893) CSS animations from the application-wide .css file do not aply
-
(#1887) Parent directory not created by file-system.File.fromPath()
-
(#1878) Multiple actionView items do not handle tap event correctly
-
(#1864) Generic font families should use system fonts on iOS
-
(#1859) CSS text-transform is not correctly applied in a virtualized ListView
-
(#1822) verticalAlignment "middle" and "center" crash the app on Android
-
(#1820) All topmost().navigate instances stop working after AdMob interstitial close
-
(#1813) Add ability to set attributed text on button
-
(#1809) Unable to show dialog from a modal page
-
(#1794) Update TextBase/Button
text
property whenformattedText
changes -
(#1792) NSRangeException when typing in a TextField with formatted text
-
(#1788) Difference in jpg resource syntax on iOS/Android
-
(#1787) Going back with the stock "Back" button on iOS always animates the transition
-
(#1776) Swipe back not working since 1.6
-
(#1775) Using RGBA in CSS
-
(#1772) Unable to open a page with FormattedText on iOS
-
(#1770) Color animations are broken on Android
-
(#1570) 1.6 navigation events firing out of order
-
(#1943) Publish @next builds
-
(#1862) Support for all font-weight CSS values with the best mapping possible
-
(#1760) Add public instance methods to View class for getting locations and sizes
-
(#1757) Support letter-spacing property in CSS
-
(#1686) Allow updates to application CSS
-
(#1660) Feature request: Add CSS ability for other properties
-
(#1608) Add support for CSS 3 animations and transitions
-
(#1451) Enable Android 6 way for requesting permissions
-
(#828) Create a 'source'-like property on the View class for debugging
-
(#515) CSS style property "z-index"
- (#1614) App crashes after a while leaving it open and re-selecting it on Android
-
(#1737) TypeError from fetch module due to no headers received
-
(#1721) TextField returnPress event not working on Android
-
(#1695) HTTP module does not support multiple headers with same name
-
(#1693) "ui/frame".NavigationEntry.transitionAndroid is not supported
-
(#1692) Apply visibility via binding fails [Android]
-
(#1691) App crash if ActionBar includes an 'id' tag [Android]
-
(#1667) Tap event does not fire when using codeFile in different directory
-
(#1631) The dialogs.confirm throws exception when writing Angular 2 + {N} app
-
(#1624) Fixed jumpy navigation between pages in iOS
-
(#1583) Remove message escaping
-
(#1569) Regression: back button breaks app on clearHistory: true (android)
-
(#1559) Image rotation from camera
-
(#1543) [Android] View._onDetached called twice when app is suspended
-
(#1389) Frame navigate, while Android activity is paused, crash
-
(#1078) FormattedText styling not working in iOS
-
(#1602) Request: AppSettings - clearAll
-
(#1488) Ability to define a custom view in ActionItem
-
(#1330) Allow NativeScript application to define different base class for activity and application
-
(#1267) Implement icon font support for ActionBarItems
-
(#1076) Feature request: Physics
-
(#704) Support of Px,rem
- Up to v 1.6.0, the background drawable attribute of the buttons in Android was always replaced. To keep the consistency with the default platform-specific background, the attribute is not changed now and the button is only styled.
-
(#1534) FileSystemAccess.fileExists returns true for directory as well
-
(#1524) Label text="{{ anyField }}" should not print out "null" if the field is "null"
-
(#1520) When using remote background images, positioning CSS properties ignored
-
(#1467) Detect JSON response in XHR and auto-parse the response
-
(#1463) fetch/XMLHttpRequest re-URL-encodes first % character in query string
-
(#1443) Impossible to rotate 360 degrees on iOS
-
(#1426) App crash when TabView has more than 5 items and different font-style
-
(#1415) TabView crashes the app when "Don't keep activities" option is turned on
-
(#1405) Complete app crash when tapping around a Textfield at times
-
(#1396) Fixed bug in GridLayout
-
(#1381) Fix originX/Y not applied when set before layout in Android
-
(#1371) ListView Android bug and fix
-
(#1359) Getting error when restore/opening minimized app first time after installation
-
(#1349) FormattedText Span foregroundColor and backgroundColor cannot be set using known color
-
(#1340) Remove global dependency from fetch library
-
(#1326) Fix action-bar when app is put to background and restored (and Do not keep activities is TRUE)
-
(#1296) Change Android button background method
-
(#1290) ListView with rounded items cannot show the background of page
-
(#1280) text-transform breaks child colors
-
(#1275) ActionBar disappears when app closes with back button
-
(#1240) Android 5.x: setting View.opacity (setAlpha) removes its background
-
(#1232) WrapLayout crashes when itemWidth value is too high
-
(#1223) Android image that has a complex background (i.e., with rounded corners) cannot animate opacity correctly
-
(#1218) Setting and instantly animating a property fails for iOS
-
(#1177) Alert dialog in SegmentedBar selectedIndexChanged event blocks navigation
-
(#1127) Changing ActionBar title after page is loaded does not show the ActionBar
-
(#1123) iOS: ActionBar covers the page
-
(#830) The border-radius on Android 4.4.4 (Samsung Tab) not applied to
-
(#758) The platformModule.device.language results are different in iOS and Android for the same language
-
(#659) Problem with iOS resizing when there is an activity running in background (active call, hotspot, etc.)
-
(#518) Allow ActionItems to be directly specified between the ActionBar opening and closing tags
-
(#1433) Binary sync read/write added
-
(#1429) File download implemented
-
(#1366) Export listeners/events for GestureStateType "began" and "ended"
-
(#1363) Cross-platform animation-timing-function / easing
-
(#1357) Frame.goBack can now accept an entry to navigate back to
-
(#1352) Data URLs supported for Image object
-
(#1283) Can't access args.object.page from ActionBar ActionItem tap event
-
(#1242) Add Page
showingModally
event -
(#1129) Why are iOS modal animations disabled by default? Can we pass an option to enable it?
-
(#811) Page navigation transitions
-
(#733) Add API to open a file at a given path with the default application
-
(#714) Automation ids
-
(#709) API Stability Index (proposal)
-
(#520) XML declaration better error reporting for malformed attribute content
-
(#412) Feature request: support percentages for width and height
-
(#98) Support for advanced CSS selectors
- (#1447) Application fails with Segmentation fault on iOS when using ScrollView
-
(#1235) ObservableArray does not raise its
change
event when its `length' property is set -
(#1228) URL with % fixed
-
(#1213) Android build error when space exists in the folder
-
(#1186) Fix currentEntry to return NavigationEntry instead of BackstackEntry
-
(#1179) ListView doesn't seem to clear\reset
-
(#1168) Alert with null value is not displayed
-
(#1160) iOS: The image supplied to Label.backgroundImage is rendered upside down.
-
(#1149) Correct TabView icon rendering mode
-
(#1142) ObservableArray does not provide removed items through EventData when an UPDATE action occurs
-
(#1139) Missing attributes in the NativeScript XSD schema
-
(#1018) Using the background-position with negative values
-
(#754) The backgroundColor of a Label is not animatable in iOS
-
(#1171) Expose API to get the focus point of pinch gesture
-
(#1140) Expose API for setting origin (a.k.a. pivot or anchor) point for view transformations
-
(#1136) Add Template factory function and use it in the ui/builder, Repeater and ListView components
-
(#1109) Min/Max and intervals values on date / time pickers
-
(#691) Visibility attribute on ActionItem element
-
(#685) Support CSS text-transform
-
(#501) Better XML declaration error reporting for non-existing element
- The XML namespace (xmlns) of the validator XSD schema changed from
xmlns="http://www.nativescript.org/tns.xsd"
toxmlns="http://schemas.nativescript.org/tns.xsd"
. For convenience, the file can now get downloaded via the same URL.
-
(#1089) HTTP toString will raise error if response cannot be converted to string
-
(#1082) Null reference exception in view.android.setOnTouchListener method
-
(#1081) File system writeTextSync will now unlock the file when it is done writing
-
(#1038) WebView with HTML string source does not render on old Android
-
(#1028) [iOS] SelectedIndex property of the TabView widget does not work
-
(#1021) The page.loaded and page.navigatedTo events are fired twice on iOS
-
(#1019) Search-bar color not applied correctly
-
(#1012) TextField/TextView CSS color not applied to cursor
-
(#1010) Slider CSS color/background-color support
-
(#1007) When application.start() is called twice on iOS, a meaningful error should be thrown
-
(#1004) ActivityIndicator CSS color support
-
(#1000) Border radius is not working on Android API 17
-
(#998) WebView images now will be loaded correctly with base URL
-
(#993) CSS does not support new lowercase element names
-
(#990) Android 6 WebView onReceivedError
-
(#986) [iOS] The Switch widget does not show up on the page
-
(#973) iOS owner pattern changed to use WeakRef in order to prevent memory leaks
-
(#966) Observable emits two
propertyChange
events when created with JSON -
(#963) Always set base URL in WebView
-
(#955) Gestures event arguments for Android fixed
-
(#941) global.ios missing (consistency)
-
(#940) ListView: inconsistency retrieving bindingContext in tap handler
-
(#936) Subsequent animation of transition and rotation or scale will appear jumpy in iOS
-
(#889) vertical-align CSS inconsistency
-
(#820) The x and y components of an Android translate or scale animation are not animated together when delay is specified
-
(#801) Chained animations lose state on iOS
-
(#789) Error in page navigating events order
-
(#781) iOS page.showModal platform inconsistancies & bugs
-
(#715) Frame crashes on app restore occasionally
-
(#642) Ability to style other native widgets
-
(#1001) Embed utility fonts: Awesome, Icons, etc.
-
(#1102) Ability to specify an animation easing, i.e., curve in a platform-independent manner
-
(#1086) This will now allow the dialog to call the resolve function when cancelled by clicking outside
-
(#1057) Expose scroll event on ScrollView
-
(#1048) Event for start/end of an event
-
(#1041) Support binding for
class
property of views -
(#1034) Support CSS white-space: nowrap and normal
-
(#1020) DatePicker and TimePicker stylers added
-
(#1014) Button wrapText property
-
(#977) Smarter LiveSync
-
(#954) Added simple showModal() overload
-
(#926) Context as to whether a navigation was back or not
-
(#922) Feature request: add loading wheel to Dialogs module
-
(#875) CSS feature request:
text-decoration
-
(#856) Android 6 support
-
(#849) Implement dismissSoftInput() for search-bar
-
(#841) Distribute TypeScript definitions
-
(#767) Change Android navigation and tabs title color
-
(#727) Provide a way to get a reference to the currently showing modal page instance
-
(#693) ListView - the position of the item after scroll down is not correct
-
(#597) Some complex properties are inconsistent with rest of API - discussion
-
(#551) Ship a verified image picker plugin
-
(#364) Ability to use built-in system icons on ActionBarItems
-
(#904) Navigate clearHistory sometimes crashes Android with a null pointer exception
-
(#901) TypeError: using example from docs
-
(#893) isLoaded is set before calling applyStyleFromScope
-
(#873) The Repeater is re-creating its children multiple times during initialization
-
(#867) The utils.ad.async method is not implemented
-
(#857) Android action dialog actions are not shown if message is provided
-
(#851) takePicture crashes iOS simulator
-
(#848) WebView loads local data with UTF-8
-
(#843) [iOS] Page is layouted as there is no NavigationBar
-
(#839) Page background now spans under ActionBar
-
(#837) Blank text attribute on SearchBar crashes app
-
(#835) iOS animations combining several affine transform properties set only the first property on our view after they finish
-
(#832) Transformations such as scale, translate, rotate won't be incorrectly affected by the layout
-
(#819) WebView check for http/https should be case insensitive
-
(#817) The timers.clearInterval doesn't work on Android
-
(#814) Ternary if and parenthesis makes UI not update
-
(#808) Segmentedbar selectedIndexChanged doesn't work
-
(#805) Missing console.dump on iOS...
-
(#793) Label.backgroundColor cannot be animated in iOS
-
(#790) Cannot use number values in EditableText's hint field
-
(#777) iOS Border-radius on Label
-
(#774) If an animation instance is played more than once, the same promise is resolved each time leading to unexpected results
-
(#772) Placeholder with an id attribute doesn't call creatingView handler
-
(#763) 1.3 - Cannot build new project due to missing App_Resources
-
(#759) Android animations that animate a property to its current value do not run
-
(#756) Add support for Nordic characters: "æøå"
-
(#744) iOS 9 issues
-
(#732) Closing an alert on the iPad crashes the whole app
-
(#605) Guard for "undefined" in Observables on and off
-
(#890) Implement Page background option to span under status bar (iOS only)
-
(#766) Rename cssClass property to just class
-
(#740) Modules does not support iOS9
-
(#713) ReturnKeyType Listener
-
(#283) Cross-platform way to clear history
-
(#241) Set base URL in WebView to be able to load resources
- (#774) Animation class no longer has a finished property because an animation can be played multiple times. The play method now returns a new promise each time it is invoked. Use this to listen for the animation finishing or being cancelled. When upgrading to version 1.4.0 or above, simply remove .finished from your code.
Old Code (JavaScript):
animation1.play().finished.then(function () { console.log("Finished"); });
New Code (JavaScript):
animation1.play().then(function () { console.log("Finished"); });
Old Code (TypeScript):
animation1.play().finished.then(()=>console.log("Finished"));
New Code (JavaScript):
animation1.play().then(()=>console.log("Finished"));
-
(#680) Fix dialogs module parameter positions and add title as optional parameter
-
(#667) Layout is not updated once Page is shown modally and layout is requested
-
(#654) Multiple gestures not working for Android
-
(#651) Using http getJSON never completes when response is not JSON
-
(#623) CSS inconsistency...
-
(#616) TitleView in ActionBar not taking full width in Android 5.1
-
(#613) WebView - support for loading local files
-
(#590) CSS not working on Repeater when bindingContext set on 'navigatingTo'
-
(#587) Animation promise in iOS may never be resolved nor rejected
-
(#581) HtmlView only for single line?
-
(#557) Handlebar syntax in view with comma breaks silently
-
(#540) The border-radius CSS property not applying properly to image on Android
-
(#537) FileSystemAccess.prototype.readText has an async interface, but is synchronous
-
(#535) Random exception when using http.getJSON()
-
(#513) Android backgroundColor animation is not gradual
-
(#508) iOS Page lack of a background screws the page transitions
-
(#411) Setting invalid value for CSS properties causes app to crash
-
(#408) ScrollView does not scroll
-
(#360) Changing wrap layout paddings and its view margins runtime causes a crash on iOS
-
(#698) Implement events for the SegmentedBar similar to TabView
-
(#688) JSONP support for HTTP module
-
(#672) HtmlView doesn't open URLs
-
(#670) Add a cross-platform "openUrl"
-
(#634) Make SegmentedBarItem bindable
-
(#619) View.style is not consistent with Declarative UI .style property
-
(#615) View component consistancy
-
(#612) CSS @import: Make URL optional for local files
-
(#610) Hiding the ActionBar also hides the headers of a tab view
-
(#578) Add scrollToIndex method to ListView
-
(#558) Bind multiple events on one view
-
(#551) Implement an image picker
-
(#548) Expose public API controlling whether a Page should be added to the navigation backstack or not
-
(#541) Make TabViewItem properties data-bindable
-
(#530) Ability to set text size of searchBar
-
(#481) Support padding on TextField and Button elements
-
(#473) Add support for Notification Observers (iOS) and Broadcast Receivers (Android)
-
(#451) Improve the network stack
-
(#432) Expose all of the iOS UIApplicationDelegate methods as events in the application module
-
(#409) Support for modules that depend on Android AppCompat libraries
-
(#309) Support lower-case-dashed component declaration in the XML
-
(#305) Improve Android layout performance by reducing marshalling calls
-
(#255) Implement cross-platform animations support
-
(#169) Create a schema for the XML UI to enable IntelliSense inside AppBuilder and other IDEs
-
(#110) Add support for orientation changed event
-
(#69) Add rotate, translate & scale transforms properties on View
-
(#68) Create common UI module that includes most commonly used UI views
- (#473) The
application.ios.removeNotificationObserver
method now requires an observer instance to be supplied as the first argument. The observer instance is obtained from theapplication.ios.addNotificationObserver
method:
var observer = application.ios.addNotificationObserver(UIDeviceBatteryLevelDidChangeNotification,
function (notification) {
console.log(notification);
});
application.ios.removeNotificationObserver(observer, UIDeviceBatteryLevelDidChangeNotification);
-
(#575) Application crashes in Android when there is an ActionBar on the first page
-
(#576) The app.css now applied when there is page-specific CSS
-
(#393) Create application.android instance immediately and move all Android-specific events to application.android
-
(#391) Implement cancellable back button pressed for Android
-
(#304) Expose additional properties of NavBar/ActionBar
-
(#294) Add an optional fullscreen parameter to Page.showModal method
-
(#263) Provide per page option for manipulating NavigationBar
-
(#191) Extend the set of support CSS properties in {N}
-
(#423) Showing a modal page from another modal page results in error on iOS
-
(#422) Login dialog - iOS7: loginResult.userName returns password as a value instead of username
-
(#421) Page.showModal seems completely broken in iOS
-
(#406) Prompt dialog - iOS7: okButton returns result equal to false, cancelButton returns result equal to true
-
(#405) FPS module will now correctly count frames while scrolling in iOS
-
(#395) Using dialogs.action() causes app to crash on iPad
-
(#372) Simple location app doesn't perform until real GPS apps are also running
-
(#368) [Screen Builder] Model is not updated when an observable object property is used in two text fields
-
(#343) Not returning a view on the view parameter of the creatingView event handler of the placeholder crashes the application
-
(#322) Creating an observable by passing a JSON object in the constructor does not define the respective properties on the observable object instance
-
(#285) The
visibility
property inconsistent with CSS -
(#270) BackgroundImage property does not respect the CornerRadius when set to Border
-
(#261) WebView crash when navigating back
- (#304) ActionBar/NavigationBar is now defined using the
page.actionBar
instead ofpage.optionsMenu
. See an example...
tns debug ios
command is not working. The workaround is to usetns debug ios --framework-path "__path to the iOS runtime__"
. A fix for this is coming in 1.2.1 which will be released the week of July 27th.
-
(#280) Change NativeActivity Pbase class in order to be compatible with Android runtime
-
(#244) Expose application-level events as real events See an example...
-
(#233) Application module event handlers are lacking in parameters See an example...
-
(#221) View parent exposed in itemLoading event
-
(#214) Repeater component added Read more...
-
(#207) Optimizations
-
(#199) TabView.selectedIndexChanged event
-
(#184) Hint property for TextView
-
(#176) Implement navigatingTo, navigatedTo, navigatingFrom and navigatedFrom events on page
-
(#267) SegmentedBar CSS color not applied correctly when items are bound
-
(#257) Fix some crashes for ListView's iOS UITableView
-
(#242) Cannot attach gesture observer for more than one gesture (Android)
-
(#234) DatePicker and TimePicker property bindings do not work in Android 5.x
-
(#228) ListPicker for Android shows text after bound to an empty array
-
(#222) ListPicker showing number of items in list (Ticket938420)
-
(#196) Layout is incorrect after device rotation in iOS when there is navbar
-
(#193) Layout is broken when there is an optionsMenu on the first page in iOS
-
(#189) Changing
bindingContext
affects UI elements that has a binding tobindingContext
-
(#188) Remaining item when cleared page options menu in iOS
-
(#187) Custom source for UI element binding fails
-
(#186) Using object get property syntax for binding expressions
-
(#175) Implement weak event pattern on ListView (when bound to observable)
- (#242) View and GesturesObserver classes have some breaking changes related to gesture operations
- New options for camera module. Added a resizing options along with keep-aspect-ratio options. More information about how to use it can be found at the dedicated camera help article.
- First-file search order changed. Now package.json is searched first, then index.js and bootstrap.js is being searched last.
- Taking a full size picture in Android with NativeScript camera module.
- Pages no longer freeze on cancelling back-navigation via swipe gesture.
- Items having verticalAlignment set to center now have correct layout bounds.
- Camera for iOSs no longer throws a Null pointer error.
- iOS dialog OK button now appears last.
image-cache
now stores native image instances, i.e.,android.graphics.Bitmap
orUIImage
.Image.src
property is now of typeany
and can accept either a string containing an image url or a native image instance.- Gesture-related enum values changed to start with a small letter in order to be consistent with all other enums within NativeScript. For example, "gesturesModule.GestureType.Tap" should be used like "gesturesModule.GestureType.tap".
knownEvents
modules within all UI controls are removed and replaced with a static string values. In that case, all possible events will be visible through the inheritance tree. These static strings have anEvent
suffix. Every place whereviewModule.knownEvents.loaded
is used should be changed toviewModule.View.loadedEvent
orpageModule.Page.loadedEvent
. This change is relevant to code-behind only (xml declaration will not be affected).
-
In addition to binding converters introduced in version 0.42 static (global) place for most common converters is added. This place is named
application.resources
. More information about how to use it can be found in the special help topic:Data binding
. -
Using plain objects (numbers, strings also an entire object) as binding context via
$value
. More information can be found at the dedicatedData binding
help topic.
- Image:
url
property renamed tosrc
. - Image:
source
property renamed toimageSource
. - TabView:
TabEntry
renamed toTabViewItem
. - Module
local-settings
changed toapplication-settings
. Only the name of the module is changed (API remains the same), hence therequire
statements must be updated, i.e.,require("local-settings")
should be changed torequire("application-settings")
.