CHANGELOG.md

# Change log

## 1.0.0-TODO

Distant future, out of scope for v0.x:
* Discover APIs (and warn that this should be configured?  cache?), generate matching client.

## 0.3.0-TODO

What it should already include:
* Detect server and network errors, fail fast.  Show helpful API debugging in dev environment.
* Longer, configurable default timeouts to match servers.
* Wikimedia Commons media commands.
* Atoms for selecting the known server-side event streams?  Similarly, for some of the action API?
* Client for the many Wikimedia [REST API](https://www.mediawiki.org/wiki/REST_API )s
served through RESTBase. See [issue #2](https://gitlab.com/adamwight/wiki_elixir/-/issues/2).
* Built-in Mediawiki [REST API](https://www.mediawiki.org/wiki/API:REST_API)
(yes, that's something different than the above!).
* Demonstrate a cross-wiki API call (CentralAuth).
* Convenient logging e.g. URL for every action call, and metrics for how many
calls were made in total.
* ...

## 0.2.6-TODO
* ...

## 0.2.5 (Nov 2021)
New features:
* `Wiki.Site` module for retrieving the Wikimedia site matrix.

Migration:
* `Wiki.Action.new()` accepts a `Wiki.Site` object.

## 0.2.2 (Nov 2021)
* Depend on eventsource_ex library, testability improvements have been upstreamed.
* Continuous tests verify compatibility with Elixir 1.9-1.12 .
* User-agent header sends correct library version.
* Drop unused dependencies.

## 0.2.1 (May 2021)

Breaking changes:
* Request query parameters are passed as a keyword list rather than a map.
* Handles application-level API errors in the action and ores apis, failing fast.

Other:
* Complete test coverage for both happy and sad cases.
* Remove unused `Timex` dependency.
* Allow literal "|" in parameters by switching the delimiter to "unit separator".
* Default to action response format version 2.

## 0.1.4 (May 2020)

* Fix application configuration bug, nothing worked out of the box.
* Fix a continuation bug which would drop the first response.
* Removed the incomplete `Wiki.Rest` client.
* Some test coverage for `Wiki.Action`.
* Add lint jobs to git hook and GitLab CI.

## 0.1.2 (May 2020)

* Rename WikiAction -> `Wiki.Action`
* Rename WikiRest -> `Wiki.Rest`
* Rename WikiSSE -> `Wiki.EventStreams`
* Basic ORES client.
* Inline examples as module documentation.
* Pipe-join list values for Action API.
* Accumulate Action results.

## 0.1.1 (May 2020)

* Send User-Agent header.
* Action API and continuations.  Authentication, session cookies.
* Pipelining.
* Flexible endpoint.
* Server-side events relayed as a `Stream`.
* Simplify and package examples as scripts.
* Begin work on REST API.
* Host code on GitLab, apply the most basic CI.
* Temporarily inline the [cwc/eventsource_ex](https://github.com/cwc/eventsource_ex/)
server-side events library as a workaround.
* Switch to Tesla HTTP client.

## 0.1.0 (May 2019)

* Initial release.