Releases: CXuesong/WikiClientLibrary
Releases · CXuesong/WikiClientLibrary
v0.7.0-int.9
Bug fix: WikiPagePropertyProvider.GetMaxPaginationSize
used value that is too large.
v0.7.0-int.8
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
toWikiClientLibrary.Pages.Queries.Properties.LanguageLinkInfo
. - Deprecated
LanguageLinkInfo.PageTitle
in favor ofLanguageLinkInfo.Title
. - Deprecated
ParsedContentInfo.Interlanguages
in favor ofParsedContentInfo.LanguageLinks
. - Now
RequestHelper.RefreshPages
won't sendrvlimit=1
anymore, as this is superfluous and can cause uncessary prop list pagination.
v0.7.0-int.7
- 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 withapiHighLimits
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.
- Use
- Added
UnauthorizedOperationException.DesiredPermissions
property. - Added
ServerLagException
formaxlag
MW API error.
v0.7.0-int.6
GeoSearchGenerator
now supports geographical search by bounding box (#57)- Use
GeoSearchGenerator.BoundingRectangle
to specify it (gsbbox
)
- Use
v0.7.0-int.5
WikiLink.(Try)ParseAsync
now supports parsing interwiki links without specifying aWikiSite
first.- In this case, you need a
IWikiFamily
to provide interwiki information. - The wikilink expression to be parsed should always begin with interwiki prefix.
- In this case, you need a
- Fixed incorrect
duplicateversions
warning information parsing logic inUploadWarningCollection
. - Upgraded
System.Linq.Async
dependency to4.0.0-preview.6.build.801
as the previous pre-release may causeMissingMethodException
on the .NET Core 3.0 applications built with .NET SDK 3.0.1-preview7.
v0.7.0-int.4
v0.7.0-int.3
- 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 oninternal_api_error_*
errors.
v0.7.0-int.2
- Introduce .NET Standard 2.1 (.NET Core 3.0) support.
- Use
IAsyncEnumerable<T>
from BCL instead ofIx.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
- Use Semantic Versioning 2.0.0 for NuGet package versioning.
- Prerelease package will have an extra "." after "int".
v0.7.0-int1
New features
- Implemented revision slots support for MW 1.32+
- Added
ScribuntoConsole
class and other Lua-module related utility functions. SeeWikiClientLibrary.Scribunto
namespace.- You may take a look at
WikiClientLibrary.Demos.ScribuntoInteractive
demo project.
- You may take a look at
- 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
- Removed
WikiClient.Referer
property as it is not actually used in the library. - Removed
[Obsolete]
APIs. - Use
InvariantCulture
for stringify page IDs, as well asgscoord
inGeoSearchGenerator
. (#46) - Now
MediaWikiHelper.ParseJsonAsync
throwsUnexpectedDataException
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
toWikiaJsonResponseParser
.