Google's popular JavaScript framework Angular has released the latest version 7.2 a few days ago for building mobile and desktop applications. Angular is a popular JavaScript-based open source front end web application framework to develop single-page applications. In Angular development, the developers need to compose components with an HTML component that connects to TypeScript code for imperative parts of the program by providing dependency injection, particularly useful for assembling data services for application and use of an HTML template to compose components.

After the Angular 7.1 production release, Ivy is still in development and yet it’s already on with Angular 7.2. The second beta has some features for Bazel delivered, including the official Angular Schematics for Bazel. Let us check some new features and bug fixes break change to utilize in your next application.

Angular 7.2.0-beta.1

The second is even bigger after the small first beta for Angular 7.2 which provides numerous bug fixes, new features and a breaking change under the theme of Bazel. Bazel is a build and test tool developed similarly to Angular; the Angular developers are working on integrating the tool into Angular to have easy access.

The Angular Schmeatics for Bazel has been officially implemented in which Bazel can be added to a project via the ng-new command in the CLI. Also, the future transitive dependencies come with a breaking change in the second beta of Angular 7.2 of

build_bazel_rules_nodejs

And

build_bazel_rules_typescript

which no longer get installed automatically via

rules_angular_dependencies()

Alternate to this, they must be manually installed from the workspace file:

load("@build_bazel_rules_typescript//:package.bzl", "rules_typescript_dependencies") rules_typescript_dependencies() load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dependencies") rules_nodejs_dependencies()

The new release also brings few new features for the router adding to the innovations for Bazel.

Angular 7.2 enhances router capabilities, including:

The Navigation type during navigation to target URLs, Navigation, and NavigationExtras data.

Allow for passing of state to routerLink directives, as well as passing of state to NavigationExtras.

Restoration of a whole object when navigating back to a page managed by the Angular router.

The addition of the pathParamsOrQueryParamsChange mode for runGuardsAndResolvers which provides an option to guards and resolvers who ignore changes to matrix parameters. Guards and resolvers will be rerun when the path changes when path parameters change, or if query parameters change. The primary use of this mode is when updating the UI and getting the URL in sync with local changes.

Angular 7.2 is an ng-schematics capability for the Bazel build tool. Schematics are created for building a project with an ng newcommand and also has bug fixes for Bazel, the router, and the core of the framework.

Where to download Angular 7

You can download the Angular 7 production release from the GitHub.

Features

Add support for typescript 3.2

bazel : ng-new schematics with Bazel

: ng-new schematics with Bazel forms : Match getError and hasError to get method signature

: Match getError and hasError to get method signature router : Add predicate function mode for runGuardsAndResolvers

: Add predicate function mode for runGuardsAndResolvers router : Add a Navigation type available during navigation

: Add a Navigation type available during navigation router : Add pathParamsOrQueryParamsChange mode for runGuardsAndResolvers

: Add pathParamsOrQueryParamsChange mode for runGuardsAndResolvers router : Allow the passing state to routerLink directives

: Allow the passing state to routerLink directives router : Allow the passing state to NavigationExtras

: Allow the passing state to NavigationExtras router: Restore the whole object when navigating back to a page managed by Angular router

Bug Fixes

animations : Do not truncate decimals for delay

: Do not truncate decimals for delay animations : Mark actual descendant node as disabled

: Mark actual descendant node as disabled bazel : Unable to launch protractor test on windows

: Unable to launch protractor test on windows bazel : devserver entry_module should have underscore name

: devserver entry_module should have underscore name bazel : Emit full node stack traces when Angular compilation crashes

: Emit full node stack traces when Angular compilation crashes bazel : Fix major/minor semver check between @angular/bazel npm packager version and angular bazel repo version

: Fix major/minor semver check between @angular/bazel npm packager version and angular bazel repo version bazel : Load http_archive and rules_nodejs dependencies

: Load http_archive and rules_nodejs dependencies bazel : ng_package writes irrelevant definitions to bazel out

: ng_package writes irrelevant definitions to bazel out bazel : Set module_name and enable ng test

: Set module_name and enable ng test bazel : Fix TS errors in the schematics/bazel-workspace files

: Fix TS errors in the schematics/bazel-workspace files bazel : Read the latest versions from latest-versions.ts & use server check

: Read the latest versions from latest-versions.ts & use server check bazel : tsickle dependency not working with typescript 3.1.x

: tsickle dependency not working with typescript 3.1.x bazel : Do not throw an error when writing tsickle externs

: Do not throw an error when writing tsickle externs bazel : Do not throw if ts compile action does not create esm5 outputs

: Do not throw if ts compile action does not create esm5 outputs bazel : ng_package cannot be run multiple times without clean

: ng_package cannot be run multiple times without clean bazel : ng_package not generating UMD bundles on windows

: ng_package not generating UMD bundles on windows bazel : ng_package should correctly map to source maps in secondary entry-points

: ng_package should correctly map to source maps in secondary entry-points bazel : Respect existing angular installation

: Respect existing angular installation common : KeyValuePipe should return an empty array for empty objects

: KeyValuePipe should return an empty array for empty objects common : Expose request url in network error

: Expose request url in network error compiler-cli : Create LiteralLikeNode for String and Number literal

: Create LiteralLikeNode for String and Number literal compiler-cli : flatModuleIndex files not generated on windows with multiple input files

: flatModuleIndex files not generated on windows with multiple input files core : Export value for InjectFlags

: Export value for InjectFlags core : More precise return type for InjectableDecorator

: More precise return type for InjectableDecorator forms : A typed argument for FormBuilder group

: A typed argument for FormBuilder group platform-server : Add @angular/http to the list of peerDependencies

: Add @angular/http to the list of peerDependencies router : Ensure URL is updated after second redirect with UrlUpdateStrategy="eager"

: Ensure URL is updated after second redirect with UrlUpdateStrategy="eager" router : Update URL after redirects when urlHandlingStrategy='eager'

: Update URL after redirects when urlHandlingStrategy='eager' upgrade : Allow nesting components from different downgraded modules

: Allow nesting components from different downgraded modules upgrade : Correctly handle nested downgraded components with downgradeModule()

: Correctly handle nested downgraded components with downgradeModule() upgrade : Upgrade Directive facade should not return a different instance from constructor

: Upgrade Directive facade should not return a different instance from constructor upgrade: Don't rely upon the runtime to resolve forward refs

You can check out the GitHub repo for the extensive changelog.

What about Ivy?

The angular developers must be waiting for the Ivy Renderer as not much has changed since the release of Angular 7.1. You could shape Angular to small, easy to debug and fast compilation by its rendered code-names Ivy. As it comes as a non-breaking change, you will automatically be updated by its future release. Meanwhile, you can track the Angular team's progress from ivy.angular.io.