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)
-
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.