Skip to content

Commit fa87979

Browse files
committed
Merge branch 'feature/PB-45633_52-Publish-production-API' into 'master'
PB-45633 Publish production API (v5.6.0) See merge request passbolt/passbolt-ce-api!454
2 parents 626d3d7 + fdfb6f6 commit fa87979

File tree

102 files changed

+2915
-1132
lines changed

Some content is hidden

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

102 files changed

+2915
-1132
lines changed

.gitlab-ci/jobs/php_unit_tests/sequential/php_unit_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
- gpg --import config/gpg/unsecure_private.key
113113
- gpg --import config/gpg/unsecure.key
114114
- ./bin/cake passbolt create_jwt_keys
115-
- composer create-split-testsuite
115+
- composer create-split-testsuite -- 2
116116
- $PHPUNIT_COMMAND
117117
artifacts:
118118
reports:

CHANGELOG.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,87 @@
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+
## [5.6.0] - 2025-10-08
6+
### Added
7+
- PB-45058 Add datacheck to check for existing metadata key with no metadata private keys
8+
- PB-44187 As an admin I cannot delete a metadata key associated with a deleted resource
9+
- PB-44183 As a user that is sole owner of v4 resources when v4 resources types are disabled, v4 resources should be ignored on an ownership transfer request
10+
- PB-44770 As a user I want to configure the trusted_proxies list as an environment variable
11+
- PB-45471 Add new database migration to add standalone notes resource type
12+
- PB-45472 Update resource types endpoints tests to assert enable/disable is working for new standalone notes resource type
13+
- PB-45473 Update resources endpoints tests to accommodate new standalone notes resource type
14+
15+
### Fixed
16+
- PB-45222 Fix EmailDigest not working for v5 resources
17+
- PB-45447 Fix PUT /metadata/keys/<uuid>.json endpoint returning 500 error with trailing data
18+
- PB-45436 As an administrator I can define the default cache engine with an environment variable
19+
- PB-45454 Fix 500 error due to MySQL deadlock on create resource endpoint
20+
- PB-45456 Allow editing of v4 resources even when v4 resource type creation is disabled
21+
- PB-45258 Fix grammatical errors in the resource update email content
22+
- PB-45057 Reduce memory consumption on the action logs endpoints
23+
- PB-45057 Reduce memory consumption on resources and folders index endpoints
24+
25+
### Maintenance
26+
- PB-44813 Bring back DDEV ldap related services for development environment
27+
- PB-44593 Bump i18next version
28+
- PB-45161 Fix regularly failing UsersIndexControllerPaginationTest.php test
29+
- PB-45270 Add custom exception message with client IP in /healthcheck/error.json
30+
- PB-45062 Fix user_setup_complete.php template in LU folder instead of AD
31+
32+
## [5.6.0-rc.1] - 2025-10-03
33+
### Added
34+
- PB-45058 Add datacheck to check for existing metadata key with no metadata private keys
35+
- PB-44187 As an admin I cannot delete a metadata key associated with a deleted resource
36+
- PB-44183 As a user that is sole owner of v4 resources when v4 resources types are disabled, v4 resources should be ignored on an ownership transfer request
37+
- PB-44770 As a user I want to configure the trusted_proxies list as an environment variable
38+
- PB-45471 Add new database migration to add standalone notes resource type
39+
- PB-45472 Update resource types endpoints tests to assert enable/disable is working for new standalone notes resource type
40+
- PB-45473 Update resources endpoints tests to accommodate new standalone notes resource type
41+
42+
### Fixed
43+
- PB-45222 Fix EmailDigest not working for v5 resources
44+
- PB-45447 Fix PUT /metadata/keys/<uuid>.json endpoint returning 500 error with trailing data
45+
- PB-45436 As an administrator I can define the default cache engine with an environment variable
46+
- PB-45454 Fix 500 error due to MySQL deadlock on create resource endpoint
47+
- PB-45456 Allow editing of v4 resources even when v4 resource type creation is disabled
48+
- PB-45258 Fix grammatical errors in the resource update email content
49+
- PB-45057 Reduce memory consumption on the action logs endpoints
50+
- PB-45057 Reduce memory consumption on resources and folders index endpoints
51+
52+
### Maintenance
53+
- PB-44813 Bring back DDEV ldap related services for development environment
54+
- PB-44593 Bump i18next version
55+
- PB-45161 Fix regularly failing UsersIndexControllerPaginationTest.php test
56+
- PB-45270 Add custom exception message with client IP in /healthcheck/error.json
57+
- PB-45062 Fix user_setup_complete.php template in LU folder instead of AD
58+
59+
## [5.6.0-test.1] - 2025-10-01
60+
### Added
61+
- PB-45058 Add datacheck to check for existing metadata key with no metadata private keys
62+
- PB-44187 As an admin I cannot delete a metadata key associated with a deleted resource
63+
- PB-44183 As a user that is sole owner of v4 resources when v4 resources types are disabled, v4 resources should be ignored on an ownership transfer request
64+
- PB-44770 As a user I want to configure the trusted_proxies list as an environment variable
65+
- PB-45471 Add new database migration to add standalone notes resource type
66+
- PB-45472 Update resource types endpoints tests to assert enable/disable is working for new standalone notes resource type
67+
- PB-45473 Update resources endpoints tests to accommodate new standalone notes resource type
68+
69+
### Fixed
70+
- PB-45222 Fix EmailDigest not working for v5 resources
71+
- PB-45447 Fix PUT /metadata/keys/<uuid>.json endpoint returning 500 error with trailing data
72+
- PB-45436 As an administrator I can define the default cache engine with an environment variable
73+
- PB-45454 Fix 500 error due to MySQL deadlock on create resource endpoint
74+
- PB-45456 Allow editing of v4 resources even when v4 resource type creation is disabled
75+
- PB-45258 Fix grammatical errors in the resource update email content
76+
- PB-45057 Reduce memory consumption on the action logs endpoints
77+
- PB-45057 Reduce memory consumption on resources and folders index endpoints
78+
79+
### Maintenance
80+
- PB-44813 Bring back DDEV ldap related services for development environment
81+
- PB-44593 Bump i18next version
82+
- PB-45161 Fix regularly failing UsersIndexControllerPaginationTest.php test
83+
- PB-45270 Add custom exception message with client IP in /healthcheck/error.json
84+
- PB-45062 Fix user_setup_complete.php template in LU folder instead of AD
85+
586
## [5.5.2] - 2025-09-29
687
### Fixed
788
- PB-45439 As an administrator I can edit the metadata key settings when not editing zero-knowledge mode

RELEASE_NOTES.md

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,44 @@
1-
Release song: https://youtu.be/RyP8hGuyknA
1+
Release song: https://www.youtube.com/watch?v=bu50DtPF1Ac
22

3-
Passbolt 5.5.2 resolves an issue introduced in the previous version that affected the editing of encrypted metadata settings. Due to zero-knowledge mode being required in some conditions, administrators were unable to edit the metadata key settings. This has now been fixed, restoring the ability to customize these settings.
3+
Passbolt 5.6.0 introduces standalone notes, shared metadata key rotation, and resizable sidebars. As usual, this version also brings important security hardening through dependency updates as well as a series of bug fixes and maintenance improvements.
44

5-
We thank the community for reporting this issue!
5+
## Standalone notes
6+
It is now possible to create notes as a standalone resource type, without attaching them to credentials or other elements. Import and export processes have been updated to recognize and support this new type. Any imported resources that contain only a description will now be created as standalone notes.
7+
8+
## Shared metadata key rotation
9+
Administrators can now rotate the shared metadata key at any time from the organization settings. This improvement marks one of the final steps in meeting metadata encryption requirements. The rotation process can be performed while the instance remains operational, so availability is not disrupted.
10+
11+
## Resizable sidebars
12+
Both main workspace and Users & Groups workspace now feature sidebars that can be resized. This allows users to improve readability when working with long folder names or deeply nested folder structures. After resizing, a double-click on the sidebar handle resets it to its default width.
13+
14+
## Miscellaneous Improvements
15+
The export of account kits is now compatible with larger private keys. The group membership update process has been optimized to reduce request payload size and to avoid certain size limitations. Sorting of folder names has also been improved with natural number ordering, meaning for example that "folder2" now correctly appears before "folder10."
16+
17+
Many thanks to everyone who shared feedback, reported issues, and helped refine these features.
18+
19+
## [5.6.0] - 2025-10-08
20+
### Added
21+
- PB-45058 Add datacheck to check for existing metadata key with no metadata private keys
22+
- PB-44187 As an admin I cannot delete a metadata key associated with a deleted resource
23+
- PB-44183 As a user that is sole owner of v4 resources when v4 resources types are disabled, v4 resources should be ignored on an ownership transfer request
24+
- PB-44770 As a user I want to configure the trusted_proxies list as an environment variable
25+
- PB-45471 Add new database migration to add standalone notes resource type
26+
- PB-45472 Update resource types endpoints tests to assert enable/disable is working for new standalone notes resource type
27+
- PB-45473 Update resources endpoints tests to accommodate new standalone notes resource type
628

7-
## [5.5.2] - 2025-09-29
829
### Fixed
9-
- PB-45439 As an administrator I can edit the metadata key settings when not editing zero-knowledge mode
30+
- PB-45222 Fix EmailDigest not working for v5 resources
31+
- PB-45447 Fix PUT /metadata/keys/<uuid>.json endpoint returning 500 error with trailing data
32+
- PB-45436 As an administrator I can define the default cache engine with an environment variable
33+
- PB-45454 Fix 500 error due to MySQL deadlock on create resource endpoint
34+
- PB-45456 Allow editing of v4 resources even when v4 resource type creation is disabled
35+
- PB-45258 Fix grammatical errors in the resource update email content
36+
- PB-45057 Reduce memory consumption on the action logs endpoints
37+
- PB-45057 Reduce memory consumption on resources and folders index endpoints
38+
39+
### Maintenance
40+
- PB-44813 Bring back DDEV ldap related services for development environment
41+
- PB-44593 Bump i18next version
42+
- PB-45161 Fix regularly failing UsersIndexControllerPaginationTest.php test
43+
- PB-45270 Add custom exception message with client IP in /healthcheck/error.json
44+
- PB-45062 Fix user_setup_complete.php template in LU folder instead of AD

composer.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -174,15 +174,7 @@
174174
"stan": "phpstan analyse --memory-limit=-1",
175175
"psalm": "psalm.phar",
176176
"test": "phpunit --colors=always",
177-
"create-split-testsuite" : "php tests/create_paratest_suites.php tmp/tests/testsuitesplit.xml 2",
178-
"testsuite-1": [
179-
"@composer create-split-testsuite",
180-
"@composer test -- --testsuite 1 -c tmp/tests/testsuitesplit.xml"
181-
],
182-
"testsuite-2": [
183-
"@composer create-split-testsuite",
184-
"@composer test -- --testsuite 2 -c tmp/tests/testsuitesplit.xml"
185-
],
177+
"create-split-testsuite" : "php tests/create_paratest_suites.php tmp/tests/testsuitesplit.xml",
186178
"i18n:externalize": [
187179
"./bin/cake i18n extract --app ./ --paths src,plugins,templates --output resources/locales/en_UK --exclude /tests,/vendors,/src/Command --overwrite --extract-core no --no-location --merge yes",
188180
"find resources/locales/en_UK -name '*.pot' -exec sh -c 'mv \"$1\" \"${1%.pot}.po\"' _ {} \\;"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
declare(strict_types=1);
3+
4+
use App\Utility\UuidFactory;
5+
use Cake\I18n\DateTime;
6+
use Migrations\AbstractMigration;
7+
use Passbolt\ResourceTypes\Model\Definition\SlugDefinition;
8+
use Passbolt\ResourceTypes\Model\Entity\ResourceType;
9+
10+
class V560AddStandaloneNoteResourceType extends AbstractMigration
11+
{
12+
/**
13+
* Change Method.
14+
*
15+
* More information on this method is available here:
16+
* https://book.cakephp.org/migrations/4/en/migrations.html#the-change-method
17+
*
18+
* @return void
19+
*/
20+
public function change(): void
21+
{
22+
$data = [
23+
[
24+
'id' => UuidFactory::uuid('resource-types.id.' . ResourceType::SLUG_V5_NOTE),
25+
'slug' => ResourceType::SLUG_V5_NOTE,
26+
'name' => 'Standalone note',
27+
'description' => 'A resource with standalone notes.',
28+
'definition' => SlugDefinition::v5Note(),
29+
'created' => (new DateTime())->toDateTimeString(),
30+
'modified' => (new DateTime())->toDateTimeString(),
31+
],
32+
];
33+
34+
$resourceTypesTable = $this->table('resource_types');
35+
$resourceTypesTable->insert($data)->saveData();
36+
}
37+
}

config/app.default.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
*/
102102
'Cache' => [
103103
'default' => [
104-
'className' => FileEngine::class,
104+
'className' => env('CACHE_DEFAULT_CLASSNAME', FileEngine::class),
105105
'path' => CACHE,
106106
'url' => env('CACHE_DEFAULT_URL', null),
107107

@@ -141,7 +141,7 @@
141141
* Duration will be set to '+2 minutes' in bootstrap.php when debug = true
142142
*/
143143
'_cake_model_' => [
144-
'className' => FileEngine::class,
144+
'className' => env('CACHE_CAKEMODEL_CLASSNAME', FileEngine::class),
145145
'prefix' => 'myapp_cake_model_',
146146
'path' => CACHE . 'models' . DS,
147147
'serialize' => true,

config/default.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,8 +364,9 @@
364364
// Only set to true if your instance runs behind load balancers/proxies that you control.
365365
'proxies' => [
366366
'active' => filter_var(env('PASSBOLT_SECURITY_PROXIES_ACTIVE', false), FILTER_VALIDATE_BOOLEAN),
367-
// If your instance is behind multiple proxies, redefine the list of IP addresses of proxies in your control in passbolt.php
368-
'trustedProxies' => [],
367+
// If your instance is behind multiple proxies, redefine the list of IP addresses of proxies in your control via passbolt.php or env var
368+
// Example via env var: PASSBOLT_SECURITY_PROXIES_TRUSTED_PROXIES="127.1.1.1, 127.0.0.2"
369+
'trustedProxies' => env('PASSBOLT_SECURITY_PROXIES_TRUSTED_PROXIES', ''),
369370
],
370371
'mfa' => [
371372
'duoVerifySubscriber' => filter_var(env('PASSBOLT_SECURITY_MFA_DUO_VERIFY_SUBSCRIBER', false), FILTER_VALIDATE_BOOLEAN),

config/version.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22
return [
33
'passbolt' => [
4-
'version' => '5.5.2',
5-
'name' => 'Hey Boy Hey Girl',
4+
'version' => '5.6.0',
5+
'name' => 'Big Jet Plane',
66
],
77
'php' => [
88
'minVersion' => '8.2',

0 commit comments

Comments
 (0)