-
Notifications
You must be signed in to change notification settings - Fork 248
Geode v5 planning
dankmeme01 edited this page Jan 3, 2026
·
16 revisions
Planned changes for the next major Geode update. Most of these are ABI or API breaking, which is why we have to delay them
Changes marked with "
-
⚠️ Switch to using romver?- This will likely only be done for Geode itself, and not for mods
-
⚠️ Rethink dependency importance, maybe only haverequiredandoptional.- Naming of the current system is confusing, perhaps recommendations should just be separate
-
⚠️ Remove some of the obsoleteCC_macros (most importantly array/dict iteration) and make their usage tell the user about the Geode alternative (mostly done, requires breaking bindings change to finish) - Switch to
std::move_only_function(c++23 only and unavailable, c++20 implementation) - Use
string_viewand span in most cases ofstd::string const&andstd::vector<T> const&(strings mostly done!) - Add noexcept everywhere?
-
⚠️ Make Layout::ignoreInvisibleChildren default to true - remove geode::cast::as
- remove cacao's vectorToCCArray (move it to ccarrayext or something)
- Make MDTextArea pimpl or just final
- Loads of v5 changes in mod metadata validation
- Remove CCDestructor
- Mod::getMetadataRef -> Mod::getMetadata (Pull Request)
- Store compat mode in MDTextArea as a member
- Use the
NoHashHashertrick for other things inGeodeNodeMetadata, i.e. user objects - Change
ColorPickPopupto use callbacks instead of delegates (Pull Request) - Make Popup intercept keyBackClicked instead of checking for esc in keyDown
- Fix FileWatcher (right now it's pretty bad and causes weird crashes and memory leaks, also windows only)
- Expand EventV2 and make it the primary event system
- Rewrite Task