What's new in JUCE 7.0.12
Apr 15, 2024
- Fixed an issue with timers in Pro Tools
- Fixed an issue with Projucer Xcode code signing
New in JUCE 7.0.11 (Mar 26, 2024)
- Fixed an issue with paths containing a tilde in Xcode
- Multiple fixes for plug-in deployment and code signing in Xcode
- Fixed an issue painting an empty RectangleList
- Improved the performance of TreeView rendering
New in JUCE 7.0.10 (Feb 12, 2024)
- Fixed multiple issues selecting devices in AudioDeviceSelector
- Updated the bundled Oboe version
- Fixed multiple issues with Timer
- Updated the bundled version of FLAC
- Added configuration options for sockets
- Added new JSON::Formatter
- Added support for Xcode 15.1
- Update OpenGL compatibility headers
- Added ChildProcessManager
- Fixed multiple MIDI-CI issues
New in JUCE 7.0.9 (Nov 20, 2023)
- Added MIDI-CI support
- Added enumerate utility function
- Fixed a macOS/iOS CMake signing issue
New in JUCE 7.0.8 (Oct 19, 2023)
- Added Xcode 15, macOS Sonoma and LLVM 17 compatibility
- Added serialisation tools
- Fixed some VST3 manifest generation issues
- Fixed a MessageManager locking bug
- Fixed GCC 7 VST3 support
- Fixed some SVG scaling issues
New in JUCE 7.0.7 (Aug 23, 2023)
- Fixed some issues with VST3 manifest generation
- Fixed a Metal layer rendering issue
- Fixed an issue setting realtime thread priorities
- Fixed a crash in VirtualDesktopWatcher
- Fixed an AUv3 bundling problem
New in JUCE 7.0.6 (Aug 3, 2023)
- Added support for VST3 bundles and moduleinfo.json
- Improved message box dismissal
- Improved WebView support
- Updated to the latest VST3 and AAX SDKs
- Fixed some Metal layer rendering issues
- Improved ambisonic support
- Improved machine ID support
- Improved the HighResolutionTimer implementation
New in JUCE 7.0.5 (Jan 26, 2023)
- Fixed Windows 7 compatibility
- Fixed dark mode notifications on macOS
- Improved the performance of AudioProcessorGraph
New in JUCE 7.0.4 (Jan 5, 2023)
- Improved Metal device handling
- Adopted more C++17 features
- Improved input handling on macOS and iOS
- Fixed a GUI display issue on Linux
- Fixed some compiler warnings
New in JUCE 7.0.3 (Nov 29, 2022)
- Added a unique machine ID
- Added new threading classes
- Improved the performance of multiple OpenGL contexts
- Refactored AudioProcessorGraph
- Improved AudioDeviceManager sample rate handling
- Fixed Studio One drawing performance
- Updated the FLAC library
New in JUCE 7.0.2 (Aug 15, 2022)
- Fixed accessibility table navigation
- Fixed Android file access on older APIs
- Improved Linux VST3 threading
- Improved ARA integration
New in JUCE 7.0.1 (Jul 5, 2022)
- Fixed some Xcode and MSVC compiler warnings
- Improved VST3 bus configuration and channel handling
- Fixed some Metal layer rendering bugs
New in JUCE 7.0.0 (Jun 21, 2022)
- Added Audio Random Access (ARA) SDK support
- Added support for authoring and hosting LV2 plug-ins
- Added a default renderer for macOS and iOS
- Added new macOS and iOS rendering options
- Added hardware synchronised drawing on Windows, macOS and iOS
- Updated the Android billing and file access APIs
- Revamped AudioPlayHead functionality
- Improved accessibility support
New in JUCE 6.1.6 (Mar 1, 2022)
- Improved the handling of AU multichannel layouts
- Added JUCE_NODISCARD to builder-patten functions
- Added recursion options to DirectoryIterator
- Unified the loading of OpenGL 3.2 core profiles
- Improved macOS full-screen behaviour with non-native titlebars
New in JUCE 6.1.5 (Jan 28, 2022)
- Improved the accessibility framework
- Added handling of non-Latin virtual key codes on macOS
- Improved X11 compatibility
- Updated the iOS in-app purchases workflow
- Improved macOS windowing behaviour
- Improved MinGW-w64 compatibility
- Added an MPEKeyboardComponent class
New in JUCE 6.1.4 (Dec 20, 2021)
- Restored Projucer project saving behavior
- Fixed a CGImage memory access violation on Monterey
- Improved macOS thread priority management
New in JUCE 6.1.3 (Dec 8, 2021)
- Added support for Visual Studio 2022 to the Projucer
- Added support for creating OpenGL 3.2 contexts on Windows
- Added support for plugin hosts to easily retrieve stable parameter IDs
- Added high-resolution image support to DragAndDropContainer
- Added support for a wider range of frame-rates in plugins and hosts
- Made Font and TypefaceCache threadsafe, to allow font rendering on background threads
- Improved FlexBox compatibility with the CSS FlexBox specification
- Improved macOS 12 compatibility, including OpenGL and FileChooser fixes
- Improved accessibility support
New in JUCE 6.1.2 (Sep 20, 2021)
- Fixed an OpenGL display refresh rate issue on macOS
- Improved the scaling behaviour of hosted VST3 plug-ins
- Improved accessibility support
New in JUCE 6.1.1 (Sep 9, 2021)
- Fixed a CMake installation issue
- Improved parameter value loading after plug-in restarts
- Fixed some problems with multi-line text layouts
- Added a fallback for modal native message boxes on Windows
- Fixed an issue setting OpenGL repaint events
- Improved accessibility support
New in JUCE 6.1.0 (Aug 23, 2021)
- Added accessibility support
- Enabled use of VST3 plug-in extensions
- Improved OpenGL function loading
- Updated to C++14
- Added support for macOS Monterey and iOS 15
- Added async versions of all modal functions
- Fixed some VST3 threading issues
- Added cross-platform-compatible VST3 UID hash
- Improved MinGW compatibility
- Fixed some issues with BufferingAudioReader
- Improved TextEditor repainting
- Added support for larger ASIO buffers
- Updated Android Oboe to 1.6.1
- Improved modal dismissing
- Improved assertion handling on macOS ARM
New in JUCE 6.0.8 (Mar 22, 2021)
- Fixed a macOS graphics invalidation region issue
- Improved the handling of modal dialog dismissal
- Fixed audio glitching in CoreAudio before microphone permission is granted
- Improved AUv3 resizing and initialisation
- Fixed some string to double conversions
- Improved iOS split view behaviour
- Added Display::safeAreaInserts
- Improved assertion behaviour on macOS ARM
- Multiple resizing and display scaling fixes
- Added more information to audioProcessorChanged callbacks
- Fixed some DSP convolution issues
- Added host detection on macOS ARM
New in JUCE 6.0.7 (Jan 15, 2021)
- Fixed a macOS drawing issue
- Updated the DemoRunner bundle ID
New in JUCE 6.0.6 (Jan 13, 2021)
- Moved to the new CoreMIDI API on supported platforms
- Added support for the "New Build System" in Xcode
- Made the audio format readers more robust
- Improved the HiResTimer implementation
- Fixed a VST3 program parameter issue
- Updated to Oboe 1.5 on Android
New in JUCE 6.0.5 (Dec 1, 2020)
- Added more support for styling PopupMenus
- Fixed some race conditions in the IPC and name named pipe classes
- Implemented multiple FileChooser improvements
- Added compatibility with the latest Android SDK
- Prevented CoreAudio glitches before accepting audio access permissions
- Made reading MIDI and audio files more robust
New in JUCE 6.0.4 (Oct 14, 2020)
- Improved the Projucer update mechanism
- Fixed an AUv3 parameter normalisation issue
- Fixed WASAPI exclusive mode sample rate selection bug
- Fixed a Linux build issue when omitting ALSA
New in JUCE 6.0.3 (Oct 5, 2020)
- Fixed version numbers in project files
New in JUCE 6.0.2 (Oct 5, 2020)
- Added support for macOS 11 and arm64
- Added Windows IAudioClient3 support for low latency audio drivers
- Added Windows and macOS precompiled header support in the Projucer
- Improved accessibility support in the macOS menu bar
- Fixed VST3 hosting for plug-ins requiring persistent DLL loads
- Updated macOS camera capture API
- Improved resave diffs in Projucer project files
- Fixed some Linux JACK issues
New in JUCE 6.0.0 (Jun 29, 2020)
- Added support for building JUCE projects with CMake
- Revamped the DSP module
- Added VST3 support on Linux
- Added support for the latest webview components on macOS/iOS and Windows
- Removed the sign-in requirement, app reporting and analytics from the Projucer
- Added support for running headlessly on Linux
- Bundled Oboe source in JUCE and made it the default audio device on Android
- Various Oboe stability improvements
- Various Projucer UI improvements
- Added HWNDComponent for embedding native HWNDs on Windows
- Added support for all camera names on macOS
- Added support for building with Clang on Windows
- Modified MidiMessageCollector to preallocate storage
- Modified AudioProcessorGraph to allow extracting nodes
- Refactored the APVTS parameter attachment classes and added a new ParameterAttachment class
- Added IPP FFT implementation
- Added all example plugins as internal nodes in AudioPluginHost project
- Removed JuceHeader requirement from Projucer projects
- Added support for legacy CC output events
- Added MidiBuffer::Iterator class compatible with C++11 range-for
- Added RangedDirectoryIterator class compatible with C++11 range-for
- Provided range-for comaptibility for String class
- Windows and Linux hiDPI scaling improvements
- Various bug-fixes, improvements and documentation updates
New in JUCE 5.4.7 (Feb 10, 2020)
- Fixed a potential NullPointerException in the Android IAP code
- Fixed an entitlements file generation bug in the Projucer
- Send VST2 audioMasterUpdateDisplay opcode on the message thread to fix some hosts not updating
- Fixed some build errors and warnings when using Clang on Windows
- Changed the default architecture specified in Linux Makefiles generated by the Projucer
New in JUCE 5.4.6 (Feb 4, 2020)
- Fixed compatibility with macOS versions below 10.11
- Multiple thread safety improvements
- Added dynamic parameter and parameter group names
- Updated to the latest Android In-App Purchases API
- Improvements to the Windows message queue under high load
- Replaced WaitableEvent internals with std::condition_variable
- Fixed some macOS text alignment issues
New in JUCE 5.4.4 (Aug 12, 2019)
- Improvements to floating point number printing
- Faster plug-in parameter indexing
- Added support for persisting attachements to MIDI devices
- Refactored Linux event loop handling
- Multiple C++ modernisation improvements to the API
- Added support for macOS 10.55 and iOS 13
- Added support for Visual Studio 2019
- Removed support for Visual Studio 2013
New in JUCE 5.4.3 (Feb 21, 2019)
- Added a Visual Studio 2019 exporter to the Projucer
- Added options to configure macOS Hardened Runtime in the Projucer
- Fixed a potential memory corruption when drawing on macOS/iOS
- Fixed file drag and drop for Windows 8
- Multiple DSP module enhancements
- Various bug-fixes, improvements and documentation updates
New in JUCE 5.4.2 (Feb 7, 2019)
- Restructed the low-level Android native code
- Added an ADSR envelope class
- AudioProcessorValueTreeState performance improvements
- Improved Xcode 10 support
- Improved VST3 hosting
- Windows hiDPI scaling enhancements
New in JUCE 5.4.1 (Nov 12, 2018)
- Fixed a VST2 compilation error in VS2013
- Projucer: Fixed some live-build compilation errors
- Fixed a bug in the Oversampling class
- MPE: Made MPESynthesiserVoice::noteOnTime public
- Fixed some bugs in the Unity plug-in wrapper
- Fixed some VS2015 compiler errors
New in JUCE 5.4.0 (Nov 7, 2018)
- macOS Mojave and iOS 12 support
- Windows hiDPI support
- Unity native plug-in support
- Microsoft BLE MIDI support
- Plug-in parameter groups
- Support for production-ready Android OBOE
- Video playback support on Android and iOS
- AudioProcessorValueTreeState improvements
- Support for Android Studio 3.2
- Various bug-fixes, improvements and documentation updates
New in JUCE 5.3.2 (May 10, 2018)
- Removed the OSX 10.5 and 10.6 deployment target options from the Projucer and enabled more C++11 features across all platforms
- -Replaced all usage of ScopedPointer with std::unique_ptr
- Added camera support for iOS and Android
- Fixed some issues using an UndoManager with an AudioProcessorValueTreeState
- Added MIDI input to IAA plug-ins
- Made multiple calls to MidiInput::openDevice share the same underlying win32 MIDI handle
- Added a config flag to juce_audio_processors for enabling LADSPA plugin hosting and enabled it in the AudioPluginHost
- Added a "plug-in can do" callback to the VSTCallbackHandler interface
- Fixed various undefined behavior in SIMDRegister
- Added the methods AudioBlock::copyTo/AudioBlock::copyFrom which facilitate copying to/from an AudioBuffer
- Added a lambda callback to OpenGLGraphicsContextCustomShader to allow custom set-up when the shader is activated
- Fixed a bug causing an unintentional menu item highlight disco party when using a popup menu in a plug-in's UI
- Marked as deprecated: String::empty, var::null, File::nonexistent, ValueTree::invalid and other problematic statically-initialised null values
New in JUCE 5.3.0 (Mar 15, 2018)
- Added support for Android OBOE (developer preview)
- Updated JUCE's MPE classes to comply with the new MMA-adopted specification
- Multiple documentation updates
- Restructed the examples and extras directories and updated all JUCE examples
- Multiple hosted parameter improvements
- Overhauled the GenericAudioProcessorEditor
- Added support for a subset of the Cockos VST extensions
- Added support for loading VST3 preset files
- Added boolean AudioProcessorParameters
- Added thread safe methods for getting and setting the AudioProcessorValueTreeState state
- Added customisable MacOS icons
New in JUCE 5.2.1 (Feb 9, 2018)
- Added native content sharing support for iOS and Android
- Added iOS and Android native file chooser support
- Implemented WebBrowserComponent on Android
- Added SystemStats::getDeviceManufacturer()
- Ensured that JUCE will always use the high-performance audio path on Android if the device supports it
- Added memory warning callbacks on iOS
- Refactored iOSAudioDevice to support multi-channel audio devices and improve the handling of sample rate changes from other apps
- Added SidePanel and BurgerMenu component classes
- Added PushNotifications support on OSX
- Added support for VST3 SDK 3.6.8
- Added support for loading VST3 preset files
- Added higher-order ambisonics support
- Added thread safe methods for getting and setting the AudioProcessorValueTreeState state
- Cleanup and refactoring work on the AudioProcessorGraph and the audio plugin host demo
- Changed the default language standard for new projects from C++11 to C++14 and set all JUCE projects to use C++14
- Made the ScopedPointer interface more compatible with std::unique_ptr
- Changed Windows projects to use dynamic runtime linking by default
- Added lambda callbacks to ListenerList, Slider, Button, Label, ComboBox and TextEditor
- Fixed the live-build engine on Windows
- Multiple DSP module fixes and features
- Multiple threading and undefined behaviour fixes and improvements
- Various graphics optimisations
- Multiple Projucer UI and UX improvements
- Various documentation tweaks and fixes
New in JUCE 5.2.0 (Oct 27, 2017)
- Added a CMake exporter to the Projucer
- JUCE analytics module
- Added support for push notifications on iOS and Android
- Added in-app purchase support for macOS
- Added a plugin binary copy step to the Visual Studio exporter
- Added an option to set the debug information format in the Visual Studio exporter
- Added a link-time optimisation option to all exporters
- Added support for adding asm files to Android projects
- Improved the reliability of the Projucer's live-build engine
- Added support for AUv2 Midi Effect plug-in hosting
- Added support for Atmos 7.0.2 and 7.1.2 Surround formats
- Added support for the OGG sub-format inside a WAV file
- Added support for querying the audio hardware on how many overruns/underruns occurred
- Implement Process::hide on mobile platforms
- Added support for multi-touch drag and drop
- Improved the performance of 3D rendering when multiple OpenGL contexts are used at the same time
- Tweaked the rate at which EdgeTable grows its internal storage, to improve performance rendering large and complex paths