Skip to content

Releases: CXuesong/WikiClientLibrary

v0.9.0-int.4

18 Oct 07:00

Choose a tag to compare

v0.9.0-int.4 Pre-release
Pre-release
  • Embed pdb into the published dll files. Debug information was omitted from the publish output before, making Source Link useless. (#122 by @hymccord)
  • When removing Wikibase entity aliases with Entity.EditAsync, the old value needs to be included (#124 by @mormegil-cz)

v0.9.0-int.3

29 Apr 13:37

Choose a tag to compare

v0.9.0-int.3 Pre-release
Pre-release
  • Implement CategoriesPropertyProvider.ParsePropertyGroup. It was omitted with NotImplementedException before. (a6d1afc)
  • Now WikiPage.GetPropertyGroup will return an empty *PropertyGroup instance instead of null if corresponding property group has been requested in RefreshAsync but there is no corresponding information returned from MW API. (0da96e7)
  • A warning log will be emitted if a user freshly logged in with WikiSite.LoginAsync is not inside user group. This can happen there is something wrong with the cookie, causing user's session getting lost. (be7e9cf)
  • Prevent FileInfoPropertyProvider from returning more than 1 file revisions, often with a very slow continuation process, when there is only 1 page being refreshed. (0a73c45, #118)
    • This means WCL does not support listing file revisions on a single file.
    • A class like RevisionsGenerator should be implemented to meet the requirement (noting that imageinfo is a list and cannot act as a generator).
  • And a couple of regressions after System.Text.Json migration.
    • CargoRecordConverter.DeserializeNullable* throws Exception when binding string values of number from query results into numerical CLR types. (5a0326c)
    • Continuation loop detection doesn't work since migration. (#118)

v0.9.0-int.2

01 Sep 09:17

Choose a tag to compare

v0.9.0-int.2 Pre-release
Pre-release

WCL package

New features

  • Added PageHelper class and WikiClientHelper class to provide some opinionated but could-be-useful methods for
    • stripping the bracketed part from disambiguation page titles
    • computing SHA-1 hash from a string containing the page content, with limited local page content normalization support.
    • generating User-Agent header with reflection information from the provided Assembly object.

These utilities are migrated from the old NuGet package named CXuesong.MW.WikiClientLibrary.Bots.

API changes

  • Pushed down AccountInfo.Block* properties into a stand-alone AccountBlockInfo object stored in AccountInfo.BlockInfo property.
    • Also added the rest of properties for the block detail, including AccountBlockInfo.BlockComponents for composite blocks.
    • Breaking change: Removed the old AccountInfo.Block* properties in this version.
  • Preset AutomaticDecompression of the default HttpClientHandler used in WikiClient class to All. This will enable Brotli compression support when sending MW API requests.

Bug fixes

  • MediaWikiHelper.JoinValues<T> has not been correctly switching delimiter to \u001F, when there are one or more items containing pipe character (|).

v0.9.0-int.1

30 Aug 16:00

Choose a tag to compare

v0.9.0-int.1 Pre-release
Pre-release
  • Migrated JSON framework dependency from Newtonsoft.Json to System.Text.Json v8.0.
    • This is a major breaking change as planned in #108 (Yes it's happening now)
    • All the Newtonsoft.Json.Linq public APIs are completely replaced by System.Text.Json.Nodes API.
    • While most of the regression tests have passed (except those running against FANDOM/Wikia due to "readonly" error), there could be still bugs needing to be smoothed out. Expect Exceptions to occur.
    • We are going to eventually upgrade the System.Text.Json package to v9.0 after it enters stable release phase, because WCL Wikibase package depends on the JsonSerializer.DeserializeAsyncEnumerable[TValue] API.
      • This means for now, WCL Wikibase package will be aggressively referencing the v9.0.0-preview.7 package.
    • You can still consume WCL packages on .NET 6.0. Referencing WCL packages will automatically reference System.Text.Json v8.0 NuGet package, though.
  • Converted all of the JSON contract object to leverage the new init accessor of the property and required keyword. Also marked them all as sealed.
  • Added MediaWikiReadOnlyException to map the readonly MediaWiki API error code.

While we are still in the process of plugging the latest int package in various projects, If you are experiencing any difficulty adopting this breaking change, feel free to open an issue. Thanks!

v0.9.0-int.0

10 Jun 10:58
cd4e6ca

Choose a tag to compare

v0.9.0-int.0 Pre-release
Pre-release
  • Dropped support for .NET Standard 2.1. Now WCL is targeting .NET 6.0/8.0. (#108)
  • Revision IDs need to be long everywhere. (#113 by @mormegil-cz )

v0.8.0

10 May 14:03

Choose a tag to compare

  • Removed deprecated API, namely WikiPage.UpdateContentAsync and WikiPage.set_Content.
  • Dropped -int suffix.

It's now or never.


v0.8.x is planned to be the last minor version that supports .NET Standard 2.1. ( #108 )

v0.8.0-int.9

08 May 15:19

Choose a tag to compare

v0.8.0-int.9 Pre-release
Pre-release
  • Bug fix: ContentSectionInfo.ByteOffset was not populated before. (#109 by @hymccord)

v0.8.0-int.8

02 Mar 13:42

Choose a tag to compare

v0.8.0-int.8 Pre-release
Pre-release

Full Changelog: v0.8.0-int.7...v0.8.0-int.8

v0.8.0-int.7

05 Nov 14:07
d47f535

Choose a tag to compare

v0.8.0-int.7 Pre-release
Pre-release

v0.8.0-int.6

09 Feb 17:24

Choose a tag to compare

v0.8.0-int.6 Pre-release
Pre-release
  • Bug fix: QueryPageGenerator.EnumItemsAsync haven't ever been working before. (#92)
    • QueryPageGenerator now yields a sequence of QueryPageResultItem instead of WikiPageStub.
  • Bug fix: False-positive warnings on interwiki prefix casing violation "Interwiki prefix must be all lower-case".