Manual:Actualizare

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Upgrading and the translation is 37% complete.

Other languages:
Alemannisch • ‎Bahasa Indonesia • ‎Deutsch • ‎English • ‎Mirandés • ‎Nederlands • ‎Türkçe • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎sicilianu • ‎čeština • ‎Ελληνικά • ‎беларуская • ‎български • ‎русский • ‎العربية • ‎سنڌي • ‎فارسی • ‎हिन्दी • ‎মেইতেই লোন্ • ‎中文 • ‎日本語 • ‎한국어

Noţiuni generale

Transfer de fișiere

Alegeți o metodă pentru transferarea fișierelor:

Preliminar

Citește the UPGRADE text file included in MediaWiki.

  1. Verificați cerințele
  2. Citiți notele de lansare
  3. Copiați fișierele existente și baza de date
  4. Despachetați fișierele noi
  5. Extensiile de actualizare
  6. Rulați scriptul de actualizare pentru a verifica baza de date
  7. Testați actualizarea

Verificați cerințele

MediaWiki 1.31 necesită:

  • PHP 7.0.0+
  • Unul dintre următoarele:
    • MySQL 5.5.8+ (sau echivalentul lui MariaDB)
    • PostgreSQL 9.2+
    • SQLite 3.3.7+
    • Oracle 9.0.1+

Dacă utilizați PostgreSQL, vă rugăm să citiți și Manual:Upgrading PostgresManual:Upgrading Postgres.

Pentru mai multe informații, citiți Manual:Installation requirementsManual:Installation requirements și CompatibilityCompatibility.

Citiți notele de lansare

În cadrul directorului de distribuție sau în cadrul fișierelor verificate/exportate din Git, există un număr de fișiere cu nume de fișier cu majuscule, dintre care unul conține RELEASE-NOTES (wiki) Acum este momentul să-l deschidem și să aflăm ce s-a schimbat în această versiune.

Ștergeți lucrările în așteptare

Din motive de performanță, unele acțiuni din baza de date sunt întârziate și sunt gestionate de job queue. Aceste posturi sunt stocate în baza de date și conțin parametri cu informații despre acțiunile pe care ar trebui să le efectueze. Este recomandat să executați aceste activități în așteptare înainte de a actualiza wiki-ul, pentru a evita ca acestea să nu reușească în cazul în care specificația parametrilor acestor lucrări se schimbă pe noua versiune. Utilizați runJobs.phpManual:RunJobs.php pentru a rula toate lucrările în așteptare și a șterge coada de așteptare înainte de a efectua actualizarea.

Backup fișierele existente și baza de date

Instrucțiuni complete: Manual:Backing up a wikiManual:Backing up a wiki

În timp ce scripturile de actualizare sunt bine întreținute și robuste, lucrurile ar putea continua să fie greșite. Înainte de a continua să actualizați schema bazei de date, faceți o plină backup a wiki-ului, incluzând atât baza de date, cât și fișierele:

  • conținutul wiki-ului, din baza de date (asigurați-vă că obțineți setul de caractere specificat corect, verificați mai întâi LocalSettings.php). Poate fi o idee bună să creați o memorie XML în plus față de baza de date SQL.
  • MySQL, ambele SQL dump și dump XML sunt pentru utilizare cu comanda mysql </ code>:
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
  • PostgreSQL, baza de date pentru utilizare cu comanda:pg_restore
pg_dump --create -Fc wikidb > file.db.dump
  • SQLite, utilizați un script MediaWiki pentru a face o copie de rezervă:
php wikifolder/maintenance/sqlite.php --backup-to file
  • imagini și alte fișiere media (conținutul directorului images, logo-ul personalizat /skins/common/images/wiki.png)
  • fișiere de configurare, de ex. LocalSettings.php și .htaccess (dacă există)
  • Fișierele programului MediaWiki, inclusiv toate skin-urile și extensiile, mai ales dacă le-ați modificat.

Dezarhivează fișierele noi

Folosește un pachet tarball

Puteți pune fișierele noi utilizând FTP sau linia de comandă. Utilizați linia de comandă, dacă aveți acces la ea! Utilizarea liniei de comandă va fi mult mai rapidă decât necesitatea încărcării fiecărei singure mii de fișiere prin FTP.

Ar trebui să puneți tarballul decomprimat într-un dosar nou și gol pe serverul dvs. Dacă extrageți noua versiune direct pe versiunea veche, mai degrabă decât într-un director nou, trebuie să urmați instrucțiunile descrise în Copie de rezervă a fișierelor existente și a bazei de date: în caz contrar, dacă ați ați făcut orice personalizări pe care le puteți șterge într-un mod care vă lasă fără referință la reaplicarea acestora. Extragerea unui tarball deasupra copiei actuale a MediaWiki poate lăsa, de asemenea, fișiere din versiunea veche a MediaWiki care ar putea interfera cu codul actualizat. Este recomandat să despachetați fișierele noi într-un director nou și apoi să aplicați personalizări în noul director (restaurarea LocalSettings.php, folderul cu imagini, extensiile și alte personalizări, cum ar fi skin-urile personalizate)

FTP sau grafic

Dacă nu puteți accesa linia de comandă de pe serverul dvs., descărcați-l pe MediaWiki tarball pe calculatorul local și folosiți 7zip pentru a extrage tarballul pe PC-ul local.

După ce ați extras fișierele la nivel local, utilizați software-ul client FTP favorit pentru a încărca directoare și fișiere pe server.

Linia de comandă

Poate fi necesar să executați comanda ca sudo dacă nu aveți permisiuni complete de scriere la directoarele de instalare wiki sub utilizatorul dvs. curent. În cazul în care un pachet de pachete tarball este în mod normal un nou director pentru noua versiune wiki va fi creat și va trebui să copiați vechile fișiere de configurare și imagini din vechiul director de instalare:

$ cd /path/to/your/new/installation/  
$ wget https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.1.tar.gz
$ tar -xvzf mediawiki-1.31.1.tar.gz 
$ rm mediawiki-1.31.1.tar.gz

Utilizatorii (Open)Solaris ar trebui să folosească gtar, sau:

$ gzip -dc mediawiki-1.31.1.tar.gz | tar xf -

Alte fișiere

După extragerea tarball-ului, trebuie să copiați sau să mutați unele fișiere și foldere de la vechiul director de instalare la cel nou:

  • $ code-lc, care conține setările vechi de configurare.
  • Directorul images (sau uploads în versiuni mai vechi), care conține toate fișierele încărcate în wiki, cu excepția cazului în care ați ales un director de încărcare diferit și puteți modifica proprietatea și permisiunile. find ./images -type d -exec chmod 755 {} \; și chgrp -R apache images (de ex., dacă utilizatorul dvs. web este apache).
  • Unele extensii din directorul extensions. Trebuie să primiți mereu extensii actualizate, iar extensiile vechi nu sunt garantate pentru a funcționa cu o versiune mai nouă a MediaWiki.
  • În cazul în care utilizați un logo personalizat, acest fișier trebuie, de asemenea, să fie restabilit din copia de rezervă. Înainte de 1.24, de obicei în skins/common/images/. După 1.24 în resources/assets/ sau images/ dacă asta ați ales să utilizați. Apoi adăugați la LocalSettings.php de ex. $wgLogo = "$wgScriptPath/images/logo.png";
  • Skinuri personalizate din directorul skins.
  • Orice modificări aduse vechilor fișiere sau extensii de instalare.
  • Orice fișier .htaccess (dacă utilizați Apache și ați definit reguli în ele).

După ce ați terminat, creați acest nou director în folderul publicat de pe serverul web sau redenumiți vechiul director de instalare și apoi redenumiți unul nou pentru a se potrivi cu vechiul nume.

Folosirea Git

Dacă utilizați GitDownload from Git, exportați fișierele într-o locație curată și apoi copiați fișierele personalizate vechi în noua locație, așa cum este descris în secțiunea anterioară.

Dacă faceți upgrade la MediaWiki 1.25 sau o versiune ulterioară, va trebui să instalați și câteva biblioteci externe PHP folosind Composer sau o colecție furnizată pentru ferma wiki Wikimedia. Mai multe detalii despre instalarea și actualizarea bibliotecilor externe pot fi găsite în Git download documentation.

Folosirea unui patch

Un mic fișier de patch-uri este de obicei disponibil pentru o versiune minoră de upgrade. Descărcați și extrageți manual fișierul de patch-uri de la the dumps site sau urmați instrucțiunile cu wget de mai jos. Patch-urile sunt incrementale, nu puteți ignora o versiune.

  1. cd </ kbd> în directorul principal MediaWiki (cel cu LocalSettings.php).
  2. Descărcați fișierul de patch-uri și gunzip.
  3. Utilizați patch-ul $ pentru a verifica ce va fi schimbat (e.g., patch -p1 --dry-run -i mediawiki-x.xx.x.patch)
  4. Dacă totul este bine, executați patch din nou fără a se --dry-run.
  5. Verificați Special:Version: și ar trebui să vedeți numărul nou al versiunii în vigoare.

Fișiere rămase care pot cauza erori

If you unpacked over the old installation directory, some old files can cause problems with the new version.


MediaWiki version: 1.18

If you are not using profiling, but have a StartProfiler.php file in the MediaWiki root folder, you may receive errors referring to /includes/Profiler.php. Deleting, or renaming, the StartProfiler.php file will resolve this error. The StartProfiler.sample file, also in the MediaWiki root folder, can serve as a template should you enable profiling in the future.


MediaWiki version: 1.23

MediaWiki 1.23 deprecates the skin autodiscovery mechanism of core skin files. After upgrading to this version, you should ensure that the old files Chick.php, Nostalgia.php, Simple.php and Standard.php directly in the skins/ directory as well as the according subfolders inside the skins/ directory got removed. MediaWiki will log warnings if any of them are still found to help you remember. (You will also need to adjust any custom skins to follow a similar convention.) See Manual:Skin autodiscoveryManual:Skin autodiscovery for details.


MediaWiki version: 1.24

MediaWiki 1.24 changes the paths of core skin files. After upgrading to this version, you should ensure that the old files CologneBlue.php, Modern.php, MonoBook.php and Vector.php directly in the skins/ directory are no longer present. See Manual:Skin autodiscoveryManual:Skin autodiscovery for details.

Upgrade extensions

Certain extensions have been updated in order to work with the new version of MediaWiki. Be sure to upgrade to the latest versions of such extensions. You might need to perform manual updates to custom extensions.

Different tarballs include some subsets of extensions and have versioning which helps you upgrade choosing the right one for your MediaWiki core release.

Extension Distributor works well for most people who want a snapshot of extensions that will work with their supported versions of MediaWiki.

If you want a lot of extensions then downloading from Git is probably best. If you don't have Git but you want to upgrade a lot of extensions, you might consider using mwExtUpgrader.


Adapt your LocalSettings.php

If you use the same LocalSettings.php from the old version, you may need to adapt it to how new versions handle it:

Skin registration

Since MediaWiki 1.24, bundled skins like Vector, Monobook, Modern and CologneBlue are no longer part of MediaWiki core, and they need to be registered explicitly in LocalSettings.php to use them, otherwise MediaWiki will warn that you don't have installed skins.

This is what you need to add to LocalSettings.php when upgrading from versions older than 1.24 and want to have available one of those skins:

wfLoadSkin( 'Vector' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'CologneBlue' );

This code is for MediaWiki 1.25 and newer. For MediaWiki 1.24 you need to use the following code:

require_once "$IP/skins/Vector/Vector.php";
require_once "$IP/skins/MonoBook/MonoBook.php";
require_once "$IP/skins/Modern/Modern.php";
require_once "$IP/skins/CologneBlue/CologneBlue.php";

Other skins may still not be adapted to the new skin registration system, so refer to the documentation page about each skin to see how to register it properly in case of problems.

Extension registration

Since MediaWiki 1.25, extensions use a new extension registration system.

Previously your LocalSettings.php would include something like:

require_once "$IP/extensions/Cite/Cite.php";
require_once "$IP/extensions/Gadgets/Gadgets.php";
require_once "$IP/extensions/ImageMap/ImageMap.php";
require_once "$IP/extensions/InputBox/InputBox.php";
require_once "$IP/extensions/Nuke/Nuke.php";
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
require_once "$IP/extensions/Poem/Poem.php";
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";

This can be converted to:

wfLoadExtension( 'Cite' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );

Extensions are being adapted to use the new extension registration system. Extensions that are not adapted should use the old way of installing them. Refer to the installation instructions on the extension's page for more information.

Other variables

Some variables may be obsolete or even removed. Having them in LocalSettings.php usually won't have any effect. New variables may be added in newer versions, or some existing variables changed their type. We usually try to use sane defaults for them, and in case of type change, be backwards compatible. In any case, take a look to the release notes to see those changes.

Run the update script

You can upgrade the MediaWiki database in two ways: Either from the command line or from the web browser. If you have shell access to your server, upgrading from the command line is recommended, since this reduces the risk of the upgrade process being interrupted by a timeout or connection reset.

The script will also attempt to download any missing dependency which MediaWiki needs.

Command line

Access the command line of your server or an SSH shell or similar. You can access the command line by connecting to your server via SSH. If the local PC you are working on runs Microsoft Windows, you will need a tool like PuTTY to use SSH. From the command line or the Shell, change to the maintenance directory and execute the update script:

$ php update.php

On a Linux server if you get an error try performing the same command as root (sudo php maintenance/update.php). Note for simple installations on Windows (e.g. with XAMPPManual:Installing MediaWiki on XAMPP): First make sure that your web server (such as Apache) and your database (such as MySQL) are running. Then run update.php: right-click it, select Open With, and browse to PHP.exe. The resulting command prompt window will likely autoclose when the schema upgrade completes.

You might see a message that your PHP version is too old and that MediaWiki needs a newer version. After that message the update aborts. Reason for this error is that the command line can use another PHP version than that one which you have when you execute MediaWiki from the web server. When you get this message you should check, if you can execute a newer PHP version on the shell by using a different command: That might e.g. be php5 or php56. If another version is available and - if so - under which name, depends on the setup of your server. If it does not work, ask your hoster; he will surely know.

MediaWiki will inspect the existing schema and update it to work with the new code, adding tables and columns as needed.

If you use a Shared database, you should pass the --doshared parameter if you want the shared tables to be updated. Otherwise they won't be touched by the update script.

What to do in case of "ALTER command denied to user" error (or similar)

In case the scripts abort with a message similar to:

Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost)
ERROR: must be the owner of the mytable relation 

This means that you should check that you have defined $wgDBadminuserManual:$wgDBadminuser and $wgDBadminpasswordManual:$wgDBadminpassword in your LocalSettings.phpManual:LocalSettings.php file (in the main directory). These are the user and password needed by this script in order to access to the database.

In some cases, an old $wgDBmwschema variable (for Postgres) seems to be read for the table name to update instead of $wgDBname, even when mysql is used. If this is the case, just get rid of the $wgDBmwschema definition in LocalSettings.php.

What to do in case of "unexpected T_STRING" error

Individuals running update.php from the command line may encounter the following error:

syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' \
in ~/maintenance/commandLine.inc on line 13

This error occurs when update.php is run from php4.

Individuals who have their site hosted by providers who provide both php4 and php5 should take the following steps:

  1. from the command line, enter the command 'whereis php5'
  2. once you have discerned the location of the php5 path, list the contents of php5/bin directory
  3. once you've determined the name of the php executable (either php or php5), type in the entire path to execute update.php

Below is an example:

$ whereis php5
$ ls -la /usr/local/php5/bin
$ /usr/local/php5/bin/php update.php

What to do in case of 'register_argc_argv is set to false' error

You may encounter the error:

Cannot get command line arguments, register_argc_argv is set to false
  1. Go to ~/maintenance. Either edit an existing 'php.ini' file, or create one.
  2. Add a line as follows:
register_argc_argv=true
  1. Re-run php update.php

Web browser

MediaWiki version: 1.17
See also update.phpManual:update.php

If your database is already big and in high production usage, then you should not be using the Web updater, e.g. because the update process will time out when the maximum_execution_time is reached. In that case you should use update.php from the command-line interface (not from the web). What exactly is "too big" depends on your server (e.g. on its performance, the load and on how long the maximum execution time of PHP allows the script to run). If your wiki is too big for the web updater and your hosting provider does not allow command-line access, then you need to migrate your wiki to another hosting account, preferably to one that does have shell access.

  1. Always back up before performing database maintenance.
  2. Navigate your webbrowser to /mw-config/. For example, if your wiki is at http://example.org/w/index.php, then navigate to http://example.org/w/mw-config/.
  3. Select your language and click continue.
  4. The existing installation should be detected. Follow the instructions on the screen to upgrade it.
    If asked for the "upgrade key", open your LocalSettings.phpManual:LocalSettings.php file and look for the key assigned to $wgUpgradeKeyManual:$wgUpgradeKey.

It might happen that the web-updater does not seem to work: Instead of seeing the initial language selection screen, you might see an empty wiki page, possibly with some error message. In this case it is most likely that your webserver uses Rewrite Rules (most likely for short URLs), which do not show you the updater at mw-config/, but a wiki page at Mw-config/, with capital "M". In this case, rename the .htaccess file for the time of the update. Then you should be able to access the web-updater.

Warning Warning: If you use this method, make sure to change the name of the .htaccess file back after running the upgrade script! Otherwise short URLs and possibly other stuff will be broken!

Test the update

Once the upgrade has been completed, browse to the wiki and check that the following operations work as expected:

  • Viewing pages
  • Editing pages
  • Uploading a file
  • Visit Special:Version and check that the version shown is correct and that the extensions are present.

Frequently asked questions

How hard is it to upgrade?

If the only file you have modified is LocalSettings.phpManual:LocalSettings.php, and you are upgrading from 1.5 or later, the process is very simple. The amount of human work involved is only a few minutes. The database schema changes will take an amount of time proportional to the size of your database — potentially hours for wikis with millions of pages, but for a more typical size of a few thousand pages, it is usually done in seconds.

Minor upgrades, within the same major version, say from 1.13.0 to 1.13.1, do not require any schema changes at all. You can just update the files. The database needs no update, hence it is not necessary to run the installer script.

Upgrading from 1.4 or earlier is potentially complicated because support for character sets other than UTF-8 was dropped, and the schema for storing bulk text changed. Please read the relevant section in the UPGRADE file.

Upgrading becomes difficult if you have modified our source code, and you don't want your changes to be overwritten. Tools such as diff, patch, Meld or WinMerge may be useful. There is also potential for trouble if you are using unmaintained extensions. Upgrade your extensions at the same time as you upgrade MediaWiki.

If you have modified the skin or use a custom skin you very likely will have to adjust it to work again with the new version of MediaWiki.

Note Note: Instead of patching your "global" css and js (javascript) files everytime you can simply add the code to your MediaWiki:Common.js and MediaWiki:Common.css pages. As these are part of the database which will be reused when you upgrade, you will not have to patch the MediaWiki core files any more.

How do I upgrade from a really old version? In one step, or in several steps?

It depends: If you are upgrading from MediaWiki 1.4 or older, you should upgrade to MediaWiki 1.5 first. If you are upgrading from a Latin-1 wiki, use upgrade1_5.php (found in MediaWiki 1.5) to convert the relevant parts of the database to UTF-8 ($wgUseLatin1Manual:$wgUseLatin1 needs to be set to true in your LocalSettings.phpManual:LocalSettings.php for this to work). Next, run update.php, and then set the $wgLegacyEncodingManual:$wgLegacyEncoding option in LocalSettings.php to the encoding previously used by the wiki (e.g. windows-1252). This is basically how Wikipedia and other Wikimedia Foundation sites were upgraded from MediaWiki 1.4 to 1.5 – see the relevant settings file (warning: huge page!) and some related notes at Wikitech. You may need to upgrade to MediaWiki 1.4 before running the upgrade1.5 script. If you want to make a database dump (e.g. MySQL) of your Latin-1 wiki, make sure the type of the old_text field in the textManual:Text table table is mediumblob, not mediumtext, to avoid character encoding issues.

If you are upgrading from MediaWiki 1.5 or newer, you can upgrade in one step, from your old version to the latest stable version. The vast majority of reports, as well as automated testing, indicate that doing it in one step works just fine. If you have trouble believing this, read this mailing list post. However, please note that when you update from old versions, chances that you will encounter PHP errors are bigger than when you upgrade from the version directly previous to the new version. You would have received these errors anyway, also if you had not skipped versions, but if you had each time done each single update. Only will you - when you skipped versions - get them all at the same time. This will make the upgrade more difficult, but do not forget that you did not have the trouble updating to the intermediate versions, which you skipped!

Should I back up first?

Short answer: Yes.

Long answer: It depends on a) how much you value your data, b) how hard it is to create a backup and c) how confident you are with MySQL maintenance and administration.

An upgrade failure may leave your database in an inconsistent state, in between two versions. A PHP or MySQL error might happen during upgrade leaving your database partly upgraded. In such situations it may be possible to somehow fix this problem with much manual work. However, it will be way easier to just put a database backup from before running update.php in place and to continue with that. Otherwise you might have hours of - needless - work.

Recovery is often complex. Volunteers on the support forums are unlikely to be impressed if you neglect to make a backup and then need help to recover from upgrade-related corruption. A better outcome is if you can revert to your backup, and then report the bug against the corresponding MediaWiki project in the upgrade process which caused the corruption.

Can I keep my LocalSettings.php?

Yes, but you may have to make some minor changes. The format of LocalSettings.phpManual:LocalSettings.php is largely backwards compatible. Changes which break LocalSettings.php compatibility will be documented in the "configuration changes" section of the release notes.

Can my wiki stay online while it is upgrading?

Generally yes, however Git may temporarily (for a few seconds) break it.

If you are upgrading between minor releases of MediaWiki, all you need to do is update the source files.

Note: the following assumes you have command line access. If you are upgrading between major releases of MediaWiki, the preferred procedure is as follows:

  1. Unpack the new version of MediaWiki into a new directory
  2. Prepare that new directory: copy your current LocalSettings.php from the old directory, copy any installed extensions and custom skins (if any). Check $wgLogo setting in LocalSettings.php and if necessary copy logo file from the old directory to the new directory.
  3. In the release notes for the new version, see if any changes need to be made to LocalSettings.php.
  4. Place the database in read-only mode by inserting the following variable into LocalSettings.php in the old directory - users will see this message if they attempt an edit during the upgrade process:
    $wgReadOnlyManual:$wgReadOnly = 'Upgrading to MediaWiki 1.31.1';
  5. Run the update script or the web updater in the new directory.
  6. Copy the images from the images sub-directory from the old directory to the new directory.
  7. Swap the old directory and the new directory.

Why upgrade?

Subscribe to mediawiki-announce to be notified of new releases.

Because it's usually easy enough, a single step from your version to latest and also via web.

Recent releases receive security fixes to keep your wiki and your host safe from vandals, while old releases don't (see Version lifecycleVersion lifecycle). That makes dozens good reasons to upgrade!

New major releases come with new features, which you might want to use: see the release notes for details. In case you need additional arguments to convince your bosses to let you upgrade from a pretty old version, here is a summary:

  • In 1.24, password storage was improved to allow for better security.
  • In 1.27, the session management was reworked as well as the user authentication management completely modernized.
  • Since 1.29, the Action API was reworked and improved. Also user group assignments may now be done for a selectable period.

See also the list of the most voted fixed issues on BugzillaBugzilla up to 2014.

Also, in MediaWiki 1.18 we started bundling some vital extensions, like a better editor and anti-vandalism tools ConfirmEdit and Nuke; more have been added in later releases.

See also