Make body field of link pushes optional. Many channel pushes do not include
a body, but only the URL and the title.
Improve Push parsing. Push sender and receiver information are factored out
into separate datatypes, and parsed as a whole. Either you have a full sender
(either a client or a channel) or you don’t have any of its fields. Same
applies to receivers, except that only clients can be receivers, and don’t
have names. This fixes a bug where pushes sent by channels could not be
parsed, since such pushes omit certain fields, such as sender_iden and
sender_email.
0.3.0.0 – 2017-07-29
PushEphemeral now supports the targets field, which allows to more
faithfully parse clipboard synchronization messages in the realtime event
stream.
Missing Eq and Show instances for Ephemeral are now derived.
Missing device-related datatypes and constructors are now exported.
Values commonly used by PushBullet for the DeviceIcon type now have a bunch
of constants exported for them.
Aeson version upper bound is now higher; this version of pushbullet-types
will now build with Stackage resolver lts-9.0.
Misc code cleanup.
0.2.0.0 – 2017-04-30
Some fields in PushData are now made optional, since the objects received
from Pushbullet may have them missing.
A minimum value for PushbulletTime is added. This is just zero seconds
since the POSIX epoch.
Ephemerals are reworked. Now Ephemeral actually has one constructor per
ephemeral type, and the previous constructors of Ephemeral are moved into
PushEphemeral. Ephemeral now has a constructor for tickles and nops.
Only push-type tickles have a dedicated constructor in TickleType.
0.1.0.0 – 2017-02-20
Define the following core types:
Push – messages used internally in Pushbullet.
Ephemeral – messages sent directly into the live event stream. These have
a multitude of uses, e.g. sending SMS via a phone or seeing whether
notifications have occurred on a device.
Device – representation of a device.
User – representation of a user.
Permanant – this is an undocumented type in the Pushbullet API. Notably,
SMS threads and messages are permanents.
Some of these types come in two flavors: New and Existing. This is
signalled by a type index coming from a datakind.