Releases: structuredpath/InterposeKit
Releases · structuredpath/InterposeKit
Version 1.0.0 β1
1.0.0-beta.1 README: Final polish
Version 0.0.4
- Set up CI for multiple Swift versions, macOS versions, and architectures (x86_64 & arm64).
- Increased minimum Swift version to 5.9.
- Initial refactoring of the
NSObjectmethod for installing hooks, introducing the new signature:NSObject.addHook(for:methodSignature:hookSignature:implementation:) - Deprecated previous
NSObjecthook methods. Particularly, the class-level method was deprecated to avoid confusion, as hooking class methods isn’t supported. - The implementation builder block now returns a non-optional value, removing a workaround previously needed for an older Swift compiler issue.
Version 0.0.3
- Includes unreleased refactoring from the now-abandoned upstream repository, primarily concerning the creation of the subclass at runtime and hook registry.
- Fixes a crash caused by
IKTAddSuperImplementationToClassbeing stripped in release builds per steipete/InterposeKit#29 by using the fix from steipete/InterposeKit#30 submitted by @Thomvis, which replaces a call via dynamic library with a direct Swift call toSuperBuilder.addSuperInstanceMethod(to:selector:). - Fixed floating-point register handling on ARM64 using the patch from steipete/InterposeKit#37 submitted by @ishutinvv, which resolves an issue affecting swizzled methods with
CGFloatparameters or structs likeCGPointandCGRectdue to floating-point registers not being restored in the correct order after the trampoline call. - Initial clean-up of the fork.