Adminer 6.1.1 (released 2026-09-25) Fix editing identity (PostgreSQL, Oracle, Firebird), rowversion (MS SQL), key (ClickHouse) Select: Fix modifying rows with a NULL value (uncompiled only, regression from 6.1.0) Edit: Do not round big numbers in json (MySQL) and jsonb (PostgreSQL) when saving the row (regression from 5.4.2) DB overview: Keep the table names on the screen when scrolling the list of tables horizontally Select: Keep the checkboxes on the screen when scrolling horizontally Select: Enable saving the modified values again after an error (regression from 6.0.0) Select: Highlight the searched text Select: Search anywhere by IS NULL and IS NOT NULL without a value Show documentation links as 📖, link it from the heading Menu: Group system databases and schemas Trigger: Name a new trigger with more events by all of them PDO: Preserve the exact value of double (bug #1214) PostgreSQL, MS SQL, Oracle: Do not highlight a valid date or time value as too long PostgreSQL: Alter the trigger function from table structure PostgreSQL: Do not highlight an array value as too long PostgreSQL: Fix renaming a column and making it a foreign key at the same time PostgreSQL: Export and alter the default values of enum and array columns (bug #1342) PostgreSQL: Edit the enum values containing an apostrophe PostgreSQL: Alter table: Offer and quote the user types with uppercase letters SQLite: Disallow ATTACH and VACUUM INTO prefixed by BOM (GHSA-r9r5-j5q8-8c59) SQLite: Deny writing files by an authorizer (PHP 8.0+, PDO PHP 8.5+) MS SQL: Export and alter the precision of datetime2, time and datetimeoffset MS SQL: Keep fractional seconds and the time zone offset when saving a row with the sqlsrv extension MS SQL Dblib: Display uniqueidentifier (bug #1339) MS SQL Dblib: Show the server version MS SQL Dblib: Fix creating generated columns and indexed views MS SQL Dblib: SQL command: Rollback an unfinished transaction Oracle: Treat SYS and SYSTEM as read-only Oracle: Support identity columns Oracle: Alter timestamp and interval columns, display their type without a duplicate precision ClickHouse: Offer the geometry types, Time and Time64, group the types as in the other drivers ClickHouse: Display the number of rows to a read-only user ClickHouse: Shorten the links to rows with a long string or geometry by its MD5 hash ClickHouse: Do not round big integers and decimals, e.g. UInt64 or Decimal128, display empty maps and maps with numeric keys as objects ClickHouse: Save the decimals in Array, Map and Tuple exactly, save a Map with other than String keys ClickHouse: Do not turn \b into a backspace (regression from 6.0.0) Editor: Describe foreign keys by the first string column, not only varchar Editor: Shorten long descriptions of foreign keys Plugins Driver plugins: Driver::disconnect() to forget the logged user Driver plugins: Connect to the privileged ports of the driver's own protocol (ClickHouse, Elasticsearch, IMAP) Driver plugins: Driver::hasEstimatedRows() to recount the rows only after an estimate Driver plugins: Driver::md5() to shorten the links to rows with a long value Driver plugins: Driver::isSystem() to group the system databases and schemas Method namePattern() to customize the names of new indexes, foreign keys, checks and triggers Plugin igdb: Log in by the client secret instead of an access token obtained manually New plugin select-foreign: Display the first string column of the referenced row instead of a foreign key value, same as in Adminer Editor New plugin name-patterns: Name new indexes, foreign keys, checks and triggers by your own convention Adminer 6.1.0 (released 2026-09-14) Send the form by the default button by Ctrl+Enter Display the message on the screen when AJAX-saving Install Adminer as a web-application Report an object which doesn't exist instead of printing an empty form Link the database in the breadcrumb of a routine, sequence, type or event to its section Don't serve the cached static files of a different build of the same version Select: Handle columns with a name looking like a function, e.g. NOW() Select: Don't link COUNT(*) if a function is applied to a grouped column SQL command: Modify the values in the result by Ctrl+click (bug #1333) SQL command: Fix the edit links of a table joined more than once SQL command: Display the values in the result according to their type in all drivers Export: Allow exporting schema or qualify all names by it Export: Fix exporting objects of more schemas at once MySQL: Remove the definer of an exported view or event only if it is the current account, the same as in routines MySQL: Display the account matched by the connection as the logged user PostgreSQL: Display and edit PostGIS geometries as EWKT (bug SF-615) PostgreSQL: Do not link the types created by extensions from the table structure PostgreSQL: Display the installed extensions on the database page PostgreSQL, MS SQL: Report a schema which doesn't exist CockroachDB: Export: Omit WITH (oids = false) CockroachDB: Treat crdb_internal and pg_extension as read-only system schemas CockroachDB: Link its documentation MS SQL: Display, create, alter, drop and call procedures and functions MS SQL: Fix the length of a varchar(max) column MS SQL: Fix the default value written with the 'N' prefix MS SQL PDO: Prefix Unicode strings with 'N' MS SQL, Oracle: Fix transactions, e.g. a failed import or modification of more rows MS SQL: SQL command: Keep a transaction between the commands Oracle: The driver is no longer beta Oracle: Use schemas as databases instead of tablespaces (bug SF-204, SF-212, SF-238) Oracle: Create and drop databases (bug SF-246) Oracle: Display, create, alter and drop triggers (bug SF-385) Oracle: Display and edit geometries as well-known text instead of empty (bug SF-610, SF-615) Oracle: Accept and display dates in the ISO format (bug SF-770) Oracle: Fix foreign keys over multiple columns Oracle: Fix creating a column with a default value Oracle: Fix the default value displayed with the quotes around it Plugins Driver plugins: Result::fetch_field() reports the type name in native_type instead of the MySQL number in type and charsetnr Driver plugins: Db::begin(), commit() and rollback() to use the transaction API of the extension Method manifest() to customize or disable the web app manifest Method verifyLoginToken() to accept the login form of another website Method explain() to customize EXPLAIN in SQL command Internal Test Oracle Run the end-to-end tests of different drivers in parallel by composer e2e -- --workers=N Distribute the tests in the release archive (bug #1332) Show the review status of the translations in adminer/lang/README.md Unregister the service worker in the development version served from the URL of a compiled version v6.0.2 Verify all parts of the server name before connecting (GHSA-rwxg-xph9-82cj, regression from 5.5.1) Sanitize the connection id returned by the server (GHSA-7c5h-q78c-fpxx, XSS) Do not drop the old check constraint when the new one cannot be created Replace the whole last line by the ellipsis when shortening a multi-line text, e.g. a long SQL command Format numbers according to the conventions of the used language Alter routine: Preserve all characteristics and edit them in a form instead of in the definition Autocomplete: Get the columns of the database faster (bug #1328) Autocomplete: Offer also in the definition of a routine, an event and a view Edit: Keep the enum value selected by the user after an error (regression from 5.4.0) Edit: Do not highlight a valid date or time value as too long, e.g. in a datetime(3) column Select: Keep "Load more data" on the screen when scrolling a wide table horizontally SQL command: Skip a command with comments only (bug #1331) RTL: Mirror the borders, alignment, margins and paddings Cache the assets of the compiled version in a service worker MySQL: Display the check constraint clause without the extra escaping added by information_schema MySQL: Do not repeat the error of an unreadable table in the comments of the following tables MySQL: Display the error of an unreadable table next to its comment MySQL 9: Create routines with LANGUAGE JAVASCRIPT MySQL 26.7: Link the documentation of the used version MariaDB: Display an unreadable table as a table with the error instead of as a view PostgreSQL: Do not edit and delete the selected row without a unique key in other partitions (bug #1326) PostgreSQL PDO: Fix export of boolean values (bug #1330, regression from 5.4.4) SQLite: Get the generated columns and collations also from a single-line CREATE TABLE SQLite: Support FTS5 and other virtual tables MS SQL: Get the base type of a column declared with a user-defined type MS SQL: Offer all the data types supported by the server, e.g. uniqueidentifier (bug #1327) MS SQL: Add the database Check button MS SQL: Link the documentation of the used version Oracle: Link the documentation of the used version ClickHouse: Print only errors from ClickHouse (GHSA-77qq-q8fv-x45v, regression from 6.0.0) ClickHouse: Highlight the queries Elasticsearch: Print only errors from Elasticsearch (GHSA-q8h3-4cx4-prgm, regression from 4.16.0) Firebird: Highlight the queries ClickHouse, IGDB, Redis, SimpleDB: Fix loading the driver in the compiled Adminer (bug #1325) Elasticsearch, Firebird, IGDB, IMAP, MongoDB, Redis, SimpleDB: Fix a fatal error on the pages calling a function missing in the driver Firebird: Remove the status page, the driver cannot provide it Plugins Method serviceWorker() to disable the service worker Db::attach() gets the server parsed to scheme, host, port, socket and path instead of the string Methods Driver::supportsAlterTable(), Driver::shadowTables(), Driver::fulltextSql() and property Driver::$fulltextOperator TableStatus key 'partition' renamed to 'dependent', it marks also the tables belonging to another table Property Driver::$operators replaced by method Driver::operators() Internal Mark the code used only in the compiled or only in the development version Adminer 6.0.1 (released 2026-08-14) Run the development version from the adminer/ directory alone, copied anywhere and under any name Send the session cookie with SameSite=lax, the browsers not defaulting to it sent it also cross-site Send the cookies set by JavaScript with the same attributes as the other cookies Do not redirect outside Adminer after saving a row Do not count a request without credentials as an unsuccessful login Report a server accepting any password by its own message instead of the one about a missing password (bug #1318) Print the configuration of Adminer\Password when the database can be accessed without a password Print the help as a text, not HTML Verify the CSRF token also when logging in Verify the CSRF token before killing a query timed out on the client Send an error HTTP status on an invalid CSRF token and too large POST data Use the same font in