View Source Change log

Unreleased

0.4.8 - 2024-11

Added

  • New option key_fun to build SiteMatrix lookup on an alternative key. Wiki IDs are notoriously hard to standardize, so this change makes it easier o work with data sets using alternate conventions eg. "en.wikipedia" or "https://en.wikipedia.org/" instead of the more canonical database name "enwiki" as ID.

Removed

  • Drop support for end-of-life Elixir 1.11 and 1.12

0.4.7 - 2024-04

Fixed

  • Upgrade dependencies, to unpin the mime dependency (bug #25).

0.4.6 - 2023-11

Added

  • Site struct carries opts, simplifying tests.
  • Include wiki project code in SiteMatrix specs.

0.4.5 - 2023-09

Added

  • New adapter option :disable_compression. (#14) (Wenzel)

Fixed

  • Authenticated usage no longer requires empty initial cookies. (#14) (Wenzel)

0.4.4 - 2023-09

Fixed

  • Robustly handle missing group names.

0.4.3 - 2023-04

Changed

  • Action API timeout extended from 5 to 60 seconds.
  • Changelog reformatted according to the Common Changelog style.

0.4.2 - 2023-03

Changed

  • Breaking: Require Elixir 1.11

Added

  • Add a Livebook example notebook

0.4.1 - 2022-12

Added

  • Now compatible with tesla ~>1.5

Fixed

  • Fix compression for Action and ORES APIs

0.4.0 - 2022-09

Changed

  • Breaking: Wiki.EventStreams :send_to option renamed to :stream_to.
  • mix test.all task replaces git_hooks for development.

Removed

  • Breaking: Config variables are deprecated, all customization is done via keyword options.

0.3.1 - 2022-09

Changed

  • Breaking: Wiki.Site renamed to Wiki.SiteMatrix and has an updated interface. new() returns an opaque sitematrix.
  • Breaking: Settle on the Apache 2 license (bug #21).

Added

  • Wiki.SiteMatrix caches the response.

0.3.0 - 2021-12

Changed

  • Breaking: Switched most of the API to return {:ok | :error, ...} tuples. For quick migration just use the bang functions like get!. Or match {:ok, result} for fine-grained error handling. Errors will be returned as exception objects, with a crude string message for now. In a future release these will include a reason atom.

0.2.6 - 2021-12

Changed

  • Breaking: Renamed the package from wiki_elixir to mediawiki_client. mix.exs dependencies must be updated. The package namespace is still Wiki.-, because I honor your labors, gentle reader.
  • Breaking: OTP app name in configuration must also be changed from wiki_elixir to mediawiki_client.

0.2.5 - 2021-11

Changed

  • You may migrate Wiki.Action.new() calls to accept a Wiki.Site object, which will be used to calculate the default endpoint.

Added

  • Wiki.Site module for retrieving the Wikimedia site matrix.

0.2.2 - 2021-11

Changed

  • Depend on eventsource_ex library, testability improvements have been upstreamed.

Added

  • Continuous tests verify compatibility with Elixir 1.9-1.12 .

Removed

  • Drop unused dependencies.

Fixed

  • User-agent header sends correct library version.

0.2.1 - 2021-05

Changed

  • Breaking: Request query parameters are passed as a keyword list rather than a map.
  • Breaking: Handles application-level API errors in the action and ores apis, failing fast.
  • Default to action response format version 2.

Added

  • Complete test coverage for both happy and sad cases.

Removed

  • Remove unused Timex dependency.

Fixed

  • Allow literal "|" in parameters by switching the delimiter to "unit separator".

0.1.4 - 2020-05

Added

  • Some test coverage for Wiki.Action.
  • Add lint jobs to git hook and GitLab CI.

Removed

  • Breaking: Removed the incomplete Wiki.Rest client.

Fixed

  • Fix application configuration bug, nothing worked out of the box.
  • Fix a continuation bug which would drop the first response.

0.1.2 - 2020-05

Changed

Added

  • Basic ORES client.
  • Inline examples included in module documentation.
  • Pipe-join list values for Action API.
  • Accumulate Action results.

0.1.1 - 2020-05

Changed

  • Simplify and package examples as scripts.
  • Host code on GitLab, apply the most basic CI.
  • Temporarily inline the cwc/eventsource_ex server-side events library as a workaround.
  • Switch to Tesla HTTP client.

Added

  • Send User-Agent header.
  • Action API and continuations. Authentication, session cookies.
  • Pipelining.
  • Flexible endpoint.
  • Server-side events relayed as a Stream.
  • Begin work on REST API.

0.1.0 - 2019-05

Initial release.