Upcoming changes to Deliveries

Deliveries 9.2 will be available soon, and we wanted to let you know about some changes we’re making to improve the service. This post includes some technical details but we’ll try to make it as clear as possible.

In the past, Deliveries has always worked by contacting each shipping service directly to check the status of your packages. While this has worked well overall, and helped us keep our own costs down, we’ve started to see the limitations of this approach.

We recently started exceeding our limits for DHL’s tracking system, or API. There are a limited number of times per day that our app can check the status of your packages. If you’re tracking two DHL packages, and you have Deliveries installed on three difference devices, then refreshing the status once on each device would use a total of six API calls.

In Deliveries 9.2, DHL shipments are updated by contacting our own server, which gets the latest information from DHL, keeps a copy of that information on our own server, and then sends it to the Deliveries app. If your other devices check the status shortly after that, we can send back the information we have stored. In the above scenario, that means we only have to make two DHL API calls instead of six, significantly increasing the number of shipments we can check in a day.

Since we’ve mentioned our previous approach as a privacy benefit, we wanted to make this new approach as privacy conscious as possible. Requests are sent over a secure HTTPS connection. The item name is not included with these requests, since it’s not needed. Requests include an identifier that’s specific to your device, as well as your IP address. Our servers store your device identifier and IP address information separate from any tracking numbers, and date stamps have a randomization factor applied, so we can’t link those things together. (Note that if you use use our optional Junecloud sync service, this information is linked to your account.) We’ve posted a new Deliveries Privacy Overview with more information about how we handle each type of data.

This change also offers some significant benefits. Our server can send the app exactly the information it needs, so it doesn’t waste bandwidth. If your tracking information hasn’t changed since the last check, our server can communicate that concisely without having to send the same data again. We can also make improvements that take effect immediately, without having to release an update to the app. Because of these benefits, we expect to use this approach with more services over time.

One additional note about this change: because our DHL API calls are shared across all versions of the app, you may continue to see some issues when Deliveries 9.2 is first released. Once the update has rolled out to everyone, we should be able to resolve those issues. We will also be able to further optimize over time without needing to update the app.

Thank you for your patience and support.

View more


The Future of Deliveries Deliveries began as a hobby—it was first released as a Dashboard widget named “Apple…

An update on our apps It’s been a while since we shared an update on everything we’re working on. With iOS 15…

Deliveries 9 will arrive September 30 Deliveries 9 will be available this Wednesday, September 30, for iPhone, iPad, Apple…

Deliveries 9 is Preparing to Ship We’ve been hard at work on a big update to Deliveries, and we’re excited to announce…