All Versions
19
Latest Version
Avg Release Cycle
125 days
Latest Release
352 days ago

Changelog History
Page 1

  • v4.2.2 Changes

    November 03, 2020
    • βͺ Restore ability to copy log messages in iOS 13+
    • πŸ›  Fix crash when editing a property or ivar from a shortcut section
    • βͺ Revert d778644 which could cause crashes
  • v4.2.1 Changes

    November 03, 2020

    πŸ›  Fix crash when opening network inspector

  • v4.2.0 Changes

    October 22, 2020
    • πŸ›  Various under the hood improvements and bug fixes
    • πŸ›  Fixes heap enumeration crashes on arm64e
    • πŸ›  Fixes class properties not showing previews
    • Explorer won't access ivars on tagged pointers
    • Search bar will now automatically activate in heap view
    • βž• Add shortcuts for UIApplication
    • βž• Add sorting to file browser
    • Custom additions section now appears first
    • FLEXMethod.imagePath uses the method's IMP
    • 0️⃣ You can edit user defaults again
    • View truncation sliders now match Xcode behavior
    • FLEX will no longer crash when inspecting objects that don't inherit from NSObject
    • You can now use FLEX_DISABLE_CTORS to disable FLEX from doing any swizzling or other runtime setup
  • v4.1.1 Changes

    April 06, 2020

    Patch: namespace fishhook functions to avoid collisions

  • v4.1.0 Changes

    April 06, 2020
    • Heap viewer will take you straight to the instance if it is the only instance
    • βž• Add ability to view any bundle as a database and query it
      • You can export this database from the file browser
    • πŸ›  Fix crash on iPad when pressing any button that presents an action sheet
    • βž• Add a search bar to the view controllers list
    • βž• Add < iOS 13 support to example project
    • βž• Add option to disable dynamic property/ivar previews
    • πŸ›  Other minor bug fixes
  • v4.0.0 Changes

    March 24, 2020

    πŸš€ This release has been the product of months of daily work. Most of FLEX was rewritten from the ground up. If you want to show your appreciation, I have a GitHub Sponsors profile with a range of tiers where you can donate to me on a monthly basis. I also have Cash App ($tannerbennett). Reach out to me on Twitter if you have any questions or concerns about anything!

    (This is by no means a complete list of changes)

    Misc

    • ⬇️ Drops support for iOS 8 β€” if you need to support iOS 8, use FLEX 3
    • Tabs! Every screen now has a toolbar you can use to view the list of open tabs and switch between them.
      • Background a tab by swiping down to dismiss the view controller (yes, even if you're not on iOS 13, try it)
      • Close a tab by pressing the "Done" button or by deleting it from the tabs list
    • Bookmarks! Bookmark objects to save them for later
      • Hit the + button in the tabs list to open a tab from a bookmark
    • πŸ†• New icons for the FLEX toolbar, taken from SFSymbols (yay @3x)
    • 🌲 System log is back from the dead: iOS 10 largely broke the system log feature with the addition of os_log. FLEX now forces NSLog() to use ASL so you don't get a log full of useless internal junk
    • βž• Added various singletons to the main menu screen
    • Dark mode improvements
    • βš™ Run queries on SQLite databases (thanks @LesykMelnychuk)
    • Most screens are now searchable, including lists of object references and the keychain
    • πŸ’» File browser now shows a list of classes when you select a mach-o file
    • More public APIs have been exposed
    • βž• Added a Swift example project which makes use of some new public APIs

    FLEX Toolbar

    • Long press on the Menu button to show the list of open tabs
    • Long press on the Views button after selecting a view to show a list of view controllers at that point
    • 🏁 Long press on the Select button to show a list of all windows and scenes; tap a window to adjust it's level
    • βž• Added a Recent button which opens the most recently backgrounded tab

    FLEXObjectExplorer

    • πŸ†• New APIs for customizing "shortcuts" that are displayed for any given object or class
    • πŸ“‡ Uses a monospace font for displaying metadata
    • βž• Adds context menus for metadata rows on iOS 13, useful for copying various metadata properties
    • Protocol conformances are listed at the bottom, as well as instance size and image of origin
    • βž• Added various helpful shortcuts to a number of classes
    • Fine-tuned the shortcuts for various UIKit classes
    • Swipe left or right to change your position in the class hierarchy
    • Tapping on a property or ivar now takes you to the value; press the detail button to edit instead
    • βž• Added a section index control to aid in quickly jumping to a specific metadata section
    • βž• Added a toolbar with quick access to helpful toggles or options
      • Toggles for visibility of method overrides, property-backing ivars, and property-backing methods
      • Quickly copy the object's description or address or bookmark it
      • Quickly access the list of bookmarks or open tabs
    • πŸ‘Œ Support NSDecimalNumber setters
    • βž• Added option to view a list of subclasses when exploring a class object

    View Explorer

    • 🚚 Swipe left or right on the toolbar's selected view box quickly to move your selection higher or deeper into the view hierarchy
    • βž• Added a 3D reveal-like view explorer: explore an exploded representation of the view hierarchy right on your device!
    • Background colors of views are more accurately indicated
    • Translucency is now correct
    • nil background colors don't show a color indicator at all

    πŸ’» Runtime Browser

    • Replaces the System Libraries and App Classes screens
    • Browse the runtime using a key-path-like syntax: bundle.class.method
      • Accepts wildcards, like *.*View* which will list all classes that contain View
      • Currently only supports searching for methods, properties and ivars soon to come
      • Search for an instance method with -methodName, a class method with +methodName, or either by prefixing your query with a wildcard
      • For example, UIKit*.*Controller.*foo searches for any method containing foo in any class ending with Controller in any loaded bundle starting with UIKit

    Method Calling

    • βž• Added a "paste" button to argument input accessory views, useful for pasting an address
    • βž• Added support for char * and SEL parameters

    Network History

    • Now prompts you to turn it on before taking you to the screen
    • Easy access to the "clear" button in the toolbar
    • iOS 13 users can blacklist domains by 3D touching on requests
    • πŸ›° JSON payloads are now displayed as NSDictionary/NSArray when you try to view them
  • v3.1.2 Changes

    December 26, 2019
    • πŸ›  Fix +[FLEXRuntimeUtility potentiallyUnwrapBoxedPointer:type: so that it doesn't try to unbox NSNumber instances
    • βž• Add -subviews and -superview @properties to UIView
    • Keep search bar active between screens
    • Fix #359 a little betterβ€”enumerate UIApplication.windows until we find the first UITextEffectsWindow and adjust that window instead of looking right at UIApplication.windows[1]
  • v3.1.1 Changes

    December 09, 2019
    • πŸ›  Fix various iOS 13 bugs
    • βž• Add search bar to the database view
    • Swipe to delete keychain items
    • πŸ›  Fix "Copy/Copy Address" callouts not appearing on iOS 13
    • πŸ›  Fix a bug with the "class carousel" not working properly
    • πŸ›  Fix root view controller global not working
    • πŸ›  Fix crash in keychain viewer when viewing NSData
  • v3.1.0 Changes

    November 14, 2019

    Marking this as 3.1 instead of 3.0.1 because we don't really have much of an "API" to use for semantic versioning, but a lot changed under the hood so I think a minor version change is warranted.

    Major changes

    • ⬇️ Drops support for iOS 8
    • πŸŽ‰ Initial support for iOS 13 and dark mode
    • πŸ‘ Allow passing addresses for id arguments
    • βž• Added a custom class hierarchy scope bar to the object/class explorer
      • This replaces the old scope bar which only had 2-4 options for viewing inherited metadata
    • You can now search the globals screen
    • βž• Additions to the globals screen:
      • NSProcessInfo.processInfo
      • UIPasteboard.generalPasteboard
      • Explore bundle and container
      • Explore the keychain

    Other notable changes

    • πŸ›  Various bug fixes
    • Adopt WKWebView
    • Migrate to UIAlertController
    • ⬆️ Various file browser upgrades
      • Improved image detection
      • Show editor for readonly properties with setters
      • Show share sheet for folders and files
      • Share the actual file instead of the file path in the file browser
      • Adopt context menu on iOS 13
    • 0️⃣ By default, exploring user defaults from the globals screen will only show user defaults in the defaults file
      • This hides some useless defaults that appear in NSUserDefaults for all apps
  • v3.0.0 Changes

    April 24, 2019

    Notable changes

    • πŸ‘Œ Support for notch-screens (iPhone X, etc)
    • Explore objects by address (#258)
    • πŸ‘ Allow copying object addresses (33263bf)
      • Long press on description to activate
    • πŸ‘Œ Support for viewing serialized objects (#254)
    • 🌲 Rudimentary support for viewing system log messages on iOS 10+ (d7d40e6, #140)
    • Detect and unbox pointers to objects from void * (867ae61)
    • βž• Add "Get" to readwrite editor screens (b64cd37)
    • πŸ‘ Allow registration of custom content-type viewers (#241)
    • Exploring color objects shows their color as their description (24d5f3e)
    • πŸ‘‰ Show a view-color indicator in the view hierarchy (#239)
    • βž• Add +[NSBundle mainBundle] to global list (400a3cc)
    • Group similar "objects with ivars referencing this object" (#227)
    • βž• Additional object explorer scopes (#228)
    • Failed network requests are highlighted in red (352bae0)
    • βž• Add a network filter mechanism, aka a blacklist (#185)
      • At the moment this can only be enabled programmatically

    πŸ‘€ All other changes are various bug fixes. You can see the full changelist here.