@ -12,12 +12,38 @@ You can read more about Angular v11 [here](https://blog.angular.io/version-11-of
Prior to ABP 4.x, we'd handled what locale files of Angular should be created to load them lazily. However, this made it impossible to add new locale files (to be lazily loaded) for our users. With ABP 4.x, we enabled an option to pass a function to `CoreModule`.
The quickest solution is as follows:
```typescript
// app.module.ts
import { registerLocale } from '@abp/ng.core/locale';
// or
// import { registerLocale } from '@volo/abp.ng.language-management/locale';
// if you have commercial license
@NgModule({
imports: [
// ...
CoreModule.forRoot({
// ...other options,
registerLocaleFn: registerLocale()
}),
//...
]
export class AppModule {}
```
You can find the related issue [here](https://github.com/abpframework/abp/issues/6066)
Also, please refer to [the docs](https://docs.abp.io/en/abp/latest/UI/Angular/Localization#registering-a-new-locale) for how to implement this.
Also, please refer to [the docs](https://docs.abp.io/en/abp/latest/UI/Angular/Localization#registering-a-new-locale) for more information.
### **Removed the Angular Account Module Public UI**
With ABP 4.x, we have retired `@abp/ng.account`, it is no longer a part of our framework.
With ABP 4.x, we have retired `@abp/ng.account`, it is no longer a part of our framework. There won't be any newer versions of this package as well. Therefore, you can delete anything related to this package.
There should be a config in `app-routing.module` for path `account` and `AccountConfigModule` import in `app.module`
However, if you are using the commercial version of this package, a.k.a `@volo/abp.ng.account`, this package will continue to exist because it contains `AccountAdminModule` which is still being maintained and developed. You only need to delete the route config from `app-routing.module`
You can find the related issue [here](https://github.com/abpframework/abp/issues/5652)
@ -31,7 +57,7 @@ In the ABP Angular UI, we've been using `NGXS` for state management. However, we
You can examine it [here](https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/core/src/lib/utils/internal-store-utils.ts)
With version 4.0, we will keep utilizing our `InternalStore` instead of `@ngxs/store` in our services and move away from `@ngxs/store`. We plan to remove any dependency of `ngxs` by version 5.0.
With version 4.0, we will keep utilizing our `InternalStore` instead of `@ngxs/store` in our services and move away from `@ngxs/store`. We plan to remove any dependency of `NGXS` by version 5.0.
With this in mind, we've already deprecated some services and implemented some breaking changes.
@ -42,6 +68,21 @@ Use `SessionStateService` instead of the `SessionState`. See [this issue](https:
#### Deprecated the `ConfigState`
`ConfigState` is now deprecated and should not be used.
`ConfigState` reference removed from `CoreModule`. If you want to use the `ConfigState` (not recommended), you should pass the state to `NgxsModule` as shown below:
```typescript
//app.module.ts
import { ConfigState } from '@abp/ng.core';
// ...
imports: [
NgxsModule.forRoot([ConfigState]),
// ...
```
Moving away from the global store, we create small services with a single responsibility. There are two new services available in version 4.0 which are `EnvironmentService` and `PermissionService`.
See [the related issue](https://github.com/abpframework/abp/issues/6154)
@ -73,8 +114,8 @@ With the new version of Identity Server, there happened some breaking changes in
If you are just using the package `@volo/abp.ng.identity-server` as is, you will not need to do anything.
However, there are a couple of breaking changes we need to mention.
- As we have stated above, we want to remove the dependency of `Ngxs`. Thus, we have deleted all of the actions defined in `identity-server.actions`. Those actions are not needed anymore and the state is managed locally. With the actions gone, `IdentityServerStateService` became unused and got deleted as well.
- As we have stated above, we want to remove the dependency of `NGXS`. Thus, we have deleted all of the actions defined in `identity-server.actions`. Those actions are not needed anymore and the state is managed locally. With the actions gone, `IdentityServerStateService` became unused and got deleted as well.
- `ApiScope` is also available as a new entity (It was part of `ApiResource` before). It provides tokens for entity prop, entity actions, toolbar, edit and create form contributors like the existing ones which are `Client`, `IdentityResource` and `ApiResource`
- There were some deprecated interfaces within `IdentityServer` namespace. Those are no longer being used, instead their replacements were generated by `ABP Cli` using `generate-proxy` command.
- There were some deprecated interfaces within the `IdentityServer` namespace. Those are no longer being used, instead, their replacements were generated by `ABP Cli` using the`generate-proxy` command.