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'sIMP
- 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, 2020Patch: 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 forcesNSLog()
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 containView
- 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 containingfoo
in any class ending withController
in any loaded bundle starting withUIKit
- Accepts wildcards, like
Method Calling
- β Added a "paste" button to argument input accessory views, useful for pasting an address
- β Added support for
char *
andSEL
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 unboxNSNumber
instances - β Add
-subviews
and-superview
@properties toUIView
- Keep search bar active between screens
- Fix #359 a little betterβenumerate
UIApplication.windows
until we find the firstUITextEffectsWindow
and adjust that window instead of looking right atUIApplication.windows[1]
- π Fix
-
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, 2019Marking this as
3.1
instead of3.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, 2019Notable 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.