## [0.7.0](https://github.com/frostly/rust-slack/tree/0.7.0)

### Features
- New variant `SlackTextContent::User` holding `SlackUserLink` to support new-style for linking to slack users: [#21](https://github.com/frostly/rust-slack/pull/21).
- Derive `Clone`, `PartialEq`, `Eq`, and `PartialOrd` where appropriate.
- Upgraded minimum rust version to 1.17 (field shorthands).

## [0.6.0](https://github.com/frostly/rust-slack/tree/0.6.0)

### Features
- Replaced `curl` with `reqwest`

### Breaking Changes:
- `url` (removed) and `chrono` crates are no longer re-exported

### Other:
- Removed `log` crate
- `error-chain` updated to `0.11`

## [0.5.0](https://github.com/frostly/rust-slack/tree/0.5.0)

### Features
- Support `mrkdwn_in` field for an `Attachment`: [#17](https://github.com/frostly/rust-slack/pull/17).

### Breaking Change:
- Need to move to chrono 0.4 since 0.3.1 (with serde 1.0) was yanked.

## [0.4.0](https://github.com/frostly/rust-slack/tree/0.4.0)

### Features
- Upgrade to serde 1.0 [#16](https://github.com/frostly/rust-slack/pull/16)
 - chrono 0.3.1 is now also required (serde 1.0 support added in 0.3.1). Even though chrono
didn't do this as a breaking change it should be for semver. As a result, I'm moving this crate
to 0.4.0 to avoid any issues.
- Specify `Content-Type` as json when sending messages #15

### Other

- Replaced `quick-error` with `error-chain`

## [0.3.0](https://github.com/frostly/rust-slack/tree/0.3.0)

### Features

- Dependencies updated:
 - Serde upgraded to 0.9 (requires rust 1.15)
 - Chrono to 0.3
 - Curl to 0.4

## [0.2.0](https://github.com/frostly/rust-slack/tree/0.2.0)

### Deprecations / Breaking Changes:

- `Payload`
 - `PayloadTemplate` is removed.
 - `unfurl_links` is now `bool`. No integer transformation is required by the slack API anymore.
- `Attachment`
 - `AttachmentTemplate` is removed.
 - `color` is now optional.
- `SlackError` is now `Error` and `SlackResult` is now `Result`. In addition, `ErrorKind` has been
removed. All `Error` variants have also been renamed, removing the superfluous `Err` prefix:
 - `ErrSlackResp` -> `Slack`
 - `ErrUtf8` -> `Utf8`
 - `ErrFromHex` -> `FromHex`
 - `ErrHexColor` -> `HexColor`
 - `ErrEncoder` -> REMOVED. Replaced with `Serialize`.
 - `ErrCurl` -> `Curl`
- `SlackLink`, `SlackText`
 - The `Display` trait is now used to format strings for sending to slack rather than `Debug`.
 The `Debug` impl is derived now.
- `Slack::new` now returns a `Result<Slack>` as it does `Url` parsing.

### Features

- `PayloadBuilder` and `AttachmentBuilder` should be used for building a `Payload` or `Attachment`
respectively. Errors won't be returned until the final `build` function is called. At this point,
only the first error is displayed. Subsequent errors will only appear once the first error is
fixed.
- `Payload`
 - Added `unfurl_media` option
- Three character hex color codes, e.g. `#000`, are now supported.
- Add support for sending links and text into slack, see:
[Text with Links](README.md#text-with-links).
- Optional fields no longer are sent in the serialized json message to slack.
- Add `parse` option to `Payload`.
- New `Attachment` fields have been added.

### Other

- `TryFrom` and `TryInto` traits have been added temporarily to this crate until they are
formalized in rust proper. See https://github.com/rust-lang/rust/issues/33417 for details.
- `HexColorT` trait removed. Conversions are used instead.
