Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pgadmin4 for openSUSE:Factory checked in at 2024-04-08 17:40:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pgadmin4 (Old) and /work/SRC/openSUSE:Factory/.pgadmin4.new.1905 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pgadmin4" Mon Apr 8 17:40:16 2024 rev:27 rq:1166173 version:8.5 Changes: -------- --- /work/SRC/openSUSE:Factory/pgadmin4/pgadmin4.changes 2024-02-22 20:56:34.558920967 +0100 +++ /work/SRC/openSUSE:Factory/.pgadmin4.new.1905/pgadmin4.changes 2024-04-08 17:52:31.190234298 +0200 @@ -1,0 +2,99 @@ +Mon Apr 8 09:08:22 UTC 2024 - Antonio Larrosa <alarr...@suse.com> + +- update to 8.5: + * supported database servers + - postgresql: 12, 13, 14, 15, and 16 + - edb advanced server: 12, 13, 14, 15, and 16 + * bundled postgresql utilities + - psql, pg_dump, pg_dumpall, pg_restore: 16.1 + * New features + - Added support for provider, deterministic, version and RULES + parameter while creating collation. + - Added support for EDB Job Scheduler. + - Added support for viewing Log Based Clusters. + - Added support for UNIX socket in entrypoint.sh for Docker + implementation. + * Bug fixes + - Fixed an issue in Schema Diff where Columns with sequences + get altered unnecessarily. + - Fixed an issue where user was unable to share a newly + registered server. + - Bug fixes and improvements in pgAdmin CLI. + - Fixed an issue where the 'Save Password' option for SSH + tunneling password was consistently disabled. + - Fixed schema diff wrong query generation for table, foreign + table and sequence. + - Fixed an issue where table properties were not updating from + properties dialog. + - Fixed an issue where maximize icon is missing from query + tool panel. + - Fix an issue in table dialog where changing column name was + not syncing table constraints appropriately. + - Fixed rollback and commit button activation on execute + button click. + - Fixed an issue where taking backup of a shared server was + using server owner's user name. + - Fix an issue in editor where replace option in query tool + edit menu is not working on non-Mac OS. + - Fix an issue in editor where Format SQL shortcut and + multiline selection are not working. + - Fix an issue in editor where "Use Spaces?" Preference of + Editor is not working. + - Fixed an issue where Triggers, Rules, Indexes were absent + from the Schema Diff when comparing views. + - Fix an issue in query tool where toggle case of selected + text loses selection. + - Fix query tool autocomplete results when cursor is in + between the SQL query. + - Fix an issue in query tool where custom keyboard shortcuts + are not working for some. + - Fixed the issue where the update-user CLI command doesn't + change the password. + - Fixed issue related to email authentication of Two-factor + authentication. + - Fixed a remote code execution issue in the validate binary + path (boo#1222390, CVE-2024-3116). +- update to 8.4: + * supported database servers + - postgresql: 12, 13, 14, 15, and 16 + - edb advanced server: 12, 13, 14, 15, and 16 + * bundled postgresql utilities + - psql, pg_dump, pg_dumpall, pg_restore: 16.1 + * New features + - Allow preferences customization using a configuration file. + - Add support for JSON log format. + - Add --yes option for skipping the confirmation prompt while + deleting the user via CLI for scripting purpose. + * Housekeeping + - Upgrade CodeMirror from version 5 to 6. + - Added documentation for Dashboard's System Statistics tab. + - Separate the application name, branding & version information + from the configuration file. + - Upgrade python packages cryptography to 42.0.x and + Flask-Security-Too to 5.3.x. + * Bug fixes + - Fix multiple issues where PasswordExecCommand was not working + in server mode and PasswordExecCommand was not loaded when + importing servers. + - Fix the tabbed panel backward/forward shortcut for tabs. + - Fixed an issue where dependencies and dependents were not + showing if a composite type is used as an attribute in + another composite type. + - Fix an issue where constraint check control is enabled in the + edit table dialog. + - Fix an issue where the scripts created by generate script of + Schema diff for Table with sequence was not working earlier. + - Ensure that the OAuth2 session is logged out when users log + out from pgAdmin. + - Remove role related checks on the UI dashboard when + terminating session/query and let PostgreSQL take care of it. + - Fix an issue where type column in dependents/dependencies tab + is not showing correct label. + - Unsafe Deserialization and Remote Code Execution by an + Authenticated user in pgAdmin 4 (boo#1221172, CVE-2024-2044). +- Replace the requirement for cryptography 42.0 to be satisfied + with 41.0 (which is the version we have in SLE) given that the + code using the cryptography module doesn't seem to really require + 42.0 . + +------------------------------------------------------------------- Old: ---- pgadmin4-8.3.tar.gz pgadmin4-8.3.tar.gz.asc New: ---- pgadmin4-8.5.tar.gz pgadmin4-8.5.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pgadmin4.spec ++++++ --- /var/tmp/diff_new_pack.kBdBM3/_old 2024-04-08 17:52:32.494282428 +0200 +++ /var/tmp/diff_new_pack.kBdBM3/_new 2024-04-08 17:52:32.494282428 +0200 @@ -38,11 +38,12 @@ %global python3_flask_migrate_min_version 4.0 %global python3_flask_min_version 2.3 %global python3_flask_paranoid_min_version 0.2.0 -%global python3_flask_security_too_min_version 5.2.0 +%global python3_flask_security_too_min_version 5.3.0 %global python3_flask_socketio_min_version 5.3.0 %global python3_flask_sqlalchemy_min_version 3.1 %global python3_flask_wtf_min_version 1.2 %global python3_httpagentparser_min_version 1.9 +%global python3_jsonformatter_min_version 0.3.2 %global python3_google_api_python_client_min_version 2.0 %global python3_google_auth_oauthlib_min_version 1.1.0 %global python3_ldap3_min_version 2.5.1 @@ -68,7 +69,7 @@ %global user_group_name pgadmin Name: pgadmin4 -Version: 8.3 +Version: 8.5 Release: 0 Summary: Management tool for PostgreSQL License: PostgreSQL @@ -119,6 +120,7 @@ BuildRequires: %{python_module cryptography >= %{python3_cryptography_min_version}} BuildRequires: %{python_module eventlet >= %{python3_eventlet_min_version}} BuildRequires: %{python_module httpagentparser >= %{python3_httpagentparser_min_version}} +BuildRequires: %{python_module jsonformatter >= %{python3_jsonformatter_min_version}} BuildRequires: %{python_module keyring >= %{python3_keyring_min_version}} BuildRequires: %{python_module ldap3 >= %{python3_ldap3_min_version}} BuildRequires: %{python_module passlib >= %{python3_passlib_min_version}} @@ -163,6 +165,7 @@ Requires: %{python_module cryptography >= %{python3_cryptography_min_version}} Requires: %{python_module eventlet >= %{python3_eventlet_min_version}} Requires: %{python_module httpagentparser >= %{python3_httpagentparser_min_version}} +Requires: %{python_module jsonformatter >= %{python3_jsonformatter_min_version}} Requires: %{python_module keyring >= %{python3_keyring_min_version}} Requires: %{python_module ldap3 >= %{python3_ldap3_min_version}} Requires: %{python_module passlib >= %{python3_passlib_min_version}} @@ -178,7 +181,7 @@ Requires: %{python_module urllib3 < 2} Requires: %{python_module user-agents >= %{python3_user_agents_min_version}} Requires: system-user-pgadmin -Requires(postun):system-user-pgadmin +Requires(postun): system-user-pgadmin Suggests: %{python_module mod_wsgi} Suggests: %{name}-doc Recommends: %{name}-cloud @@ -286,6 +289,8 @@ # speaklater isn't really used sed -i -e 's/^speaklater.*//' requirements.txt +# The bumped requirement for cryptography 42.0.* isn't real and 41.0.* (which is what we have in SLE) should be enough +sed -i -e 's/^cryptography==42\.0\.\*/cryptography==41.0.*/' requirements.txt # Remove dependency on yarn version for which there's not an available package sed -i -z -e 's/,\n *"packageManager": "yarn@3.6.4"//' web/package.json ++++++ node_modules.obscpio ++++++ /work/SRC/openSUSE:Factory/pgadmin4/node_modules.obscpio /work/SRC/openSUSE:Factory/.pgadmin4.new.1905/node_modules.obscpio differ: char 2303183, line 8450 ++++++ node_modules.spec.inc ++++++ ++++ 2879 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/pgadmin4/node_modules.spec.inc ++++ and /work/SRC/openSUSE:Factory/.pgadmin4.new.1905/node_modules.spec.inc ++++++ package-lock.json ++++++ --- /var/tmp/diff_new_pack.kBdBM3/_old 2024-04-08 17:52:32.646288039 +0200 +++ /var/tmp/diff_new_pack.kBdBM3/_new 2024-04-08 17:52:32.654288334 +0200 @@ -8,6 +8,7 @@ "dependencies": { "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-react": "^7.12.13", + "@codemirror/lang-sql": "^6.6.2", "@date-io/core": "^1.3.6", "@date-io/date-fns": "1.x", "@emotion/sheet": "^1.0.1", @@ -25,7 +26,7 @@ "ajv": "^8.8.2", "anti-trojan-source": "^1.4.0", "aspen-decorations": "^1.0.2", - "axios": "^1.4.0", + "axios": "^1.6.8", "babelify": "~10.0.0", "bignumber.js": "^9.0.1", "brace": "^0.11.1", @@ -34,12 +35,13 @@ "chartjs-plugin-zoom": "^2.0.1", "classnames": "^2.2.6", "closest": "^0.0.1", - "codemirror": "^5.59.2", + "codemirror": "^6.0.1", "convert-units": "^2.3.4", "cssnano": "^5.0.2", "dagre": "^0.8.4", "date-fns": "^2.24.0", "diff-arrays-of-objects": "^1.1.8", + "hotkeys-js": "^3.13.3", "html-to-image": "^1.11.11", "immutability-helper": "^3.0.0", "insert-if": "^1.1.0", @@ -51,7 +53,6 @@ "ml-matrix": "^6.5.0", "moment": "^2.29.4", "moment-timezone": "^0.5.34", - "mousetrap": "^1.6.3", "notificar": "^1.0.1", "notistack": "^1.0.10", "path-fx": "^2.0.0", @@ -2092,6 +2093,95 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@codemirror/autocomplete": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.15.0.tgz", + "integrity": "sha512-G2Zm0mXznxz97JhaaOdoEG2cVupn4JjPaS4AcNvZzhOsnnG9YVN68VzfoUw6dYTsIxT6a/cmoFEN47KAWhXaOg==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" + }, + "peerDependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/commands": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.3.3.tgz", + "integrity": "sha512-dO4hcF0fGT9tu1Pj1D2PvGvxjeGkbC6RGcZw6Qs74TH+Ed1gw98jmUgd2axWvIZEqTeTuFrg1lEB1KV6cK9h1A==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.1.0" + } + }, + "node_modules/@codemirror/lang-sql": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/@codemirror/lang-sql/-/lang-sql-6.6.2.tgz", + "integrity": "sha512-ZVt7AHflRDFVwxSq7nnj1pko9yR6wKFDtc6Ln7zUs8RX34v5sgVxy3d2lQfORhMPVblEJLaugn+sjwRmAFWNIg==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.1.tgz", + "integrity": "sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/lint": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.5.0.tgz", + "integrity": "sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/search": { + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz", + "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", + "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" + }, + "node_modules/@codemirror/view": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.26.1.tgz", + "integrity": "sha512-wLw0t3R9AwOSQThdZ5Onw8QQtem5asE7+bPlnzc57eubPqiuJKIzwjMZ+C42vQett+iva+J8VgFV4RYWDBh5FA==", + "dependencies": { + "@codemirror/state": "^6.4.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, "node_modules/@date-io/core": { "version": "1.3.13", "resolved": "https://registry.npmjs.org/@date-io/core/-/core-1.3.13.tgz", @@ -3480,6 +3570,27 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@lezer/common": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", + "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" + }, + "node_modules/@lezer/highlight": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", + "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz", + "integrity": "sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, "node_modules/@material-ui/core": { "version": "4.12.4", "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", @@ -6091,11 +6202,11 @@ } }, "node_modules/axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -8077,9 +8188,18 @@ } }, "node_modules/codemirror": { - "version": "5.65.16", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.16.tgz", - "integrity": "sha512-br21LjYmSlVL0vFCPWPfhzUCT34FM/pAdK7rRIZwa0rrtrIdotvP4Oh4GUHsu2E3IrQMCfRkL/fN3ytMNxVQvg==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", + "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } }, "node_modules/collect-v8-coverage": { "version": "1.0.2", @@ -8511,6 +8631,11 @@ "node": ">=8" } }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -11750,9 +11875,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -12436,6 +12561,14 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/hotkeys-js": { + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.13.7.tgz", + "integrity": "sha512-ygFIdTqqwG4fFP7kkiYlvayZppeIQX2aPpirsngkv1xM1lP0piDY5QEh68nQnIKvz64hfocxhBaD/uK3sSK1yQ==", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, "node_modules/html-dom-parser": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.7.tgz", @@ -17081,11 +17214,6 @@ "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==" }, - "node_modules/mousetrap": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", - "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==" - }, "node_modules/mozjpeg": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-8.0.0.tgz", @@ -21247,6 +21375,11 @@ "webpack": "^5.0.0" } }, + "node_modules/style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" + }, "node_modules/style-to-js": { "version": "1.1.10", "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.10.tgz", @@ -22678,6 +22811,11 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", ++++++ pgadmin4-8.3.tar.gz -> pgadmin4-8.5.tar.gz ++++++ /work/SRC/openSUSE:Factory/pgadmin4/pgadmin4-8.3.tar.gz /work/SRC/openSUSE:Factory/.pgadmin4.new.1905/pgadmin4-8.5.tar.gz differ: char 14, line 1