## 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` ## 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) ## v0.16.0 (2018-10-03) This release upgrades reqwest, our http client dependency, from 0.8.8 -> 0.9.0 ## v0.15.2 This is a bugfix release ## v0.15.1 This is a bugfix release ## 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 builer ([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 notifciations 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)) ## 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 supercede 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`. # 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