Releases: CXuesong/WikiClientLibrary
Releases · CXuesong/WikiClientLibrary
v0.9.0-int.4
- 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
- Implement 
CategoriesPropertyProvider.ParsePropertyGroup. It was omitted withNotImplementedExceptionbefore. (a6d1afc) - Now 
WikiPage.GetPropertyGroupwill return an empty*PropertyGroupinstance instead ofnullif 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.LoginAsyncis not insideusergroup. This can happen there is something wrong with the cookie, causing user's session getting lost. (be7e9cf) - Prevent 
FileInfoPropertyProviderfrom 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 
RevisionsGeneratorshould 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.Jsonmigration. 
v0.9.0-int.2
WCL package
New features
- Added 
PageHelperclass andWikiClientHelperclass 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-Agentheader with reflection information from the providedAssemblyobject. 
 
These utilities are migrated from the old NuGet package named CXuesong.MW.WikiClientLibrary.Bots.
API changes
- Pushed down 
AccountInfo.Block*properties into a stand-aloneAccountBlockInfoobject stored inAccountInfo.BlockInfoproperty.- Also added the rest of properties for the block detail, including 
AccountBlockInfo.BlockComponentsfor composite blocks. - Breaking change: Removed the old 
AccountInfo.Block*properties in this version. 
 - Also added the rest of properties for the block detail, including 
 - Preset 
AutomaticDecompressionof the defaultHttpClientHandlerused inWikiClientclass toAll. 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
- Migrated JSON framework dependency from 
Newtonsoft.JsontoSystem.Text.Jsonv8.0.- This is a major breaking change as planned in #108 (Yes it's happening now)
 - All the 
Newtonsoft.Json.Linqpublic APIs are completely replaced bySystem.Text.Json.NodesAPI. - 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.- WCL Flow package is only migrated on a can-compile basis - StructuredDiscussion already has been deprecated.
 - Meanwhile on dman Wiki
readonly: The wiki is currently in read-only mode. Our main datacenter is down, you are accessing our backup datacenter. We are working to fix the problem.
 
 - We are going to eventually upgrade the 
System.Text.Jsonpackage to v9.0 after it enters stable release phase, because WCL Wikibase package depends on theJsonSerializer.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.Jsonv8.0 NuGet package, though. 
 - Converted all of the JSON contract object to leverage the new 
initaccessor of the property andrequiredkeyword. Also marked them all assealed. - Added 
MediaWikiReadOnlyExceptionto map thereadonlyMediaWiki 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
- Dropped support for .NET Standard 2.1. Now WCL is targeting .NET 6.0/8.0. (#108)
 - Revision IDs need to be 
longeverywhere. (#113 by @mormegil-cz ) 
v0.8.0
v0.8.0-int.9
v0.8.0-int.8
- Added .NET 8.0 as target SDK. We are going to remove support for .NET Standard 2.1 in the next pre-release. (#108)
 - Added 
FilesGenerator(#101 by @ashotjanibekyan) - Added 
MyWatchlistGenerator(#102 by @ashotjanibekyan) - Added 
PagesWithPropGenerator(#103 by @ashotjanibekyan) - Introduced 
WikiPage.EditAsync/EditSectionAsync/AddSectionAsyncfor Wiki page editing with more control (#99)- Deprecated the property setter of 
WikiPage.Contentin favor ofWikiPage.EditAsync. 
 - Deprecated the property setter of 
 
Full Changelog: v0.8.0-int.7...v0.8.0-int.8
v0.8.0-int.7
- Add 
tokenparameter inScribuntoConsole.InvokeApiAsynccalls since MW 1.40.0-wmf.5 (wikimedia/mediawiki-extensions-Scribunto@0f25852). (6c2e2c0) - Bug fix: 
WbTime.FromDateTime/FromDateTimeOffsetincorrectly loads the DateTime(Offset) components. (#98) 
v0.8.0-int.6
- Bug fix: 
QueryPageGenerator.EnumItemsAsynchaven't ever been working before. (#92)QueryPageGeneratornow yields a sequence ofQueryPageResultIteminstead ofWikiPageStub.
 - Bug fix: False-positive warnings on interwiki prefix casing violation "Interwiki prefix must be all lower-case".