mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2026-09-03 20:52:57 -05:00
JS (yarn, patch/minor only): babel toolchain, MUI, react/react-dom, testing-library, axios, webpack ecosystem, jest, eslint plugins, and misc small libs. Excluded @simonwep/pickr (webpack prod-bundle interop break on 1.10.x), @testing-library/user-event@14.6.7 and webpack@5.110.3 (both npm-quarantined at bump time). Python (>3.9 requirements branch only, Python 3.9 pins untouched): Authlib 1.8, google-auth-oauthlib 1.4.1, gssapi 1.12 (ungated), psycopg[c] 3.3.5, selenium 4.48.0, testscenarios 0.7.0. Skipped: paramiko 3->5 (blocked on sshtunnel's paramiko.DSSKey usage), azure-mgmt-resource 26.0.0 (drops Python 3.9 support and conflicts with the <26 upper bound kept for Azure CLI distro packaging, see #10247). Two bumped packages required source fixes: - psycopg 3.3.5 restructured the private psycopg._encodings._py_codecs attribute from a dict to a tuple of alias groups, breaking our monkeypatch in pgadmin/utils/driver/psycopg3/encoding.py with TypeError: 'tuple' object does not support item assignment. Rewrote get_encoding()/ configure_driver_encodings() to use the derived py_codecs/ pg_codecs dicts instead, which stay plain dicts across psycopg 3.2.x-3.3.5 regardless of _py_codecs's internal shape. Verified byte-for-byte identical behavior against 3.3.4 for every encode_dict entry (SQL_ASCII, EUC_TW, UNICODE, ascii) plus UTF8/LATIN1. Added a DB-free unit test (pgadmin/utils/driver/psycopg3/tests/test_encoding.py) so a future psycopg internals change fails fast here instead of only surfacing as an app-wide import crash in the full regression suite. - react-frame-component 5.3.2 breaks LayoutIframeTab.jsx (the iframe wrapper every tool panel - Query Tool, Debugger, PSQL, ERD, Schema Diff - renders into): the panel's iframe never mounts, hanging any of those tools indefinitely (React error #130 in the production bundle). This caused every run-feature-tests-pg CI job to fail. Reverted to 5.2.6.