Skip to content

v0.3.0 Release, Calendars, and new SDKs

Compare
Choose a tag to compare
@charlesg3 charlesg3 released this 09 Sep 18:59

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 or item_ids rather than just item for greater clarity. This includes:
    • Rename the namespace attribute of all objects to namespace_id.
    • Rename the thread attribute of messages and drafts to thread_id.
    • Rename the messages and drafts attributes of threads to message_ids and draft_ids, respectively.
    • Rename the thread query parameter for filtering messages and drafts to thread_id.
  • 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 the version 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ë