The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Version 2.0.0
3 years ago
## Breaking Changes
### Dependency Changes
Rocc no longer has a dependency on `ThunderRequest` as it's code has been moved internally to `Rocc` to easier support SPM and remove some clutter. You will have to detach `ThunderRequest` from your embedded binaries and the Carthage run script if you are using Carthage to install Rocc.
### Type Changes
A lot of camera function `SendType` and `ReturnType` types (As well as they're type on `CameraEvent` had to be more strongly typed to allow support for serialising them to and from the binary format PTP/IP uses rather than simply relying on `String` which the Sony API cameras use in a lot of places.
| Function Typealias | Old Type | New Type |
| ------------------ | -------- | -------- |
| `Aperture.SendType` / `Aperture.ReturnType` | `String` | `Aperture.Value` |
| `ContinuousCapture.Mode.SendType` / `ContinuousCapture.Mode.ReturnType` | `String` | `ContinuousCapture.Mode.Value` |
| `ContinuousCapture.Speed.SendType` / `ContinuousCapture.Speed.ReturnType` | `String` | `ContinuousCapture.Speed.Value` |
| `Exposure.Compensation.SendType` / `Exposure.Compensation.ReturnType` | `String` | `Exposure.Compensation.Value` |
| `Exposure.Mode.SendType` / `Exposure.Mode.ReturnType` | `String` | `Exposure.Mode.Value` |
| `Flash.Mode.SendType` / `Flash.Mode.ReturnType` | `String` | `Flash.Mode.Value` |
| `Focus.Mode.SendType` / `Focus.Mode.ReturnType` | `String` | `Focus.Mode.Value` |
| `ISO.SendType` / `ISO.ReturnType` | `String` | `ISO.Value` |
| `LiveView.QualityGet.ReturnType` / `LiveView.QualitySet.SendType` * | `String` | `LiveView.Quality` |
| `StillCapture.Size.SendType` / `StillCapture.Size.ReturnType` | `StillSize` | `StillCapture.Size.Value` |
| `StillCapture.Quality.SendType` / `StillCapture.Quality.ReturnType` | `String` | `StillCapture.Qualiity.Value` |
| `VideoCapture.Quality.SendType` / `VideoCapture.Quality.ReturnType` | `String` | `VideoCapture.Quality.Value` |
| `VideoCapture.FileFormat.SendType` / `VideoCapture.FileFormat.ReturnType` | `String` | `VideoCapture.FileFormat.Value` |
| `WhiteBalance.SendType.Value.mode` / `WhiteBalance.ReturnType.Value.mode` / `WhiteBalance.Value.mode` | `String` | `WhiteBalance.Value.Mode` |
There were various changes to the types returned on `CameraEvent` too, such as additional parts of tuples such as:
```
videoQuality: (current: String, available: [String]])?
```
changing to:
```
videoQuality: (
current: VideoCapture.Quality.Value,
available: [VideoCapture.Quality.Value],
supported: [VideoCapture.Quality.Value]
)?
```
Note the addition of a `supported` array.
*These two functions are seperated out because they have different return types! Setting live view quality returns a `URL` but getting it returns the quality.
## New Features
### PTP/IP Support
The main work in this release was an effort to reverse-engineer support for Sony's more recent camera releases, which use a mechanism called PTP/IP. This adds support for a few cameras, including (but not limited to):
- RX100 VII
- a7rIV
- a9ii
- a7c
- zv-1
*Please note: I have not tested PTP/IP support on all of these models personally, but have had reports from users of Camrote that they all function*
### Swift Package Manager Support
ROCC Now supports the Swift Package Manager for adding to your project of choice! For now it's only supported on macOS and iOS due to a few requirements on `UIKit` or `AppKit` classes such as `UIImage/NSImage` e.t.c. but this may change in the future.
### Camera Info Cache
Camera info is now cached (by SSID), which speeds up camera discovery as we don't have to wait on SSDP completing always before we can discover a camera.
### Other
- Adds enum cases for new camera models
- Adds `bulbShootingUrl` to camera event so BULB previews can be displayed
## Fixes
- Fixes issues around UPnP transfer (Send to smartphone)
- Images not having valid `uri`
- Fixes video transfer
- Fixes support for RX100 II and some other earlier models
- Fixes errors with live view auto-restarting when manually stopped due to `URLSession` return `cancelled` error to delegates
- Fixes a6400 supported functionalities to correct issues capturing images
- Fixes issues switching between BULB shutter speed and non-BULB
- Fixes capture issues on a7iii/a9 e.t.c. due to required half-press of shutter
There are likely many other fixes that I have missed in this changelog, as 2.0.0 has been a massive overhaul of ROCC! Apologies if I have missed anything important.
Version 1.0.4
4 years ago
- Fixed video file formats not being parsed and returned to apps properly.
- Added flag to `StorageInformation` for when no SD card is inserted
Version 1.0.3
4 years ago
We've added better support for older model cameras like the RX100 II
Swift 5 Support!
5 years ago
The library has been updated to compile for Swift 5, meaning your container app can now do the same and benefit from the additions to the Swift language.
#### Bugs Fixed:
- Half press shutter is now called on taking a still image for a7iii/a7riii/a9 cameras to avoid a capture failure error.
Version 1.0 of Rocc with support for interaction with Sony cameras!