Skip to content

Commit 64fa004

Browse files
1313Copilot
andcommitted
docs: restore Recall.ai sponsor banner and update v6 references to v7
The sponsor banner was accidentally dropped in 854d3f1. Restore it and bump all install/version references from 6 to 7 (Cargo.toml is at 7.0.0), add a 7.0 entry to the README version highlights, and add a 6.0->7.0 section to docs/MIGRATION.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent a8c5482 commit 64fa004

2 files changed

Lines changed: 34 additions & 6 deletions

File tree

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
<a href="https://github.com/doom-fish/screencapturekit-rs/stargazers"><img alt="Stars" src="https://img.shields.io/github/stars/doom-fish/screencapturekit-rs?style=for-the-badge&logo=starship&color=F5E0DC&logoColor=D9E0EE&labelColor=302D41" /></a>
1414
</p></div>
1515

16+
> **💼 Looking for a hosted desktop recording API?** Check out [Recall.ai](https://www.recall.ai/product/desktop-recording-sdk?utm_source=github&utm_medium=sponsorship&utm_campaign=screencapturekit-rs) — an API for recording Zoom, Google Meet, Microsoft Teams, in-person meetings, and more.
17+
1618
<https://github.com/user-attachments/assets/8a272c48-7ec3-4132-9111-4602b4fa991d>
1719

1820
---
@@ -41,7 +43,7 @@
4143

4244
```toml
4345
[dependencies]
44-
screencapturekit = "6"
46+
screencapturekit = "7"
4547
```
4648

4749
Opt-in features (additive):
@@ -60,13 +62,14 @@ Opt-in features (additive):
6062
`macos_*` features are **cumulative** — enabling `macos_15_0` automatically enables every earlier version. Pick the highest version your minimum-supported macOS will satisfy:
6163

6264
```toml
63-
screencapturekit = { version = "6", features = ["async", "macos_15_0"] }
65+
screencapturekit = { version = "7", features = ["async", "macos_15_0"] }
6466
```
6567

6668
> **Upgrading a major version?** See [`docs/MIGRATION.md`](docs/MIGRATION.md)
67-
> for a per-version guide. The 3.0–6.0 line consolidated the Core Graphics /
68-
> Core Media foundation types onto the shared `apple-cf` crate; the most likely
69-
> source change is 5.0's nested `CGRect` layout (`rect.origin.x` /
69+
> for a per-version guide. Releases 3.0–6.0 consolidated the Core Graphics /
70+
> Core Media foundation types onto the shared `apple-cf` crate, and 7.0 hardens
71+
> the FFI boundary without touching the public types; across the whole line the
72+
> only likely source change is 5.0's nested `CGRect` layout (`rect.origin.x` /
7073
> `rect.size.width`).
7174
7275
## Quick Start
@@ -468,8 +471,13 @@ Highlights by major version:
468471
`rect.origin.x` / `rect.size.width` instead of flat `rect.x` / `rect.width`.
469472
- **6.0**`CMSampleTimingInfo` and `CMClock` are now re-exported from
470473
`apple-cf` as well.
474+
- **7.0** — no source changes for typical users. FFI-hardening release that
475+
adds strided pixel-render helpers (`CGImageExt::rgba_data_into_strided` /
476+
`bgra_data_into_strided`) plus a locked `IOSurface` CPU view, and relaxes the
477+
`AudioBufferRef::data()` slice lifetime so the returned slice is tied to the
478+
wrapped buffer.
471479

472-
If you only use the prelude / `screencapturekit::{cg, cm}` types, the 4.0–6.0
480+
If you only use the prelude / `screencapturekit::{cg, cm}` types, the 4.0–7.0
473481
upgrades are typically just the 5.0 `CGRect` field-access change.
474482

475483
## Contributing

docs/MIGRATION.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,26 @@ required.
192192
> `screencapturekit::{cg, cm}`) the upgrade is typically just the `CGRect`
193193
> field-access change from 5.0.
194194
195+
## Migrating from 6.0 to 7.0
196+
197+
7.0 is an FFI-hardening release with **no required source changes** for typical
198+
users. It is a major version only because of conservative semver around two
199+
low-level changes:
200+
201+
- **`AudioBufferRef::data()` lifetime.** The returned slice is now tied to the
202+
lifetime `'a` of the wrapped audio buffer rather than the `&self` borrow.
203+
This *relaxes* the borrow (the slice may now outlive the `&self` reference),
204+
so existing call sites keep compiling unchanged.
205+
- **Strided pixel render + locked `IOSurface` CPU view.** New additive helpers
206+
[`CGImageExt::rgba_data_into_strided`](../src/screenshot_manager.rs) /
207+
`bgra_data_into_strided` render into a caller-supplied buffer using an
208+
explicit row stride, so consumers with padded/row-aligned buffers (GPU
209+
upload, `wgpu`) aren't forced into tight packing. The existing
210+
`rgba_data_into` / `bgra_data_into` paths are unchanged.
211+
212+
Everything else is internal: `MaybeUninit` scratch buffers for batched FFI
213+
calls, null-checked constructors, and consolidated retain/release wrappers.
214+
195215
## Migrating from 0.x to 1.0
196216

197217
Version 1.0 introduced a complete API redesign with builder patterns, async support, and new macOS features.

0 commit comments

Comments
 (0)