Skip to content

Releases: hbang/libcephei

2.0

28 May 06:39
dab73cd
Compare
Choose a tag to compare

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 use hbprefs 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 and hb_ 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 and statusBarTintColor
  • 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

28 May 06:37
ca32458
Compare
Choose a tag to compare
  • 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 use hbprefs 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

31 Jul 03:03
e353c3c
Compare
Choose a tag to compare
  • 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!)
SF Symbols used for a switch (switches icon), a slider (brightness icons), two action buttons - Perform Magic Tricks (magic wand icon) and Do Something Destructive (exclamation mark icon), and a link to the About screen (information icon) SF Symbols used for a region selection list (globe icon), a numeric range (pound icon), and 3 buttons - Email Support (envelope icon), Translators (globe icon), and Tip Jar (heart icon)
  • 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

14 Sep 11:52
025d97b
Compare
Choose a tag to compare
  • 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

25 Aug 14:42
b912c25
Compare
Choose a tag to compare
  • Fixes crash when opening Cephei-powered settings.

1.15.2

25 Aug 14:42
dc7273c
Compare
Choose a tag to compare
  • Fixes a corrupted installation issue experienced by some users.

For developers:

  • To save space, Cephei headers are no longer included in deb releases. You can instead find them on GitHub.

1.15.1

30 May 13:24
8ee0717
Compare
Choose a tag to compare
  • 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 to HBLinkTableCell and HBTwitterCell, allowing you to set a custom image such as your GitHub avatar.

1.15

01 May 02:46
7fafb96
Compare
Choose a tag to compare
  • 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

29 Apr 07:28
5be4ae6
Compare
Choose a tag to compare
  • 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).

1.13.1

29 Apr 07:26
36734e5
Compare
Choose a tag to compare
  • Adds support for A12 (iPhone Xs, Xʀ, and iPad Pro 11-inch).
  • Fixes an issue with colors appearing yellowish in NewTerm.