Upgrade guide
- EditorNeo no longer displays links to referencing tables by default. Links can be enabled by
relationLinksconfiguration parameter. See the Configuration page for more information. - Customizable method
getBackwardKeys()returns an array with slightly different structure. - Function
json_row()is deprecated. Usejson_encode()for the whole object instead.
- Function
get_lang()is deprecated. UseLocale::get()->getLanguage()constant instead. - Function
get_drivers()is deprecated. UseDrivers::getList()instead. - Function
get_driver_name()is deprecated. UseDrivers::get()instead. - Function
get_settings()is deprecated. UseSettings.getParameter()instead. - Function
get_setting()is deprecated. UseSettings.getParameter()instead. - Function
save_settings()is deprecated. UseSettings.updateParameters()instead. - Method
Connection.getResult()is deprecated. UseConnection.getValue()instead. - Method
Config.isNavigationSimple()is deprecated. UseSettings.isNavigationSimple()instead. - Method
Config.isNavigationDual()is deprecated. UseSettings.isNavigationDual()instead. - Method
Config.isNavigationReversed()is deprecated. UseSettings.isNavigationReversed()instead.
- Running AdminNeo and EditorNeo from the sources requires PHP 7.1. The compiled version supports PHP 5.4+.
- Compilation to a single file requires PHP 7.1.
- Compiled file was renamed to adminneo.php for database Admin and editorneo.php for Editor. Update your include statement if you use custom AdminNeo configuration.
// Include AdminNeo file.
include "adminneo.php";
-
Project's code and official plugins are in
AdminNeonamespace now. Update your index.php and custom plugins by using this new namespace. -
Core classes was renamed:
Adminer→Admin,AdminerPlugin→Pluginer. -
Function for creating custom Admin instance was renamed:
adminer_object()→adminneo_instance(). - Plugins and Admin instance are autoloaded from adminneo-plugins directory, adminneo-plugins.php and adminneo-instance.php files. More information about the new setup possibilities can be found on the Plugins and Customizations pages.
- AdminNeo has a brand-new default design that is incompatible with the previous one. All alternative designs was removed. If you use custom adminer.css file, you can delete it. If you use Adminer theme by Pematon, delete all related files. New default theme supports dark mode and color variants. See the Configuration page for more information.
- The default theme can be modified by custom adminneo.css file that is auto-included in the same way as previous adminer.css.
- Autoloading of plugins based on the class name was removed. All plugins have to be enabled in adminneo-plugins.php file. See Plugins page for more information.
-
EditorNeo no longer use comments instead of table and field names. Plugin
TranslationPlugincan be used to display custom localized names. - EditorNeo no longer supports sending mass e-mails.
- All drivers can be compiled into the single AdminNeo file in any combination. It is no longer necessary to install some of them as plugins. Choose the drivers you need on the Download page.
- MongoDB driver requires PHP 7.0.
- Driver
elastic5was removed, only Elasticsearch 7+ is supported inelasticdriver.
- All plugins now extend
Pluginclass. -
Plugin
AdminerLoginServers(login-servers.php) was removed. Preconfigured server connections can be defined byserversconfiguration parameter. See the Configuration page for more information. This parameter also replaces AdminerLoginServers plugin by Pematon. -
Plugin
AdminerLoginPasswordLess(login-password-less.php) was removed. Default password can be defined bydefaultPasswordHashconfiguration parameter. See the Configuration page for more information. -
Plugin
AdminerVersionNoverify(version-noverify.php) was removed. Version verification can be disabled byversionVerificationconfiguration parameter. See the Configuration page for more information. -
Plugin
AdminerDatabaseHide(database-hide.php) was removed. Selected databases and schemas can be hidden byhiddenDatabasesandhiddenSchemasconfiguration parameter. See the Configuration page for more information. -
Plugin
AdminerDotJs(adminer.js.php) was removed. File adminneo.js is autoloaded by default. -
Plugin
AdminerLoginSsl(login-ssl.php) was removed. SSL options can be defined byssl*configuration parameters. See the Configuration page for more information. -
Plugins
AdminerEnumOption(enum-option.php) was removed. Displaying<select>for enum fields can be set byenumAsSelectThresholdconfiguration parameter. -
Plugin
AdminerStructComments(struct-comments.php) was removed. Comments are displayed on more places by default. -
Plugin
AdminerPrettyJsonColumn(pretty-json-column.php) was removed. JSON values can be formatted automatically byjsonValuesAutoFormatconfiguration parameter. See the Configuration page for more information. -
Plugins
AdminerJsonColumn(json-column.php) and AdminerJsonPreview by Pematon were replaced by newJsonPreviewPlugin. New plugin respectsjsonValuesDetectionconfiguration parameter. -
Plugin
AdminerLoginIp(login-ip.php) does not allow empty passwords. Set the configuration parameterdefaultPasswordHashfor that purpose. -
Plugin
AdminerLoginTable(login-table.php) (renamed toTableLoginPlugin) uses different table to authenticate users andpassword_hash()method for stored passwords. -
Plugin
AdminerFrames(frames.php) (renamed toFrameSupportPlugin) now accepts the list of allowed sources forContent-Security-PolicyHTTP header. -
Plugin
AdminerEditForeign(edit-foreign.php) (renamed toForeignEditPlugin) can not display unlimited number of foreign values. The default limit is 200, now. -
Plugin
AdminerTranslation(translation.php) (renamed toTranslationPlugin) uses different table to store translations. It now translates also table names and field names. -
Plugin
AdminerFileUpload(file-upload.php) (renamed toFileUploadPlugin) uses different directory structure for uploaded files. It now contains also the database name: "$uploadPath/db_name/table_name". The target directory is created automatically. -
Plugin AdminerCollations
by Pematon is replaced by
visibleCollationsconfiguration parameter. See the Configuration page for more information. -
Plugin AdminerSimpleMenu
by Pematon can be removed. Main menu is simplified by default and can be modified by
navigationModeconfiguration parameter. Set it toreversedvalue for the original-like menu layout. See the Configuration page for more information. - Plugin
AdminerTableStructure(table-structure.php) was removed without a replacement. - Plugin
AdminerTableIndexesStructure(table-indexes-structure.php) was removed without a replacement. - Plugin
AdminerEditTextarea(edit-textarea.php) was removed without a replacement. - Plugin
AdminerEditCalendar(edit-calendar.php) was removed without a replacement. - Plugin
AdminerDumpPhp(dump-php.php) was removed without a replacement. - Plugin
AdminerDumpAlter(dump-alter.php) was removed without a replacement. - Plugin
AdminerDumpDate(dump-date.php) was removed. Datetime is part of the filename by default. - Plugin
AdminerWymeditor(wymeditor.php) was removed without a replacement. - Plugin
AdminerMasterSlave(master-slave.php) was removed without a replacement. - Plugin
AdminerEmailTable(email-table.php) was removed without a replacement.
All remaining plugins were renamed:
AdminerDumpBz2→Bz2OutputPluginAdminerDumpZip→ZipOutputPluginAdminerDumpJson→JsonDumpPluginAdminerDumpXml→XmlDumpPluginAdminerEditForeign→ForeignEditPluginAdminerEditTextarea→EditTextareaPluginAdminerFileUpload→FileUploadPluginAdminerForeignSystem→SystemForeignKeysPluginAdminerFrames→FrameSupportPluginAdminerLoginIp→IpLoginPluginAdminerLoginOtp→OtpLoginPluginAdminerLoginTable→TableLoginPluginAdminerSlugify→SlugifyEditPluginAdminerSqlLog→SqlLogPluginAdminerTinymce→TinyMcePluginAdminerTranslation→TranslationPlugin
All customization methods defined in the Admin and Origin classes were refactored and
renamed.
- Method
selectQueryBuild()was removed. -
Method
css()was removed. CSS files can be defined bycssUrlsconfiguration parameter. See the Configuration page for more information. -
Method
connectSsl()was removed. SSL options can be defined byssl*configuration parameters. See the Configuration page for more information. -
Method
head()was replaced by two methods:printFavicons()andprintToHead(). -
Method
csp()was replaced byupdateCspHeader()that allows to redefine CSP directives of just one Content-Security-Policy HTTP header. -
Methods
selectCommandPrint()andselectImportPrint()were replaced by one methodisDataEditAllowed(). -
Method
homepage()was removed. Only the top menu can be customized byprintDatabaseMenu().
Renamed customizable methods:
headers()→sendHeaders()credentials()→getCredentials()login()→authenticate()permanentLogin()→getPrivateKey()bruteForceKey()→getBruteForceKey()name()→getServiceTitle()serverName()→getServerName()database()→getDatabase()databases()→getDatabases()schemas()→getSchemas()collations()→getCollations()queryTimeout()→getQueryTimeout()navigation()→printNavigation()databasesPrint()→printDatabaseSwitcher()tablesPrint()→printTableList()loginForm()→printLoginForm()loginFormField()→getLoginFormRow()selectLinks()→printTableMenu()foreignKeys()→getForeignKeys()backwardKeys()→getBackwardKeys()backwardKeysPrint()→printBackwardKeys()rowDescription()→getTableDescriptionFieldName()rowDescriptions()→fillForeignDescriptions()foreignColumn()→getForeignColumnInfo()tableStructurePrint()→printTableStructure()tablePartitionsPrint()→printTablePartitions()tableIndexesPrint()→printTableIndexes()selectColumnsPrint()→printSelectionColumns()selectSearchPrint()→printSelectionSearch()selectOrderPrint()→printSelectionOrder()selectLimitPrint()→printSelectionLimit()selectLengthPrint()→printSelectionLength()selectActionPrint()→printSelectionAction()selectColumnsProcess()→processSelectionColumns()selectSearchProcess()→processSelectionSearch()selectOrderProcess()→processSelectionOrder()selectLimitProcess()→processSelectionLimit()selectLengthProcess()→processSelectionLength()dumpOutput()→getDumpOutputs()dumpFormat()→getDumpFormats()dumpHeaders()→sendDumpHeaders()tableName()→getTableName()fieldName()→getFieldName()selectVal()→formatSelectionValue()selectLink()→getFieldValueLink()editVal()→formatFieldValue()editFunctions()→getFieldFunctions()editInput()→getFieldInput()editHint()→getFieldInputHint()processInput()→processFieldInput()importServerPath()→getImportFilePath()selectQuery()→formatSelectQuery()messageQuery()→formatMessageQuery()sqlCommandQuery()→formatSqlCommandQuery()
-
Remove the
AdminerEnumTypesplugin (enum-types.php). Its functionality was integrated into the base code.
-
Remove the
AdminerTablesFilterplugin (tables-filter.php). Its functionality was integrated into the base code. - If you use complex custom theme, you will probably need to adjust a thing or two.
- Minimum required PHP version is 5.6.