Skip to content

Commit

Permalink
Merge branch 'feature/PB-28106_v4.4.0-release' into 'release'
Browse files Browse the repository at this point in the history
v4.4.0-rc.1

See merge request passbolt/passbolt-ce-api!195
  • Loading branch information
pabloelcolombiano committed Nov 3, 2023
2 parents 380636e + ff65da1 commit 2cedbd4
Show file tree
Hide file tree
Showing 31 changed files with 209 additions and 136 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,29 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [4.4.0-rc.1] - 2023-11-03
### Added
- PB-27773 As an administrator I can deny access to the mobile setup screen with RBAC
- PB-27951 As system operator I should be warned in the healthcheck when using PHP < 8.1, as support for PHP versions 7.4 and 8.0 will soon be removed

### Improved
- PB-27948 Guest identification by their username should be case-insensitive, unless specified in configuration
- PB-27957 Send notifications to all administrators when an administrator is deleted
- PB-27941 Send notifications to administrators when an administrator loses its administrator role
- PB-28171 Enable the email digest by default

### Security
- PB-28274 Fixes an XSS Security issue with mail content sanitization

### Fixed
- PB-25477 As an administrator, I should be able to recreate a user with an email that exists in the db via the command line
- PB-27799 As an administrator installing passbolt on PostgreSQL, the database encoding should be set to utf-8
- PB-27857 Fix help site release notes automation by adding flavour on help site release notes merge request

### Maintenance
- PB-27932 Improve code static by using cakedccakephp/phpstan
- PB-28079 Remove deprecation warnings from the test suite

## [4.4.0-test.2] - 2023-10-30
### Added
- PB-28482 Styleguide version bump to v4.4.0
Expand Down
16 changes: 13 additions & 3 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
TBD
Release song: https://www.youtube.com/watch?v=6Ejga4kJUts

## [4.4.0-test.2] - 2023-10-30
Hey community members,

Prepare for an exciting update! 🥁

Passbolt is thrilled to announce that the v4.4.0 Release Candidate is officially available for testing.

The best part? All you have to do is head to GitHub and dive in! Of course, you have to make sure to follow the steps [here](https://community.passbolt.com/t/passbolt-beta-testing-how-to/7894). As always, your feedback is invaluable, please share and report any issues you come across.

Enjoy the testing journey! ♥️

## [4.4.0-rc.1] - 2023-11-03
### Added
- PB-27773 As an administrator I can deny access to the mobile setup screen with RBAC
- PB-27951 As system operator I should be warned in the healthcheck when using PHP < 8.1, as support for PHP versions 7.4 and 8.0 will soon be removed
Expand All @@ -15,7 +25,7 @@ TBD
- PB-28274 Fixes an XSS Security issue with mail content sanitization

### Fixed
- PB-25477 As an administrator, I should be able to recreate a user with an email that exists in the db
- PB-25477 As an administrator, I should be able to recreate a user with an email that exists in the db via the command line
- PB-27799 As an administrator installing passbolt on PostgreSQL, the database encoding should be set to utf-8
- PB-27857 Fix help site release notes automation by adding flavour on help site release notes merge request

Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
"phpunit/phpunit": "~9.5.2",
"cakephp/cakephp-codesniffer": "^4.5",
"passbolt/passbolt-selenium-api": "^4.2",
"passbolt/passbolt-test-data": "^4.1.0",
"passbolt/passbolt-test-data": "^4.4",
"vierge-noire/cakephp-fixture-factories": "^v2.9.0",
"cakephp/localized": "4.0.0",
"vimeo/psalm": "^5.0.0",
Expand Down
12 changes: 6 additions & 6 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions config/version.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php
return [
'passbolt' => [
'version' => '4.4.0-test.2',
'name' => 'TBD',
'version' => '4.4.0-rc.1',
'name' => 'Zombie',
],
'php' => [
'minVersion' => '7.4',
Expand Down
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@
"grunt-contrib-watch": "^1.1.0",
"jquery": "^3.5.1",
"openpgp": "5.2.1",
"passbolt-styleguide": "^4.4.0"
"passbolt-styleguide": "^4.4.1"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,11 @@ public function index()
*/
protected function _healthcheckIsOk($checks)
{
// Do not block installation if this check fails
unset($checks['environment']['nextMinPhpVersion']);

$envCheckResults = array_values($checks['environment']);

$webInstallerChecksResults = array_values($checks['webInstaller']);
$gpgKeys = ['lib', 'gpgHome', 'gpgHomeWritable'];
$gpgChecks = [];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,12 @@
?>
<?= $this->Flash->render() ?>
<?php
if ($data['system_ok']) {
echo '<div class="message success">' . __('Environment is configured correctly.') . '</div>';
} else {
if (!$data['system_ok']) {
$healtcheck->assertEnvironment($data);
} elseif ($data['system_ok'] && !$data['environment']['nextMinPhpVersion']) {
$healtcheck->assertEnvironment($data);
} else {
echo '<div class="message success">' . __('Environment is configured correctly.') . '</div>';
}
?>
<!-- if the javascript does not load this message will be shown -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,22 @@ public function testWebInstallerSystemCheckViewSuccess()
$nextMinPhpVersion = Configure::read(Healthchecks::PHP_NEXT_MIN_VERSION_CONFIG);
if (version_compare(PHP_VERSION, $minPhpVersion, '<')) {
$this->assertStringContainsString('PHP version is too low', $data);
} elseif (version_compare(PHP_VERSION, $nextMinPhpVersion, '<=')) {
} elseif (
version_compare(PHP_VERSION, $minPhpVersion, '>=')
&& version_compare(PHP_VERSION, $nextMinPhpVersion, '<=')
) {
// Warning is shown to user
$this->assertStringContainsString(
__(
'PHP version less than {0} will soon be not supported by passbolt, so consider upgrading your operating system or PHP environment', // phpcs:ignore
$nextMinPhpVersion
),
$data
);
// User can continue with the installation
$this->assertStringContainsString('Nice one! Your environment is ready for passbolt.', $data);
$this->assertStringContainsString('GPG is configured correctly.', $data);
$this->assertStringContainsString('Start configuration', $data);
} else {
$this->assertStringContainsString('. Database', $data);
$this->assertStringContainsString('Nice one! Your environment is ready for passbolt.', $data);
Expand Down
4 changes: 2 additions & 2 deletions webroot/css/themes/default/api_authentication.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions webroot/css/themes/default/api_main.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions webroot/css/themes/default/ext_authentication.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions webroot/css/themes/midgar/api_authentication.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions webroot/css/themes/midgar/api_main.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions webroot/css/themes/midgar/ext_authentication.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion webroot/js/app/api-app.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion webroot/js/app/api-triage.js

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions webroot/locales/de-DE/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@
"entropy:": "entropie:",
"entropy: {this.formatEntropy(this.props.entropy)} / {this.formatEntropy(this.props.targetEntropy)} bits": "entropy: {this.formatEntropy(this.props.entropy)} / {this.formatEntropy(this.props.targetEntropy)} bits",
"environment variables": "environment variables",
"environment variables (legacy)": "environment variables (legacy)",
"Error": "Fehler",
"Error details": "Fehlerdetails",
"Error, this is not the current organization recovery key.": "Fehler, dies ist nicht der aktuelle Organisations-Wiederherstellungsschlüssel.",
Expand All @@ -357,6 +358,7 @@
"Favorite": "Favorit",
"Favorites": "Favoriten",
"file": "file",
"file (legacy)": "file (legacy)",
"Filters": "Filter",
"Fingerprint": "Fingerabdruck",
"First complete the configuration steps described in the current tab.": "Vervollständigen Sie zunächst die im aktuellen Tab beschriebenen Konfigurationsschritte.",
Expand Down Expand Up @@ -895,7 +897,7 @@
"The comment has been added successfully": "Der Kommentar wurde erfolgreich hinzugefügt",
"The comment has been deleted successfully": "Der Kommentar wurde erfolgreich gelöscht",
"The configuration has been disabled as it needs to be checked to make it correct before using it.": "Die Konfiguration wurde deaktiviert, da sie überprüft werden muss, um sie vor der Verwendung korrekt zu machen.",
"The current configuration comes from the environment variable. If you save them, they will be overwritten and come from the database instead.": "Die aktuelle Konfiguration kommt aus der Umgebungsvariable, wenn Sie sie speichern, wird sie überschrieben und kommt stattdessen aus der Datenbank.",
"The current configuration comes from a file or environment variables. If you save them, they will be overwritten and come from the database instead.": "The current configuration comes from a file or environment variables. If you save them, they will be overwritten and come from the database instead.",
"The current passphrase configuration generates passphrases that are not strong enough.": "Die aktuelle Passphrasenkonfiguration erzeugt Passphrasen, die nicht stark genug sind.",
"The current password configuration generates passwords that are not strong enough.": "Die aktuelle Passwortkonfiguration erzeugt Passwörter, die nicht stark genug sind.",
"The default admin user is the user that will perform the operations for the the directory.": "Der standard Admin führt die Operationen für das Verzeichnis aus.",
Expand Down Expand Up @@ -1320,4 +1322,4 @@
"Delete password?_other": "Passwörter löschen?",
"The password has been deleted successfully_one": "Das Passwort wurde erfolgreich gelöscht",
"The password has been deleted successfully_other": "Die Passwörter wurden erfolgreich gelöscht"
}
}
4 changes: 3 additions & 1 deletion webroot/locales/en-UK/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@
"entropy:": "entropy:",
"entropy: {this.formatEntropy(this.props.entropy)} / {this.formatEntropy(this.props.targetEntropy)} bits": "entropy: {this.formatEntropy(this.props.entropy)} / {this.formatEntropy(this.props.targetEntropy)} bits",
"environment variables": "environment variables",
"environment variables (legacy)": "environment variables (legacy)",
"Error": "Error",
"Error details": "Error details",
"Error, this is not the current organization recovery key.": "Error, this is not the current organization recovery key.",
Expand All @@ -385,6 +386,7 @@
"Favorite": "Favorite",
"Favorites": "Favorites",
"file": "file",
"file (legacy)": "file (legacy)",
"Filters": "Filters",
"Fingerprint": "Fingerprint",
"First complete the configuration steps described in the current tab.": "First complete the configuration steps described in the current tab.",
Expand Down Expand Up @@ -923,7 +925,7 @@
"The comment has been added successfully": "The comment has been added successfully",
"The comment has been deleted successfully": "The comment has been deleted successfully",
"The configuration has been disabled as it needs to be checked to make it correct before using it.": "The configuration has been disabled as it needs to be checked to make it correct before using it.",
"The current configuration comes from the environment variable. If you save them, they will be overwritten and come from the database instead.": "The current configuration comes from the environment variable. If you save them, they will be overwritten and come from the database instead.",
"The current configuration comes from a file or environment variables. If you save them, they will be overwritten and come from the database instead.": "The current configuration comes from a file or environment variables. If you save them, they will be overwritten and come from the database instead.",
"The current passphrase configuration generates passphrases that are not strong enough.": "The current passphrase configuration generates passphrases that are not strong enough.",
"The current password configuration generates passwords that are not strong enough.": "The current password configuration generates passwords that are not strong enough.",
"The default admin user is the user that will perform the operations for the the directory.": "The default admin user is the user that will perform the operations for the the directory.",
Expand Down
6 changes: 4 additions & 2 deletions webroot/locales/es-ES/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@
"entropy:": "entropía:",
"entropy: {this.formatEntropy(this.props.entropy)} / {this.formatEntropy(this.props.targetEntropy)} bits": "entropy: {this.formatEntropy(this.props.entropy)} / {this.formatEntropy(this.props.targetEntropy)} bits",
"environment variables": "environment variables",
"environment variables (legacy)": "environment variables (legacy)",
"Error": "Error",
"Error details": "Detalles del error",
"Error, this is not the current organization recovery key.": "Error, esta no es la clave actual de recuperación de la organización.",
Expand All @@ -357,6 +358,7 @@
"Favorite": "Favorito",
"Favorites": "Favoritos",
"file": "file",
"file (legacy)": "file (legacy)",
"Filters": "Filtros",
"Fingerprint": "Huella",
"First complete the configuration steps described in the current tab.": "Primero complete los pasos de configuración descritos en la pestaña actual.",
Expand Down Expand Up @@ -895,7 +897,7 @@
"The comment has been added successfully": "El comentario ha sido añadido correctamente",
"The comment has been deleted successfully": "El comentario se ha eliminado correctamente",
"The configuration has been disabled as it needs to be checked to make it correct before using it.": "La configuración ha sido desactivada porque tiene que ser comprobada para que sea correcta antes de usarla.",
"The current configuration comes from the environment variable. If you save them, they will be overwritten and come from the database instead.": "The current configuration comes from the environment variable. If you save them, they will be overwritten and come from the database instead.",
"The current configuration comes from a file or environment variables. If you save them, they will be overwritten and come from the database instead.": "The current configuration comes from a file or environment variables. If you save them, they will be overwritten and come from the database instead.",
"The current passphrase configuration generates passphrases that are not strong enough.": "The current passphrase configuration generates passphrases that are not strong enough.",
"The current password configuration generates passwords that are not strong enough.": "The current password configuration generates passwords that are not strong enough.",
"The default admin user is the user that will perform the operations for the the directory.": "El usuario administrador por defecto es el usuario que realizará las operaciones del directorio.",
Expand Down Expand Up @@ -1320,4 +1322,4 @@
"Delete password?_other": "¿Eliminar contraseñas?",
"The password has been deleted successfully_one": "La contraseña se ha eliminado correctamente",
"The password has been deleted successfully_other": "Las contraseñas se han eliminado correctamente"
}
}
Loading

0 comments on commit 2cedbd4

Please sign in to comment.