diff --git a/docs/en_US/release_notes_8_13.rst b/docs/en_US/release_notes_8_13.rst index 1339b05f37e..ec9eb9df841 100644 --- a/docs/en_US/release_notes_8_13.rst +++ b/docs/en_US/release_notes_8_13.rst @@ -2,7 +2,7 @@ Version 8.13 ************ -Release date: 2024-10-22 +Release date: 2024-11-14 This release contains a number of bug fixes and new features since the release of pgAdmin 4 v8.12. @@ -29,6 +29,8 @@ New features Housekeeping ************ + | `Issue #8061 `_ - Updated the react-menu library from v2 to v4. + | `Issue #8077 `_ - Remove bootstrap from the runtime code. Bug fixes ********* @@ -37,6 +39,7 @@ Bug fixes | `Issue #7289 `_ - Move 'About pgAdmin 4' to app menu on macOS. | `Issue #7655 `_ - Fixed an issue where the query tool was crashing when an empty geometry was being rendered. | `Issue #7837 `_ - Fixed an issue where role properties were not loading. + | `Issue #7883 `_ - Fix multiple issues related to debugger params dialog input. | `Issue #7907 `_ - Ensure server connection is successful for sslrootcert=system in server configuration. | `Issue #7919 `_ - Fixed an issue where the dock layout was not saved upon closing a tab. | `Issue #7920 `_ - Fixed an issue where the copy shortcut CTRL +C was not working in the Query Tool data grid. diff --git a/requirements.txt b/requirements.txt index 807d4322bac..41f3dad5c23 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,12 +21,13 @@ Flask-Babel==4.0.* Flask-Security-Too==5.5.*; python_version >= '3.10' Flask-Security-Too==5.4.*; python_version <= '3.9' Flask-SocketIO==5.4.* -WTForms==3.1.* +WTForms==3.2.*; python_version >= '3.10' +WTForms==3.1.*; python_version <= '3.9' passlib==1.* pytz==2024.* speaklater3==1.* sqlparse==0.* -psutil==6.0.* +psutil==6.1.* psycopg[c]==3.2.3 python-dateutil==2.* SQLAlchemy==2.* @@ -34,7 +35,7 @@ bcrypt==4.2.* cryptography==43.0.* sshtunnel==0.* ldap3==2.* -gssapi==1.8.* +gssapi==1.9.* eventlet==0.37.0 user-agents==2.2.0 pywinpty==2.0.*; sys_platform=="win32" @@ -45,9 +46,9 @@ qrcode[pil]==8.*; python_version >= '3.9' boto3==1.35.* urllib3==1.26.* azure-mgmt-rdbms==10.1.0 -azure-mgmt-resource==23.1.1 +azure-mgmt-resource==23.2.0 azure-mgmt-subscription==3.1.1 -azure-identity==1.18.0 +azure-identity==1.19.0 google-api-python-client==2.* google-auth-oauthlib==1.2.1 keyring==25.* diff --git a/runtime/package.json b/runtime/package.json index f091c85aaf9..4d9fb4c39f5 100644 --- a/runtime/package.json +++ b/runtime/package.json @@ -17,7 +17,6 @@ }, "dependencies": { "axios": "^1.7.7", - "bootstrap": "^4.5.3", "electron-context-menu": "^4.0.4", "electron-store": "^10.0.0" } diff --git a/runtime/src/css/pgadmin-desktop.css b/runtime/src/css/pgadmin-desktop.css index 3ca224fe68e..19b11cd8d2e 100644 --- a/runtime/src/css/pgadmin-desktop.css +++ b/runtime/src/css/pgadmin-desktop.css @@ -1,44 +1,118 @@ -@import "../../node_modules/bootstrap/dist/css/bootstrap.css"; +body { + font-family: system-ui; + height: 100vh; + display: flex; + flex-direction: column; + margin: 0; + font-size: 0.9em; + background-color:var(--background-color); + color: var(--color); -.card { - margin: 0.25rem !important; + --color: #222; + --background-color: #fff; + --border-color: #bac1cd; + --primary-color: #326690; +} + +.content { + min-height: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + padding: 8px; } -#status-text { - font-size: medium; - align-self: center; +.footer { + display: flex; + align-items: center; + justify-content: space-between; + border-top: 1px solid var(--border-color); + padding: 8px; } -#server_log_label { +.card { + margin: 4px 0px; +} + +.card .card-header { + padding: 8px 4px; font-weight: 500; } +.card .card-body { + border: 1px solid var(--border-color); + border-radius: 4px; + padding: 12px; +} + +.form-inline { + display: flex; + padding: 16px 0px; +} + +.form-group { + display: flex; + align-items: center; + gap: 4px; +} + +.form-check-input { + height: 16px; + width: 16px; + accent-color: var(--primary-color); +} +.form-check-input:focus { + outline-color: var(--primary-color); +} + +.form-input { + padding: 4px 6px; + background-color: var(--background-color); + border-style: none; + border: 1px solid var(--border-color); + color: var(--color); + border-radius: 4px; +} +.form-input:disabled { + opacity: 0.7; +} +.form-input:focus { + outline-color: var(--primary-color); +} + +.mt-4 { + margin-top: 16px; +} +.mr-2 { + margin-right: 8px; +} +.mr-3 { + margin-right: 12px; +} + +.btn { + padding: 6px 12px; + border-radius: 4px; + box-shadow: none; + border-style: none; + cursor: pointer; +} + .btn-primary { - color: #fff; - background-color: #326690; - border-color: #326690; - } - .btn-primary:hover { - color: #fff; - background-color: #285274; - border-color: #254b6a; - } - .btn-primary:focus, .btn-primary.focus { - color: #fff; - background-color: #285274; - border-color: #254b6a; - box-shadow: 0 0 0 0 rgba(81, 125, 161, 0.5); - } - .btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #326690; - border-color: #326690; - } - .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #254b6a; - border-color: #224461; - } - .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0 rgba(81, 125, 161, 0.5); + color: #fff; + background-color: var(--primary-color); + border-color: var(--primary-color); +} +.btn-primary:disabled { + opacity: 0.75; + cursor: unset; +} + +@media (prefers-color-scheme: dark) { + body { + --color: #d4d4d4; + --background-color: #212121; + --border-color: #4a4a4a; + --primary-color: #234d6e; } +} \ No newline at end of file diff --git a/runtime/src/html/configure.html b/runtime/src/html/configure.html index 880c253635b..1f7fba66286 100644 --- a/runtime/src/html/configure.html +++ b/runtime/src/html/configure.html @@ -6,71 +6,58 @@ pgAdmin 4 Runtime Configuration - -
-
Fixed Port
-
-
- -
-
-
- - -
+
+
+
Fixed Port
+
- - + By default, pgAdmin uses a random port number to ensure it can always run successfully. If you need to use a predictable port number, you can set one here. Note that if the port is already in use, the application will be unable to start. +
+
+
+ + +
+
+ + +
-
-
-
Connection Timeout
-
-
- -
-
+
+
Connection Timeout
+
- - - + Connection Timeout will define how long to wait for the pgAdmin server to start before throwing an error. By default, pgAdmin will wait for 90 seconds. + +
+
+ + + seconds
-
-
-
Open Documentation
-
-
- -
-
-
- +
+
Open Documentation
+
+
+ By checking this option, all documentation links will open in the default browser instead of a new window. + +
+
+
-
+