Release Notes for v3.15.2 (2023.07.17)




It’s just par for the course that mere hours after a release hits the store, a user finds and reports a relatively minor bug, but that causes me to discover a major bug. When the app tries to connect to a shared camera and there’s no good way to do it, it’ll fall back to doing a Relay Connect, and that was broken. It’s fixed now though. But still. I can’t wait to have a dedicated QA person.


The changes can all be summarized as:


- Lots of bug fixes and feature refinement; polish, in other words.

- A decent amount of behind-the-scenes code cleanup, refactoring

- Minor UI improvements for Mac users




- Fixes a crash in VideoToolboxDecoder where we weren't checking for not-nil after acquiring the lock on the decoder session, which is probably what caused the force-unwrap crash, but I'm not 100% certain.

- Improves the Configure RTSP Camera screen, which was not doing a great job of handling user inputs intuitively. I'm hoping these fixes might improve the chances a user is able to get a camera configured and streaming.

- Fixes a remote streaming issue, where it was not possible to connect to a shared camera when the connection required use of a relay.

- Bootstrap data from a UniFi Protect system is now periodically refreshed so that it'll hopefully be automatically up-to-date with any Protect configuration changes you make, eventually.

- Fixes an issue where the main queue could end up blocked (permanently) while scrubbing through a recording.

- Fixes some thread priority inversion errors that Xcode now complains about.

- Mac users rejoice! You can now edit Cameras, Groups, Modules and File Servers with Ctrl+Click instead of trying to figure out how to do the iOS equivalent of a left-swipe.

- Fixes a crash that would occur when trying to connect an RTSP stream where the provided URL had no host name.

- Fixes a crash that can occur when loading the Home screen if permissions change while the UI is in the midst of reloading, or possibly if permissions changed without causing a Home screen reload. [BB]

- Fixes an issue where Cameras, Groups and other objects could silently fail to save because the error being presented was presented on the dismissed view controller on which editing was taking place.

- Vastly improves the account invite / join experience using Bonjour to discover other Streamie devices on the network (that are not members of your account), so that you can directly invite the device without ever actually having to see an invite code. You can still use invite codes / invite links though, if necessary.

- Fixes an issue where the "an app update is available!" message was only supposed to bug you for 10 minutes and instead it persisted until manually dismissed, which is not what was intended. That's been fixed.

- Adds a "Rename Account" option to the Accounts screen that moves you over to the Settings ==> Profile screen (if you have permission to access that UI).

- Adds PTZ control support when remote streaming a camera via relay (I somehow overlooked this a while back).

- Filters out audio devices from the Camera Search screen, which is only supposed to display Attached video sources.

- Updates the Attached Camera Configure screen so that a slider is used to choose which video resolution you want.

- Unifies the Cameras Coordinator code base for iOS, tvOS. They're each still using their own view controllers, but we'll get that handled eventually. The configure screens are some of the more complicated screens, and I'm not eager to tackle that or deal with the inevitable regressions.

- Removes some legacy caching mechanism that was necessary for a time, that presently just served to prevent Streamie from deallocating everything it should deallocate when a stream had concluded.

- Filters out shared cameras when creating a new Share. It's not that there's any technical reason you couldn't share a shared camera (and so on), but I really don't want that to be a thing that's supported ... at least for now.

- Improves reconnection support for remote streams, so that display / playback timing information is adjusted to appear contiguous. This was already in place when reconnecting to a camera, but the same thing needed to be applied to remote streaming.

- Fixed a remote streaming issue where the server-side of the remote stream did not correctly clean up stuff when the remote stream ended, leaving producer streaming sessions active even if it wasn't going anywhere.

- Replaces use of "Dismiss" with "Close" because a UX person told me that was important. I don't get it, but, that's okay. [JB]

- Unifies the tvOS and iOS code for adding a camera with the new CamerasSearchScreen.

- Added a new Help article ( that explains how to get your Ubiquiti UniFi Protect cameras onto an Apple TV. There seem to be a lot of searches for that sort of thing, so hopefully this'll score some new users.

- Fixes an issue where the main Penguin API connection would (sometimes?) fail to reconnect after the app was brought back into the foreground, possibly due to its use of the global queue; replaced with its own internal concurrent queue.

- Enables promo code support when doing Stripe checkouts.


Related Topics


Release Notes Remote Streaming


About Streamie


Streamie provides a best-in-class user experience on your iPhone, iPad, Apple TV and Apple Silicon Mac, with an intuitive user interface that makes it simple to discover, stream, record, monitor and share your HomeKit, Google Nest, Ubiquiti UniFi Protect and ONVIF-compatible IP and RTSP cameras. Streamie keeps you informed with motion event notifications and it works with most cameras using its advanced audio and video codec support. You can watch your cameras from anywhere, record 24/7 to your private NAS, remotely manage multiple locations, device permissions and seamlessly synchronize settings across your devices; configure Hubitat smart home automations, live stream to YouTube and rely on the in-app technical support system when you need help (but you can also reach us by phone). Download Streamie today. Lastly, Streamie is solar powered!