# Changelog Notable changes to this crate will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased - YYYY-MM-DD ## 0.3.5 - 2024-05-21 ### Fixed * Fixed an issue with publishing using an older version of Cargo that didn't handle the `lints.workspace = true` Cargo setup properly. ## 0.3.4 - 2024-05-21 (Yanked) ### Deprecated * Deprecated the `apple` Cargo feature flag, it is assumed by default on Apple platforms. ## 0.3.3 - 2024-04-17 ### Added * Added `free` method (same as `libc::free`). * Moved documentation from `README.md` to `docs.rs`. ## 0.3.2 - 2023-12-03 ### Added * Added `objc_terminate`, `object_isClass`, `objc_alloc` and `objc_allocWithZone` now that Rust's macOS deployment target is 10.12. ## 0.3.1 - 2023-06-20 ### Added * Improved documentation slightly. ### Changed * Internal optimizations. ## 0.3.0 - 2023-02-07 ### Changed * **BREAKING**: Changed `links` key from `objc_0_2` to `objc_0_3` (so `DEP_OBJC_0_2_CC_ARGS` in build scripts becomes `DEP_OBJC_0_3_CC_ARGS`). * **BREAKING**: Renamed `rust_objc_sys_0_2_try_catch_exception` to `try_catch`. ## 0.2.0-beta.3 - 2022-12-24 ### Fixed * Fixed minimum deployment target on macOS Aarch64. ## 0.2.0-beta.2 - 2022-08-28 ### Fixed * Fixed `docs.rs` setup. ## 0.2.0-beta.1 - 2022-07-19 ### Added * Added `unstable-c-unwind` feature. * Use `doc_auto_cfg` to improve documentation output. ## 0.2.0-beta.0 - 2022-06-13 ### Changed * **BREAKING**: Changed `links` key from `objc` to `objc_0_2` for better future compatibility, until we reach 1.0 (so `DEP_OBJC_CC_ARGS` in build scripts becomes `DEP_OBJC_0_2_CC_ARGS`). * **BREAKING**: Apple's runtime is now always the default. ### Removed * **BREAKING**: Removed type aliases `Class`, `Ivar`, `Method` and `Protocol` since they could be mistaken for the `objc2::runtime` structs with the same name. * **BREAKING**: Removed `objc_property_t`. * **BREAKING**: Removed `objc_hook_getClass` and `objc_hook_lazyClassNamer` type aliases (for now). * **BREAKING**: Removed `DEP_OBJC_RUNTIME` build script output. ## 0.2.0-alpha.1 - 2022-01-03 ### Added * Added `objc_exception_try_enter` and `objc_exception_try_exit` on macOS x86. ### Changed * **BREAKING**: Correctly `cfg`-guarded the following types and methods to not be available on macOS x86: - `objc_exception_matcher` - `objc_exception_preprocessor` - `objc_uncaught_exception_handler` - `objc_exception_handler` - `objc_begin_catch` - `objc_end_catch` - `objc_exception_rethrow` - `objc_setExceptionMatcher` - `objc_setExceptionPreprocessor` - `objc_setUncaughtExceptionHandler` - `objc_addExceptionHandler` - `objc_removeExceptionHandler` ### Removed * **BREAKING**: Removed`objc_set_apple_compatible_objcxx_exceptions` since it is only available when `libobjc2` is compiled with the correct flags. * **BREAKING**: Removed `object_setInstanceVariableWithStrongDefault` since it is only available since macOS 10.12. * **BREAKING**: Removed `objc_setHook_getClass` since it is only available since macOS 10.14.4. * **BREAKING**: Removed `objc_setHook_lazyClassNamer` since it is only available since macOS 11. ## Fixed * `docs.rs` configuration. ## 0.2.0-alpha.0 - 2021-12-22 ## Added * `NSInteger` and `NSUInteger` (type aliases of `isize`/`usize`). * `NSIntegerMax`, `NSIntegerMin` and `NSUIntegerMax`. ### Changed * **BREAKING**: `cfg`-guarded `class_getImageName` to only appear on Apple platforms. ### Fixed * **BREAKING**: Opaque types are now also `!UnwindSafe`. ## 0.1.0 - 2021-11-22 ### Changed * **BREAKING**: Use feature flags `apple`, `gnustep-X-Y` or `winobjc` to specify the runtime you're using, instead of the `RUNTIME_VERSION` environment variable. * **BREAKING**: `DEP_OBJC_RUNTIME` now returns `gnustep` on WinObjC. ## 0.0.1 - 2021-10-28 Initial release.