Skip to content

Releases: structuredpath/InterposeKit

Version 1.0.0 β1

26 Apr 17:53

Choose a tag to compare

Version 1.0.0 β1 Pre-release
Pre-release
1.0.0-beta.1

README: Final polish

Version 0.0.4

24 Mar 14:57
60ceb50

Choose a tag to compare

  • 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 NSObject method for installing hooks, introducing the new signature: NSObject.addHook(for:methodSignature:hookSignature:implementation:)
  • Deprecated previous NSObject hook 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

22 Mar 18:58
b02ae63

Choose a tag to compare

  • 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 IKTAddSuperImplementationToClass being 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 to SuperBuilder.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 CGFloat parameters or structs like CGPoint and CGRect due to floating-point registers not being restored in the correct order after the trampoline call.
  • Initial clean-up of the fork.