Commit Graph
106 Commits
Author SHA1 Message Date
Dave Page 7790264acb chore: batch minor and patch Dependabot updates into one PR per manifest (#10277)
We were carrying 27 open Dependabot PRs, the great majority of them single
patch bumps of transitive packages, and the review cost of that queue is
entirely out of proportion to its risk. Every genuine problem found whilst
clearing it (paramiko 5.0 breaking sshtunnel, use-resize-observer 10.0 dropping
its default export, jest-dom 7.0 requiring a newer Node) was a major bump.

Group minor and patch updates into a single weekly PR per manifest, and leave
major updates arriving individually so each still gets its own review. Grouping
applies to version updates only, so security updates are unaffected and
continue to arrive as separate PRs.
2026-08-17 10:23:20 +01:00
Dave Page 9338129183 chore: stop Dependabot proposing major paramiko bumps (#10257)
paramiko 5.0 removed DSSKey entirely, whilst sshtunnel 0.4.0 still refers to
paramiko.DSSKey in SSHTunnelForwarder.get_keys(), which _consolidate_auth()
calls from the constructor. A major bump therefore does not merely drop DSA
key support, it raises AttributeError before any SSH tunnelled connection can
be established, and nothing in CI covers SSH tunnels so it looks green.
sshtunnel has had no release since 0.4.0 in 2019, so there is nothing newer to
move to on that side.

Ignore major paramiko updates until sshtunnel is fixed or replaced. The
exclusion is repeated under the /web/regression entry because
web/regression/requirements.txt starts with "-r ../../requirements.txt", so
that entry sees the root pins too.
2026-08-14 11:26:51 +01:00
Dave Page 6487f2a93f Add support for Python 3.14 (#10255)
Python 3.14 is now supported, so add the trove classifier for it to the
pip packaging metadata and move the desktop builds onto it: the macOS
bundle now defaults to 3.14.7, and the Windows build looks for an
interpreter in C:\Python314 by default, with both build READMEs updated
to match. The minimum supported version is unchanged at 3.9.

Whilst here, the SonarQube scanner's Python compatibility list had drifted
somewhat, still naming 3.7 and 3.8 and stopping at 3.11, so it has been
brought into line with the versions we actually support.
2026-08-14 11:16:25 +01:00
Kobi Hikri e65edd4669 Pin sonarqube-scan-action to a full commit SHA (v8.2.1) (#10154) 2026-07-24 19:01:03 +05:30
Ashesh Vashi b15c745dc1 fix: pin Yarn version from packageManager field in build scripts (#10156)
* fix: pin Yarn version from packageManager field in build scripts

Replace hardcoded 'yarn set version 4' in build-functions.sh with a
dynamic lookup from each workspace's package.json packageManager field.
Also syncs runtime yarn version to 4.15.0 to match web/package.json.

Fixes CI build failures caused by Yarn 4.x fetching a newer patch that
produces different builtin compat hashes, breaking --immutable lockfile
validation.
2026-07-16 11:48:36 +05:30
Ashesh Vashi f81433ae2f Fix RCE via unauthenticated session deserialization in SQL Editor close/update routes.
The 'close' (DELETE /sqleditor/close/<trans_id>) and
'update_sqleditor_connection' (POST /sqleditor/initialize/sqleditor/
update_connection/...) endpoints were the only state-mutating SQL Editor
routes missing @pga_login_required. Both reach pickle.loads on
session['gridData'][trans_id]['command_obj'] via
close_sqleditor_session() and check_transaction_status() respectively.

Combined with a forged session file (precondition: SECRET_KEY leak +
write access to sessions/), this gave an unauthenticated attacker a
pickle deserialization sink and arbitrary code execution in the pgAdmin
process. Adding the login decorator forces is_authenticated/MFA checks
before the unsafe deserialization path is reached, matching the
convention used by every other endpoint in the module.

Includes a server-mode regression test that harvests a CSRF token from
GET /login (mirroring the attacker's path) and asserts both endpoints
reject the unauthenticated request before reaching the route body.
Self-skips in DESKTOP mode because pgAdmin's before_request hook
re-authenticates DESKTOP_USER on every request there, so no auth
decorator can be exercised in an unauthenticated state. Wired into the
existing server-mode CI workflow alongside the data-isolation tests.

Reported by Fernando Bortotti <fernando.bortotti@bsd.com.br>.
2026-06-10 20:01:44 +05:30
Ashesh Vashi f8e570faea ci: run data-isolation tests in server mode (#10019)
The existing run-python-tests-pg.yml workflow hardcodes
SERVER_MODE = False in config_local.py. Every test that gates
itself on `config.SERVER_MODE` — including the data-isolation
suites — skips itself in CI today. That gap is what allowed the
admin-bypass regression in 9a76ed8 to ship (see #9933, #10006):
the change to web/pgadmin/utils/server_access.py changed
access-control behaviour but the only tests covering it were
server-mode-only and therefore never ran.

This workflow plugs that gap with a narrow, cheap server-mode
CI job:

- Single OS (ubuntu-22.04), single PG version (18) — no matrix
- SERVER_MODE = True in config_local.py
- Runs only the two data-isolation test modules:
    browser.server_groups.tests.test_sg_data_isolation
    browser.server_groups.servers.tests.test_server_data_isolation

Locally with SERVER_MODE=True both modules finish in well under
half a second (3 + 6 tests), so the marginal CI cost is dominated
by the PG/python setup, not the tests themselves.

Future access-control changes to server_access.py (or related
helpers) will fail this workflow if they regress the existing
isolation guarantees, before they reach master
2026-06-08 11:11:12 +05:30
Ashesh Vashi 872d5ac0b3 fix: Bump python & javascript dependencies (#9827)
* Update Python dependencies:
   - google-auth-oauthlib 1.3.0 → 1.3.1
   - sphinxcontrib-youtube 1.4.1 → 1.5.0
   - fixtures 4.3.1 → 4.3.2
   - Add missing newline at end of requirements files

* Update JavaScript dependencies:
   - Replace deprecated @babel/plugin-proposal-* packages with @babel/plugin-transform-* equivalents
   - Remove unused @types/classnames dependency
   - Update yarn.lock
   - Pin the 'react-frame-component' to '~5.2.6'

* fix: Use PostGIS 36 for EPAS 18 in CI workflow
   - EPAS 18 ships with edb-as18-postgis36 instead of postgis34.
   - Add a postgisver matrix variable to support mixed versions.
   - Add exclude+include for EPAS 18 PostGIS matrix to fix empty runs-on

* Moving '@babel/plugin-transform-class-properties', '@babel/preset-react' to devDependencies section
2026-04-08 17:31:56 +05:30
Akshay Joshi dc47bf48f7 Remove PG/EPAS 13 from the github runners. 2026-03-05 16:52:41 +05:30
Yogesh Mahajan 7251c1f628 Fix github actions for pg17 for windows platform broken due to changes in github runner image. 2025-10-31 11:05:05 +05:30
Anil Sahoo 282a956f4f Reverted changes in Python tests for EPAS/PG YAML files that were added to support Subscription RESQL test cases and adjust streaming values for PG v16+. 2025-10-30 12:50:33 +05:30
Anil Sahoo 53a994ba1e Fixed an issue where Python tests for EPAS github actions were failing due to a port mismatch with RESQL test case files for Subscription. 2025-10-22 18:14:12 +05:30
Akshay Joshi 5c9acc1c3d 1) Added PG 18 in the github runner.
2) Added PG 18 in the docker container file.
2025-09-29 13:40:03 +05:30
Anil Sahoo c75bba03c2 1) Added 'failover' parameter support in CREATE and ALTER SUBSCRIPTION for PostgreSQL v17+. #8932
2) Added 'two_phase' parameter support for ALTER SUBSCRIPTION for PostgreSQL v18+.
3) Updated versioned_template_loader.py to prioritize v18+ templates.
4) Updated the default value of the streaming parameter in CREATE SUBSCRIPTION to 'parallel' in PG v18 (previously false).
2025-09-29 12:52:47 +05:30
Yogesh Mahajan 5376d88444 Update the PATH variable with the newly installed EPAS directory to use the correct pg_config. 2025-09-24 15:55:10 +05:30
Yogesh Mahajan f733d124bd Update the PATH variable with the newly installed PostgreSQL directory to use the correct pg_config. 2025-09-24 14:55:56 +05:30
excavator-matt 96de08212a Clarify version in issue template (#9020) 2025-08-04 14:43:55 +01:00
Akshay Joshi cab1bc3cb4 Update yarn to version 4. 2025-06-06 19:08:32 +05:30
Aditya Toshniwal 4a4d4569ae Improved PL/PGSQL code folding and support nested blocks. #6118 2025-06-02 15:58:07 +05:30
Yogesh Mahajan 33389fc48e Fix feature test failures for PG servers. 2025-04-24 15:57:48 +05:30
Pravesh Sharma b08e90ea88 Add support for type constructors for PostGIS spatial types. #2256 2025-04-23 15:35:42 +05:30
Yogesh Mahajan 708a570ba0 On the Ubuntu runner, uninstall the default PostgreSQL version before installing any other PostgreSQL version. 2025-03-10 15:39:41 +05:30
Akshay Joshi 96128f6a15 1) Enable the ability to close the 'Welcome' tab in the Query Tool/PSQL Workspace. #8436
2) Fixed an issue where the User Management and Change Password dialogs were hidden when selecting a menu while a workspace other than 'Default' was active. #8418
3) Revert the change of OS from Ubuntu 22.04 to 24.04 for github action failure.
2025-02-17 18:28:56 +05:30
Akshay Joshi 5c257fe1b9 Change the Operating System from Ubuntu 22.04 to 24.04 to test whether it fixes the github actions. 2025-02-17 12:38:28 +05:30
Akshay Joshi 4e2fd404c0 pgagent extension should be created only EPAS < 17. 2024-12-12 16:49:11 +05:30
Akshay Joshi 6f8fb6f49d pgAgent for EPAS is no more supported from v17, so changing the github actions accordingly. 2024-12-11 18:56:24 +05:30
Akshay Joshi 52d6017ce5 Removed PG/EPAS 12 and Added PG/EPAS 17 for github actions. 2024-12-11 12:31:53 +05:30
Akshay Joshi c3a334f8df 1) Update the repo to the version 2.0 for downloading EPAS.
2) Use 'ubuntu-22.04' instead of 'ubuntu-latest'.
2024-12-09 12:32:03 +05:30
Aditya Toshniwal 2dd7de73b9 Update dependabot.yml to check for updates on a weekly basis instead of daily. 2024-12-05 16:31:38 +05:30
Aditya Toshniwal 6fcc4ae6a2 More fixes for issues found while testing query tool pagination changes. #1780 2024-11-08 15:48:24 +05:30
Aditya Toshniwal 9e3f5f53cc Pin the python version for python tests git runners to 3.12 until pgAdmin supports latest 2024-10-28 14:12:29 +05:30
Aditya Toshniwal e8f108154d Fix build failures. 2024-06-27 18:03:10 +05:30
Aditya Toshniwal 6f96f67655 Add the git commit hash details to the About dialog. #7623 2024-06-27 13:20:00 +05:30
Akshay Joshi 0ac006fde1 Fixed typo in the previos commit for GitHub action 2024-05-02 16:22:12 +05:30
Aditya Toshniwal 1e6fab92b0 Add PostgreSQL installation bin directory to path of MacOS GitHub action 2024-05-02 12:52:09 +05:30
Aditya Toshniwal 099577959b Attempt to fix GitHub action failing for MacOS 2024-05-02 12:33:19 +05:30
Akshay Joshi c2b7e521d3 Use correct installation path of PostgreSQL in GitHub action. For reference https://docs.brew.sh/FAQ#why-is-the-default-installation-prefix-opthomebrew-on-apple-silicon 2024-04-30 17:36:55 +05:30
Akshay Joshi 36aaf38379 Added sudo while creating tablespace directory on macOS 2024-04-30 16:47:01 +05:30
Aditya Toshniwal e612140473 Update release notes. 2024-04-10 18:00:57 +05:30
Aditya Toshniwal ed2a73f7ff Fix artifact archive error for EPAS tests on github workflows 2024-04-09 09:52:39 +05:30
Akshay Joshi 30398219f4 Replace actions/upload-artifact@v3 with actions/upload-artifact@v4 for all the github actions. 2024-03-12 16:04:15 +05:30
Akshay Joshi 8545d846c0 Replace actions/checkout@v3 with actions/checkout@v4 for all the github actions. 2024-03-12 15:26:31 +05:30
Akshay Joshi 6d8c4bdb82 1) Checking actions/checkout@v4 working or not.
2) Added edb job scheduler command for EPAS 16 only.
2024-03-12 14:45:44 +05:30
Akshay Joshi a973c9c62c Remove EPAS 11 and add EPAS 16 in the GitHub actions. 2023-12-20 12:08:19 +05:30
Khushboo Vashi 222e8cc1f8 Upgade yarn for Javascript style github workflow. 2023-11-27 15:53:23 +05:30
Khushboo Vashi 9611e06dcf Upgrade yarn to fix github action failures. 2023-11-23 15:14:13 +05:30
Khushboo Vashi 22b386165d Try to fix the yarn version mismatch issue. 2023-11-23 12:46:05 +05:30
Aditya Toshniwal 17acce3e7b Continue fixing multiple UI issues found when testing wcDocker changes. #6479 2023-11-01 20:52:38 +05:30
Aditya Toshniwal 5a7583654f Move yarn to berry first before moving to 3.x 2023-10-26 15:17:41 +05:30
Aditya Toshniwal 8997f616a2 Do not use minor version x when setting yarn version 2023-10-26 13:14:01 +05:30