From 12ff1ffe5b5026e66bcacd44dcc94848467fde4e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 11 Jun 2024 19:53:38 +1000 Subject: [PATCH] Extensions: remove add-ons which don't have a built-in upgrade opton Previously these were shown as missing add-ons, since they have been intentionally removed, remove them as part of versioning instead of showing them as "Missing Add-ons". This is especially important for X3D & STL which were enabled by default which meant any user loading 4.1 preferences would have them shown as missing add-ons. --- .../bl_pkg/extensions_map_from_legacy_addons.py | 7 ------- source/blender/blenkernel/BKE_blender_version.h | 2 +- .../blenloader/intern/versioning_userdef.cc | 15 +++++++++++++++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/scripts/addons_core/bl_pkg/extensions_map_from_legacy_addons.py b/scripts/addons_core/bl_pkg/extensions_map_from_legacy_addons.py index c7eace463cc..ea8c270de41 100644 --- a/scripts/addons_core/bl_pkg/extensions_map_from_legacy_addons.py +++ b/scripts/addons_core/bl_pkg/extensions_map_from_legacy_addons.py @@ -94,12 +94,5 @@ "system_demo_mode": ("demo_mode", "Demo Mode"), "system_property_chart": ("property_chart", "Property Chart"), "vdm_brush_baker": ("vdm_brush_baker", "VDM Brush Baker"), - - # These were built-in but not mapped to an extension ("install" won't be shown in the UI). - "io_coat3D": ("", "3D-Coat Applink"), # External dependencies. - "depsgraph_debug": ("", "Dependency Graph Debug"), # External dependencies. - "io_import_images_as_planes": ("", "Import Images as Planes"), # Integrated with Blender. - "io_mesh_stl": ("", "STL Format"), # Was on by default. - "io_scene_x3d": ("", "Web3D X3D/VRML2 format"), # Was on by default. }, } diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h index 01023daf2dd..71b7207dda1 100644 --- a/source/blender/blenkernel/BKE_blender_version.h +++ b/source/blender/blenkernel/BKE_blender_version.h @@ -29,7 +29,7 @@ extern "C" { /* Blender file format version. */ #define BLENDER_FILE_VERSION BLENDER_VERSION -#define BLENDER_FILE_SUBVERSION 57 +#define BLENDER_FILE_SUBVERSION 58 /* Minimum Blender version that supports reading file written with the current * version. Older Blender versions will test this and cancel loading the file, showing a warning to diff --git a/source/blender/blenloader/intern/versioning_userdef.cc b/source/blender/blenloader/intern/versioning_userdef.cc index 3fa362342b6..8fa5a94203b 100644 --- a/source/blender/blenloader/intern/versioning_userdef.cc +++ b/source/blender/blenloader/intern/versioning_userdef.cc @@ -982,6 +982,21 @@ void blo_do_versions_userdef(UserDef *userdef) BKE_preferences_extension_repo_add_default_system(userdef); } + if (!USER_VERSION_ATLEAST(402, 58)) { + /* Remove add-ons which are no longer bundled by default + * and have no upgrade path to extensions in the UI. */ + const char *addon_modules[] = { + "depsgraph_debug", + "io_coat3D", + "io_import_images_as_planes", + "io_mesh_stl", + "io_scene_x3d", + }; + for (int i = 0; i < ARRAY_SIZE(addon_modules); i++) { + BKE_addon_remove_safe(&userdef->addons, addon_modules[i]); + } + } + /** * Always bump subversion in BKE_blender_version.h when adding versioning * code here, and wrap it inside a USER_VERSION_ATLEAST check.