diff --git a/CHANGELOG.md b/CHANGELOG.md
index cc5baac2..4ff203ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,18 +9,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Added
 
-- `throttle`, `cache_me`, `auto_send` and `full` crate features
+- Support for `rustls` ([#24][pr24])
+- `#[must_use]` attr to payloads implemented by macro ([#22][pr22])
+- forward-to-deref `Requester` impls ([#39][pr39])
+- `Bot::{set_,}api_url` methods ([#26][pr26], [#35][pr35])
 - `payloads` module
 - `RequesterExt` trait which is implemented for all `Requester`s and allows easily wrapping them in adaptors
-- `adaptors` module
-  - Request throttling - opt-in feature represented by `Throttle` bot adapter which allows automatically checking telegram limits ([#10][pr10])
+- `adaptors` module ([#14][pr14])
+  - `throttle`, `cache_me`, `auto_send` and `full` crate features
+  - Request throttling - opt-in feature represented by `Throttle` bot adapter which allows automatically checking telegram limits ([#10][pr10], [#46][pr46])
   - Request auto sending - ability to `.await` requests without need to call `.send()` (opt-in feature represented by `AutoSend` bot adapter, [#8][pr8])
   - `get_me` caching (opt-in feature represented by `CacheMe` bot adapter)
-- `Requester` trait which represents bot-clients ([#7][pr7])
+- `Requester` trait which represents bot-clients ([#7][pr7], [#12][pr12], [#27][pr27])
 - `{Json,Multipart}Request` the `Bot` requests types ([#6][pr6])
 - `Output<T>` alias to `<<T as HasPayload>::Payload as Payload>::Output`
 - `Payload`, `HasPayload` and `Request` traits which represent different parts of the request ([#5][pr5])
-- `GetUpdatesNonStrict` - fail proof version of `GetUpdates`
+- `GetUpdatesNonStrict` 'telegram' method, that behaves just like `GetUpdates` but doesn't [#2][pr2]
+  fail if one of updates fails to be deserialized 
 - Move core code here from the [`teloxide`] main repo, for older changes see it's [`CHANGELOG.md`].
   - Following modules were moved:
     - `bot`
@@ -31,18 +36,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
   - `client_from_env` was moved from `teloxide::utils` to crate root of `teloxide-core`
   - To simplify `GetUpdates` request it was changed to simply return `Vec<Update>` 
     (instead of `Vec<Result<Update, (Value, serde_json::Error)>>`)
-- `GetUpdatesNonStrict` 'telegram' method, that behaves just like `GetUpdates` but doesn't 
-  fail if one of updates fails to be deserialized 
 
+[pr2]: https://github.com/teloxide/teloxide-core/pull/2
 [pr5]: https://github.com/teloxide/teloxide-core/pull/5
 [pr6]: https://github.com/teloxide/teloxide-core/pull/6
 [pr7]: https://github.com/teloxide/teloxide-core/pull/7
 [pr8]: https://github.com/teloxide/teloxide-core/pull/8
 [pr10]: https://github.com/teloxide/teloxide-core/pull/10
+[pr12]: https://github.com/teloxide/teloxide-core/pull/10
+[pr14]: https://github.com/teloxide/teloxide-core/pull/10
+[pr22]: https://github.com/teloxide/teloxide-core/pull/22
+[pr24]: https://github.com/teloxide/teloxide-core/pull/24
+[pr26]: https://github.com/teloxide/teloxide-core/pull/26
+[pr27]: https://github.com/teloxide/teloxide-core/pull/27
+[pr35]: https://github.com/teloxide/teloxide-core/pull/35
+[pr39]: https://github.com/teloxide/teloxide-core/pull/39
+[pr46]: https://github.com/teloxide/teloxide-core/pull/46
 
 ### Changed
 
-- Rename `StickerType` => `InputSticker`, `{CreateNewStickerSet,AddStickerToSet}::sticker_type}` => `sticker` ([#23][pr23])
+- Cleanup setters in `types::*` (remove most of them) ([#44][pr44])
+- Refactor `KeyboardButtonPollType` ([#44][pr44])
+- Replace `Into<Vec<_>>` by `IntoIterator<Item = _>` in function arguments ([#44][pr44])
+- Update dependencies (including tokio 1.0) ([#37][pr37])
+- Refactor file downloading ([#30][pr30]):
+  - Make `net` module public
+  - Move `Bot::download_file{,_stream}` methods to a new `Download` trait
+    - Impl `Download` for all bot adaptors & the `Bot` itself
+  - Change return type of `download_file_stream` — return `Stream<Result<Bytes>>``,
+    instead of `Future<Result<Stream<Result<Bytes>>>>``
+  - Add `api_url` param to standalone versions of `download_file{,_stream}`
+  - Make `net::{TELEGRAM_API_URL, download_file{,_stream}}` pub
+- Refactor `Bot` ([#29][pr29]):
+  - Move default parse mode to an adaptor (`DefaultParseMode`)
+  - Remove bot builder (it's not usefull anymore, since parse_mode is moved away)
+  - Undeprecate bot constructors (`Bot::{new, with_client, from_env_with_client}`)
+- Rename `StickerType` => `InputSticker`, `{CreateNewStickerSet,AddStickerToSet}::sticker_type}` => `sticker` ([#23][pr23], [#43][pr43])
 - Use `_: IntoIterator<Item = T>` bound instead of `_: Into<Vec<T>>` in telegram methods which accept collections ([#21][pr21])
 - Make `MessageDice::dice` pub ([#20][pr20])
 - Merge `ApiErrorKind` and `KnownApiErrorKind` into `ApiError` ([#13][pr13])
@@ -50,24 +79,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
   - Replace a bunch of `Option<_>` fields with `ChatMemberKind`
   - Remove setters (users are not expected to create this struct)
   - Add getters
-- Changed internal mechanism of sending multipart requests
+- Changed internal mechanism of sending multipart requests ([#1][pr1])
 - Added `RequestError::Io(io::Error)` to wrap I/O error those can happen while sending files to telegram
-- Change `StickerType`: instead of newtypes (`Png(InputFile)`) use structs (`Png { png_sticker: InputFile }`), add 
-  `StickerType::{png,tgs}` constructors
-- Make all fields of all methods `pub`
+- Make all fields of all methods `pub` ([#3][pr3])
 
+[pr1]: https://github.com/teloxide/teloxide-core/pull/1
+[pr3]: https://github.com/teloxide/teloxide-core/pull/3
 [pr9]: https://github.com/teloxide/teloxide-core/pull/9
 [pr13]: https://github.com/teloxide/teloxide-core/pull/13
 [pr20]: https://github.com/teloxide/teloxide-core/pull/20
 [pr21]: https://github.com/teloxide/teloxide-core/pull/21
 [pr23]: https://github.com/teloxide/teloxide-core/pull/23
+[pr29]: https://github.com/teloxide/teloxide-core/pull/29
+[pr30]: https://github.com/teloxide/teloxide-core/pull/30
+[pr37]: https://github.com/teloxide/teloxide-core/pull/37
+[pr43]: https://github.com/teloxide/teloxide-core/pull/43
 
 ### Removed
 
 - `unstable-stream` feature (now `Bot::download_file_stream` is accesable by default)
 - old `Request` trait
 - `RequestWithFile`, now multipart requests use `Request`
-- Remove all `#[non_exhaustive]` annotations
+- Remove all `#[non_exhaustive]` annotations ([#4][pr4])
+- Remove `MessageEntity::text_from` because it's wrong ([#44][pr44])
+
+[pr4]: https://github.com/teloxide/teloxide-core/pull/4
+[pr44]: https://github.com/teloxide/teloxide-core/pull/44
   
 
 [`teloxide`]: https://github.com/teloxide/teloxide