v0.3.0 Release, Calendars, and new SDKs
Hi Inbox Developers,
Over the past month we've been hard at work at Inbox HQ as well as around the globe to improve the Inbox Sync Engine, API, and SDKs, and are proud to announce the release of version 0.3.0. You can find all the gory details on GitHub, but the high-level changes are noted below.
API changes
While we strive to maintain API stability, we've been working with folks building apps on top of Inbox and have found that the following API changes make some apps drastically simpler—enough to justify a backwards-incompatible change.
- We've changed a number of endpoints to refer to items by
item_id
oritem_ids
rather than justitem
for greater clarity. This includes:- Rename the
namespace
attribute of all objects tonamespace_id
. - Rename the
thread
attribute of messages and drafts tothread_id
. - Rename the
messages
anddrafts
attributes of threads tomessage_ids
anddraft_ids
, respectively. - Rename the
thread
query parameter for filtering messages and drafts tothread_id
.
- Rename the
- The Draft update endpoint now uses the PUT HTTP method, consistent with other objects like threads and messages.
- Drafts now have a
version
attribute, and updating a draft now simply changes its version, instead of creating a new draft object. (Note that updating or sending a draft now requires theversion
value as a parameter, in order to prevent write conflicts.)
New Calendar and Events APIs
These new APIs allow access to calendar and event information for accounts from Google, iCloud, Hotmail/Outlook.com and Microsoft Exchange (contact [email protected] to request beta hosted access). Check out the docs to get started!
New SDKS
We've released Ruby and Python bindings, making it even faster to get started building email apps against the hosted Inbox API.
Here's a quick Python example:
inbox = APIClient(APP_ID, APP_SECRET, token)
namespace = inbox.namespaces.first()
for thread in namespace.threads.items():
print thread.subject
Other feature additions
- Attachment tag added to threads which have attachments.
- Create an
archive
folder where necessary for various providers. - Namespace endpoint now support filtering options such as limit, offset and email_address.
- Files endpoint supports delete for files that are not currently attachments.
- User-created tags can be deleted.
Bug Fixes
- Propagate unread status changes to threads in update_metadata.
- Better handling of HTML stripping for snippets.
- Remove unused UIDNEXT from IMAP mailsync, since some providers don't support it.
- More graceful handling of various IMAP errors.
- Improved coverage for unit tests, notably over the API calls.
- Refactor message / parts / blocks relationship to avoid creating new blocks when they are attached to messages.
- Remove duplicated code around SMTP mail sending.
- Truncate fields if they are too long on calendar/event parsing.
- Properly check to, cc, bcc fields in drafts for formatting.
With love from Team Inbox,
-- mg, spang, kavya, eben, ben, charles, karim, dwayne, and zoë