207 lines
6.4 KiB
Markdown
207 lines
6.4 KiB
Markdown
<a name="v1.0.0"></a>
|
|
## v1.0.0
|
|
|
|
#### Breaking Changes
|
|
|
|
* All functions which interact with the API are now async. As a part of this
|
|
change, the streaming API now returns a `Stream` instead of an `Iterator`.
|
|
* The crate has been renamed to `mastodon-async`.
|
|
* Search API v1 has been removed.
|
|
|
|
#### Features
|
|
* Structured logging
|
|
|
|
#### Bug fixes
|
|
* Streaming API was incomplete, it now works
|
|
|
|
<a name="v0.18.0"></a>
|
|
## v0.18.0 (2019-01-05)
|
|
|
|
#### Breaking Changes
|
|
|
|
* Change `Registered::complete` to take the receiver by reference
|
|
|
|
#### Features
|
|
|
|
* Add `Registered::into_parts` and `Registered::from_parts`
|
|
* Add `FromStr` implementation for `Scopes`
|
|
|
|
<a name="v0.17.0"></a>
|
|
## v0.17.0 (2018-12-12)
|
|
|
|
#### Bug Fixes
|
|
|
|
* Fixes `follow` to return a `Relationship` [6f63fef](6f63fef0b2414099c55e36107aab785f689d19b6)
|
|
|
|
#### Features
|
|
|
|
* Add `follows_me` and `followed_by_me` shortcut methods [4dd4042](4dd40422b3de11aaadcfc600317c0df3556b38f5)
|
|
|
|
#### Breaking Changes
|
|
|
|
* Change `u64` ids to `&str` [9a08058](9a080583f0577d3f77eaf7be55758835c56ea61e)
|
|
* Fixes `follow` to return a `Relationship` [6f63fef](6f63fef0b2414099c55e36107aab785f689d19b6)
|
|
|
|
<a name="v0.16.0"></a>
|
|
## v0.16.0 (2018-10-03)
|
|
|
|
This release upgrades reqwest, our http client dependency, from 0.8.8 ->
|
|
0.9.0
|
|
|
|
<a name="v0.15.2"></a>
|
|
## v0.15.2
|
|
|
|
This is a bugfix release
|
|
|
|
<a name="v0.15.1"></a>
|
|
## v0.15.1
|
|
|
|
This is a bugfix release
|
|
|
|
<a name="v0.15.0"></a>
|
|
## v0.15.0 (2018-09-15)
|
|
|
|
This release adds support for all new API endpoints introduced in Mastodon 2.4.* and 2.5.0
|
|
|
|
#### Features
|
|
|
|
* **scopes:** Implement granular OAuth scopes ([e284894d](e284894d), closes [#44](44))
|
|
* **helpers:** cli::authenticate ([034bd4e6](034bd4e6))
|
|
* **client:** Implement client.update\_credentials ([a57c7e2f](a57c7e2f))
|
|
* **status:** Add language code to status builder ([989d9a59](989d9a59), closes [#55](55))
|
|
* **client:** Implement profile metadata update ([0ad1e374](0ad1e374), closes [#54](54))
|
|
* **search:** Implement `GET /api/v2/search` ([28192e11](28192e11))
|
|
* **client:** Implement push notifications endpoints ([690b029d](690b029d), closes [#53](53))
|
|
* **client:** Add `replies_count` property to `Status` entities ([7d752a9f](7d752a9f), closes [#73](73))
|
|
* **client:** Implement Keyword filtering API ([7d164cb8](7d164cb8), closes [#71](71))
|
|
* **client:** Implement the Follow Suggestions API ([7de1bdc0](7de1bdc0), closes [#72](72))
|
|
* **client:** Implement the Endorsements API ([1f0ba184](1f0ba184), closes [#74](74))
|
|
|
|
#### Breaking Changes
|
|
|
|
* **scopes:** Implement granular OAuth scopes ([e284894d](e284894d)) (closes [#44](44))
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** change return value of client.unfollow to `Relationship` ([20a9c69a](20a9c69a))
|
|
* **client:** change `POST /search` to `GET /search` ([34e2c008](34e2c008))
|
|
|
|
|
|
<a name="v0.14.0"></a>
|
|
## v0.14.0 (2018-08-29)
|
|
|
|
#### Features
|
|
|
|
* **helpers:** add json helper module ([46871da4](46871da4))
|
|
|
|
#### Breaking Changes
|
|
|
|
* **client:** fix broken paged\_routes\_with\_id methods ([c66c305d](c66c305d), closes [#42](42))
|
|
|
|
#### Bug Fixes
|
|
|
|
* **client:** fix broken paged\_routes\_with\_id methods ([c66c305d](c66c305d), closes [#42](42))
|
|
|
|
|
|
# 0.13 (2018/08/27)
|
|
|
|
## Features
|
|
|
|
- `Registration` now duplicates the `AppBuilder` API, so you can
|
|
replace:
|
|
|
|
```
|
|
let app = App::builder();
|
|
app.client_name("test-client");
|
|
|
|
let registration = Registration::new("http://example.com")
|
|
.register(app)?;
|
|
```
|
|
|
|
with this:
|
|
|
|
```
|
|
let registration = Registration::new("http://example.com")
|
|
.client_name("test-client")
|
|
.build()?;
|
|
```
|
|
|
|
You can still call use the `Registration` & `AppBuilder` APIs like
|
|
before, but any App passed to `.register` will supersede anything app
|
|
config set on the `Registration` object itself.
|
|
|
|
In future releases, this will become a hard error.
|
|
|
|
- `elefren::status_builder::StatusBuilder::new()` now takes anything
|
|
that implements `Display` instead of specifically an owned `String`
|
|
|
|
## Breaking Changes
|
|
|
|
- The `elefren::data::toml` module has been moved to
|
|
`elefren::helpers::toml`
|
|
- Because of the changes to `Registration`, the `elefren::apps::prelude`
|
|
module has been removed. The types that are still necessary from that
|
|
prelude have been moved to `elefren::prelude`, but
|
|
`elefren::apps::App` will have to be imported separately
|
|
- `elefren::entities::account::CredientialsBuilder` has been moved to
|
|
`elefren::entities::account::CredentialsBuilder` (note the spelling
|
|
difference)
|
|
- `Registered::complete` now takes a `&str` instead of a `String`
|
|
|
|
## Compatibility
|
|
|
|
- `elefren::entities::instance::Instance` now has the `max_toot_chars`
|
|
property, for use with the Pleroma and Glitch-soc APIs
|
|
|
|
# 0.12 (2018/08/23)
|
|
|
|
## Features
|
|
|
|
- `Page::items_iter` added, abstracts over "next_page" logic
|
|
- `elefen::prelude` and `elefen::apps::prelude` modules added to more
|
|
easily import all necessary types
|
|
- Helpers added to allow serialization & deseriasization of `Data` types
|
|
to `toml`
|
|
|
|
## Breaking Changes
|
|
|
|
- Combined all parameters to `mastodon.statuses` (except `id`) to their
|
|
own type, `StatusesRequest`
|
|
- All API methods on `Mastodon` type moved into a trait,
|
|
`MastodonClient`, to enable better mocking during tests
|
|
- `Mastodon::from_data(Data)` was changed to `Mastodon::from(Data)`
|
|
- `AppBuilder` was changed, use `App::builder()` instead
|
|
- `Registration` was broken up to enable better registration flow
|
|
|
|
## Documentation
|
|
|
|
- All API methods now have doc comments
|
|
- All docs were updated for the new breaking changes
|
|
|
|
## Compatibility
|
|
|
|
- Login to pleroma instances was fixed
|
|
|
|
# 0.11
|
|
- Added more examples to `examples` directory.
|
|
- Fixed `follow` and `unfollow` routes.
|
|
- Updated `moved` field to be `Box<Account>`.
|
|
|
|
# 0.10
|
|
|
|
- Added the ability to handle paged entities like favourites and such.(Only favourites in prerelease)
|
|
- Added optional `source` and `moved` fields to `Account`.
|
|
- Added `Source` struct to match with the `Account.source` field.
|
|
- Added `CredientialsBuilder` struct for updating profile using
|
|
`verify_credientials`.
|
|
- Attachment now handles being sent an empty object, which is converted
|
|
to `None`.
|
|
- Added ombed data fields to `Card`.
|
|
- Added `version` and `urls` fields to `Instance`.
|
|
- Added `id`, `muting_notifications`, and `domain_blocking` to `Relationship`.
|
|
- Added `emojis`, `language`, and `pinned` fields to `Status`
|
|
- Added `Emoji` struct.
|
|
- Added `List` and `Mention` structs(matching routes not added yet).
|
|
- Added example that prints your profile.
|
|
- Updated dependencies
|