Changes to Add-on and Themes Bundling (4.2 onwards)

the invalid configuration is something like this:
add_repo

note the file path in the config, which is incorrect:
repo_config

access error

Note also that for some reason, the repo path in my working example above has to be typed as file://xxx, NOT file:///xxx - maybe a Windows only thing? Should be three slashes normally?

You should be using windows-x64 instead (doc).

This changed a few weeks already (sorry we haven’t being too careful with changing things before the release).

That said Blender should have given you a comprehensive error. If this still happens with a recent Blender, please report as a bug.


If you are running into an error generating the .json please report as a bug so we can fix it before 4.2 release.


file:/// is technically different than file://. The first two slashes indicate the schema (file://) while the third indicates the (absolute) path.


If you are running into an error while testing local repositories please report as a bug. It is the system tested the least.

1 Like

You should be using windows-x64 instead (doc).

Actually the initial problem is that you have a trailing
comma inside your list. But yes, you also need to use windows-x64 instead of amd64. And Blender should have given you a proper error.

platforms = ["windows-x64"]

Unfortunately none of the suggestions work (tried all of them), the error is related to how the data is interpreted in Python. It makes sense, the code in blender_ext.py reads:

platforms = [platform for platform in manifest_dict.get("platforms", "").split(",") if platform]

and throws the error
'list' object has no attribute 'split'
which is correct, given that manifest_dict.get("platforms", "") already returns a list as defined in the .toml. If it were a str instead, the code that tries to split it would make sense.

I’ll report this as a bug when I have time again.

1 Like

@RainerTrummer committed a fix for accessing platforms, for other issues please report them to the tracker.

For the records, I think the only “problem” here is that the generated html has repository=“./index.json” for all the entries.

Short of suggesting people to manually search/replace the index.html, this could be an option --html-repository where you specify the entry point for the json.

bug is reported #123994 - Local Repository Initialisation uses wrong path on drag and drop - blender - Blender Projects

1 Like

On a different subject, how would one now enable Add-ons via command line?

I used to do for example this in Blender 4.1:
blender -b --factory-startup --addons "f2"
to load an unbloated Blender and just activate the f2 Add-on (as an example). If I provided a wrong Add-on name, e.g. blender -b --factory-startup --addons "foobar", Blender would report back:
Add-on not loaded: "foobar", cause: No module named 'foobar'

With 4.2 I can’t activate any of the Add-ons at the moment with such mechanism. Furthermore, the error message isn’t telling me much, and is always the same:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named '_bpy_internal.addons.cli'
1 Like

@RainerTrummer hi, enabling add-ons on the command line is working in my tests.

The issue with reporting bugs here is I end up needing to ask follow up questions and try to find out what your doing on your system that’s different to mine, so please just report bugs in the tracker because it adds noise to these threads & risks developers missing reports before release.

Hi @ideasman42 thanks for checking, I have reported a bug here: #124250 - Enabling Add-ons from command line broken - blender - Blender Projects
System details are given in the report, let’s continue conversation over there.

1 Like

Which one???

1 Like

You can find it here: 4.2 LTS - Blender Developer Documentation

In the end, since we implemented the simpler way to download the missing add-ons from within Blender (and the system local repository to make portable installations), I decided to leave the backwards compatibility bundle only on the wiki release notes.

As I understand that add-on bundle won’t be updated?

Don’t think so, as all addon creators are advised to move on to the Extensions platform.

So if you have a favorite addon that’s not there yet, send beer money to the one who’s developing it :wink:

1 Like

That’s sad. Blender on my PC don’t have and will never have access to the internet.

While bundle will not be updated, it is possible to make Blender to use extensions from a local repository: Deploying Blender in Production - Blender 4.2 Manual

You should be able to prepare such directory, and either use it for yourself, or use it in a more controlled environment for all Blender users in a studio with internet restrictions.

3 Likes

Would it be possible to get clarification on “Bundle other add-ons together”

https://docs.blender.org/manual/en/dev/advanced/extensions/addons.html#bundle-dependencies

When bundling add-ons as dependencies, there is no way to register these secondary add-ons in the Add-ons Preferences UI, correct?

If add-on A bundles, add-on B, and add-on C we will only see add-on A in the Add-ons Preferences UI

Quite sure it is only the “parent” add-on which will be showing up in the list. but maybe someone closer to the project can confirm this. That section is about avoiding creation of panels/operators with the same identifier.

P.S. I was thinking where is the good place for such sort of questions would be. In a way, it is not really announcement, and doesn’t really fall under “contributing to Blender” category. Perhaps #python room on the Blender chat is where there are plenty of developers who can more instantly share knowledge and such?

1 Like

That’s correct.

I would say: https://www.blender.org/community/

If something comes out of it that may indicate the docs need to be improved, then the community can send a documentation pull request.

That said I feel that we shouldn’t have the same question in this thread, and on its own thread

2 Likes

Thank you for the responses @sergey @dfelinto ! :heart_on_fire:

I will make sure to keep the questions in the proper channels/threads for next time. :saluting_face: