Changelog - SDK Core
This changelog refers to the following libraries: @viasoft/app-core, @viasoft/client, @viasoft/client-core, @viasoft/common, @viasoft/components, @viasoft/http, @viasoft/navigation, @viasoft/theming and @viasoft/view-template.
Warning
A partir de 01/05/2022 Caso o seu front faça chamadas para serviços em Golang/Delphi, as seguintes mudanças devem ser realizadas:
6.4.3 (21/02/2023)
Bug Fixes
[NO-ISSUE] components: grid advancedFilter now stringifies numbers. This way problems related to decimal numbers won’t happen anymore.
6.4.2 (18/11/2022)
Bug Fixes
SDKF-25 - common: Company request now gets up to 100 companies (used to be only 10).
6.4.1 (03/11/2022)
PRD-879 - http: Fix VsHttpInterceptor behavior to include company headers on first request from a new Angular module;
6.4.0 (25/10/2022)
Version 6.4.0 is finally released, to check all breaking changes, features and bug fixes, please check here
6.3.35 (23/09/2022)
Breaking Changes
[NO-ISSUE] common: Now SDK handles 0 Http call response status by default.
Features
PROP-956 - components: filterOptions.onEnterKey in vs-grid now allows you to know when a enter key was pressed inside a filter
Bug Fixes
[NO-ISSUE] common: Fix tab title translation again (async translation keys problem).
Usability
PROP-956 - components: Refactoring form components for better usability. - Changing vs-icon to vs-button in all prefixes/suffixes of vs form components (This helps to improve the site accessibility).
6.3.33 (22/09/2022)
Bug Fixes
FRM-1957 - common: Messages with | character weren’t being translated correctly.
6.3.32 (09/08/2022)
Bug Fixes
[NO-ISSUE] common: Fix tab title translation.
6.3.31 (09/08/2022)
Bug Fixes
[NO-ISSUE] common: Fix External Authentication endpoints.
6.3.30 (04/08/2022)
Bug Fixes
FRM-1397 - components: Fix problem in vs-autocomplete which was cleaning the selected value on field blur.
6.3.29 (18/07/2022)
Features
FRM-1941 - components: Add required property to vs-autocomplete and vs-autocomplete-chips.
6.3.28 (08/06/2022)
Bug Fixes
FRM-1935 - components: vs-checkbox now will be touched when a value is set.
6.3.27 (19/05/2022)
Features
FRM-1931 - common: DataLivelyService now supports multiple subscriptions to the same notification. - Before this update, only one subscription was possible due to a problem related to remove method (which made all subscriptions to unsubscribe).
6.3.26 (04/05/2022)
Breaking Changes
FRM-1510 - http: Default error dialog now shows for the following codes: [401, 500, 503]. You can implement a custom showFunction using VS_UI_ERROR_SETTINGS.shouldShowErrorDialog
Features
FRM-1510 - http: Default error dialog allows you to create a custom title, body or errorCode for each message. You can do it by setting a custom value for the following methods:
VsHttpErrorDialogService.getErrorTitle
VsHttpErrorDialogService.getErrorBody
VsHttpErrorDialogService.getErrorCode
FRM-1510 - http: Default error dialog allows you to run even on devMode using VS_UI_ERROR_SETTINGS.shouldRunOnDevMode.
6.3.25 (20/04/2022)
Breaking Changes
FRM-1917 - navigation: Navigation title prefix is Korp ERP rather than Viasoft Korp.
This is a breaking change because it breaks all visual tests.
Features
Bug Fixes
6.3.22 (09/03/2022)
Features
FRM-1916 -
grid:options.filterOptions.useFieldnow supportsstringor afunctionthat returns astringvalue.FRM-1915 -
input:errorStateMatcheris now a@Inputproperty.FRM-1915 -
datepicker:errorStateMatcheris now a@Inputproperty.FRM-1915 -
select:errorStateMatcheris now a@Inputproperty.FRM-1915 -
textarea:errorStateMatcheris now a@Inputproperty.
6.3.21 (21/02/2022)
Breaking Changes
FRM-1910 -
message-dialog: MESSAGE_DIALOG_SETTINGS no longer exists. It wasn’t used.
Features
Bug fixes
6.3.20 (17/02/2022)
Features
FRM-1662 -
grid:skipClearparameter ingridOptions.refreshwas added, avoiding clearing the filter, pagination, sorting, etc during refresh.
6.3.19 (24/01/2022)
Changes
FRM-1715 -
common:DataLivelyServiceandNotificationServicewill now connect to webhooks usingtenantIdandenvironmentId, avoiding notification issues with multiple logins in different tenants.
Bug Fixes
FRM-1715 -
common: Notifications would be duplicated after reconnecting.NotificationServicewill now unsubscribe from webhook events before reconnecting.
6.3.18 (24/01/2022)
Changes
FRM-1904 - components: Added legacy components to mitigate breaking changes in 6.3 release:
vs-checkbox-legacyFrom
vs-checkboxtovs-checkbox-legacyFrom
@viasoft/components/checkboxto@viasoft/components/checkbox-legacyFrom
VsCheckboxModuletoVsCheckboxLegacyModule
vs-radio-button-legacyFrom
vs-radio-buttontovs-radio-button-legacyFrom
@viasoft/components/radio-buttonto@viasoft/components/radio-button-legacyFrom
VsRadioButtonModuletoVsRadioButtonLegacyModule
vs-select-legacyFrom
vs-selecttovs-select-legacyFrom
@viasoft/components/selectto@viasoft/components/select-legacyFrom
VsSelectModuletoVsSelectLegacyModule
vs-textarea-legacyFrom
vs-textareatovs-textarea-legacyFrom
@viasoft/components/textareato@viasoft/components/textarea-legacyFrom
VsTextareaModuletoVsTextareaLegacyModule
Note: This is a temporary way to avoid the breaking changes introduced in version 6.3 and will be removed in upcoming releases.
6.3.17 (21/01/2022)
Features
Bug Fixes
FRM-1901 -
grid: An error would be thrown whenVsGridGetResult.datawas empty.
6.3.16 (19/01/2022)
Bug Fixes
FRM-1742 -
common: License is now released before logout, avoiding an error modal from showing.
6.3.15 (20/12/2021)
Changes
FRM-1898 -
navigation: Company selection now showstradingNamerather thancompanyName.
6.3.14 (10/12/2021)
Bug Fixes
FRM-894 -
navigation: Navigation menu would exceed the viewport when too close to the edge.
6.3.13 (29/11/2021)
Bug Fixes
FRM-1894 -
components: Dialog footer content would be hidden in certain cases.
6.3.12 (29/11/2021)
Bug Fixes
FRM-1893 -
common: Licensing requests would fail when using Hydra authentication.
6.3.11 (25/11/2021)
Bug Fixes
FRM-1649 -
select-modal-legacy: Close button would be focused automatically instead of the search input when opening a modal.FRM-1819 -
tree-table: “Cannot readsortFieldofundefined“ error would be thrown during initialization in some cases.FRM-1887 -
inputand other form fields: A visual bug related to the underline of disabled fields would occur when browser zoom was set to certain values.
6.3.10 (24/11/2021)
Bug Fixes
FRM-1890 -
datepicker: Error message wouldn’t show up when using validators.
6.3.9 (22/11/2021)
Bug Fixes
6.3.8 (19/11/2021)
Bug Fixes
FRM-1888 -
navigation: In Safari for macOS, navigation sidebar menus would show up in the wrong place when expanded.
6.3.7 (18/11/2021)
Bug Fixes
FRM-1886 -
grid: Columns using sub-fields would be hidden in mobile mode.
6.3.6 (17/11/2021)
Bug Fixes
FRM-1885 -
common: User image would not load correctly, causing the profile menu to be hidden.
6.3.5 (08/11/2021)
Bug Fixes
FRM-1881 -
common: Licensing error dialog would always say “unknown error”.
6.3.4 (05/11/2021)
Bug Fixes
FRM-1879 -
common: Authentication request URl was incorrect.
6.3.3 (04/11/2021)
Bug Fixes
6.3.2 (27/10/2021)
Bug Fixes
FRM-1866 -
common: Authorization request URL was incorrect.
6.3.1 (27/10/2021)
Bug Fixes
FRM-1865 -
common: LicensingService was settingcustomAppNameproperty incorrectly.
6.3.0 (22/10/2021)
Breaking changes
DISCLAIMER: Breaking changes related to checkbox/select/textarea/radio-group components have been introduced but you can use legacy-components (CHECK 6.3.18 changelog)
-
Replaced
VS_AUTHORIZATION_PREFIX(from@viasoft/common) withVS_API_PREFIX(from@viasoft/http);Renamed
IViasoftCommonModuleConfig.authorizationPrefixtoapiPrefix;This property is mandatory and will now be used for requests made to authentication endpoints. This may also be used by other libraries;
Authorization endpoints now start with
authorizationso you may need to remove it from your prefix.
FRM-1028 -
checkbox: Refactored to use ControlValueAccessor.Now works just like any regular Angular form control, using either
ngModelorformControlName;Removed the
formGroupandcontrolNameproperties;Setting the
disabledproperty when using reactive forms will now show a warning;Removed the
onChangeoutput in favor ofngModelChangeorvalueChangeswhen using template-driven or reactive forms respectively.
FRM-1705 -
select: Refactored to use ControlValueAccessor.Now works just like any regular Angular form control, using either
ngModelorformControlName;Removed the
formGroup,arrayName,groupNameandcontrolNameproperties;Setting the
disabledproperty when using reactive forms will now show a warning;Added the
hiddenproperty;Added the
appearanceproperty;Added the
hintLabelproperty;Renamed
VsSelecttoVsSelectOption.
FRM-1704 -
textarea: Refactored to use ControlValueAccessor.Now works just like any regular Angular form control, using either
ngModelorformControlName;Removed the
formGroup,arrayName,groupNameandcontrolNameproperties;Setting the
disabledproperty when using reactive forms will now show a warning;Added the
hiddenproperty;Added the
appearanceproperty;Added the
typeproperty;Added the
directionproperty;Added the
textAlignproperty;Renamed the
textareaAutosizeproperty toautosize.
FRM-1539 -
radio-group: Refactored to use ControlValueAccessor.Now works just like any regular Angular form control, using either
ngModelorformControlName;Removed the
formGroupandcontrolNameproperties;Removed the
disableGroupproperty;Removed the
requiredGroupproperty;Removed the
changeoutput;Removed the
clickEvent,keyEnterEvent,blurEvent,changeEventandfocusEventoutputs;Setting the
disabledproperty when using reactive forms will now show a warning;Renamed the
positionproperty tohorizontal;Renamed the
radiosproperty tooptions;Renamed the
@viasoft/components/radio-buttonentry point to@viasoft/components/radio-group;Renamed the
vs-radio-buttonselector tovs-radio-group;Renamed the
VsRadioButtonModuleclass toVsRadioGroupModule;Renamed the
VsRadioButtonOptionsinterface toVsRadioGroupOption.
FRM-1770 -
common: Added tenant and user IDs to keys saved in Local Storage throughVsStorageService.Renamed
StorageServicetoVsStorageService;Removed
STORAGE_PREFIXinjection token;Added
VS_STORAGE_OPTIONSinjection token, used for disabling tenant/app/user IDs;Note: all legacy keys saved will be updated automatically upon being used
Features
FRM-1799 -
form-utils: Made@viasoft/components/form-utilsavailable for use.Includes the following classes:
FormManipulator: Ready-to-use implementation of ControlValueAccessor, read internal code for an explanation of each method;FormElement: ExtendsFormManipulator, adding@Output()properties forclick,keyEnter,blurandfocusevents;FormInput: ExtendsFormElement, adding@Input()properties forreadonly,maxLength,required,errorMessage,type,directionandtextAlign.
Also includes a few useful types, mainly used in
FormInput:InputType: All possible<input />types;TextAlignment: All possible CSStext-alignvalues;TextDirection: All possible HTMLdirvalues.
FRM-1805 -
tree-table: Addedcollapseevent.Works similarly to the
expandevent, except it’s fired whenever a row is collapsed.
Bug fixes
6.2.17 (21/02/2022)
Breaking Changes
FRM-1910 -
message-dialog: MESSAGE_DIALOG_SETTINGS no longer exists. It wasn’t used.
Features
Bug fixes
6.2.16 (17/02/2022)
Features
FRM-1662 -
grid:skipClearparameter ingridOptions.refreshwas added, avoiding clearing the filter, pagination, sorting, etc during refresh.
6.2.15 (27/01/2022)
Bug fixes
FRM-1796 -
grid: Mobile mode grid wouldn’t occupy 100% of the screen width in some cases.
6.2.14 (24/01/2022)
Changes
FRM-1715 -
common:DataLivelyServiceandNotificationServicewill now connect to webhooks usingtenantIdandenvironmentId, avoiding notification issues with multiple logins in different tenants.
Bug fixes
FRM-1715 -
common: Notifications would be duplicated after reconnecting.NotificationServicewill now unsubscribe from webhook events before reconnecting.
6.2.13 (24/01/2022)
Features
FRM-1903 -
vs-stepper-item: Addeddisabledproperty.FRM-1901 -
grid: Get requests will now log errors.FRM-657 -
input,search: Addedautocompleteproperty.FRM-657 -
select-modal(current / legacy): AddedsearchInputTemplateproperty, allowing to use custom templates for search input inside modals.
Bug Fixes
FRM-1901 -
grid: An error would be thrown whenVsGridGetResult.datawas empty.
6.2.12 (19/01/2022)
Bug Fixes
FRM-1742 -
common: License is now released before logout, avoiding an error modal from showing.
6.2.11 (22/12/2021)
Changes
FRM-1898 -
navigation: Company selection now showstradingNamerather thancompanyName.
6.2.10 (10/12/2021)
Bug Fixes
FRM-894 -
navigation: Navigation menu would exceed the viewport when too close to the edge.
6.2.9 (29/11/2021)
Bug Fixes
FRM-1894 -
components: Dialog footer content would be hidden in certain cases.
6.2.8 (26/11/2021)
Bug Fixes
FRM-1893 -
common: Licensing requests would fail when using Hydra authentication.
6.2.7 (25/11/2021)
Bug Fixes
FRM-1649 -
select-modal-legacy: Close button would be focused automatically instead of the search input when opening a modal.FRM-1819 -
tree-table: “Cannot readsortFieldofundefined“ error would be thrown during initialization in some cases.FRM-1887 -
inputand other form fields: A visual bug related to the underline of disabled fields would occur when browser zoom was set to certain values.
6.2.6 (24/11/2021)
Bug Fixes
FRM-1890 -
datepicker: Error message wouldn’t show up when using validators.
6.2.5 (22/11/2021)
Bug Fixes
6.2.4 (19/11/2021)
Bug Fixes
FRM-1888 -
navigation: In Safari for macOS, navigation sidebar menus would show up in the wrong place when expanded.
6.2.3 (18/11/2021)
Bug Fixes
FRM-1886 -
grid: Columns using sub-fields would be hidden in mobile mode.
6.2.2 (08/11/2021)
Bug Fixes
FRM-1881 -
common: Licensing error dialog would always say “unknown error”.
6.2.1 (04/11/2021)
Bug Fixes
FRM-1870 -
common: License refreshing could sometimes block the app even though the refresh request was sucessful.FRM-1870 -
common: Licensing error dialog could sometimes not appear even though the screen would get blurred.FRM-1865 -
common: LicensingService was settingcustomAppNameproperty incorrectly.
6.2.0 (13/10/2021)
Dependency updates
Dependency |
Status |
Version |
|---|---|---|
|
✅ Added |
|
Dev dependency |
Status |
Version |
|---|---|---|
|
✅ Added |
|
Features
FRM-1800 -
common: Added option to customize the authorization route prefixAuthorization routes now follow the new API;
A prefix should be specified in
VsAppCoreModuleso that API calls go through your app’s backend;By default the prefix is set to
"authorization";The
VS_AUTHORIZATION_PREFIXinjection token can be used by other applications and/or libraries.
Changes
FRM-1761 -
common: Implemented new licensing API.FRM-1782 -
input,select,search-input,textarea,datepicker,dropdown,autocomplete,chip-list: Visual refresh.The following CSS custom properties are available for customization, though they should only be used in specific cases:
--vs-form-field-color-disabled: Applied to the text color of disabled fields;--vs-form-field-color-underline: Applied to the field underline color (dotted and on hover);--vs-form-field-color-label: Applied to the placeholder and hint label colors;--vs-form-field-color-error: Applied to the required indicator and error label.
6.1.3 (08/10/2021)
Bug Fixes
FRM-1810 -
tree-view: Items with children were not being indented correctly.
6.1.2 (22/09/2021)
Bug Fixes
FRM-1795 -
message-dialog: Action buttons were center-aligned instead of right-aligned.
6.1.1 (21/09/2021)
Bug Fixes
FRM-1794 -
checkbox: Frame and ripple would get cut off after interaction in some very specific cases.
6.1.0 (06/09/2021)
Breaking changes
Dependency updates
Dependency |
Status |
Version |
|---|---|---|
|
🔃 Updated |
|
Note: the ``~`` is important! It guarantees that only patch (``x.x.X``) versions can be installed automatically, whereas ``^`` allows for minor (``x.X.x``) versions to be installed as well.
Features
FRM-1465 -
common: AddederrorCodesproperty toVsUiErrorSettings.This property gives developers control over which HTTP error codes should automatically show an error dialog.
By default, the following error codes show a dialog: 401, 404 and 500.
Changes
Bug Fixes
6.0.0 (17/08/2021)
This release is focused around updating to Angular 12. It is crucial that you follow these steps in this exact order when updating your apps and libraries. Do not try to update an app directly to Angular 12, it is mandatory to update to versions 10 and 11 first.
Before updating
Remember to commit after each step. The Angular update command won’t run on a dirty repository, and it will be easier to roll back any mistakes if you commit frequently.
After each “dependency update” step, you might need to delete your
node_modulesfolder andpackage-lock.jsonfile and runnpm iagain.If at any point
ng updaterefuses to run because of mismatched versions, perform the following steps:Search for the package name on https://npmjs.org;
Go to the package’s repository;
On the branch selection dropdown, go to Tags and select the version you’re currently using;
Open the
package.jsonfile and look for the dependency you need;Repeat for each version higher than the one you’re currently looking at until you find the first one that has a compatible dependency version;
Update your project’s
package.jsonto that version, deletenode_modulesandpackage-lock.json, runnpm iand try again.
Since
@viasoft/*packages don’t have support for versions 10 and 11, you may have to temporarily remove them from your dependencies and add them back after completing the update to version 12.
Migrating to Angular 10
1. Update dependencies
Dependency |
Status |
Version |
|---|---|---|
@angular/cdk |
🔄 Updated |
|
@swimlane/ngx-charts |
❌ Removed |
|
@swimlane/ngx-dnd |
❌ Removed |
Dev dependency |
Status |
Version |
|---|---|---|
tsickle |
🔄 Updated |
|
@angular-devkit/build-ng-packagr |
🔄 Updated |
|
2. Update Angular
Run the following command:
ng update @angular/core@10 @angular/cli@10 @angular/material@10
Migrating to Angular 11
1. Update dependencies
Dependency |
Status |
Version |
|---|---|---|
primeng |
🔄 Updated |
|
primeicons |
🔄 Updated |
|
2. Update Angular
Run the following command:
ng update @angular/core@11 @angular/cli@11 @angular/material@11
Migrating to Angular 12
1. Update dependencies
Dependency |
Status |
Version |
|---|---|---|
@fortawesome/fontawesome-pro |
🔄 Updated |
|
primeng |
🔄 Updated |
|
Dev dependency |
Status |
|---|---|
@angular-devkit/build-ng-packagr |
❌ Removed |
2. Update Angular
Run the following command:
ng update @angular/core@12 @angular/cli@12 @angular/material@12
Run migrations manually
Angular Material
Run the following command to apply the Angular Material migrations:
ng update @angular/material@12 --migrate-only --from=9
Angular Core
Run the following command to apply the Angular Core migrations:
ng update @angular/core@12 --migrate-only --from=9
Angular CLI
Run the following command to apply the Angular CLI migrations:
ng update @angular/cli@12 --migrate-only --from=9
Additional steps
Remove AOT flag from your projects
The AOT flag is no longer needed. You may remove any mentions of --aot or "aot": true from package.json or angular.json.
Replace the production flag
The --prod flag is deprecated and should be replaced with --configuration=production.
Fix Sass warnings
The new version of Sass emits warnings during build related to division using the / symbol. As this is a future breaking change, we recommend running the following command to fix these warnings:
npm install -g sass-migrator
sass-migrator division **/*.scss
More information can be found at https://sass-lang.com/documentation/breaking-changes/slash-div.
Fix PrimeNG class names
PrimeNG 10 migrated to the PrimeOne theming system, which changes all class names. If you’re using these classes to either customize PrimeNG components or select components in tests, you’ll need to perform the changes found at https://github.com/primefaces/primeng/wiki/PrimeOne-Migration.
Update libraries to Ivy
View Engine libraries are now deprecated since they can be built using Ivy in partial compatibility mode. This is the officially recommended upgrade path.
To start using Ivy for your libraries, simply perform the following change in tsconfig.lib.prod.json in each of your libraries:
{
"extends": "./tsconfig.lib.json",
...
"angularCompilerOptions": {
- "enableIvy": false, // Remove this line...
+ "compilationMode": "partial" // ...and add this one
}
}
Update library build targets
In angular.json, replace any mentions of @angular-devkit/build-ng-packagr:build with @angular-devkit/build-angular:ng-packagr.
Update dependencies
These are the final dependency tables, go through each dependency and perform the necessary changes.
Dependency |
Status |
Version |
|---|---|---|
@angular/animations |
🔄 Updated |
|
@angular/cdk |
🔄 Updated |
|
@angular/common |
🔄 Updated |
|
@angular/compiler |
🔄 Updated |
|
@angular/core |
🔄 Updated |
|
@angular/forms |
🔄 Updated |
|
@angular/material |
🔄 Updated |
|
@angular/platform-browser |
🔄 Updated |
|
@angular/platform-browser-dynamic |
🔄 Updated |
|
@angular/router |
🔄 Updated |
|
@fortawesome/fontawesome-pro |
🔄 Updated |
|
@microsoft/signalr |
🔄 Updated |
|
@sentry/browser |
🔄 Updated |
|
@viasoft/app-core |
🔄 Updated |
|
@viasoft/client |
🔄 Updated |
|
@viasoft/client-core |
🔄 Updated |
|
@viasoft/common |
🔄 Updated |
|
@viasoft/components |
🔄 Updated |
|
@viasoft/http |
🔄 Updated |
|
@viasoft/navigation |
🔄 Updated |
|
@viasoft/theme |
🔄 Updated |
|
@viasoft/view-template |
🔄 Updated |
|
angular-imask |
🔄 Updated |
|
angular-oauth2-oidc |
🔄 Updated |
|
dateformat |
🔄 Updated |
|
dompurify |
🔄 Updated |
|
imask |
🔄 Updated |
|
jwt-decode |
🔄 Updated |
|
primeicons |
🔄 Updated |
|
primeng |
🔄 Updated |
|
rxjs |
🔄 Updated |
|
single-spa |
🔄 Updated |
|
single-spa-angular |
🔄 Updated |
|
tslib |
🔄 Updated |
|
util |
🔄 Updated |
|
zone.js |
🔄 Updated |
|
@swimlane/ngx-charts |
❌ Removed |
|
@swimlane/ngx-dnd |
❌ Removed |
|
rxjs-compat |
❌ Removed |
Dev dependency |
Status |
Version |
|---|---|---|
@angular-devkit/build-angular |
🔄 Updated |
|
@angular/cli |
🔄 Updated |
|
@angular/compiler-cli |
🔄 Updated |
|
@angular/language-service |
🔄 Updated |
|
tsickle |
🔄 Updated |
|
tslint |
🔄 Updated |
|
typescript |
🔄 Updated |
|
@angular-devkit/build-ng-packagr |
❌ Removed |