Codementor Events

Angular Version 7.2: What’s New in the Store?

Published Jan 22, 2019
Angular Version 7.2: What’s New in the Store?

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
  • forms: Match getError and hasError to get method signature
  • router: Add predicate function mode for runGuardsAndResolvers
  • router: Add a Navigation type available during navigation
  • router: Add pathParamsOrQueryParamsChange mode for runGuardsAndResolvers
  • router: Allow the passing state to routerLink directives
  • router: 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
  • animations: Mark actual descendant node as disabled
  • bazel: Unable to launch protractor test on windows
  • bazel: devserver entry_module should have underscore name
  • bazel: 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
  • bazel: Load http_archive and rules_nodejs dependencies
  • bazel: ng_package writes irrelevant definitions to bazel out
  • bazel: Set module_name and enable ng test
  • bazel: Fix TS errors in the schematics/bazel-workspace files
  • bazel: Read the latest versions from latest-versions.ts & use server check
  • bazel: tsickle dependency not working with typescript 3.1.x
  • bazel: Do not throw an error when writing tsickle externs
  • bazel: Do not throw if ts compile action does not create esm5 outputs
  • bazel: ng_package cannot be run multiple times without clean
  • bazel: ng_package not generating UMD bundles on windows
  • bazel: ng_package should correctly map to source maps in secondary entry-points
  • bazel: Respect existing angular installation
  • common: KeyValuePipe should return an empty array for empty objects
  • common: Expose request url in network error
  • compiler-cli: Create LiteralLikeNode for String and Number literal
  • compiler-cli: flatModuleIndex files not generated on windows with multiple input files
  • core: Export value for InjectFlags
  • core: More precise return type for InjectableDecorator
  • forms: A typed argument for FormBuilder group
  • platform-server: Add @angular/http to the list of peerDependencies
  • router: Ensure URL is updated after second redirect with UrlUpdateStrategy="eager"
  • router: Update URL after redirects when urlHandlingStrategy='eager'
  • upgrade: Allow nesting components from different downgraded modules
  • upgrade: Correctly handle nested downgraded components with downgradeModule()
  • upgrade: 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.

Discover and read more posts from Olivia Diaz
get started
post commentsBe the first to share your opinion
dgosai
5 years ago

Wonderful article I like it all required info for newer update at one blog. Thanks!

ChadKMerritt
5 years ago

Thank you for the useful review of the new version of Angular. I do the layout of sites on WordPress and now I want to learn Angular. As far as I know, experts who know Angular well make good websites and earn more money. But I wonder if it makes sense to make a website for a cheap term paper writing service in Angular, or is it better to make such websites on WordPress? I now plan to make a similar site on the latest version of WordPress, although it is not stable. What would you do?

Show more replies