Releases: hbang/libcephei
2.0
Cephei 2.0 is a major refactor, exclusively supporting rootless jailbreaks. It removes numerous code paths that stayed around for compatibility with old tweaks or iOS releases, and is built to run on the new ElleKit hooking platform. Cephei 1.x will continue to be supported for rootful jailbreaks on iOS 15.
Most, but not all, tweaks should already work with Cephei 2. Please don’t expect tweaks converted from rootful to rootless to work. The developers of these tweaks will most likely need to release a rootless update if there are any crashes.
For developers:
- Uses dpkg alternatives to not conflict with Procursus’s
defaults
package. If defaults is installed, but you want to specifically check preferences using Cephei, you can usehbprefs
instead. - Support for loading profile pictures from Twitter has been removed due to the closure of Twitter’s free API - perhaps use your GitHub profile picture instead (e.g.
https://github.com/chariz.png
), or link to your Mastodon?! - Much of Cephei has been refactored into new Swift code. If you’ve written code that uses Cephei in Swift, you may need to update some class and property names to remove
HB
andhb_
prefixes. Keep in mind that subclassing a Swift class from Objective-C is unsupported - that said, HBListController and its subclasses work around this limitation for best compatibility with existing tweaks.
Cephei 2.0 removes:
- Legacy symlinks (
/usr/lib/libcephei.dylib
and friends, if anyone is even still using them) - CepheiUI automatic loading into UIKit processes - please link against CepheiUI directly
- Classes that were already deprecated: HBDiscreteSliderTableCell, HBInitialsLinkTableCell, HBListItemsController
- HBListController legacy appearance methods
- HBAppearanceSettings’s
translucentNavigationBar
andstatusBarTintColor
- HBPreferences’s
-synchronize
and other deprecated methods - HBSupportController’s already obsolete support for the TechSupport framework
A huge thank you to the wonderful people who helped in testing this release.
1.17.1
- Uses dpkg alternatives to not conflict with Procursus’s
defaults
package. If defaults is installed, but you want to specifically check preferences using Cephei, you can usehbprefs
instead.
This release is for rootful jailbreak installations only. Rootless is supported starting with 2.0.
For the SDK, refer to Assets under 1.17.
1.17
- No longer requires RocketBootstrap dependency to be installed when using a libhooker-based jailbreak, such as Taurine or Odyssey. (This was already the case for Cydia Substrate-based jailbreaks.)
- Fixes an issue where Twitter avatars in Settings pages wouldn’t load.
- Fixes an issue where some icons were not displaying in Settings pages on iOS 14.
- Fixes a crash with Settings pages on iOS 5.
- Improves memory usage when tweaks use
HBPreferences
. - Updates various translations.
For developers:
- Adds support for using SF Symbols as preference specifier icons. See the docs for more info. (Contributed by @AzzouDuGhetto - thanks!)
- Adds support for specifying a custom tint color on
HBTintedTableCell
. - Package icons for
HBPackageTableCell
are now loaded from Canister. (Contributed by @tale - thanks!) - Fixes
-[HBPreferences registerPreferenceChangeBlock:forKey:]
not working. (Contributed by @themintchoco - thanks!) - Fixes a few memory leaks. (Contributed by @ryannair05 - thanks!)
- Adds support for running Cephei on other iOS-derived platforms, such as tvOS and watchOS.
- Adds support for Key-Value Observation (KVO) on
HBPreferences
. See the docs for more info. - Adds support for getting and setting keypaths on
HBPreferences
. - Improves
HBPreferences
Swift compatibility.
1.16
- Fixes issues with link buttons and stepper controls (-/+ buttons) and not working.
- Fixes various bugs/crashes on earlier iOS versions.
- Some all around spit and polish.
For developers:
- HBTwitterCell now supports specifying a Twitter User ID, so you can ensure your Twitter buttons follow you around if you ever change your username.
- HBPackageTableCell is now integrated with Parcility, ensuring the modern default repositories are now supported by the automatic icon fetcher, as well as the 600+ other third-party repositories Parcility indexes.
- When tapping HBPackageTableCell, it will now prompt the user to select an installed package manager, or view the package online on Parcility.
- HBLinkTableCell now prioritises Universal Links (web links redirecting to native apps) when opening links.
- You can now hide the divider line below the navigation bar using a new HBAppearanceSettings property,
showsNavigationBarShadow
. - The Email Support button no longer awkwardly pushes an empty screen before the email composer appears. If you are directly using HBSupportController, please change to presenting modally rather than pushing to ensure this effect is avoided.
1.15.3
1.15.2
1.15.1
- Removes TechSupport dependency entirely.
- No longer installs RocketBootstrap dependency on checkra1n and unc0ver jailbreaks, and iOS versions before 8.0.
- Works around Twitter profile photos not loading.
For developers:
- Adds an
avatarURL
property toHBLinkTableCell
andHBTwitterCell
, allowing you to set a custom image such as your GitHub avatar.
1.15
- Works around a bug in the Capital One app causing a Cephei error message to appear.
- Works around an issue with Twitter avatars not loading in tweak About pages.
- Fixes crashing on iOS 8 and older.
- Some general other fixes and code cleanup. Thanks to kritanta for contributing a bug fix!
For developers:
- Adds new UIColor category methods for creating dynamic colors that react to system light/dark interface style changes.
- CepheiPrefs now automatically adjusts some appearance colors to avoid clashing in dark mode. Use the methods mentioned above to customise this behavior.
- Fixes the large titles appearance setting not changing.
1.14
- Adds minor iOS 13 design changes and support for dark mode.
- Works around a crash when opening Cephei-powered settings on iOS 13.
- Works around a crash when using NewTerm with tweaks installed on iOS 13.
For developers:
- Adds the ability to control large navigation bar titles on iOS 11 and up.
- Removes the seldom-used Cephei Container Support feature, to cut down on package dependencies.
- Fixes CoreFoundation version filter (
pl_filter
) logic. - Due to lack of upstream support, TechSupport is no longer used for the support email form as of iOS 13 (and iOS 12 on A12).