Skip to content

v0.6-int4

Pre-release
Pre-release
Compare
Choose a tag to compare
@CXuesong CXuesong released this 24 Sep 16:32
· 672 commits to master since this release

This version has a bug that is fixed in the next pre-release. This version of NuGet package has been unlisted.

If you have any questions or suggestions, feel free to open an issue :-)

New features

  • Added two page generators: BacklinksGenerator and TranscludedInGenerator.
  • MW API requests via WikiSite.GetJsonAsync will automatically attempt to re-fetch tokens on badtoken error. (#21)

Major interface changes

  • Renamed PageGenerator to WikiPageGenerator, and RecentChangesEntry to RecentChangeItem.
  • IWikiClientLoggable.SetLoggerFactory has been replaced with a R/W property IWikiClientLoggable.LoggerFactory.
  • UnauthorizedOperationException is now a subclass of OperationFailedException.
    • Though for certain locally detected authorization failure, UnauthorizedOperationException.ErrorCode will be null.
  • Added WikiRequestMessage class to contain query parameters.
    • This class (WikiFormRequestMessage, to be more exact) unifies application/x-www-form-urlencoded and multipart/form-data, while enables per request configurations in the future, and a better request-tracing experience.
    • WikiClient.GetJsonAsync now only accepts WikiRequestMessage. WikiSite.PostValuesAsync is kept for now but is marked as obsolete. It will be removed in the next pre-release. You need to use WikiSite.GetJsonAsync now. (See usage example.)
    • See the documentation of WikiFormRequestMessage for more information.

Bug fix

  • Fixed incorrect logic for getting patrol token for MW [1.17, 1.20).
  • Fixed some incorrect logging emissions.

Other changes

  • Re-implemented WikiSite.GetToken(s)Async. Still the code might need more simplifications.

Unit tests

  • Use MSTest adapter for xUnit. Now you can execute unit tests with VS.
  • Added xUnit console runner dotnet-xunit. Now you can execute unit tests with dotnet xunit command.
  • Now the unit test is net452/netcoreapp2.0 multi-targeted.
  • Thanks to AArnott, again. Now I have XUnit.SkippableFact to take over the original UnitTestProject1.Utility.Inconclusive method. (I'm also a fan of Nerdbank.FullDuplexStream!)