Changelog of @hackage/telega 0.3.0

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

0.2.8

  • Define Filesize, Height and Width newtypes in Special submodule to replace vague Int
  • Move all Special fields of File object into exported submodule
  • Define Accessible instances for Audio, Document, Photo, Video, Voice, Moving, Callback
  • Move all modules from Specials up one level into Field submodule (add Title newtype)
  • Create Chat submodule that contains Conversation, Channel and Group object
  • Define ID data family to use its instances for Accessible instances

0.2.9

  • Replace Int64 in Send, Forward, Edit, Delete, Stop message's Persistable methods on ID Chat
  • Replace Int in Forward, Edit, Delete, Stop message's Persistable methods on ID Message
  • Replace identifiers in Callback, Message, Sender, Update on specified ID data family instances
  • Move chat identifiers from Channel and Group to Origin and Moving, delete Conversation module
  • Define Persistable instances for pinning and unpinning messages in Group, Supergroup or Channel chats
  • Define Persistable instances for leaving Group, Supergroup or Channel chats
  • Change type of Persistable's endpoint method to Text
  • Replace wreq on req as HTTP library

0.3.0

  • Remove all Show deriving instances (library users can use standalone deriving)
  • Rename ask' to environment for access user defined read-only environment
  • Remove with package from extra-deps, put open product to Utils module
  • Replace raw Int and Int 64 on ID Sender and ID Chat in Kick, Unban, Restrict and Promote methods
  • Use joint instead of transformers