Skip to content

Releases: CXuesong/WikiClientLibrary

v0.6.2

15 Aug 15:22
Compare
Choose a tag to compare

With the help of SourceLink, now may debug into the source code of WCL from your application in VS 2017. If you meet any problem debugging into WCL, please go to #41 and report it.

  • Fixed the incorrect logic in WikiReadOnlyDictionary.GetBooleanValue.
  • Fixed occasional NullReferenceException in LogEventItem.ToString caused by LogEventItem.Params == null.
  • Make LogParameterCollection.SuppressRedirect compatible with MW 1.19.
    • Older version of MediaWiki uses suppressedredirect rather than suppressredirect for property name.

v0.6.1

12 Aug 14:00
Compare
Choose a tag to compare

WCL

  • Added RandomPageGenerator (mw:API:Random) (#43 by @aquilla12 )
  • Make IncludesInterwiki and BackendName properties effective in SearchGenerator. They used to be neglected when executing MW API requests.

v0.6.0

30 Jul 08:07
Compare
Choose a tag to compare
  • Introduced SourceLink support. Ideally, you may debug into the source code of WCL from your application in VS. If you meet any problem debugging into WCL, please go to #41 and report it.

  • An HTML help document has been attached in this release (WikiClientLibrary-0.6.0.chm); check it out!

Wikia

  • Fixed Int32OverflowExeption caused by SiteVariableData.CacheBuster. (#39)

  • Fixed WikiClientLibrary.InvalidActionException caused by the absence of action=logout in MW API of recent Wikia builds. (#40)

    there is no escape

    ”That's outrageous.“
    — Otulissa

Flow

  • Fixed ArgumentException for Flow boards without pagination in Board.EnumTopicsAsync.

v0.6-intX7a

13 Mar 09:21
Compare
Choose a tag to compare
v0.6-intX7a Pre-release
Pre-release
  • Now MakeAbsoluteProtocol accepts "https" instead of "https:". (#36) Fixed #37.

v0.6-intX7

07 Mar 12:57
Compare
Choose a tag to compare
v0.6-intX7 Pre-release
Pre-release
  • Removed members that have been marked with [Obsolete].
  • Multi-targeted WikiClientLibrary package to .NET Standard 1.1/2.0. This can eliminate the dependency to System.Reflection.Emit since .NET Standard 2.0.

WCL

  • Added predefined LogTypes & LogActions.
  • Use WikiReadOnlyDictionary instead of dynamic for RecentChangeItem.LogParams .
    • You can access LogParams in a more convenient way.
  • Added LogEventsList. You may query for MW log events now.
  • Moved FileRevision & upload-related classes from Pages to Files namespace.
  • Add ParsingOptions.DisableEditSection & ParsingOptions.DisableTidy. You can parse wikitext without generating TOC nor "Edit section" links now.

Wikibase

  • Added Entity.IdsFromSiteLinksAsync to query for entity IDs from sitelinks.
  • Fixed InvalidCastException when progressive editing EntitySiteLink.

v0.6-intX6

13 Jan 17:08
Compare
Choose a tag to compare
v0.6-intX6 Pre-release
Pre-release

Wikibase

  • SerializableEntity.Load should return null for EOF.
  • SerializableEntity.ToContract should include claims.
  • Added SerializableEntity.LoadAll/ParseAll methods.

v0.6-intX5

27 Dec 14:56
Compare
Choose a tag to compare
v0.6-intX5 Pre-release
Pre-release

WCL

The JsonSerializer returned by MediaWikiHelper.CreateWikiJsonSerializer now supports serializing the POCO classes into (as well as de-serializing from) well-formed JSON.

Wikibase

  • Removed superfluous id parameter in wbsetclaim. This used to cause MW API warnings.
  • Introduced SerializableEntity. Now you can work with Wikibase JSON dump offline more easily with this class.

v0.6-intX4

14 Dec 17:29
Compare
Choose a tag to compare
v0.6-intX4 Pre-release
Pre-release

WCL

  • When composing the request arguments, WCL now supports using pipe character "|" to concatenate the values, if possible, and use alternative multiple-value separator ("\u001F") for values that has pipe character in the string. (400ac35)

Wikibase

  • Snak.RawDataValue is now of type JObject instead of JToken.
  • Added handy constructors for Claim, Snak. Added handly factory overloads for WbTime.
  • Replaced WbUri with System.Uri.
    • To reduce memory consumption, use WikibaseUriFactory for caching Uri instances.
  • Added some well-konwn URIs, including WbTime.JulianCalendar,
    WbTime.GregorianCalendar, and WbQuantity.Unity.
  • Entity.EditAsync supports progressive edits. It can break down the sequence of EntityEditEntry and perform the edits incrementally. In this mode, more detailed edit summary can be left in the revision history.

v0.6-intX3

30 Nov 14:58
Compare
Choose a tag to compare
v0.6-intX3 Pre-release
Pre-release
  • Added CategoriesGenerator. You can enumerate a page's categories now.

Wikia

  • Moved WikiaSite to Wikia.Sites namespace.
  • Now you can use WikiaSite.WikiVariables to retrieve Wikia variables information.

Wikibase

  • Added WikibaseSiteInfo class. You may now convert entity URI from/to entity ID.

v0.6-intX2

19 Nov 11:19
Compare
Choose a tag to compare
v0.6-intX2 Pre-release
Pre-release

New features

  • Added IWikiPageQueryProvider for generating parameters for action=query requests.
    • The implementation type WikiPageQueryProvider supports more elaborate configurations on which query modules to use, and their respective settings by holding a collection of IWikiPagePropertyProviders.
  • Added IWikiPagePropertyProvider for adding/configuring query modules (prop=) when fetching page information from server
    • There are some client-side module implementations in WikiClientLibrary.Pages.Queries.Properties namespace.
  • Added WikiPage.GetPropertyGroup<T>() that allows you to retrieve the extensible group of properties provided by IWikiPagePropertyProvider.
  • WikiPage.RefreshAsync now accepts IWikiPageQueryProvider as parameter. ( #33 )
  • Removed PageQueryOptions.FetchExtract and PageQueryOptions.FetchGeoCoordinate. You can use ExtractsPropertyProvider and GeoCoordinatePropertyProvider to request for these properties when calling WikiPage.RefreshAsync.
  • WikiPage supports initialization from MediaWiki page IDs. You can even perform edit/move/delete operations without fetching for page titles beforehand.
  • Added CategoriesGenerator. (v0.6-intX2a)

Major API changes

  • Obsoleted FilePage and CategoryPage. Now you can simply use WikiPage to rule them all. (d4bf001)
    • Thus removed TPage type parameter in IWikiPageGenerator interface. TPage will always be WikiPage.
  • Made IWikiResponseMessageParser as a generic-typed interface. (55a96b4)
  • Renamed WikiSite.GetJsonAsync to WikiSite.InvokeMediaWikiApiAsync. This method now accepts arbitrary IWikiResponseMessageParser, i.e. the API response can be something other than JSON now. (55a96b4)
  • Moved UploadAsync methods to WikiClientLibrary.Files.WikiSiteExtensions as extension methods. (d4bf001)
  • Moved WikiSite.Parse***Async methods to WikiClientLibrary.Pages.Parsing.WikiSiteExtensions as extension methods. (7f81501)
    • There might be other peripheral methods extracted from WikiSite as extension methods in the future.