Releases: DorianGrey/ng-webpack-template
6.1.0
This release includes a change to the default behavior of the production build process. It utilizes various plugins and strategies to optimize long-term caching abilities of the generated output, based on the official docs on how to achieve this with webpack.
Since these strategies require the extraction of a vendor bundle and a manifest information, the resulting output is larger than before, approx. 5%. I've added an overview with some numbers from the various steps that got applied here.
In case this is not suitable for your purpose, this behavior can be disabled by add --env.disableLongTermCaching
to the build parameters.
(Side-note: This config option is also the reason why this is not a major version bump: It's a breaking change to modify the default behavior - even if it should not affect anyone that did not modify the build process yet - but it's not irreversible.)
6.0.0
Another major release, primarily due to the changes in the updated dependencies.
Breaking changes:
- Updated normalize.css to v6.0.0, which dropped the opinionated rules (see the changelog). While this is (technically) a breaking change, it will not have any negative impact on most users.
Features:
- The template now utilizes some additional libraries to work with ngrx/store, i.e.:
- @ngrx/router-store to properly connect store and router.
- ngrx-store-freeze in development mode to be able to detect unintended mutations to the store's contents.
- @ngrx/store-devtools in development mode to make monitoring and debugging of the store more comfortable. Note that support for @ngrx/store-log-monitor was not added (yet), since it caused some problems with conditionally excluding it for production builds. Will be added later on once I've found a way to work around it.
- reselect for simplified creation and usage of nested store selectors, e.g. when the state contains some non-trivial entries. The todo list page was changed to properly illustrate its usage.
- Added codelyzer with the recommended rules to the linting process. Please note that due to the extremely poor performance of lint with type-checking - which is required for some of the rules - this is only performed in the production versions. The development checks are only using the rules that are applicable without type-checking.
- As a result, I've adopted the project's code to align with the additional linting rules.
5.0.0
- Merged the angular-4 branch, since v4.0.0 was recently published and can be considered as stable.
- Some things to take care of:
- I've changed some of the commands to interact with the template to provide a more usual interaction interface. See the README for details.
- Some of the packages from @types caused problems with duplicated symbol definitions. I've put them on a fixed version for now, and I strongly recommend to not change this unless you really now what you're doing.
- @types/lodash => 4.14.54 (only added because it is referenced by @types/lodash-es)
- @types/lodash-es => 4.14.4
- @types/core-js => 0.9.36
- @types/node => 7.0.7
4.2.0
Release includes:
- Several non-breaking dependency updates
- Some minor style changes
- A behavior change that adds the current language to the store and thus to the application's state. As a result, the selected language is retained between hot module reloads. This should not break anything, unless you've changed something on the internals of the translation behavior.
5.0.0-RC.1
This version uses angular 4.0.0-rc.3 instead of the current 2.4.x.
4.1.0
Various dependency updates. No breaking changes.
4.0.0
Along with several minor and patch level updates, this release also contains some new feature and breaking changes.
Breaking changes:
-
Dependencies:
- The application now uses lodash's ES-module version lodash-es instead of its plain one before. This supports tree-shaking and thus results in smaller production builds. Note that the utility tools are still using the commonjs version, so the former version is still listed as a dev dependency.
If you did not change the@types/lodash
version referenced by the template, changes will just look like this:
// Before import * as indexOf from "lodash/indexOf"; // Now import indexOf from "lodash-es/indexOf";
As illustrated above,
lodash-es
offers standard-compliant default exports, so importing the relevants parts gets a lot easier than before. - The application now uses lodash's ES-module version lodash-es instead of its plain one before. This supports tree-shaking and thus results in smaller production builds. Note that the utility tools are still using the commonjs version, so the former version is still listed as a dev dependency.
-
Styles:
- normalize.css is included by default. I've seen that a lot projects benefit from it, thus, it's now there to start with.
- The native font stack is used by default, instead of
Helvetica Neue
before.
New features:
- There is now an option to use the Closure Compiler for code minification. Although its advanced mode is not yet usable, it saves at least 10KB of the minified build results. This might increase, depending on your particular setup. See the README for details how to use it.
3.1.0
Another minor release due to minor updates to:
- rxjs
- tslib
- typescript
- webpack-dev-server
3.0.0
This release includes another breaking change of one of the libraries in use:
ngx-translate/core, which was ng2-translate
before. Not only the package name has changed, but also some step how it is integrated.
If you just used it in the same way as it is in this template, you can just have a look at the corresponding commit to see what has changed - not that much. Note that this change also reduces the size of the output bundle by ~20KB (before gzip), since the new version of ngx-translate/core
also extracted the http loader for fetching translation files to an external package. This template does not require it, thus, we're getting smaller!
If you used more of its feature, or just want to see more details - have a look at the migration guide:
https://github.com/ngx-translate/core/blob/master/MIGRATION_GUIDE.md
2.0.0
This release includes some updates which - w.r.t. semver - contain potentially breaking changes (i.e. release with a change to the major version part). Although I did not found any while checking the template, there still might be some. Be sure to test your code thoroughly. It mostly affects the tooling, not the app itself.
The same goes to the TypeScript version bump to 2.1.x - it's supported by angular now, though full-featured and tested support will not be added to the 2.4.x branch, only to 4.x (see this discussion for details). As a result, it's not yet clear which TS 2.1.x specific features will work fine with the current angular version; this has to be figured out manually.