packages feed

telega-0.2.7: CHANGELOG.md

# 0.1.1
* Define `chat` lens for `Update` datatype
* Add string ident to `Callback` datatype
* Define `Notification` datatype
* Define `Droppable` typeclass

# 0.1.2
* Define `Member` datatype
* Add new `Membership` constructor to `Update` datatype
* Define `Has` typeclass to get access objects within other objects
* Replace `chat` lens on `Access Update Chat` instance

# 0.1.3
* Rename `Has` typeclass to `Access` and swap parameters
* Rename `Member` datatype to `Moving`
* Define `Access Chat Callback` instance
* Define `Access From Callback` instance
* Define `Access Chat Moving` instance
* Define `Access Chat Message` instance
* Define `Access From Message` instance

# 0.1.4
* Define `Member` datatype for chat users
* No implicit `Prelude` anymore (NoImplicitPrelude)
* Move HTTP request function into `Internal` module
* Define `Endpoint` typeclass to replace `Capacity`
* Remove `Capacity` classes and theirs instances
* Define `Object` type family

# 0.1.5
* Remove `Internal` module, move its content to `Endpoint`
* Remove `Drop` phantom datatype, replace it with `Post`
* Use promoted constructors of `Capacity` instead of separated datatypes
* Use `MultiParamTypeClasses` instead of `FlexibleIntances` for `Endpoint`
* Use `UndecidableInstances` and `UndecidableSuperClasses` to use `Object` type family
* Replace `Access` module with `Accessible` `Property`
* Replace `Endpoint` module with `Persistable` `Property`

# 0.1.6
* Split `Message` on `Message` and `Content` datatypes
* Add `Forward` constructor to `Message` datatype
* Combine `Chat` and `From` objects into `Origin` datatype
* Put `Content`, `From` and `Origin` objects into `Message` submodule
* Put `Button` object into `Keyboard` submodule
* Put `Notification` object into `Callback` submodule
* Put `Keyboard` submodule into `Message` submodule
* Put `Callback`, `Message` and `Moving` modules into `Update` submodule
* Rename `From` to `Sender` and move it from `Message` and `Update` submodules

# 0.1.7
* Define `Identifiable` instance for `Callback` datatype
* Add `Reply` constructor to `Message` datatype
* Add `Attachment` constructor to `Content` datatype
* Define `File` for animations, audio, documents, photos, videos or voices
* Extract `Size` datatype into separated module within `Content` submodule
* Define `Location` and `Info` datatypes within `Content` submodule

# 0.1.8
* Add information about `Group` or `Supergroup` (id and title) into `Moving` datatype
* Add `Fetch` capacity, define `Persistable Fetch` for `Sender` to get info about bot
* Define `PL` newtype to avoid violating injectivity annotation of `Payload` type family
* Define `Messaging` datatype to separate direct, reply and forward `Message`
* Make first argument of `Payload` type family poly kinded (enable `PolyKinds`)
* Define `Persistable` instance for `Directly`, `Forwarding` and `Replying` `Message`

# 0.1.9
* Move `Messaging` datatype to `Persistable` module and make it over `Capacity` parameter
* Define `Persistable` instances for `Info` datatype (for direct and reply messages)
* Add ticks to all constructors of `Capacity` to surround them from two sides in promoted versions
* Define `Persistable` instance for `Member` (for kicking and unbanning only)
* Define `Powers` and `Restrictions` datatypes within created `Member` submodule

# 0.2.0
* Rename `Network.Telegram.API` to `Network.API.Telegram`
* Replace `PL` newtype with `Tagged` newtype from `tagged` package
* Replace `Message'` with `Way` and include it to `Capacity` with `Send` constructor
* Remove `user_id` field from `Contact` datatype
* Define `Persistable` instances for `Location` datatype
* Define `Inform` datatype and include it to `Capacity` with `Send` constructor
* Put `Payload` type family into `Persistable` type class

# 0.2.1
* Define `Poll` and his `Option` datatypes
* Put `Size` into `File`, `Option` into `Poll`, `Location` into `Info` created submodules
* Extract `Audio`,`Document`, `Video`, `Voice` from `File` datatype into modules
* Remove `Animation` construction from `File` datatype
* Rename `request` method to `persist` in `Persistable` type class
* Distribute `Persistable` instances on objects that belong to them
* Add `Polling` constructor to `Content` for `Poll` object

# 0.2.2
* Define `Persistable` instances for `Poll`, `Audio`, `Document`, `Video`, `Voice` datatypes
* Define `Group` datatype for representation basic groups and supergroups
* Remove `Object` type family to distribute `Accessible` and `Identifiable` instances
* Put `Identificator` type family into `Identifiable` type class
* Rename `identifcator` to `ident`, add MINIMAL pragma to `Accessible`
* Include `Group` information into `Moving` object
* Method `payload` in `Persistable` type class defines hash table, not `JSON` value
* Rename `Message` constructors to use old name as `Capacity` constructors
* Define `Persistable` instance for `Reply`-ing messages
* Temporary delete old `Persistable` instances

# 0.2.3
* Define `Persistable` instance for `Send (Text :&: Keyboard)`
* Move modified versions of `Capacity` and `Silently` datatypes to `Message` module
* Define `Persistable` instances for `Edit` and `Delete` messages
* Add `persist_` method in `Persistable` that not trying to decode JSON response
* Extract file ID from `File` datatypes to use these datatypes for sending as messages
* Define `Persistable` instance for dropping `Notification`s on pressing inline buttons
* Remove thumb field from `Audio`, `Document`, `Video` and `Voice` datatypes
* Define `Persistable` instances for `Audio`, `Document`, `Video` and `Voice` datatypes

# 0.2.4
* Define `Persistable` instances for `Location` and `Live Location` datatypes
* Define `Stop` `Persistable` instances for `Poll` and `Live Location` datatypes
* Move `Group` module into `Moving` submodule
* Define `Caption` and `URI` datatypes to distinct specialized `Text` values
* Include `URI` field into `Send` `Persistable` instances for `File` objects
* Define `Persistable` instance to kick, unban, restrict and promote `Member`

# 0.2.5
* Create `Utils` module with `field` function to create singleton hash table from key an value
* Define `Can` and `Cannot` to define `Default` instances for `Powers` and `Restrictions`
* Introduce `Returning` type family to automatically decode the API response
* Move `Poll` status info from `Poll` datatype to `Polling` constructor of `Content` datatype
* Define `Persistable` instance for sending `Photo`
* Separate `Venue` and `Contact` into module and datatype from `Info` datatype
* Rename `User` constructor of `Sender` datatype to `Human`

# 0.2.6
* Define `Eq` instance for `Update`, `Message`, `Callback`, `Origin`, `File` and `Size`
* Start to write documentation step-by-step, show three simple examples
* Add `Sender` field into `Callback` datatype to understand from whom action goes
* Change endpoint for `Edit`ing `Keyboard` object, remove `Edit` `Text :&: Keyboard` instance
* Replace `Group` and `Supergroup` constructors by including `Group` field in `Origin` datatype

# 0.2.7
* Define `Name` module to make `Accessible` instances for `Nick`/`First`/`Last` names
* Define `Duration` newtype to avoid vague raw `Text` in `Audio`, `Video` and `Voice` objects
* Define `Language` newtype to replace raw `Text` in `Sender` object
* Remove `URI` newtype from `File` to `Audio`, `Video`, `Document` and `Voice` objects
* Define `Identifiable` instances for `URI`, `Audio`, `Video`, `Document` and `Voice` objects
* Define `Accessible` and `Identifiable` instances for `Member` object
* Define `Accessible` instance for newtypes to not use generated accessors records
* Move `Caption`, `Duration` and `URI` modules into `Special` submodule
* Define `MIME` newtype in `Special` submodule to replace vague `Text`
* Rename `Size` to `Photosize` and move its content to `Photo` module