버전 생명 주기
MediaWiki operates on a "continuous integration" development model, where software changes are pushed live to Wikimedia web sites such as Wikipedia on a regular basis.
In theory, new major releases are issued on a half-year basis, and release branches continue to receive security updates for up to a year as of first release. Due to time constraints and rapid refactoring of the code base, we cannot support obsolete releases forever, and security and critical updates are not applied to releases which have reached their end of life status.
The release manager strongly recommends that wiki operators subscribe to the
mediawiki-announce mailing list, which receives notification of all releases, and ensure that their wiki runs the most up to date version of the software possible. These announcements are also posted to
버전과 생명 주기
|1.39.x (LTS)||현재 장기 지원 버전|
|1.35.x (LTS)||레거시 장기 지원 버전||2023년 9월|
Versions included in the above table that are marked as obsolete as well as versions not listed at all will not receive any security fixes. They may contain critical security vulnerabilities and other major bugs, including the threat of possible data loss and/or corruption. The release manager has also issued a strong recommendation that only versions listed above as the current “stable version”, "legacy version" or “long-term support version” be used in a production environment.
- Alpha development
- Release development
- Stable release
- Long-term support release
- 모든 포인트 릴리스에는 업데이트된 i18n 파일과 버그 수정이 포함됩니다. No new features will be back-ported to point releases and support does not necessarily include bundled extensions and skins in general.
- 주요 릴리즈는 6달에 한 번씩 나옵니다.
- A minor release (including security patches, message translation back-ports, and general bugfixes) will be made every quarter.
- 장기 지원 릴리스 (LTS)는 2년에 한 번씩 나옵니다. LTS 지원은 1년 동안 중복됩니다. 예를 들어, 1.23은 2017년 5월까지 지원되었습니다. 1.27은 전년도에 릴리스되었으므로 사람들이 LTS로 전환하는 데 1년을 사용할 수 있도록 합니다.
- Release notes will continue to be the basis for seeing what has changed. Because of the nature of a volunteer-driven project, it isn't possible to say with any certainty what will happen in the next 6-12 months.
This timeline is a schedule for what needs to happen before the release of a new version. The date of the actual release is given here as T (for "time" of release) and the suffix -# (for “number of weeks prior to release”).
|T - 7||Announce that the release branch will be created in one week. Ask people to make sure that anything needed to complete in-progress features is merged before then. Create "MW-X.XX-release" in Phabricator.|
|T - 6||Create the branch for core and all extensions in Gerrit.|
|T - 5||Apply the X.XX-rc.0 tag and release the initial release candidate.|
|T - 4||Collect any bug reports and summarize them on the mailing list.|
|T - 3||Apply the X.XX-rc.1 tag and release the second release candidate. Any new extensions that are proposed for addition to the tarball should be in it by this point. No extension changes are made after this point.|
|T - 2||Collect any new bug reports, merge fixes, back out new, incomplete features accidentally included, apply X.XX-rc.2 tag and release third release candidate.|
|T - 1||Repeat previous step, use X.XX-rc.final to tag and release. No backports are accepted after this point.|
|T||TAG the repository with X.XX and make the release.|
확장 기능 수명 관리
Most MediaWiki installations include a significant number of extensions (Wikimedia wikis often have around 140). Managing the maintenance bug fixing of extensions and choosing the right version of an extension in cases where the HEAD development version relies on features not yet available in stable or oldstable MediaWiki core, can be challenging.
Extension maintainers are therefore strongly encouraged to maintain a git branches for each extension version corresponding to a MediaWiki version.
(See Compatibility#MediaWiki extensions for details.)
For extensions hosted in Wikimedia's git repos, such branches (with names such as
REL1_30 for MediaWiki 1.30) are created automatically from master when a new MediaWiki version is branched (on the assumption that the extension master is compatible with MediaWiki master at all times).
However, it's preferable for the extension maintainer to fix bugs not only in HEAD but also in the oldstable and stable versions (by backporting the fix to the old branches if necessary).
The goal of these rules is that people or organizations installing MediaWiki can rely on installing the newest release of a version and matching extensions by a simple method, e.g. for 1.20.x core by referring to
REL1_20 in git.
And it avoids tarballs and zip files with non-relevant and unpredictable names.
Since Version 1.36, MediaWiki only commits to supporting upgrades from two major long-term support releases (LTS) ago (see phab:T259771). Upgrades from older versions of MediaWiki will have to be performed in multiple steps.
- Generators on WikiApiary - Statistics about the use of different versions of MediaWiki.