Skip to content

Commit 66bfdd8

Browse files
committed
Merge branch 'release' into 'master'
PB-28831 Publish production API v4.5.0 See merge request passbolt/passbolt-ce-api!227
2 parents bc93285 + d73759d commit 66bfdd8

File tree

265 files changed

+17417
-2659
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

265 files changed

+17417
-2659
lines changed

.gitlab-ci/jobs/style_check.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
stage: unit-test
33
variables:
44
PHP_VERSION: "7.4"
5+
COMPOSER_ALLOW_SUPERUSER: 1
56
image: $CI_REGISTRY_IMAGE_TEST:$PHP_VERSION
67
allow_failure: false
78
script:
89
- composer config --global process-timeout 2000
9-
- composer install --dev --no-interaction
10+
- composer install --no-interaction
11+
- composer validate --check-lock --no-check-publish
1012
- composer cs-check
1113
- composer stan
1214
- composer psalm
@@ -20,3 +22,10 @@ static-analysis:
2022
when: on_success
2123
- if: '$TEST_DISABLED == null && $CI_COMMIT_BRANCH != "master"'
2224
when: on_success
25+
26+
static-analysis-js:
27+
stage: unit-test
28+
image: node:18
29+
script:
30+
- npm ci
31+
- npm run lint

.npmrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
; always amends --ignore-scripts on npm installs
2+
ignore-scripts=true
3+
; do not tag on npm version
4+
git-tag-version=false

CHANGELOG.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,130 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5+
## [4.5.0] - 2024-02-08
6+
### Added
7+
- PB-23913 As a user I can see my passwords marked as expired when users lose permissions on these
8+
- PB-23913 As an administrator I can activate the password expiry feature
9+
- PB-28923 As a user I want to be able to use passbolt in Russian
10+
- PB-21484 As an administrator I can define Microsoft 365 and Outlook providers in SMTP settings
11+
- PB-19652 As an administrator I can cleanup groups with no members with the cleanup command
12+
- PB-27707 As administrator, with RBAC I should be able to set “can see users workspace” to “Allow if group manager”
13+
- PB-28716 Desktop application flag is now enabled by default
14+
- PB-26203 Desktop app define the account kit exportation help page
15+
16+
### Improved
17+
- PB-27616 Improve resources serialization performance on GET resources.json
18+
19+
### Security
20+
- PB-29148 Bump selenium API plugin version to v4.5
21+
- PB-29005 Upgrades phpseclib/phpseclib to fix composer audit security vulnerability
22+
- PB-22336 As an admin I should be able to enable/disable request group managers to add users to groups emails separately (LDAP/AD)
23+
- PB-28871 Mitigate supply chain attack on PR and lint lock files
24+
- PB-28658 Mitigate supply chain attack on post npm install script
25+
26+
### Fixed
27+
- PB-29200 Fixes the recover_user command (GITHUB #504)
28+
- PB-29164 Fix recent InstallCommand changes breaking selenium tests
29+
- PB-29132 Fix composer lock file not up-to-date message when installing dependencies
30+
- PB-29160 Fix failing static analysis job in CI
31+
- PB-29137 Fix failing in UsersEditDisableControllerTest file due to purifier
32+
- PB-29113 Fix a typo in the email sent when admins lose their admin role
33+
- PB-28130 Fix invalid cookie name should not trigger a 500
34+
- PB-29007 Fix constantly failing test in RbacsUpdateControllerTest file
35+
- PB-28991 Fix email queue entries not marked as sent
36+
37+
### Maintenance
38+
- PB-28857 Require phpunit-speedtrap to track down slow tests
39+
- PB-25516 Remove --dev from .gitlab test options, it has not effect and will break with composer v3
40+
- PB-28844 Improves the methods testing email content
41+
- PB-28845 Skip unauthenticated exception from logging
42+
- PB-28653 Speed-up tests by mocking the client in healthcheck relevant tests
43+
44+
## [4.5.0-rc.1] - 2024-02-01
45+
### Added
46+
- PB-23913 As a user I can see my passwords marked as expired when users lose permissions on these
47+
- PB-23913 As an administrator I can activate the password expiry feature
48+
- PB-28923 As a user I want to be able to use passbolt in Russian
49+
- PB-21484 As an administrator I can define Microsoft 365 and Outlook providers in SMTP settings
50+
- PB-19652 As an administrator I can cleanup groups with no members with the cleanup command
51+
- PB-27707 As administrator, with RBAC I should be able to set “can see users workspace” to “Allow if group manager”
52+
- PB-28716 Desktop application flag is now enabled by default
53+
- PB-26203 Desktop app define the account kit exportation help page
54+
55+
### Improved
56+
- PB-27616 Improve resources serialization performance on GET resources.json
57+
58+
### Security
59+
- PB-29148 Bump selenium API plugin version to v4.5
60+
- PB-29005 Upgrades phpseclib/phpseclib to fix composer audit security vulnerability
61+
- PB-22336 As an admin I should be able to enable/disable request group managers to add users to groups emails separately (LDAP/AD)
62+
- PB-28871 Mitigate supply chain attack on PR and lint lock files
63+
- PB-28658 Mitigate supply chain attack on post npm install script
64+
65+
### Fixed
66+
- PB-29200 Fixes the recover_user command (GITHUB #504)
67+
- PB-29164 Fix recent InstallCommand changes breaking selenium tests
68+
- PB-29132 Fix composer lock file not up-to-date message when installing dependencies
69+
- PB-29160 Fix failing static analysis job in CI
70+
- PB-29137 Fix failing in UsersEditDisableControllerTest file due to purifier
71+
- PB-29113 Fix a typo in the email sent when admins lose their admin role
72+
- PB-28130 Fix invalid cookie name should not trigger a 500
73+
- PB-29007 Fix constantly failing test in RbacsUpdateControllerTest file
74+
- PB-28991 Fix email queue entries not marked as sent
75+
76+
### Maintenance
77+
- PB-28857 Require phpunit-speedtrap to track down slow tests
78+
- PB-25516 Remove --dev from .gitlab test options, it has not effect and will break with composer v3
79+
- PB-28844 Improves the methods testing email content
80+
- PB-28845 Skip unauthenticated exception from logging
81+
- PB-28653 Speed-up tests by mocking the client in healthcheck relevant tests
82+
83+
## [4.5.0-test.1] - 2024-01-29
84+
### Added
85+
- PB-23913 As a user I can see my passwords marked as expired after a user loses permissions
86+
- PB-23913 As an administrator I can activate the password expiry feature
87+
- PB-23913 As a user I can define the expiry date of a passwor
88+
- PB-23913 As an administrator I can define advanced password expiry settings
89+
- PB-28923 As a user I want to be able to use passbolt in Russian
90+
- PB-21484 Add support for Microsoft 365 and Outlook providers in SMTP settings
91+
- PB-19652 Add cleanup task to check for groups with no members
92+
- PB-27707 As administrator, with RBAC I should be able to set “can see users workspace” to ‘Allow if group manager’
93+
- PB-28716 Enable desktop application flag by default
94+
- PB-26203 Desktop app define the account kit exportation help page
95+
96+
### Improved
97+
- PB-27835 As signed-in user configuring MFA TOTP I can see the TOTP secret so I can use it instead of the QR code
98+
- PB-27616 Improve resources serialization performance on GET resources.json
99+
- PB-28521 Add migration to alter gpgkeys.uid column length to 769
100+
101+
### Security
102+
- PB-29148 Bump selenium API plugin version to v4.5
103+
- PB-27760 As administrator, I can hide the administrator identity behind LDAP triggered emails
104+
- PB-29005 Upgrades phpseclib/phpseclib to fix composer audit security vulnerability
105+
- PB-22336 As an admin I should be able to enable/disable request group managers to add users to groups emails separately (LDAP/AD)
106+
- PB-28871 Mitigate supply chain attack on PR and lint lock files
107+
- PB-28658 Mitigate supply chain attack on post npm install script
108+
109+
### Fixed
110+
- PB-29200 Fixes the recover_user command (GITHUB #504)
111+
- PB-29164 Fix recent InstallCommand changes breaking selenium tests
112+
- PB-29132 Fix composer lock file not up-to-date message when installing dependencies
113+
- PB-29160 Fix failing static analysis job in CI
114+
- PB-29137 Fix failing in UsersEditDisableControllerTest file due to purifier
115+
- PB-27788 Correct gendered language on ldap sync ignore messages
116+
- PB-29113 Fix a typo in the email sent when admins lose their admin role
117+
- PB-28130 Fix invalid cookie name should not trigger a 500
118+
- PB-29007 Fix constantly failing test in RbacsUpdateControllerTest file
119+
- PB-28991 Fix email queue entries not marked as sent
120+
121+
### Maintenance
122+
- PB-28636 Speed-up cloud tests by storing avatars on local storage
123+
- PB-28857 Require phpunit-speedtrap to track down slow tests
124+
- PB-25516 Remove --dev from .gitlab test options, it has not effect and will break with composer v3
125+
- PB-28844 Improves the methods testing email content
126+
- PB-28845 Skip unauthenticated exception from logging
127+
- PB-28653 Speed-up tests by mocking the client in healthcheck relevant tests
128+
5129
## [4.4.2] - 2023-11-29
6130
### Improved
7131
- PB-27616 As a user I should see improved performances when retrieving resources on the GET resources.json entry point

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Prerequisite
33
Make sure you have the developement dependencies install.
44
```
5-
composer install --dev
5+
composer install
66
```
77

88
## How do I run the unit tests

Gruntfile.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ module.exports = function(grunt) {
144144
'third_party/sendgrid.svg',
145145
'third_party/sendinblue.svg',
146146
'third_party/zoho.svg',
147+
'third_party/outlook.svg',
148+
'third_party/office365.svg',
147149

148150
// Setup
149151
'illustrations/email.png',

RELEASE_NOTES.md

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,52 @@
1-
Release song: https://youtu.be/6JNwqRF32ZI
1+
Release song: https://www.youtube.com/watch?v=HR1KH4zElcY
22

3-
Passbolt version 4.4.2 has been released, primarily as a maintenance update to address specific issues reported by users. This version includes two main fixes.
3+
Passbolt v4.5.0 named "Summer is Ending" brings a host of new features and improvements, all designed to make your password management experience more secure, efficient, and user-friendly.
44

5-
The first fix concerns the Time-based One-Time Password (TOTP) feature. In the previous version, there was an issue where users could accidentally delete the TOTP secret for a resource while editing its description from the sidebar. This has been corrected in the latest update.
5+
At the heart of this release is the introduction of the Password Expiry feature, a much-anticipated functionality that allows administrators to enable the automatic expiry policy, enhancing security by ensuring that potentially passwords are rotated when someone loses access to resources, for example by leaving a group or the organization.
66

7-
The second fix improves the performance of the application, specifically when users are retrieving their resources. This update is part of an ongoing effort to enhance the overall performance of the application, with further improvements planned for future releases.
7+
Alongside, we're excited to introduce the Russian translation, making Passbolt more accessible to a wider audience.
88

9-
We extend our gratitude to the community member who reported this issue.
9+
We've also expanded our SMTP settings to include Microsoft 365 and Outlook providers, responding to the community's feedback for more integration options. The section to help users install and configure the Windows desktop application feature is also now enabled by default.
10+
11+
Improvements in the performance of some important API endpoints and other security enhancements and bug fixes are also part of this release.
12+
13+
Thanks to everyone in our community for your ongoing support and contributions that made this release possible. Your feedback and involvement continue to shape Passbolt, enhancing our collective security and usability. Together, we're making password management better for everyone.
14+
15+
## [4.5.0] - 2024-02-08
16+
### Added
17+
- PB-23913 As a user I can see my passwords marked as expired when users lose permissions on these
18+
- PB-23913 As an administrator I can activate the password expiry feature
19+
- PB-28923 As a user I want to be able to use passbolt in Russian
20+
- PB-21484 As an administrator I can define Microsoft 365 and Outlook providers in SMTP settings
21+
- PB-19652 As an administrator I can cleanup groups with no members with the cleanup command
22+
- PB-27707 As administrator, with RBAC I should be able to set “can see users workspace” to “Allow if group manager”
23+
- PB-28716 Desktop application flag is now enabled by default
24+
- PB-26203 Desktop app define the account kit exportation help page
1025

11-
## [4.4.2] - 2023-11-28
1226
### Improved
13-
- PB-27616 As a user I should see improved performances when retrieving resources on the GET resources.json entry point
27+
- PB-27616 Improve resources serialization performance on GET resources.json
28+
29+
### Security
30+
- PB-29148 Bump selenium API plugin version to v4.5
31+
- PB-29005 Upgrades phpseclib/phpseclib to fix composer audit security vulnerability
32+
- PB-22336 As an admin I should be able to enable/disable request group managers to add users to groups emails separately (LDAP/AD)
33+
- PB-28871 Mitigate supply chain attack on PR and lint lock files
34+
- PB-28658 Mitigate supply chain attack on post npm install script
1435

1536
### Fixed
16-
- PB-28991 As a user emails should be resent if the first attempt failed
37+
- PB-29200 Fixes the recover_user command (GITHUB #504)
38+
- PB-29164 Fix recent InstallCommand changes breaking selenium tests
39+
- PB-29132 Fix composer lock file not up-to-date message when installing dependencies
40+
- PB-29160 Fix failing static analysis job in CI
41+
- PB-29137 Fix failing in UsersEditDisableControllerTest file due to purifier
42+
- PB-29113 Fix a typo in the email sent when admins lose their admin role
43+
- PB-28130 Fix invalid cookie name should not trigger a 500
44+
- PB-29007 Fix constantly failing test in RbacsUpdateControllerTest file
45+
- PB-28991 Fix email queue entries not marked as sent
46+
47+
### Maintenance
48+
- PB-28857 Require phpunit-speedtrap to track down slow tests
49+
- PB-25516 Remove --dev from .gitlab test options, it has not effect and will break with composer v3
50+
- PB-28844 Improves the methods testing email content
51+
- PB-28845 Skip unauthenticated exception from logging
52+
- PB-28653 Speed-up tests by mocking the client in healthcheck relevant tests

composer.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,13 @@
103103
"cakephp/bake": "^2.3.0",
104104
"phpunit/phpunit": "~9.5.2",
105105
"cakephp/cakephp-codesniffer": "^4.5",
106-
"passbolt/passbolt-selenium-api": "^4.2",
106+
"passbolt/passbolt-selenium-api": "^4.5",
107107
"passbolt/passbolt-test-data": "^4.4",
108108
"vierge-noire/cakephp-fixture-factories": "^v2.9.0",
109109
"cakephp/localized": "4.0.0",
110110
"vimeo/psalm": "^5.0.0",
111-
"cakedc/cakephp-phpstan": "^2.0"
111+
"cakedc/cakephp-phpstan": "^2.0",
112+
"johnkary/phpunit-speedtrap": "^4.0"
112113
},
113114
"autoload": {
114115
"psr-4": {
@@ -128,6 +129,7 @@
128129
"Passbolt\\JwtAuthentication\\": "./plugins/PassboltCe/JwtAuthentication/src",
129130
"Passbolt\\Import\\": "./plugins/PassboltCe/Import/src",
130131
"Passbolt\\Export\\": "./plugins/PassboltCe/Export/src",
132+
"Passbolt\\PasswordExpiry\\": "./plugins/PassboltCe/PasswordExpiry/src",
131133
"Passbolt\\ResourceTypes\\": "./plugins/PassboltCe/ResourceTypes/src",
132134
"Passbolt\\SmtpSettings\\": "./plugins/PassboltCe/SmtpSettings/src",
133135
"Passbolt\\MultiFactorAuthentication\\": "./plugins/PassboltCe/MultiFactorAuthentication/src",
@@ -153,6 +155,7 @@
153155
"Passbolt\\Mobile\\Test\\": "./plugins/PassboltCe/Mobile/tests",
154156
"Passbolt\\JwtAuthentication\\Test\\": "./plugins/PassboltCe/JwtAuthentication/tests",
155157
"Passbolt\\MultiFactorAuthentication\\Test\\": "./plugins/PassboltCe/MultiFactorAuthentication/tests",
158+
"Passbolt\\PasswordExpiry\\Test\\": "./plugins/PassboltCe/PasswordExpiry/tests",
156159
"Passbolt\\SmtpSettings\\Test\\": "./plugins/PassboltCe/SmtpSettings/tests",
157160
"Passbolt\\SelfRegistration\\Test\\": "./plugins/PassboltCe/SelfRegistration/tests",
158161
"Passbolt\\ResourceTypes\\Test\\": "./plugins/PassboltCe/ResourceTypes/tests",
@@ -171,7 +174,7 @@
171174
"cs-check": "phpcs -d memory_limit=512M --colors -p --ignore=*.js,*/templates/* ./src ./tests ./plugins",
172175
"cs-fix": "phpcbf -d memory_limit=512M --colors --ignore=*.js,*/templates/* ./src ./tests ./plugins",
173176
"install-dev": [
174-
"@composer install --dev",
177+
"@composer install",
175178
"npm install",
176179
"./node_modules/.bin/grunt appjs-update",
177180
"./node_modules/.bin/grunt styleguide-update"

0 commit comments

Comments
 (0)