1 (edited by jos 2026-09-09 12:08:50)

Topic: Lightroom Classic plug-in stopped working

Hello,

I have used the Juicebox-Pro Lightroom Classic plug-in a Windows PC for years and I am very happy with it.

But, the plug-in does not seem to work anymore. It loads but the preview remains blank. It will export, but remains blank in the Juicebox-Pro  app. All the thumbs and images are there however. All my old galleries, which were doing fine before, don't work either in Lightroom Classic.

I deleted and reinstalled the plugin to no avail.

The last time I used it was in the beginning of July 2026. Since then Adobe has released new versions of Lightroom Classic. I have version 15.5.1 installed. Nothing else changed as far as I know (apart from the regular Windows updates).

Any ideas?

Regards,
Jos

OK, I found a work-around by comparing the old export files with the latest ones:

A line form a working config.xml looks like:
<image imageURL="images/R5M29981.jpg" thumbURL="thumbs/R5M29981.jpg" linkURL="" linkTarget="_blank">

A line from the, not working, latest config.xml looks like this:
<image imageURL="images/R5M29981.jpg" thumbURL="thumbs/R5M29981.jpg" linkURL="<div></div>" linkTarget="_blank">

So with a text editor I replaced all the "<div></div>" with "" and the gallery is working again!

Re: Lightroom Classic plug-in stopped working

I'm sorry to hear that you are having trouble with the Juicebox-Pro plugin for Lightroom.

Your diagnosis of the problem is correct.

The problem seems to arise from a change in how Lightroom Classic v15.5 treats blank metadata.
With regard to Juicebox-Pro, this breaks the XML syntax of the gallery's 'config.xml' file and causes the gallery to fail.
Specifically, the problem is with blank metadata in the linkURL attributes. (If you de-select the 'Link URL' checkbox in the "image Info' section of the plugin's settings, your gallery should display as expected.)

Incidentally, I do not see anything in the Lightroom Classic 15.5 release notes or list of bug fixes that documents this change.
Lightroom Release Notes: https://helpx.adobe.com/uk/lightroom-cl … notes.html
Lightroom Bug Fixes: https://helpx.adobe.com/uk/lightroom-cl … ssues.html

However, I have made an adjustment to one of the plugin's source files to accommodate this change in Lightroom's behavior and replacing this file should hopefully resolve the problem.
I have attached a new version of the plugin's 'config.xml' file to this post.

Please use the file attached to replace the existing version in your plugin's folder:
Mac: Users/username/Library/Application Support/Adobe/Lightroom/Web Galleries/juicebox_pro.lrwebengine/
Windows: C:\Users\username\AppData\Roaming\Adobe\Lightroom\Web Galleries\juicebox_pro.lrwebengine\

I hope this helps.

Post's attachments

config.xml 2.11 kb, 3 downloads since 2026-09-10 

You don't have the permssions to download the attachments of this post.

Re: Lightroom Classic plug-in stopped working

Yes, that worked.

Thank you Steven!

Re: Lightroom Classic plug-in stopped working

You're welcome!
Thanks for confirming the fix works.

Re: Lightroom Classic plug-in stopped working

Confirming this independently on macOS, so it is not Windows-specific. Same symptom, same cause, found the same way: by diffing a working export against a broken one. Thanks Jos for posting it, and Steven for the quick fix.

A few details that may be worth adding.

Only empty values are affected. I exported one photo with its Title and Caption filled in: both were written normally, while the empty linkURL on the same image was still wrapped. So Lightroom mangles the representation of emptiness, not of the value. Anything a photographer actually typed comes through intact.

Title and caption are hit too, but harmlessly. The same <div></div> appears in the title and caption elements when those are empty. Those sit inside CDATA, which allows it to contain "<", so the file still parses. linkURL is the only fatal one, because it is an attribute.

The plugin itself did not change. I exported the same unchanged collection in May and again in September. jbcore/juicebox.js and index.html came out byte-identical across both runs (md5 0ba5d18013bf96ca051bc5900e6d6cbf and dc31684e11f145c5051c07cfef42b03e), and the entire difference was three interpolated metadata values. Independent support for Steven's diagnosis that the change is on Lightroom's side.

Where linkURL comes from, for anyone who wants to keep the Link URL option enabled rather than de-selecting it: the photo's IPTC Website field, which Lightroom does not show by default (add with: Library, select a photo, Metadata panel, Customize button, tick Website). It is empty on almost every photo, which is why almost every gallery is affected.

Quick check without needing a known-good copy to diff against: any XML validator will do.

xmllint --noout config.xml

"Silence" means the file is fine.

On the Lightroom version, my before/after dates agree with Steven's 15.5: my last good export was 26 May and the broken one 12 September, and Jos had it working in early July, which is after 15.4.1 shipped. Probably not too relevant, unless you want to find the change in LRc release notes.

Re: Lightroom Classic plug-in stopped working

Steven, thanks for attaching the template - being able to see the fix is genuinely useful.

A question rather than a suggestion, since I don't write Lua and may be missing something. The guard matches specific literal values:

if value == "<div></div>" or value == "untitled" then

Given that the "untitled" clause looks like an earlier sentinel from Adobe, and that this change by Adobe isn't easy to find, is there a case for also passing linkURL through the escape_xml function the template already uses for the gallery-level attributes? Something like:

linkURL="<%= escape_xml(clean_url(...)) %>"

The idea would be that a slightly different future value would then produce a bad link rather than an unreadable file. But you will know whether that has downsides I cannot see.

Separately, just as an observation: empty Titles and Captions still come through as <div></div> with the new template. They are inside CDATA so nothing breaks - only mentioning it in case it was meant to be covered too.

Thanks again (Jos and Steven) for turning this around so quickly.

Re: Lightroom Classic plug-in stopped working

... is there a case for also passing linkURL through the escape_xml function...

Yes, absolutely. The <div></div> needs to be replaced (so clean_url is required) but passing the linkURL through escape_xml is a more robust solution (although if the linkURL contains any characters that need to be escaped, then this would likely point towards a badly formed link and escaping, whilst preserving the validity of the XML syntax, would hide the bad link).

As you point out, the <div></div> is not removed from the title or caption as, not only is this safe (as the title and caption are both enclosed within CDATA), but an empty <div> has exactly the same visual output in the gallery as an empty string (so there's really no need for removal here).

Incidentally, I found that Lightroom now enters "untitled" elsewhere (I can't actually remember where right now) instead of an empty string so I included this in the function so that it could be used elsewhere in the code if necessary to deal with all empty instances (although, admittedly, the name of the function should probably be renamed to be more general than just a URL cleaner).

I just wanted to get a quick fix out there for anyone using the Juicebox Plugin for Lightroom.
Some refinement might be required for a new release but, as long as the linkURL contains a valid link, there should be no problem with the file I posted above.

Thank you for your input. It's very much appreciated.