Skip to content

Releases: CXuesong/WikiClientLibrary

v0.7.0-int.9

04 Jan 06:26
Compare
Choose a tag to compare
v0.7.0-int.9 Pre-release
Pre-release

Bug fix: WikiPagePropertyProvider.GetMaxPaginationSize used value that is too large.

v0.7.0-int.8

25 Dec 16:44
Compare
Choose a tag to compare
v0.7.0-int.8 Pre-release
Pre-release

New features

  • Added LanguageLinksPropertyProvider. Now you can enumerate the language links on a MediaWiki page.
  • Now 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.

Other changes

  • Moved WikiClientLibrary.Pages.Parsing.InterlanguageInfo to WikiClientLibrary.Pages.Queries.Properties.LanguageLinkInfo.
  • Deprecated LanguageLinkInfo.PageTitle in favor of LanguageLinkInfo.Title.
  • Deprecated ParsedContentInfo.Interlanguages in favor of ParsedContentInfo.LanguageLinks.
  • Now RequestHelper.RefreshPages won't send rvlimit=1 anymore, as this is superfluous and can cause uncessary prop list pagination.

v0.7.0-int.7

16 Nov 13:43
Compare
Choose a tag to compare
v0.7.0-int.7 Pre-release
Pre-release
  • Some of the packages are not published to NuGet registry as they are not modified in code.

Bug fix

  • WikiPagePropertyProvider used wrong (reversed) PaginationSize for users with apiHighLimits right.
  • Fixed a regression from long long ago, that we should retry the request when receiving the maxlag error from the MW API invocation.

Improvments

  • Introduced continuation loop detection and basic continuation loop handling. (crystal-pool/SiteLinkSynchronizer#1)
    • "Continuation loop" means the situation where the parameter values for list/generator continuation provided by server response are exactly the same as your request. This usually happens on legacy MediaWiki sites with high log volume.
    • If there is an unrecoverable continuation loop detected during enumerating the list, an UnexpectedDataException will be thrown.
    • You can specify WikiListCompatibilityOptions.ContinuationLoopBehaviors to enable the
      possible recovery approach(es) to get out of the loop situation.
      • Use WikiListContinuationLoopBehaviors.FetchMore to try fetching more items in the hope that the server will return a different parameter value for continuation.
  • Added UnauthorizedOperationException.DesiredPermissions property.
  • Added ServerLagException for maxlag MW API error.

v0.7.0-int.6

11 Oct 15:49
Compare
Choose a tag to compare
v0.7.0-int.6 Pre-release
Pre-release
  • GeoSearchGenerator now supports geographical search by bounding box (#57)
    • Use GeoSearchGenerator.BoundingRectangle to specify it (gsbbox)

v0.7.0-int.5

04 Aug 08:49
Compare
Choose a tag to compare
v0.7.0-int.5 Pre-release
Pre-release
  • WikiLink.(Try)ParseAsync now supports parsing interwiki links without specifying a WikiSite first.
    • In this case, you need a IWikiFamily to provide interwiki information.
    • The wikilink expression to be parsed should always begin with interwiki prefix.
  • Fixed incorrect duplicateversions warning information parsing logic in UploadWarningCollection.
  • Upgraded System.Linq.Async dependency to 4.0.0-preview.6.build.801 as the previous pre-release may cause MissingMethodException on the .NET Core 3.0 applications built with .NET SDK 3.0.1-preview7.

v0.7.0-int.4

22 Jul 14:43
Compare
Choose a tag to compare
v0.7.0-int.4 Pre-release
Pre-release
  • WikiDateTimeJsonConverter should handle all the variants of infinity. (#50 #51) (Thanks @stjohann !)

v0.7.0-int.3

11 Jul 17:15
Compare
Choose a tag to compare
v0.7.0-int.3 Pre-release
Pre-release
  • The exception messages in WikiClientLibrary package is now localizable.
  • Fixed a bug that JSON timestamps failed to deserialize on some Cultures that don't support mm/dd/yyyy date format. (#49)
  • Added MediaWikiRemoteException. You may retreive the stack trace (if available) from the remote MediaWiki site on internal_api_error_* errors.

v0.7.0-int.2

26 May 06:03
Compare
Choose a tag to compare
v0.7.0-int.2 Pre-release
Pre-release
  • Introduce .NET Standard 2.1 (.NET Core 3.0) support.
    • Use IAsyncEnumerable<T> from BCL instead of Ix.Async package since .NET Standard 2.1. .NET Standard 1.1/2.0 keeps the original behavior.
    • If you are authoring library on top on this package, make sure you also target .NET Standard 2.1, even if the codebase is the same. This is to keep the dependency correct and prevent IAsyncEnumerable conflict.
  • Use Semantic Versioning 2.0.0 for NuGet package versioning.
    • Prerelease package will have an extra "." after "int".

v0.7.0-int1

21 May 14:44
Compare
Choose a tag to compare
v0.7.0-int1 Pre-release
Pre-release

New features

  • Implemented revision slots support for MW 1.32+
  • Added ScribuntoConsole class and other Lua-module related utility functions. See WikiClientLibrary.Scribunto namespace.
    • You may take a look at WikiClientLibrary.Demos.ScribuntoInteractive demo project.
  • Added logout token for MW 1.34+
  • Updated endpoint URLs for logging out FANDOM / Wikia.org
  • Added MediaWikiVersion struct to contain the whole information of MediaWiki core version, including wmf/alpha/beta/rc versions.

v0.6.5

21 Nov 15:24
Compare
Choose a tag to compare
  • Removed WikiClient.Referer property as it is not actually used in the library.
  • Removed [Obsolete] APIs.
  • Use InvariantCulture for stringify page IDs, as well as gscoord in GeoSearchGenerator. (#46)
  • Now MediaWikiHelper.ParseJsonAsync throws UnexpectedDataException when it cannot parse the Stream as JSON. (600d62a)
    • Added a link for troubleshooting in the Exception message when receives HTML content.
  • Typo fix. Renamed WikiaJsonResonseParser to WikiaJsonResponseParser.