This page lists the changes that were done in each version of Wikimate.
Since v0.10.0 this project adheres to Semantic Versioning and Keep a Changelog.
- Clarified instructions in
GOVERNANCE.md
for releasing new versions (#157) - Updated API URLs to typical path, updated other links, and use https (#163)
- Updated versions of GitHub Actions dependencies (#161)
- Fixed markdownlint execution in the CI pipeline (#154)
- Added internal mechanism to handle version-dependent parameters of API modules (#151)
- Support version-dependent
deletetalk
parameter inWikiPage::delete()
andWikiFile::delete()
(#152) - New method
Wikimate::undelete()
(#153, #155)
- Applied code formatting rules from PSR-12 (#142)
- Resolved static analysis warnings reported by PHPStan & PHPMD (#143)
- Clarified error response for edits denied by a CAPTCHA (#145)
- Activated default markdownlint rules (#146)
- Updated dependency on rmccue/requests to Version 2.x (fixes PHP 8.1 deprecation warnings) (#147)
- Fixed example not using correct array key for invalid login errors (#148)
- Prevented warning in
Wikimate::logout()
abouttoken
parameter that was unsupported before MediaWiki v1.34 (#151) - Improved various code comments (#149)
- Improved more PHPDoc comments (#150)
- New exception class
WikimateException
for API communication errors (#136) - Usage documentation about maximum lag and retries (#134)
- New GitHub Action to enforce updates to
CHANGELOG.md
(#131) - New
CONTRIBUTING.md
file with contribution guidelines (#135) - New GitHub Action to check markdown files (#138)
- Centralized API communication checks in
WikiPage::request()
(#136) - Centralized debug logging of API requests/responses in
WikiPage::request()
(#139) - Rewrote installation and invocation instructions using Composer (#140)
- Added additional context to
README.md
(#127) - Added semi-linear merge recommendation to
GOVERNANCE.md
(#130)
The following two entries are backwards incompatible API changes and may require changes in applications that invoke these methods:
- Error return values for
WikiPage::getSection()
changed fromfalse
tonull
(#129) Wikimate::login()
error code'login'
is now'auth'
, also used bylogout()
(#132)
- Fixed one error return value in
WikiPage::setText()
(#129) - Fixed exception type/message for
$keyNames
parameter toWikiPage::getAllSections()
(#133)
- Method
Wikimate::debugCurlConfig()
, deprecated since v0.10.0 (#128) - File
globals.php
, replaced by expanded Composer instructions (#140)
- New methods
WikiFile::revert()
andWikimate::filerevert()
(#123) - New method
Wikimate::logout()
(#124) - Added post-release update steps to
GOVERNANCE.md
(#125)
- Updated
Wikimate::token()
to remember CSRF token and reduce API calls (#122)
- Fixed format of user agent string (#121)
- Support for the maxlag parameter (with retries) in API requests (#112)
- Support for getting/setting user agent for API requests (#107)
- Added missing PHPDoc comments for properties, constants, and more (#109)
- Changed API requests from deprecated PHP format to JSON format (#111)
- Grouped sections and added table of contents in
USAGE.md
(#108)
- Removed null returns from destructors & fixed PHPDoc comments (#114)
- Fixed sections object initialization warning in PHP 7.4+ (#118)
- Added more debug logging of MediaWiki requests and responses (#101, #106)
- New
GOVERNANCE.md
file to explicitly codify the project management principles and provide guidelines for maintenance tasks (#83, #105)
- Modernized token handling for login and data-modifying actions. Requires MediaWiki v1.27 or newer. (#100, #106)
- Prevented PHP notice in
WikiFile::getInfo()
for moved or deleted file (#85) - Fixed capitalization of a built-in PHP class in a comment (#106)
- New class WikiFile to retrieve properties of a file, and download and upload its contents. All properties pertain to the current revision of the file, or a specific older revision. (#69, #71, #78, #80)
- WikiFile also provides the file history and the ability to delete a file or an older revision of it (#76)
- Support for a section name (in addition to an index)
in
WikiPage::setText()
andWikiPage::setSection()
(#45) - Support for optional domain at authentication (#28)
- Updated
WikiPage::getSection()
to include subsections by default; disabling the new$includeSubsections
option reverts to the old behavior of returning only the text until the first subsection (#55) - Improved section processing in
WikiPage::getText()
(#33, #37, #50) - Ensured that MediaWiki API error responses appear directly in
WikiPage::$error
rather than a nested 'error' array. This may require changes in your application's error handling (#63) - Restructured and improved documentation (#32, #34, #47, #49, #61)
- Ensured use of Wikimate user agent by Requests library (#64)
- Corrected handling an invalid page title (#57)
- Fixed returning an empty section without header in
WikiPage::getSection()
(#52) - Prevented PHP Notices in several methods (#43, #67)
- Corrected handling an unknown section parameter in
WikiPage::getSection()
(#41) - Fixed passing the return value in
WikiPage::setSection()
(#30) - Corrected call to
Wikimate::debugRequestsConfig()
(#30)
- Switched to using the Requests library instead of Curl (#25)
- Bumped version for stable release
- Removed the use of constants in favour of constructor arguments
- Added checks that throw an exception if can't write to wikimate_cookie.txt
- Throws exception if curl library not loaded
- Throws exception if can't login
- Added
WikiPage::newSection()
andWikiPage::setSection()
(shortcuts toWikiPage::setText()
) - Added the ability to get individual sections of the article with
WikiPage::getSection()
- Added the ability to get all sections in an array with
WikiPage::getAllSections()
- Added the ability to get an array showing section offsets and lengths in the page wikicode
with
WikiPage::getSectionOffsets()
- Added the ability to see how many sections are on a page with
WikiPage::getNumSections()
- Initial commit