I have a legacy project that uses a modified JUCE 1.46. I’m working on migrating it to newer versions. I need to find the original version of 1.46 to compare and identify the changes made to JUCE. Where can I find it?
Have you looked at the JUCE GitHub repository? The oldest tag that I found there is 1.5.1, maybe that’s also a good starting point? However, I expect that you’ll be facing a lot of work there…
Yes, I saw it. But when I compare version 1.51 and 1.46, the result is not useful.The folder structure is different between 1.46 and 1.51. So using diff does not give good result. Also I cant be sure if any class is removed or not. Like a class named “juce::PopupMenuCustomComponent” in my JUCE 1.46 code.
To be honest, changes from JUCE 1.46 to 1.51 are probably minor compared to the changes you are facing when updating the project to the current version which is 7.0.7 at the time of writing.
The juce folder structure has changed massively over the years and so did the way JUCE projects are built (e.g. Projucer/CMake, the module approach and unity builds), so I think trying to track all relevant changes that happened in 13 years via git diff will not work. Still I think that some core classes still exist, so chances are there that the project can be ported.
In theory, you could go and gradually upgrade juce from version to version and make changes to your project to get it build again. The problem here is that you need ancient build environments in order to build all those intermediate versions, which will probably be not an easy task (maybe the easiest environment for that could be some linux system…).
My approach would be to create a new JUCE project with the current juce version and gradually port your old project files step by step to make them build and run in a current JUCE environment. Even if it’s considered bad practice nowadays, you will probably be quicker if you are enabling
using namespace juce since in that release, JUCE classes were not namespaced. Are you familiar with current JUCE projects?
If you really want to look at the source code for version 1.46, I think this is a good candidate:
Despite the commit lacking a description message, if you look at the changes made to the file “JUCE changelist.txt”, you will see that this is the commit that adds the version number “1.46” to that file.
thank you so much