/*🌻*/ Wiki Client Library is a portable & asynchronous MediaWiki API client library on .NET Standard.
CXuesong.AsyncEnumerableExtensions
since we have native async iterator function (async stream) support now.WikiPageStub
. You can now implicitly convert WikiPage
instance, page title (string
) or page ID (int
) into WikiPageStub
WikiPagePropertyList
and its dervied classes accept WikiPageStub
instead of page title and page ID. You can leverage the implicit conversion above to pass in the page information.WikiSite.SearchApiEndpointAsync
is now cancellable.UploadResult.StashErrors
property. (MW 1.29+)WikiPage.CreateCategoriesGenerator
extension method.MediaWikiVersion.{In, Above}
methods for comparing version without instantiating one.MediaWikiVersion
. All the version segments should be of short
type.EntityQueryOptions.SupressRedirects
--> EntityQueryOptions.SuppressRedirects
token
parameter in WikiSite.LogoutAsync
on earlier MW versions since security fix of phab:T25227 has been back-ported to
PatrolAsync
can refresh CSRF token automatically if the cached token is invalid.CargoRecordQueryable
.This package will not receive any feature updates.
Entity.IdFromSiteLinkAsync
to retrieve a single Wikibase entity ID from site link.For migrated FANDOM sites MW 1.33+ (See UCP migration post), you need to use Bot Password in order to login successfully.
Some of the Wikia API v1 is not working on UCP. We are still waiting for UCP migration to complete before we can start on revamp these APIs in WCL.
WikiaSite.LogoutAsync
: For migrated FANDOM sites (on MW 1.33+), action=logout
is now available now and we won't use the mitigation as described in #40This version of WCL release is intended to be the last version that targets .NET Standard 2.0 or below. That is, .NET Framework, .NET Core 2.1 or below are no longer supported since v0.8.x. (#82)
OperationFailedException
now also includes customized error message from MediaWiki site. (e.g. the details of wikibase-api-permissiondenied
error).This is a new library for querying tables on MediaWiki sites with Cargo extension. (#77) This library also provides LINQ to Cargo support!
CargoTests
in UnitTestProject1
or \Samples\LinqToCargo.csproj
to check it out!There is no update in this release. This library will not receive feature updates in the near future as the development of StructuredDiscussion is stalled:
The StructuredDiscussions extension was developed by the Collaboration team at the Wikimedia Foundation. It is still being maintained to fix bugs, but no substantial development on the extension has been done since 2015, other than a rename to "StructuredDiscussions" in September 2017. Development may possibly start again in the future.
There is no update in this release.
WbQuantity.ToString
throws InvalidOperationException
when WbQuantity.Unit
is unity (1
).FileInfoPropertyProvider.QueryExtMetadata
property and FileRevision.ExtMetadata
, so you can query for HTML-rendered image/file metadata. (Thanks @FaFre !)MediaWikiVersion.Parse
will throw FormatException
instead of ArgumentException
.MediaWikiVersion.Parse
, if the dashed suffix does not fall in any of the standard MediaWiki dev channel. So MediaWiki versions like 1.19.5-1+deb7u1
won't cause FormatException
. (#72)
SiteInfo.Version
now allows version suffix truncation.CategoryPropertyProvider
public (#69)continuation
param is absent since a certain pagination page, we remove it from the next request instead of using the previous existing value (#69)For changes since v0.6.x, see the descriptions of
v0.7.0-int.x
pre-releases.
badvalue
error introduced since MW 1.35.0-wmf.19 (#65)
BadValueException
for general badvalue
or unknown_*
errors.InvalidActionException
is now a derived class from BadValueException
.ArgumentNullException
when the result list paginates if you specify multiple titles in WikiPagePropertyList<T>
(#67)SerializableEntity.LoadAll
overload function.WbQuantity
deserilization logic for unity (1) unit parsing.Bug fix: WikiPagePropertyProvider.GetMaxPaginationSize
used value that is too large.
LanguageLinksPropertyProvider
. Now you can enumerate the language links on a MediaWiki page.WikiPagePropertyProvider
supports pagination. You will be able to fetch for language links on multiple pages without worrying about some page may have too many language links. WCL will take care of that for you.WikiClientLibrary.Pages.Parsing.InterlanguageInfo
to WikiClientLibrary.Pages.Queries.Properties.LanguageLinkInfo
.LanguageLinkInfo.PageTitle
in favor of LanguageLinkInfo.Title
.ParsedContentInfo.Interlanguages
in favor of ParsedContentInfo.LanguageLinks
.RequestHelper.RefreshPages
won't send rvlimit=1
anymore, as this is superfluous and can cause uncessary prop list pagination.WikiPagePropertyProvider
used wrong (reversed) PaginationSize for users with apiHighLimits
right.maxlag
error from the MW API invocation.UnexpectedDataException
will be thrown.WikiListCompatibilityOptions.ContinuationLoopBehaviors
to enable the
possible recovery approach(es) to get out of the loop situation.
WikiListContinuationLoopBehaviors.FetchMore
to try fetching more items in the hope that the server will return a different parameter value for continuation.UnauthorizedOperationException.DesiredPermissions
property.ServerLagException
for maxlag
MW API error.