diff --git a/CHANGELOG.md b/CHANGELOG.md index 45fbde18a..7f6e2dab6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,43 @@ # Changelog +# [1.6.0](https://github.com/iris-connect/iris-client/compare/v1.5.1...v1.6.0) (2022-06-30) + + +### Bug Fixes + +* add support for multi-column sort query parameters (fixes broken table sort of iris-message list) ([9daf6a1](https://github.com/iris-connect/iris-client/commit/9daf6a161565304342235b3df8708972d1f59802)), closes [#801](https://github.com/iris-connect/iris-client/issues/801) +* Changes NGINX Content-Security-Policy configuration to allow data urls as image src and adds `data:` to the forbidden keywords. ([cedf240](https://github.com/iris-connect/iris-client/commit/cedf2409ab92df6d3470fe7c60b2545d6b9b00f4)), closes [#862](https://github.com/iris-connect/iris-client/issues/862) +* **Dependencies:** Updates version of jackson-databind to fix the vulnerability: avd.aquasec.com/nvd/cve-2020-36518 ([84a4b04](https://github.com/iris-connect/iris-client/commit/84a4b049f5d43e7a07b376d28d189b62ebba1a14)) +* **Deps:** updates Spring Boot to 2.6.6 to fix the vulnerability avd.aquasec.com/nvd/cve-2022-22965 ([46a50b5](https://github.com/iris-connect/iris-client/commit/46a50b5ad1dd69a9ad891149f6b5ff4f987f87f7)) +* fix dependabot security alert and update multiple npm dependencies ([7b71e64](https://github.com/iris-connect/iris-client/commit/7b71e64fa55f39599f18de84440696e443e4f34b)), closes [#729](https://github.com/iris-connect/iris-client/issues/729) +* fix e2e tests by correcting the spec order ([53fd088](https://github.com/iris-connect/iris-client/commit/53fd088ca7075319439ed3140587cc95ccea27e5)), closes [#764](https://github.com/iris-connect/iris-client/issues/764) +* Fixes a validation error when changing user data of admins. This could lead to an admin not being able to change their data under certain circumstances (only admin and role not transferred with). ([61f6bc3](https://github.com/iris-connect/iris-client/commit/61f6bc3d9a92484ac2d6a0bf6a2ab36b1359d5ad)), closes [#703](https://github.com/iris-connect/iris-client/issues/703) +* Fixes an occasional `ConstraintViolationException` that can only be caused by parallel processing of multiple requests from the same IP. ([71c1c98](https://github.com/iris-connect/iris-client/commit/71c1c9859047865518a350484a6340be2c832e86)), closes [#828](https://github.com/iris-connect/iris-client/issues/828) +* ga-gotham config tls communication between internal eps ([4b6cf41](https://github.com/iris-connect/iris-client/commit/4b6cf413cf05cf172cf3b0fdd444eb87a40324b4)) +* HTTP status code is now set correctly for validation errors with JSON-RPC (400). Related to this, there is now a central place to handle exceptions with JSON-RPC and to configure the correct HTTP status code. ([e0b98f7](https://github.com/iris-connect/iris-client/commit/e0b98f71c30248b31a28e60eff426aec615e1698)), closes [#827](https://github.com/iris-connect/iris-client/issues/827) +* removed line breaks at the end of certificates. ([64104a0](https://github.com/iris-connect/iris-client/commit/64104a02aefd32b680a2215abbb6e92b6f94e91c)) +* When checking incoming and entered data for possible attacks, case is now ignored for keywords. ([a378e58](https://github.com/iris-connect/iris-client/commit/a378e58995be66b44b9fd3d263728b89c7b6c71b)), closes [#864](https://github.com/iris-connect/iris-client/issues/864) + + +### Features + +* For JSON-RPC calls (calls from EPS), the client name submitted by EPS is now used as user (if available). Thus, the metadata of records created via JSON-RPC now also contain a user as creator and it is easier to see by whom the data was created. ([71ff56f](https://github.com/iris-connect/iris-client/commit/71ff56f71af4077dd8186773dda81f53633c826b)), closes [#826](https://github.com/iris-connect/iris-client/issues/826) +* In the `.env` (see `.env.sample`) now the configuration for the mail dispatch can be done. With this it is now possible to send notifications when new data has been transferred to the IRIS client (at the moment implemented for the data of an event). ([4310bd0](https://github.com/iris-connect/iris-client/commit/4310bd07f94231f1728a3ce3753a0eb6392fb41d)), closes [#557](https://github.com/iris-connect/iris-client/issues/557) [#858](https://github.com/iris-connect/iris-client/issues/858) +* **Messages:** Messages can now be used to exchange guests of events between health departments. This makes it possible to transmit the guests received through a data request to the responsible department. The data can be transferred directly from the event overview to a message or can also be added to a message as an attachment. This is the beginning, more data types will follow. ([9c3c8cd](https://github.com/iris-connect/iris-client/commit/9c3c8cd92ec68075c448e52618a4c2ea071eea8e)), closes [#640](https://github.com/iris-connect/iris-client/issues/640) +* **Messages:** Messages can now be used to exchange vaccination reports between health departments. This makes it possible to transmit received records to the appropriate department through a data transfer. The data can be transferred directly from the vaccination report overview to a message or can also be added as an attachment to a message. ([64636ba](https://github.com/iris-connect/iris-client/commit/64636bae940c3e795b898d078428c60cee73c1ae)), closes [#762](https://github.com/iris-connect/iris-client/issues/762) +* Old messages are deleted after a configurable time (default is after 180 days) with all associated data. ([d768632](https://github.com/iris-connect/iris-client/commit/d768632dbe98ba663a5a279a700b71dc93180ed9)), closes [#773](https://github.com/iris-connect/iris-client/issues/773) +* The authentication tokens (JWT) now retain their validity beyond the restart of the IRIS client. This means that, ideally, users notice only little of a restart of the application. ([2442685](https://github.com/iris-connect/iris-client/commit/2442685b856548a5a30f6e8bc2c54343b3904e2e)), closes [#804](https://github.com/iris-connect/iris-client/issues/804) +* The client backend now also supports the use of a refresh token, which can be used to extend the short validity of the authentication. This makes it more convenient to use, especially in conjunction with a two-factor authentication. ([b20ed86](https://github.com/iris-connect/iris-client/commit/b20ed86df8673bbcbf7af5ee5df8a976362c2a4f)), closes [#803](https://github.com/iris-connect/iris-client/issues/803) +* The client is now a bit more secure against attacks and authentication token (JWT) stealing. For this, the JWT is now transferred and processed in HTTP-only cookies. In this context, XSRF protection with XSRF-TOKEN cookies has also been enabled. ([ae25da8](https://github.com/iris-connect/iris-client/commit/ae25da844dd390bc2494e11738ac23ea4608e6de)), closes [#802](https://github.com/iris-connect/iris-client/issues/802) +* Users are no longer deleted immediately, but marked as deleted. The marked users can no longer be used and are no longer displayed. However, the data is still available, for example, for working with the audit logs. After all references to the users are deleted according to the respective deadline or after a specified time, the users are finally anonymized. Procedure and time periods are configurable. ([a913eaf](https://github.com/iris-connect/iris-client/commit/a913eafa9b9b1c53f2c0db81dc7c3a24c59e371f)), closes [iris-connect/iris-backlog#235](https://github.com/iris-connect/iris-backlog/issues/235) [#761](https://github.com/iris-connect/iris-client/issues/761) +* Users can be marked as locked. This makes it possible to temporarily lock users when they are absent. The locked users are not deleted, they are still available in the overview, but cannot be used for a login. ([68d55ec](https://github.com/iris-connect/iris-client/commit/68d55ec5b4edda9a05a4e2bb1e8533c0e5497b0b)), closes [#775](https://github.com/iris-connect/iris-client/issues/775) +* Users can now use two-factor authentication with time-based one-time password (TOTP). If it is enabled, a TOTP is expected and verified by a corresponding app after the conventional login. To set up the app, the user is displayed a QR code by IRIS. It is also possible for the admin to activate this mandatorily via environment variable. If a 2FA is expected but has not yet been finally configured for a user with a successful verification, the QR code is displayed after the successful conventional login and the verification is performed. ([03b915c](https://github.com/iris-connect/iris-client/commit/03b915c4cecb27142aa998939c297d99088e9b71)), closes [iris-connect/iris-backlog#251](https://github.com/iris-connect/iris-backlog/issues/251) [#840](https://github.com/iris-connect/iris-client/issues/840) + + +### Reverts + +* Revert "chore(Deps): removes unnecessary Postgres version (spring declares the same) and improves jackson dependency" ([90bb5fa](https://github.com/iris-connect/iris-client/commit/90bb5fa74e589796d1d3a44aafda8473dafee96f)) + # [1.6.0-rc.2](https://github.com/iris-connect/iris-client/compare/v1.6.0-rc.1...v1.6.0-rc.2) (2022-06-30) diff --git a/FE-THIRD-PARTY-LICENSES-DEV.md b/FE-THIRD-PARTY-LICENSES-DEV.md index c2bbd796e..cf7705ef6 100644 --- a/FE-THIRD-PARTY-LICENSES-DEV.md +++ b/FE-THIRD-PARTY-LICENSES-DEV.md @@ -555,7 +555,7 @@ invert-kv@2.0.0 | MIT | https://github.com/sindresorhus/invert-kv ip@1.1.5 | MIT | https://github.com/indutny/node-ip ipaddr.js@1.9.1 | MIT | https://github.com/whitequark/ipaddr.js ipaddr.js@2.0.1 | MIT | https://github.com/whitequark/ipaddr.js -iris-client-frontend@1.6.0-rc.2-POST-RELEASE | UNLICENSED | +iris-client-frontend@1.6.0-POST-RELEASE | UNLICENSED | is-absolute-url@3.0.3 | MIT | https://github.com/sindresorhus/is-absolute-url is-arguments@1.1.1 | MIT | https://github.com/inspect-js/is-arguments is-arrayish@0.2.1 | MIT | https://github.com/qix-/node-is-arrayish diff --git a/FE-THIRD-PARTY-LICENSES-PROD.md b/FE-THIRD-PARTY-LICENSES-PROD.md index c2a1cf513..560435930 100644 --- a/FE-THIRD-PARTY-LICENSES-PROD.md +++ b/FE-THIRD-PARTY-LICENSES-PROD.md @@ -24,7 +24,7 @@ function-bind@1.1.1 | MIT | https://github.com/Raynos/function-bind get-intrinsic@1.1.1 | MIT | https://github.com/ljharb/get-intrinsic has-symbols@1.0.2 | MIT | https://github.com/inspect-js/has-symbols has@1.0.3 | MIT | https://github.com/tarruda/has -iris-client-frontend@1.6.0-rc.2-POST-RELEASE | UNLICENSED | +iris-client-frontend@1.6.0-POST-RELEASE | UNLICENSED | lodash@4.17.21 | MIT | https://github.com/lodash/lodash mime-db@1.51.0 | MIT | https://github.com/jshttp/mime-db mime-types@2.1.34 | MIT | https://github.com/jshttp/mime-types diff --git a/infrastructure/deployment/docker-compose-ext-postgres.yml b/infrastructure/deployment/docker-compose-ext-postgres.yml index 644c033ad..8608b4140 100644 --- a/infrastructure/deployment/docker-compose-ext-postgres.yml +++ b/infrastructure/deployment/docker-compose-ext-postgres.yml @@ -8,7 +8,7 @@ version: "3.4" services: # IRIS Client backend for frontend iris-client: - image: inoeg/iris-client-bff:1.6-latest + image: inoeg/iris-client-bff:1.6 expose: - 8092 environment: @@ -48,7 +48,7 @@ services: # IRIS Client Frontend for users iris-frontend: - image: inoeg/iris-client-frontend:1.6-latest + image: inoeg/iris-client-frontend:1.6 expose: - 28080 environment: @@ -63,7 +63,7 @@ services: # Endpoint server to communicate with Apps and IRIS Connect central services eps: - image: inoeg/iris-client-eps:1.6-latest + image: inoeg/iris-client-eps:1.6 expose: - 4446 - 5556 @@ -83,7 +83,7 @@ services: # Proxy for inbound connections. private-proxy: - image: inoeg/iris-client-proxy:1.6-latest + image: inoeg/iris-client-proxy:1.6 expose: - 5545 - 8877 @@ -108,7 +108,7 @@ services: restart: unless-stopped private-proxy-eps: - image: inoeg/iris-client-eps:1.6-latest + image: inoeg/iris-client-eps:1.6 expose: - 7766 - 7776 @@ -128,7 +128,7 @@ services: # Reverse Proxy nginx: - image: inoeg/iris-client-nginx:1.6-latest + image: inoeg/iris-client-nginx:1.6 ports: - ${IRIS_CLIENT_PORT:-443}:443 environment: diff --git a/infrastructure/deployment/docker-compose.yml b/infrastructure/deployment/docker-compose.yml index 6b4b738cc..192166498 100644 --- a/infrastructure/deployment/docker-compose.yml +++ b/infrastructure/deployment/docker-compose.yml @@ -39,7 +39,7 @@ services: # IRIS Client backend for frontend iris-client: - image: inoeg/iris-client-bff:1.6-latest + image: inoeg/iris-client-bff:1.6 expose: - 8092 environment: @@ -83,7 +83,7 @@ services: # IRIS Client Frontend for users iris-frontend: - image: inoeg/iris-client-frontend:1.6-latest + image: inoeg/iris-client-frontend:1.6 expose: - 28080 environment: @@ -100,7 +100,7 @@ services: # Endpoint server to communicate with Apps and IRIS Connect central services eps: - image: inoeg/iris-client-eps:1.6-latest + image: inoeg/iris-client-eps:1.6 expose: - 4446 - 5556 @@ -122,7 +122,7 @@ services: # Proxy for inbound connections. private-proxy: - image: inoeg/iris-client-proxy:1.6-latest + image: inoeg/iris-client-proxy:1.6 expose: - 5545 - 8877 @@ -149,7 +149,7 @@ services: - "com.centurylinklabs.watchtower.scope=${IRIS_CLIENT_DOMAIN}" private-proxy-eps: - image: inoeg/iris-client-eps:1.6-latest + image: inoeg/iris-client-eps:1.6 expose: - 7766 # JSON-RPC server for internal connections from iris-client - 7776 # gRPC protocol @@ -171,7 +171,7 @@ services: # Reverse Proxy nginx: - image: inoeg/iris-client-nginx:1.6-latest + image: inoeg/iris-client-nginx:1.6 ports: - ${IRIS_CLIENT_PORT:-443}:443 environment: diff --git a/iris-client-bff/pom.xml b/iris-client-bff/pom.xml index 4fb9a941d..97932bc06 100644 --- a/iris-client-bff/pom.xml +++ b/iris-client-bff/pom.xml @@ -12,7 +12,7 @@ iris-gateway iris-client-bff - 1.6.0-rc.2-POST-RELEASE + 1.6.0-POST-RELEASE IRIS Client Backend for Frontend Backend for frontend (BFF) of the client for the health departments. Communicates directly with the SORMAS of this department. diff --git a/iris-client-fe/package-lock.json b/iris-client-fe/package-lock.json index 64d860651..e42d2aee1 100644 --- a/iris-client-fe/package-lock.json +++ b/iris-client-fe/package-lock.json @@ -1,12 +1,12 @@ { "name": "iris-client-frontend", - "version": "1.6.0-rc.2-POST-RELEASE", + "version": "1.6.0-POST-RELEASE", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "iris-client-frontend", - "version": "1.6.0-rc.2-POST-RELEASE", + "version": "1.6.0-POST-RELEASE", "dependencies": { "@fontsource/roboto": "^4.5.7", "@mdi/font": "^6.7.96", diff --git a/iris-client-fe/package.json b/iris-client-fe/package.json index 501159488..3d661ab13 100644 --- a/iris-client-fe/package.json +++ b/iris-client-fe/package.json @@ -1,6 +1,6 @@ { "name": "iris-client-frontend", - "version": "1.6.0-rc.2-POST-RELEASE", + "version": "1.6.0-POST-RELEASE", "private": true, "scripts": { "serve": "vue-cli-service serve", diff --git a/pom.xml b/pom.xml index 5f67cb25f..9da0f3f1b 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ iris-gateway parent - 1.6.0-rc.2-POST-RELEASE + 1.6.0-POST-RELEASE pom IRIS Parent