# JucePlugin\_ARADocumentArchiveID flag update in the projucer

**URL:** <https://forum.juce.com/t/juceplugin-aradocumentarchiveid-flag-update-in-the-projucer/53726>\
**Category:** The Projucer\
**Created:** [November 14, 2022, 9:44am UTC](https://forum.juce.com/t/juceplugin-aradocumentarchiveid-flag-update-in-the-projucer/53726 "2022-11-14T09:44:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lalala](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/lalala/32/8577_2.png) [@lalala](https://forum.juce.com/u/lalala)\
**Post date:** [November 14, 2022, 9:44am UTC](https://forum.juce.com/t/juceplugin-aradocumentarchiveid-flag-update-in-the-projucer/53726/1 "2022-11-14T09:44:48Z")

</div>

I don’t know if that important or not (I don’t use ARA), but I noticed that changing the “project version number” and resaving/reexporting does not update the flag `JucePlugin_ARADocumentArchiveID` in `JuceLibraryCode/JucePluginDefines.h`.

say `JucePlugin_ARADocumentArchiveID` is `com.MyCompany.MyPlugin.aradocumentarchive.1.0.0`  
If you set the version to 2.0.0 and resave/export, the flag isn’t updated.

You have to close and re-open the projucer project after saving and before re-exporting for the new version number to be taken into account and `JucePlugin_ARADocumentArchiveID` to be changed to `com.MyCompany.MyPlugin.aradocumentarchive.2.0.0`

---

<div class="post-metadata">

**Author:** ![frankfilipanits](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/frankfilipanits/32/545_2.png) [@frankfilipanits](https://forum.juce.com/u/frankfilipanits)\
**Post date:** [May 19, 2026, 9:40pm UTC](https://forum.juce.com/t/juceplugin-aradocumentarchiveid-flag-update-in-the-projucer/53726/2 "2026-05-19T21:40:06Z")

</div>

I got tired of this annoyance so patched Projucer in my fork. It’s a simple fix.

In jucer\_project.h, add:

```cpp
   void updateVersionDependencies();

```

In jucer\_project.cpp, add:

```cpp
void Project::updateVersionDependencies()
{
    pluginARAArchiveIDValue.setDefault(getDefaultARADocumentArchiveID());
}

```

and insert in Project::valueTreePropertyChanged() where the other UpdateXXXDependencies() are around line 1100:

```cpp
        else if (property == Ids::version)
        {
            updateVersionDependencies();
        }

```

---

<div class="post-metadata">

**Author:** ![reuk](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/reuk/32/21494_2.png) [@reuk](https://forum.juce.com/u/reuk)\
**Post date:** [May 22, 2026, 5:08pm UTC](https://forum.juce.com/t/juceplugin-aradocumentarchiveid-flag-update-in-the-projucer/53726/3 "2026-05-22T17:08:54Z")

</div>

I don’t think the Projucer is doing the right thing at the moment, but I’m also not sure about the proposed solution. The docs for the document archive ID say:

> This ID must be globally unique and is shared only amongst document controllers that create the same archives and produce the same render results based upon the same input data. This means that the ID must be updated if the archive format changes in any way that is no longer downwards compatible.

I think it’s pretty reasonable for the version to remain constant until the user explicitly updates it, especially since the user will probably need to update the list of compatible IDs when the main archive ID changes.

We’ve made some changes on the juce9 branch to address these points.

This commit implements the suggestion to immediately update the default archive ID when the version number is changed:

> <https://github.com/juce-framework/JUCE/commit/2162381487b683ac494784bf316fa87a75e22004>

This subsequent commit saves the archive ID to the jucer file, so that any future archive ID updates must be made explicitly by the user:

> <https://github.com/juce-framework/JUCE/commit/e5067a64f20219525c57d0b509a4a8ae37285d8c>

This final commit is a quality-of-life change to immediately show/hide the ARA-related properties when ARA is enabled/disabled:

> <https://github.com/juce-framework/JUCE/commit/a5e22307d0e58a687739326c4cd1ba875f5e3160>

---

<div class="post-metadata">

**Author:** ![frankfilipanits](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/frankfilipanits/32/545_2.png) [@frankfilipanits](https://forum.juce.com/u/frankfilipanits)\
**Post date:** [May 22, 2026, 6:34pm UTC](https://forum.juce.com/t/juceplugin-aradocumentarchiveid-flag-update-in-the-projucer/53726/4 "2026-05-22T18:34:43Z")

</div>

Thank you for integrating a fix. I don’t use ARA, but based on the docs you quote I find it odd that the default ARA ID references the project version at all, instead of being a user-defined field with a basic default as is the case with the Bundle Identifier or Plugin AU Export Prefix. Presumably there is some reason it was done that way initially?
