Skip to content

chore(deps): update rust crate apple-cf to v0.10.0 - #933

Open
rufin-renovate[bot] wants to merge 1 commit into
mainfrom
renovate/apple-cf-0.x
Open

rufin-renovate[bot] wants to merge 1 commit into
mainfrom
renovate/apple-cf-0.x

Conversation

@rufin-renovate

@rufin-renovate rufin-renovate Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
apple-cf workspace.dependencies minor =0.6.0=0.10.0

Release Notes

doom-fish/apple-cf-rs (apple-cf)

v0.10.0

Compare Source

Changed (breaking)
  • BREAKING: ownership-adopting from_raw constructors are now unsafe across Core Foundation, Core Media, Core Video, and IOSurface wrappers. Borrowed imports use the explicit from_raw_borrowed name, and AsCFType is now an unsafe trait.
  • BREAKING: CVPixelBuffer and IOSurface raw lock/unlock calls and zero-copy slice, row, plane, and cursor views now require unsafe caller guarantees; lock-guard Deref implementations were removed. CGContext byte views are also unsafe because retained clones share the same mutable context.
  • BREAKING: CVPixelBufferLockFlags now uses the native 64-bit CVOptionFlags ABI.
  • BREAKING: CVPixelBufferPool::try_create_pixel_buffer now returns Result<Option<_>, i32>, the misleading is_empty and ignored flush_with_options APIs were removed, and pool attribute getters now return owned CFDictionary values.
  • CVPixelBufferPool now uses direct Core Video calls, applies max_buffers as an allocation threshold on every wrapper allocation, shares that policy across clones, honors per-call auxiliary attributes, and exposes native flush flags.
  • CVPixelBufferPool remains Send + Sync; clones share the same immutable allocation policy across threads.
  • CMTime now matches SDK flag values, zero/indefinite representations, numeric predicates, seconds conversion, and default half-away-from-zero scale conversion.
  • Dispatch timer resume/cancel/drop transitions are synchronized and idempotent across retained clones, and fire counts are synchronized.
  • CMSampleBuffer now exposes an explicit borrowed image-buffer pointer and an owned typed image_buffer() getter; the retained bridge export is named cm_sample_buffer_copy_image_buffer.
  • Raised the doom-fish-utils requirement to >=0.4, <0.5.
  • Kept the explicitly aliased apple_cf_compat_04 and VideoToolbox 0.10 dev fixtures for the cross-version 03_cm_sample_buffer smoke test; using VideoToolbox 0.20 would create a dev-dependency cycle back to apple-cf 0.10.
Fixed
  • CFSet callback snapshots retain every value before invoking the first callback, allowing reentrant mutation such as clearing a mutable set.

v0.9.3

Compare Source

  • Clippy hygiene sweep: cleared all -D warnings lints across the crate. No public API change.

v0.9.2

Compare Source

  • Widen doom-fish-utils dependency bound to <0.4 so the 0.3.x SPSC-ring release resolves cleanly across the fleet. No source changes.

v0.9.1

Compare Source

  • Bump MSRV from 1.70 to 1.76 to match fleet baseline.

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

v0.9.0

Compare Source

Changed
  • Added the last three missing CoreGraphics raw aliases for downstream re-export and dedup work: CGContextRef, CGCharCode, and CGKeyCode.

v0.8.1

Compare Source

Changed
  • Added Debug coverage to the remaining public structs that can safely expose it in apple-cf: 5 structs touched total, with CFPropertyList, CFPreferences, and CFXML now deriving Debug, plus manual pointer-aware Debug implementations for CGColorSpace and CGImage.

v0.8.0

Compare Source

Changed
  • BREAKING: CGRect now matches Apple's CGGeometry.h definition with nested origin: CGPoint and size: CGSize fields. The previous flat { x, y, width, height } layout had the same byte ordering, so FFI compatibility is preserved, but field access must change: rect.xrect.origin.x, rect.yrect.origin.y, rect.widthrect.size.width, and rect.heightrect.size.height.
  • CGRect::new(x, y, width, height) is unchanged and still takes four f64 values.
  • Added CGRect::from_origin_size(origin, size).
  • Added CGRect::is_empty() and CGRect::contains_point().

v0.7.1

Compare Source

Changed
  • Added // SAFETY: justification comments to every bare unsafe impl Send
    and unsafe impl Sync declaration across iosurface, cv, cm, cg, and
    dispatch_queue modules. All Apple Core Foundation / Core Media / Core Video
    / GCD opaque-pointer types are documented as thread-safe by Apple; the
    comments now make this contract explicit in source.
  • Normalised Drop implementations: IOSurface, CVPixelBuffer,
    CVPixelBufferPool, and CVMetalTextureCache now null-guard their release
    calls, matching the convention already in place for CFType and
    CMSampleBuffer.
  • Updated doom-fish-utils version constraint from "0.1" to ">=0.1, <0.3"
    following the crate-family >=X.Y, <X.(Y+2) convention.
  • README installation snippet updated to reflect the current 0.7 line.

v0.7.0

Compare Source

Changed
  • Factored framework-agnostic helpers into the new
    doom-fish-utils crate
    :
    completion, ffi_string, four_char_code, and panic_safe now
    live in doom-fish-utils so any doom-fish family crate can pull them
    in without depending on the full apple-cf Core* surface.
  • apple_cf::utils is preserved as a re-export shim, so downstream
    call sites (apple_cf::utils::{completion, ffi_string, four_char_code, FourCharCode, panic_safe}) keep compiling without
    any changes. The string-owning helpers
    (ffi_string_owned, ffi_string_owned_or_empty) remain
    apple-cf-specific shims that bake in acf_free_string as the
    deallocator; the underlying generic helpers in doom-fish-utils
    take a caller-supplied free_fn for sibling crates that need a
    different _free_string symbol.
  • Added doom-fish-utils = { version = "0.1" } dependency.
  • Cargo.toml version bumped to 0.7.0 (minor: dependency graph
    change, no public API breakage).
  • COVERAGE_AUDIT_V2.md published — independent re-verification
    against MacOSX26.2.sdk confirming 100% non-exempt coverage of
    the sampled top-300 symbols per framework.
Removed
  • apple_cf/src/utils/{completion.rs, four_char_code.rs, panic_safe.rs} — relocated to doom-fish-utils. The
    apple_cf::utils::* import paths still resolve via re-exports.

v0.6.1

Compare Source

Added
  • cf::CFSet / CFMutableSet and cf::CFPropertyList, including Swift bridge coverage, examples, and smoke tests.
  • dispatch_queue::dispatch_async, dispatch_async_and_wait, and dispatch_apply safe helpers.
  • cm::CMMetadataFormatDescription plus metadata-description constants, constructors, identifier lookup, and merge/extend helpers.
  • New numbered example 14_cm_metadata_format_description and matching CoreMedia metadata smoke tests.
Changed
  • COVERAGE_AUDIT.md refreshed for the highest-value remaining gaps; deprecated CVDisplayLink symbols now live in the exempt bucket.
  • README / COVERAGE docs refreshed for the new CoreFoundation, Dispatch, and CoreMedia surface.
  • Cargo.toml version bumped to 0.6.1.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@rufin-renovate
rufin-renovate Bot force-pushed the renovate/apple-cf-0.x branch 6 times, most recently from 31ab024 to db5cda5 Compare September 7, 2026 08:28
@rufin-renovate
rufin-renovate Bot force-pushed the renovate/apple-cf-0.x branch 7 times, most recently from 10de79b to 2cae17d Compare September 14, 2026 09:05
@rufin-renovate
rufin-renovate Bot force-pushed the renovate/apple-cf-0.x branch from 2cae17d to 2d4dd96 Compare September 15, 2026 08:49
@rufin-renovate rufin-renovate Bot changed the title chore(deps): update rust crate apple-cf to v0.9.3 chore(deps): update rust crate apple-cf to v0.10.0 Sep 15, 2026
@rufin-renovate
rufin-renovate Bot force-pushed the renovate/apple-cf-0.x branch 8 times, most recently from eef6c84 to 870d840 Compare September 23, 2026 08:43
@rufin-renovate
rufin-renovate Bot force-pushed the renovate/apple-cf-0.x branch from 870d840 to 429780d Compare September 24, 2026 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants