slack_api 0.23.1

Interface for the Slack Web API
Documentation
# 0.23.0
* slack_api now provides async functions (enabled with "async" feature, on by default)
* slack_api::sync provides the original functions (enabled with "sync" feature)
* `Timestamp` type replaces all uses of string / u64 / f64 as timestamps

# 0.22.0
* Updates to API
  * #68 Bot icons are sometimes an array
* request 0.10.0 using blocking client
  - if you passed a `reqwest::Client` before you will need to pass `reqwest::blocking::Client`
* reqwest native-tls feature
* 2018 edition code

# 0.21.0
* Updates to API
  * Missing fields from bot messages
  * Bot messages can have attachments
* Optional Reqwest updated to 0.9.0

# 0.20.0
* Updates to API
  * channel.priority is an f64
* Optional Reqwest updated to 0.8.5

# 0.19.0
* Updates to API to include fields mainly in user/user_profile and channel info

# 0.18.0
* Serde 1.0.0 **breaking change, your serde must also be ~1.0.0**
* Updates to API to include fields for "Threading messages" and a couple of other missing fields in messages

# 0.17.0
* Updates generated API definitions for the Slack API as of April 29

## API Changes
* Several additional error types were added across many API functions
* Several documentation fixes and updates

### `channels`
* `create`, `join` and `rename` had a new `validate` field added
* `list` had a new `exclude_members` field added

### `chat`
* `unfurl` was added. See [https://api.slack.com/methods/chat.unfurl]https://api.slack.com/methods/chat.unfurl

### `files_comments`
* `add` had the `channel` parameter removed

### `groups`
* `create` and `rename` had a new `validate` field added

### `ims`
* `open` had its `return_im` field change from `Option<&str>` to `Option<bool>`

### `reactions`
* `list` had its `full` field change from `Option<&str>` to `Option<bool>`

### `rtm`
* `connect` was added. See [https://api.slack.com/methods/rtm.connect]https://api.slack.com/methods/rtm.connect
* `start` had its `no_unreads` and `mpim_aware` fields change from `Option<&str>` to `Option<bool>`
* `start` had a new `no_latest` field added

# 0.16.2
* This release adds a new top-level function: `default_client()`
  * This function can be used by users to get a default client that implements `SlackWebRequestSender` so they don't have to pull in `reqwest` and version match in order to send requests.
  * Thanks to @bwasty for adding this in #42!

# 0.16.1
* This release works around a Slack API bug causing deserialization issues
  * Thanks to @dten for implementing the fix in #39!

# 0.16.0
- This release contains **several breaking changes**
  - `hyper` has been replaced with `reqwest`, but is still an optional dependency
  - All response fields are now considered optional to prevent this library from breaking if Slack removes them
  - All methods now take in a request object (e.g. `PostMessageRequest`) instead of each parameter separately
    - This allows better clarity when calling the API as it simulates named params
    - All request objects implement `Default`, so you can fill in the request with a `..PostMessageRequest::default()` (or equivalent) to elide fields that are not being set
  - All error types have been reworked to obtain better information from the Slack API about the issue
- Support added for most other Slack APIs, including `dnd`, `usergroups`, `mpim`, and `files.comments`

# 0.15.0
* `hyper` is now an optional (but default) feature that can be disabled to use a different HTTP client
  * The only change this requires is in error handling. `Error::Internal` and `Error::Http` are gone, and `Error::HttpRequest` has been added. `Error` also no longer allows exhaustive checking to allow for future flexibility, though this limitation will be lifted before 1.0.
  * See [the pull request]https://github.com/slack-rs/slack-rs-api/pull/24 for more information
* `hyper` dependency also bumped to version `0.9.4`, if it's being used (thanks to @jgulotta)
* Fixed several changes in the schema from the Slack API that would cause erroneous deserialization errors (thanks to @kiyoto)
  * [Make BotMessage handle attachments]https://github.com/slack-rs/slack-rs-api/pull/16
  * [Make url optional for File type]https://github.com/slack-rs/slack-rs-api/pull/17
  * [Make text optional field in Attachment struct]https://github.com/slack-rs/slack-rs-api/pull/21

# 0.14.0
* Removed `events` module. Now returned to [slack]https://github.com/slack-rs/slack-rs crate.
* Add missing `pub` fields on some returned response objects
* Fix `api.test` method to not require a token to call

# 0.13.1
* Removed unused `Error::Utf8`
* Removed `Error::Url`, panicing instead of returning an `Err` on url parse failures due to no user input used

# 0.13.0
* Initial release – extracted from [slack]https://github.com/slack-rs/slack-rs crate