Skip to content

Commit f7da6c6

Browse files
author
Jon Rista
committed
release: version 0.7.0
Issue #180
1 parent ce65d56 commit f7da6c6

File tree

4 files changed

+94
-35
lines changed

4 files changed

+94
-35
lines changed

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1+
<a name="0.7.0"></a>
2+
3+
# [0.7.0](https://github.com/briebug/ngrx-auto-entity/compare/0.6.1...0.7.0) Beta (2021-08-02)
4+
5+
This release officially adds support for Angular 12 and NgRx 12! With the advent of Ivy, and its
6+
continued progress towards replacing View Engine, supporting Angular 12 required a bit more active
7+
work to support. Currently, the library is built with `enableIvy` set to false, which allows the
8+
library to be built with support for View Engine versions of Angular.
9+
10+
Research and planning has begun on supporting Angular 13, however this will be a
11+
more challenging task than supporting Angular 12 due to the fact that View Engine will be dropped
12+
entirely from Ng 13, which will affect our ability to build a library that supports older versions
13+
of Angular. We hope to have a plan in place for this scenario soon.
14+
15+
This release also updates some internal usage of NgRx to drop use of legacy or fully deprecated
16+
features, such as the `@Entity` decorator.
17+
18+
### Internal
19+
20+
- **effects:** All effects have dropped use of the legacy `@Effect()` decorator, and are now using
21+
the current and recommended `createEffect()` function. This is to ensure support with NgRx 12+.
22+
- **actions:** Action factories have been updated with more explicit typing. Increased type strictness
23+
that comes with Ng 12 revealed cases where types were not specified, or insufficiently specified. These
24+
types have been strengthened to be more accurate and clear. These changes should not impact
25+
normal use of action factories.
26+
27+
28+
### Breaking Changes !!
29+
30+
- **library:** Support for Angular 8 has been dropped! While the library may still work with Angular
31+
8 applications, due to changes in Angular 12 build tools, as well as changes in NgRx 8, there are
32+
no guarantees that Auto-Entity will continue to work in Angular 8 applications.
33+
- **build:** Library is now being built with TypeScript 4. While we are not yet explicitly using
34+
any TypeScript 4.x features, and thus should still support TypeScript 3.x, this change in underlying
35+
build tools for the library may have impacts on builds for dependent projects.
36+
137
<a name="0.6.1"></a>
238

339
# [0.6.1](https://github.com/briebug/ngrx-auto-entity/compare/0.6.0...0.6.1) Beta (2021-06-24)

README.md

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,31 @@
11
[![CircleCI](https://img.shields.io/circleci/build/github/briebug/ngrx-auto-entity/develop.svg)](https://circleci.com/gh/briebug/ngrx-auto-entity)
22
[![Issues](https://img.shields.io/github/issues/briebug/ngrx-auto-entity.svg)](https://github.com/briebug/ngrx-auto-entity/issues)
3-
[![Version](https://img.shields.io/npm/v/@briebug/ngrx-auto-entity.svg)
3+
![Version](https://img.shields.io/npm/v/@briebug/ngrx-auto-entity.svg)
44
![Downloads](https://img.shields.io/npm/dm/@briebug/ngrx-auto-entity.svg)
5-
![Downloads](https://img.shields.io/npm/dt/@briebug/ngrx-auto-entity.svg)](https://www.npmjs.com/package/@briebug/ngrx-auto-entity)
5+
[![Downloads](https://img.shields.io/npm/dt/@briebug/ngrx-auto-entity.svg)](https://www.npmjs.com/package/@briebug/ngrx-auto-entity)
66

77

88

99
# NgRX Auto-Entity
1010

1111
Automatic entities for [@ngrx](https://github.com/ngrx/platform)! Simplifying reactive state!
1212

13+
**Announcing: ANGULAR 12 is now supported! NgRx Auto-Entity has been updated to support the latest
14+
versions of Angular, as well as NgRx through version 12. With this update, we have also dropped
15+
support for Angular 8, meaning the supported versions of angular are 9-12.**
16+
17+
**NOTE: Angular 13 support is being researched. Starting with Ng 13, all View Engine support will
18+
be dropped from the platform completely. One of our goals with Auto-Entity has been to support
19+
older versions of angular as long as possible, given the often slower upgrade times for many
20+
companies. With Ng 13 putting the burden on library developers to support Ivy, that forces
21+
groups like ourselves to build our library to target specific instruction sets. That will
22+
increase the challenge of supporting older versions of Angular. As such, we are actively looking
23+
for ways to deal with that scenario, and hope to be prepared when the time comes.**
24+
1325
**NOTE: NgRX Auto-Entity is currently a _beta_ library. It is in flux as we continue to refine and
1426
enhance it's functionality, identify and eliminate bugs, optimize it's performance. If you
1527
find any errors in this documentation, or bugs within the library, please let us know!**
1628

17-
**APOLOGIES: For those using NgRx Auto-Entity, we apologize for issues with the recent v0.3.0
18-
release! We used an npm module, uuidv4, and back in november our usage of it was working. It
19-
appears as though that library was changed fairly significantly since then, with the default
20-
import removed. That lead to issues for some people, depending on the version of uuidv4 they
21-
installed/had installed. We have dropped uuidv4 and are now using a small, fast built-in function
22-
instead in v0.3.1 and onward, which should resolve the issues. Again, we apologize for the inconvenience!**
23-
2429
## What is it?
2530

2631
NgRX Auto-Entity aims to provide a seamless means of dealing with standard entity actions and
@@ -29,10 +34,12 @@ NgRX itself. This library is not a replacement for or alternative to NgRX. It wo
2934
standard paradigm that NgRX has set forth, making use of actions, reducers & effects like any
3035
other NgRX application.
3136

32-
What Auto-Entity does do is provide a set of ready-made, generic actions for handling all of
33-
the standard CRUD operations for entities, so you neither have to write nor generate any of that
34-
code yourself. Auto-Entity generates **pre-fabricated facades** around NgRx and the store/state,
35-
providing a cohesive, logical and simplified API into your state. Auto-Entity presents a flexible
37+
What Auto-Entity does do is provide a set of ready-made actions, selectors, effects & a core
38+
metareducer for handling all of the standard CRUD functionality for entities, so you neither
39+
have to write nor generate any of that code yourself. Auto-Entity supports implementing applications
40+
with recommended best practices, including good action hygiene. Auto-Entity also generates
41+
**pre-fabricated facades** around NgRx and the store/state, providing a cohesive, logical and
42+
simplified API into your state for those who prefer facades. Auto-Entity presents a flexible
3643
framework that you may use in its entirety for all of your entity needs, or use piecemeal as
3744
necessary in order to achieve your specific goals.
3845

@@ -43,12 +50,12 @@ custom reducers.
4350

4451
# Dependencies
4552

46-
NgRx Auto-Entity currently depends on Angular 8+, NgRx 8+ and RxJs 6.
53+
NgRx Auto-Entity currently depends on Angular 9+, NgRx 9+ and RxJs 6.
4754

4855

49-
[![Deps-AngularCore](https://img.shields.io/badge/@angular/core-%5E8.x-blue.svg)](https://github.com/angular/angular)
50-
[![Deps-AngularCommon](https://img.shields.io/badge/@angular/common-%5E8.x-blue.svg)](https://github.com/angular/angular)
51-
[![Deps-NgRxStore](https://img.shields.io/badge/@ngrx/store-%5E8.x-blue.svg)](https://github.com/ngrx/platform)
56+
[![Deps-AngularCore](https://img.shields.io/badge/@angular/core-%5E9.x-blue.svg)](https://github.com/angular/angular)
57+
[![Deps-AngularCommon](https://img.shields.io/badge/@angular/common-%5E9.x-blue.svg)](https://github.com/angular/angular)
58+
[![Deps-NgRxStore](https://img.shields.io/badge/@ngrx/store-%5E9.x-blue.svg)](https://github.com/ngrx/platform)
5259
[![Deps-RxJs](https://img.shields.io/badge/rxjs-%5E6.x-blue.svg)](https://github.com/reactivex/rxjs)
5360

5461
# Installation
@@ -85,14 +92,17 @@ If you wish to learn more about how Auto-Entity works, you may jump to the
8592
- [x] Built-in saving indicator tracking
8693
- [x] Built-in deleting indicator tracking
8794
- [x] Built-in entity selection support
95+
- [x] Dynamically generated per-entity actions
96+
- [x] Dynamically generated per-entity selectors
8897
- [x] Pre-fabricated facade generation
8998
- [x] Generated stub reducers
9099
- [x] Automatic correlation of related initiating and result actions
91100
- [x] Enhanced IEntityInfo interface with naming utilities
92101
- [x] Filtering of entities effects handle
93102
- [x] Custom transformation of data to and from the server (i.e. ISO date to Date())
94103
- [x] Optional data loading it not already present, with max age
95-
- [ ] Normalization of API with NgRx 8 functional/factory function architecture
104+
- [x] Normalization of API with NgRx 8 functional/factory function architecture
105+
- [ ] Dynamic generate-only-on-use design
96106
- [ ] Extended effects for loading indicator display, toasts or snackbars, etc.
97107
- [ ] Filtering of entities meta reducer handles
98108
- [ ] Pre-fabricated, ready-to-go, reusable entity services
@@ -108,6 +118,8 @@ If you wish to learn more about how Auto-Entity works, you may jump to the
108118
- [Jon Rista](https://github.com/jrista): Design, Architecture & Implementation
109119
- [Kevin Schuchard](https://github.com/schuchard): Design & Implementation
110120
- [Brian Love](https://github.com/blove): Design & Implementation
121+
- [Jesse Wells](https://github.com/Wells-Codes): Implementation
111122
- [Alice Paquette](https://github.com/paquettealice): Implementation
112123
- [Patrice Paquette](https://github.com/patpaquette): Implementation
113124
- [Anthony Jones](https://github.com/anthonymjones): Implementation
125+

projects/ngrx-auto-entity/README.md

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,22 @@
1010

1111
Automatic entities for [@ngrx](https://github.com/ngrx/platform)! Simplifying reactive state!
1212

13+
**Announcing: ANGULAR 12 is now supported! NgRx Auto-Entity has been updated to support the latest
14+
versions of Angular, as well as NgRx through version 12. With this update, we have also dropped
15+
support for Angular 8, meaning the supported versions of angular are 9-12.**
16+
17+
**NOTE: Angular 13 support is being researched. Starting with Ng 13, all View Engine support will
18+
be dropped from the platform completely. One of our goals with Auto-Entity has been to support
19+
older versions of angular as long as possible, given the often slower upgrade times for many
20+
companies. With Ng 13 putting the burden on library developers to support Ivy, that forces
21+
groups like ourselves to build our library to target specific instruction sets. That will
22+
increase the challenge of supporting older versions of Angular. As such, we are actively looking
23+
for ways to deal with that scenario, and hope to be prepared when the time comes.**
24+
1325
**NOTE: NgRX Auto-Entity is currently a _beta_ library. It is in flux as we continue to refine and
1426
enhance it's functionality, identify and eliminate bugs, optimize it's performance. If you
1527
find any errors in this documentation, or bugs within the library, please let us know!**
1628

17-
**APOLOGIES: For those using NgRx Auto-Entity, we apologize for issues with the recent v0.3.0
18-
release! We used an npm module, uuidv4, and back in november our usage of it was working. It
19-
appears as though that library was changed fairly significantly since then, with the default
20-
import removed. That lead to issues for some people, depending on the version of uuidv4 they
21-
installed/had installed. We have dropped uuidv4 and are now using a small, fast built-in function
22-
instead in v0.3.1 and onward, which should resolve the issues. Again, we apologize for the inconvenience!**
23-
2429
## What is it?
2530

2631
NgRX Auto-Entity aims to provide a seamless means of dealing with standard entity actions and
@@ -29,10 +34,12 @@ NgRX itself. This library is not a replacement for or alternative to NgRX. It wo
2934
standard paradigm that NgRX has set forth, making use of actions, reducers & effects like any
3035
other NgRX application.
3136

32-
What Auto-Entity does do is provide a set of ready-made, generic actions for handling all of
33-
the standard CRUD operations for entities, so you neither have to write nor generate any of that
34-
code yourself. Auto-Entity generates **pre-fabricated facades** around NgRx and the store/state,
35-
providing a cohesive, logical and simplified API into your state. Auto-Entity presents a flexible
37+
What Auto-Entity does do is provide a set of ready-made actions, selectors, effects & a core
38+
metareducer for handling all of the standard CRUD functionality for entities, so you neither
39+
have to write nor generate any of that code yourself. Auto-Entity supports implementing applications
40+
with recommended best practices, including good action hygiene. Auto-Entity also generates
41+
**pre-fabricated facades** around NgRx and the store/state, providing a cohesive, logical and
42+
simplified API into your state for those who prefer facades. Auto-Entity presents a flexible
3643
framework that you may use in its entirety for all of your entity needs, or use piecemeal as
3744
necessary in order to achieve your specific goals.
3845

@@ -43,12 +50,12 @@ custom reducers.
4350

4451
# Dependencies
4552

46-
NgRx Auto-Entity currently depends on Angular 8+, NgRx 8+ and RxJs 6.
53+
NgRx Auto-Entity currently depends on Angular 9+, NgRx 9+ and RxJs 6.
4754

4855

49-
[![Deps-AngularCore](https://img.shields.io/badge/@angular/core-%5E8.x-blue.svg)](https://github.com/angular/angular)
50-
[![Deps-AngularCommon](https://img.shields.io/badge/@angular/common-%5E8.x-blue.svg)](https://github.com/angular/angular)
51-
[![Deps-NgRxStore](https://img.shields.io/badge/@ngrx/store-%5E8.x-blue.svg)](https://github.com/ngrx/platform)
56+
[![Deps-AngularCore](https://img.shields.io/badge/@angular/core-%5E9.x-blue.svg)](https://github.com/angular/angular)
57+
[![Deps-AngularCommon](https://img.shields.io/badge/@angular/common-%5E9.x-blue.svg)](https://github.com/angular/angular)
58+
[![Deps-NgRxStore](https://img.shields.io/badge/@ngrx/store-%5E9.x-blue.svg)](https://github.com/ngrx/platform)
5259
[![Deps-RxJs](https://img.shields.io/badge/rxjs-%5E6.x-blue.svg)](https://github.com/reactivex/rxjs)
5360

5461
# Installation
@@ -85,14 +92,17 @@ If you wish to learn more about how Auto-Entity works, you may jump to the
8592
- [x] Built-in saving indicator tracking
8693
- [x] Built-in deleting indicator tracking
8794
- [x] Built-in entity selection support
95+
- [x] Dynamically generated per-entity actions
96+
- [x] Dynamically generated per-entity selectors
8897
- [x] Pre-fabricated facade generation
8998
- [x] Generated stub reducers
9099
- [x] Automatic correlation of related initiating and result actions
91100
- [x] Enhanced IEntityInfo interface with naming utilities
92101
- [x] Filtering of entities effects handle
93102
- [x] Custom transformation of data to and from the server (i.e. ISO date to Date())
94103
- [x] Optional data loading it not already present, with max age
95-
- [ ] Normalization of API with NgRx 8 functional/factory function architecture
104+
- [x] Normalization of API with NgRx 8 functional/factory function architecture
105+
- [ ] Dynamic generate-only-on-use design
96106
- [ ] Extended effects for loading indicator display, toasts or snackbars, etc.
97107
- [ ] Filtering of entities meta reducer handles
98108
- [ ] Pre-fabricated, ready-to-go, reusable entity services
@@ -108,6 +118,7 @@ If you wish to learn more about how Auto-Entity works, you may jump to the
108118
- [Jon Rista](https://github.com/jrista): Design, Architecture & Implementation
109119
- [Kevin Schuchard](https://github.com/schuchard): Design & Implementation
110120
- [Brian Love](https://github.com/blove): Design & Implementation
121+
- [Jesse Wells](https://github.com/Wells-Codes): Implementation
111122
- [Alice Paquette](https://github.com/paquettealice): Implementation
112123
- [Patrice Paquette](https://github.com/patpaquette): Implementation
113124
- [Anthony Jones](https://github.com/anthonymjones): Implementation

projects/ngrx-auto-entity/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "0.7.0-alpha.2",
2+
"version": "0.7.0",
33
"name": "@briebug/ngrx-auto-entity",
44
"description": "Automatic Entity State and Facades for NgRx. Simplifying reactive state!",
55
"licnese": "MIT",

0 commit comments

Comments
 (0)