- Added support for Apple Vision Pro (visionOS).
- Function now requires GLIBC 2.35 on Linux.
- Fixed
FXNPredictorCreate
function failing in some release builds on Android.
- Minor stability improvements.
- Fixed crash when
FXNConfigurationGetUniqueID
function is used on some Android devices.
- Added iOS simulator support in
Function.xcframework
. - Removed invalid entitlements causing Function to fail App Store Review on macOS (#2).
- Fixed invalid code signing entitlements causing Apple to fail macOS App Store review for macOS apps (#2).
- Refactored
FXN_ACCELERATION_DEFAULT
enumeration constant toFXN_ACCELERATION_AUTO
. - Removed
FXNValueCreateBySerializingValue
function. - Removed
FXNValueCreateByDeserializingValue
function. - Function now requires macOS 12.0+.
- Added support for inferring Function platform on Linux with
FXN_PLATFORM_AUTO
when compiling with CMake.
- Function now builds for Linux, across
x86_64
andarm64
architectures.
- Fixed
FXNPredictorCreate
function failing when predictor tag has a period ('.'
) character. - Fixed
FXNValueCreateBySerializingValue
function failing on Windows due to uninitialized COM library. - Fixed
FXNValueCreateByDeserializingValue
function failing on Windows due to uninitialized COM library.
- Added
FXNValueCreateBySerializingValue
function for serializing values for making cloud predictions. - Added
FXNValueCreateByDeserializingValue
function for deserializing values for making cloud predictions.
- Fixed Function API web requests failing due to internet unreachability errors on iOS.
- Function now builds for ARM64 on Windows.
- Added
PrivacyInfo.xcprivacy
iOS privacy manifest inFunction.framework
.
- Fixed
FXNConfigurationGetClientID
function returning incorrect client identifier on Android devices.
- Fixed Apple App Store upload errors due to incorrect
CFBundleVersion
key inFunction.framework
. - Removed
FXNPlatform
enumeration. The enumeration constants are now defined as macros in Dialect.hpp.
- Added
FXNConfigurationGetClientID
to get the current client identifier.
- Fixed compile error in
Predictor::Predict
C++ API method.
- Added experimental streaming support with
FXNPredictorStreamPrediction
function. - Fixed Apple App Store app rejections due to missing
Bundle Version
key inFunction.framework
. - Updated
FXNValueCreateBinary
to use anint32_t
buffer size, thereby restricting the max data size to 2GB. - Refactored
FXNPredictorPredict
function toFXNPredictorCreatePrediction
.
- Stability improvements.
- Fixed crash in
FXNPredictorCreate
when certain predictors cannot be loaded.
- Fixed predictor creation failing on Android.
- Fixed predictor creation failing sporadically on Windows.
- Fixed corrupted JSON string in
FXNValueCreateDict
andFXNValueCreateList
functions.
- Fixed edge predictions failing in the browser when using backend proxy service.
- Minor updates.
- Function is now compiled as a
MAIN_MODULE
on WebAssembly. SeeFunction.js
andFunction.wasm
release artifacts.
- Added
FXN_PLATFORM_WASM32
platform constant for targeting 32-bit WebAssembly. - Added experimental
FXN_PLATFORM_WASM64
platform constant for targeting 64-bit WebAssembly (Memory64). - Fixed compiler errors when building for WebAssembly by importing Emscripten headers.
- Updated
FXN_PLATFORM_WASM
platform constant to contain bothFXN_PLATFORM_WASM32
andFXN_PLATFORM_WASM64
.
- Refactored
FXN_INFERENCE_FORMAT_GGML
constant toFXN_INFERENCE_FORMAT_GGUF
. - Removed
FXNInferenceFormat
enumeration.
- Added support for loading predictors in sandboxed iOS and macOS apps.
- Fixed predictor creation failing on iOS.
- Added Function C API implementation for iOS.
- Added codesigning for macOS libraries.
- Added
FXNConfigurationGetTag
function for retrieving the predictor tag from a configuration. - Added
FXNConfigurationSetTag
function for setting the predictor tag in a configuration. - Added
Function::Configuration::GetTag
method for retrieving the predictor tag from a configuration. - Added
Function::Configuration::SetTag
method for setting the predictor tag in a configuration. - Added
FXNPredictionGetResults
function for retrieving prediction outputs value map. - Added
Function::Prediction
class for working with predictions. - Fixed C++ double-free error when retrieving a
Function::Value
from aFunction::ValueMap
. - Updated
FXNPredictorCreate
function to no longer accept atag
. Specify the tag in the configuration instead. - Updated
FXNPredictorPredict
function to accept anFXNPrediction**
in place of a profile and output value map. - Refactored
FXNProfile
struct toFXNPrediction
. - Refactored
FXNProfileGetID
function toFXNPredictionGetID
. - Refactored
FXNProfileGetLatency
function toFXNPredictionGetLatency
. - Refactored
FXNProfileGetError
function toFXNPredictionGetError
. - Refactored
FXNProfileGetLogLength
function toFXNPredictionGetLogLength
. - Refactored
FXNProfileGetLogs
function toFXNPredictionGetLogs
. - Refactored
FXNProfileRelease
function toFXNPredictionRelease.
- Added CMake improvements.
- Fixed linker errors when building for macOS x86_64.
- Added
FXNConfigurationAddResource
function. - Updated C API to use
__cdecl
calling convention instead of__stdcall
on Windows, matching other platforms. - Removed
FXNConfigurationGetResource
function. - Removed
FXNConfigurationSetResource
function. - Removed
FXNValueMapContainsKey
function. UseFXNValueMapGetValue
function instead.
- Added
FXNValueMapContainsKey
to check whether a given key is present in a value map. - Added
FXNProfileGetLogLength
to get the length of the logs in the profile. - Added support for setting interleaved
channels
count inFXNValueCreateImage
.
- Added Function C API implementations for Android, macOS, and WebAssembly.
- Added
FXNConfigurationGetResource
function for retrieving a configuration resource. - Added
FXNConfigurationSetResource
function for specifying a configuration resource. - Added
FXNProfile.h
header for prediction profiling.
- First pre-release.