summaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
blob: 9bfe7b43644f762feb0d98195435bf5fe973e1d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<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 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))


<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 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<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