Skip to content

Changelog

Sue N. Cooper edited this page Sep 18, 2023 · 31 revisions

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

  • Bug fix release based on native v6.0
  • Fixes #825
  • Bug fix release based on native v6.0
  • Fixes #825
  • Bug fix release based on native v6.0
  • Fixes #804 and #809
  • Bug fix release based on native v6.0
  • Fixes version information in podspec and gradle files
  • Bug fix release based on native v6.0
  • Fixes #804 and #809

v6.0 - 22-08-2023

  • Includes FFmpeg v6.0
  • FFmpegKit library changes
    • Improves Statistics.getTime() method to return milliseconds as double
    • Drops custom fd protocol on Android. ffmpeg 6.0 has a new built-in fd protocol that can be used instead
    • FFmpegKit binaries built without bitcode on iOS and tvOS platforms
  • Build script changes
    • Targets API Level 33 on Android
    • Android Gradle Plugin upgraded to 8.1.0
  • Uses the new versions of cpu_features, dav1d, expat, fontconfig, freetype, fribidi, giflib, gmp, gnutls, harfbuzz, libjpeg-turbo, kvazaar, leptonica, libaom, libass, libiconv, libilbc, libpng, libsndfile, libvidstab, libvpx, libwebp, libxml2, openssl, opus, srt, tesseract, x264 and zimg
  • Fixes issues #593, #596, #599, #600, #604 and #614
  • Patched on 03-09-2023 fixing #804 and #809
  • Patched on 13-09-2023 fixing #825

v5.1 - 29-09-2022

  • Includes FFmpeg v5.1.2
  • FFmpegKit library changes
    • Implements FFmpegKit C++ API on Linux platform which is not distributed in releases
    • Adds create methods to all session classes as the default method to create a new session
    • Improves parsing in FFprobeKit.getMediaInformation() method. The method is more tolerant to warnings now
    • Refactors MediaInformation classes
      • Renames all getProperties methods as getProperty
      • Renames mediaProperties inside MediaInformation as formatProperties, adds extra methods to get format properties
    • Fixes a bug in which old sessions were not deleted in setSessionHistorySize method
  • Flutter plugin changes
    • Implements AbstractSession.cancel() method
    • Runs iOS and macOS callbacks on the main queue
  • Build script changes
    • Adds builds scripts for the Linux platform (x86_64 architecture)
    • Enables openssl on 32-bit iOS architectures
    • Upgrades Android Gradle Plugin to 7.3.0
    • Fixes building gnutls using Xcode v13.3 or later
    • Adds support for Android NDK r24 and r25
    • Bundles c++_shared when chromaprint is enabled
    • Targets API Level 31 on Android
    • Removes auto-generated files from VCS
  • Uses the new versions of cpu_features, dav1d, expat, fontconfig, freetype, fribidi, harfbuzz, libjpeg-turbo, libaom, libpng, libvpx, libwebp, libxml2, nettle, opencore-amr, openh264, openssl, speex, srt, x264 and zimg
  • Fixes issues #3, #311, #323, #394, #443, #472, #530, #531, #546, #552 and #571

React Native v4.5.2 - 25-05-2022

  • Based on FFmpegKit native v4.5.1 releases
  • Includes FFmpeg v4.5-dev-3393
  • API Changes
    • Implements uninit() method to clean up platform specific resources e.g. thread pools before application termination
  • Fixes issues #311 and #397

v4.5.1 - 30-12-2021

  • Includes FFmpeg v4.5-dev-3393
  • Switches to shared/dynamic libraries on Apple platforms (ios, macos, tvos)
    • Drops support for building static (.a) libraries
    • Drops support for building universal (fat) binaries
  • Increases the minimum SDK version of LTS releases for Apple platforms
    • Minimum iOS SDK is set to 10, previously 9.3
    • Minimum macOS SDK is set to 10.12, previously 10.11
    • Minimum tvOS SDK is set to 10.0, previously 9.2
  • API Changes
    • Replaces ExecuteCallback with session specific CompleteCallback types (FFmpegSessionCompleteCallback, FFprobeSessionCompleteCallback, MediaInformationSessionCompleteCallback)
    • Implements execute() methods on React Native and Flutter
    • execute() methods that accept String[] are renamed as executeWithArguments() on Android
    • saf protocol urls created by FFmpegKit.getSafParameter methods are no longer single-use. They can be re-used multiple times
    • New FFmpegKit.getSafParameter method that allows providing a custom open mode
    • Implements chapters in MediaInformation class
  • Adds support for zimg library (enables zscale filter)
  • Enables 10bit pixel formats in x265
  • Uses the new versions of fontconfig, freetype, fribidi, kvazaar, libvpx and x264
  • Fixes issues #28, #152, #167, #171, #174, #187, #192, #196, #197, #199, #205, #209, #221, #224 and #241
  • v4.5.1-1 is released on Android to address #292 (on 01-01-2022)
  • v4.5.1 is patched on iOS, macOS and tvOS to address #316 (on 14-01-2022)

v4.5 - 18-09-2021

  • Includes FFmpeg v4.5-dev-2008
  • Adds support for React Native (on 01-10-2021)
  • Adds support for Flutter (on 06-10-2021)
  • Implements saf and fd protocols on Android to address unhandled Storage Access Framework (SAF) use cases
  • Drops VideoToolbox support from LTS releases of iOS since updated VideoToolbox implementation requires iOS SDK 11.0
  • Embeds external library licenses in Android archives (.aar files)
  • Uses the new versions of dav1d, freetype, libogg, libvpx, libwebp, libxml2, snappy and x264
  • Fixes issues #11, #12, #14, #23, #33, #35, #39, #72, #85, #93, #129, #139 and #144

v4.4 - 03-03-2021

  • Includes FFmpeg v4.4-dev-3015
  • Introduces support for macOS platform
  • Adds support for arm64-mac-catalyst and arm64-simulator architectures on iOS
  • Adds support for arm64-simulator architecture on tvOS
  • Implements the Session concept. Creates a new session for each command execution. A session can be used to access all information about the execution
  • Replaces delegates with blocks on Objective-C API
  • Supports concurrent execution of FFprobe commands
  • Adds helper methods to transform Storage Access Framework (SAF) Uris into paths that can be used within FFmpegKit
  • Stops using the deprecated AsyncTask classes on Android
  • Adds session specific log and statistics callbacks
  • Implements session history
  • Supports global and session specific log redirection strategies
  • Defines global execute callback for async operations
  • Drops support for wavpack external library and adds support for dav1d
  • Builds libass with harfbuzz
  • Uses the new versions of cpu_features, expat, fontconfig, fribidi, libass, libjpeg-turbo, libsndfile, libvpx, nettle and x264
  • Fixes FFmpegKit issues #1, #2 and #5
  • Fixes MobileFFmpeg issues #499, #516, #520, #597, #618, #634, #637, #671 and #674
Clone this wiki locally