|
- == Major JUCE features and updates ==
-
- This file just lists the more notable headline features. For more detailed info
- about changes and bugfixes please see the git log and BREAKING-CHANGES.txt.
-
- Version 6.1.2
- - Fixed an OpenGL display refresh rate issue on macOS
- - Improved the scaling behaviour of hosted VST3 plug-ins
- - Improved accessibility support
-
- Version 6.1.1
- - 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
-
- Version 6.1.0
- - 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
-
- Version 6.0.8
- - 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
-
- Version 6.0.7
- - Fixed a macOS drawing issue
- - Updated the DemoRunner bundle ID
-
- Version 6.0.6
- - 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
-
- Version 6.0.5
- - 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
-
- Version 6.0.4
- - 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
-
- Version 6.0.3
- - Fixed version numbers in project files
-
- Version 6.0.2
- - 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
-
- Version 6.0.1
- - Fixed a bug in the Projucer GUI editor causing existing code to be overwritten
- - Updated Android Oboe to 1.4.2
- - Bumped default Android Studio gradle and plugin versions to the latest
- - Fixed some Android Oboe and OpenSL issues
- - Fixed some Doxygen parsing issues
- - Fixed MIDI input/output bus enablement in VST3 plug-ins
- - Improved Windows Clang compatibility
- - Fixed GCC 4.8 and 5.0 compatibility
- - Fixed some VST3 build errors and warnings on Linux
- - Fixed dynamically loaded X11 library names on Linux
- - Fixed Projucer CLion exporter generated CMakeLists.txt
- - Fixed drag and drop for non-DPI aware plug-ins on Windows
-
- Version 6.0.0
- - 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
-
- Version 5.4.7
- - Fixed a macOS focus bug causing Components to not receive mouse events
- - 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
-
- Version 5.4.6
- - 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
-
- Version 5.4.5
- - Improved message queue performance on Linux
- - Added missing lifecycle callbacks on Android Q
- - Refactored the AudioBlock class
- - Fixed APVTS parameter update recursion
- - Updated Bela code to support latest release
- - Fixed issues drawing italicised text on macOS
- - Fixed broken back button behaviour on Android
- - Added Bluetooth permissions settings needed for iOS 13.0+ to the Projucer
- - Replaced select() calls with poll()
- - Various bug-fixes, improvements and documentation updates
-
- Version 5.4.4
- - 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.15 and iOS 13
- - Added support for Visual Studio 2019
- - Removed support for Visual Studio 2013
-
- Version 5.4.3
- - 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
-
- Version 5.4.2
- - Restructured 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
-
- Version 5.4.1
- - Fixed a VST2 compilation error in VS2013
- - Fixed some live-build compilation errors in the Projucer
- - Fixed a bug in the Oversampling class
- - Made MPESynthesiserVoice::noteOnTime public
- - Fixed some bugs in the Unity plug-in wrapper
- - Fixed some VS2015 compiler errors
-
- Version 5.4.0
- - 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
-
- Version 5.3.2
- - 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
-
- Version 5.3.1
- - Add Android and iOS support to AudioPluginHost
- - Added support for Bela in the form of an AudioIODeviceType
- - Add bypass support to both hosting and plug-in client code
- - Added an isBoolean flag to APVTS parameters
- - Re-worked plug-in wrappers to all use new parameter system via LegacyAudioParameter wrapper class
- - Fixed an issue where opening the same midi device twice would cause a crash on Windows
- - Deprecated MouseInputSource::hasMouseMovedSignificantlySincePressed() and replaced with more descriptive methods
- - Added support for relative or special path symbolic links when compressing/uncompressing zip archives and creating/reading files
- - Ensured that File::replaceInternal does not fail with ACL errors on Windows
- - Merged-in some Ogg-Vorbis security fixes
- - Fixed a bug which would prevent a SystemTrayIconComponent from creating a native popup window on macOS
- - Various Android and iOS fixes
- - Added a "PIP Creator" utility tool to the Projucer
- - Added options for setting plugin categories and characteristics with MultiChoicePropertyComponent in the Projucer
- - Fixed a Projucer bug where the OSX base SDK version was not being set
- - Added a command-line option to use LF as linefeeds rather than CRLF in the Projucer cleanup tools
- - Multiple documentation updates
-
- Version 5.3.0
- - Added support for Android OBOE (developer preview)
- - Updated JUCE's MPE classes to comply with the new MMA-adopted specification
- - Multiple documentation updates
- - Restructured 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
-
- Version 5.2.1
- - 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
-
- Version 5.2.0
- - 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
-
- Version 5.1.2
- - Fixed multiple plugin-resizing bugs
- - Added support for AUv3 MIDI and screen size negotiation
- - Added support for Xcode 9 and iOS 11
- - Added an In-App Purchases module
- - Added backwards compatible constexpr support
- - Standalone plug-in improvements
- - Better .jucer file change monitoring in the Projucer
- - Increased the speed of AU parameter lookup
- - Improved the Android thread management when dealing with web requests
- - Better denormal support
- - Plug-in parameters can be explicitly marked as continuous or discrete
- - Multiple documentation updates
-
- Version 5.1.1
- - Fixed Windows live build engine on Visual Studio 2017
- - Fixed a compiler error in juce_MathFunctions.h in Visual Studio 2013
- - Fixed a potential crash when using the ProcessorDuplicator
- - Fixed a compiler-error in Filter::IIR
- - Fixed an issue where the WavFileFormatWriter could not create files with discrete channels
- - Fixed an issue where a window which is beneath a hidden window would not receive any clicks on Linux
- - Altered the format of BREAKING-CHANGES.txt to display better on GitHub
- - Projucer: Fixed an issue in exporter tilde expansion
- - Fixed compiler errors when building the DSP module with a static version of FFTW
- - Fixed an audio glitch when bypassing the convolution engine
- - Fixed an issue where a JUCE VST2 would not correctly report that it supports resizing of it’s plugin editor
- - Various documentation tweaks and fixes
-
- Version 5.1.0
- - Release of the JUCE DSP module
- - Multichannel audio readers and writers
- - Plugin editor Hi-DPI scaling support
- - Major improvements to Projucer module search paths
- - Added Projucer support for iOS app groups
- - Added support for AVFoundation and deprecated the use of Quicktime
- - Added a new real-time audio thread priority for Android
- - Various Projucer UI fixes
- - Various documentation fixes
- - Various minor improvements and bug fixes
-
- Version 5.0.2
- - Improved project save speed in the Projucer
- - Added option to save individual exporters in the Projucer
- - Added the ability to create custom colour schemes for the Projucer’s code editor
- - Minor fixes to JUCE’s SVG parser
- - Various bug fixes in the way JUCE handles Hi-DPI monitors
- - Improved code browsing in Visual Studio Exports
- - Improved the handling of audio device buffer size changes on iOS
- - Fixed bug in the Win32 FileChooser dialog when selecting a nonexistent root drive
- - Fixed a Projucer crash when saving projects with no targets
- - Fixed a bug where Projucer generated Makefiles would not trigger a recompilation when header files had changed
- - The standalone plugin target is now compatible with effect plug-ins
- - Fixed an issue where it was not possible to use the live build engine on plugin projects
- - Improved the way the Projucer’s live-build engine searches for platform headers on Windows
- - Fixed an issue where the Projucer would complain about not having internet even if the user had a license
- - Fixed a use-after-free in the AUv3 wrapper
- - Fixed an issue where the channel layout would not be reported correctly in the AUv3 wrapper
- - Fixed a potential memory overrun issue when hosting VST2 plugins with more than eight channels
- - Fixed a problem with the Mac main menu bar showing menus in the wrong position
- - Various Projucer UI fixes
- - Various documentation fixes
- - Various minor improvements and bug fixes
-
- Version 5.0.1
- - Fixed Windows live build engine on Visual Studio 2017
- - Fixed memory-leak in Projucer live build engine
- - Fixed an issue where you could not paste your redeem serial number with Cmd+V on macOS
- - Fixed an issue where the Projucer would crash on linux due to missing symbols in WebKit
- - Minor Projucer UI improvements
- - Various minor improvements and bug fixes
-
- Version 5.0.0
- - New licensing model
- - Projucer UI/UX overhaul
- - New look and feel (version 4)
- - New standalone plug-in format
- - Added support for Visual Studio 2017
- - Added support for VST3 SDK 3.6.7
- - Added support for Apple Inter-App Audio on iOS
- - Various Android stability and performance improvements
- - Added support for non-experimental gradle plug-in versions >= 2.2 and Android Studio 2.3
- - Added support for closed-source third-party modules
- - Added support for Windows 10 Bluetooth LE MIDI devices
- - Modernised JUCE codebase to use C++11/14 features
- - Added support for Linux embedded platforms
- - Added support for WebBrowserComponent on Linux
- - Added support for IPv6
- - Various minor improvements and bug fixes
- - Various documentation improvements
-
- Version 4.3.1
- - Added support for iOS download tasks
- - Added support for AAX plug-in meters
- - Added support for dynamically disabling/enabling sidechains in ProTools
- - Re-introduced support for VST3 plug-ins reporting which VST2 plug-in they can replace
- - Added withRightX and withBottomY methods to Rectangle
- - Added support for windows 10 on screen keyboard
- - Added move semantics to AudioBuffer
- - Added colour coding scheme to module icons in the Projucer to indicate which type of license a module uses
- - Removed all deprecation warnings for macOS Sierra
- - Fixed multiple touch, pen and mouse input related bugs on Windows
- - Added submenu support to ComboBoxes and simplified the usage of ComboBoxes
- - Various minor improvements and bug fixes
- - Various documentation improvements
-
- Version 4.3.0
- - Added API and examples for ROLI Blocks
- - Multiple Projucer live-build UI and diagnostics improvements
- - JUCE now supports hosting multi-bus plug-ins
- - BufferingAudioSource now supports pre-buffering (useful for offline processing)
- - Added microphone permissions switch to Projucer for iOS targets
- - Standalone wrappers now correctly save and restore midi settings
- - Various performance improvements to BigInteger
- - Fixed various FlexBox bugs
- - Added a workaround for the broken “Open Recent…” menu on os x
- - Various minor improvements and bug fixes
- - Various documentation improvements
-
- Version 4.2.4
- - Pre-release of live build engine on Windows
- - Added FlexBox layout engine
- - Removed dependency on external Steinberg SDK when building and/or hosting VST2 plug-ins
- - Added support for MIDI network sessions in the iOS simulator
- - Added support for symmetric skew to Slider, NormalisableRange and SliderPropertyComponent
- - Projucer now asks the user what to do when it detects that the .jucer file was modified outside of the Projucer
- - Improved support for Windows 10 touch devices
- - Added begin/end iterator methods for ValueTree, for handy range-based-for loops over its children
- - Added support for recent mingw-w64 compilers
- - Added useful proportional Rectangle utility methods
- - Significantly improved the performance of BigInteger
- - Added support for expiring licenses to juce_tracktion_marketplace
- - Added support for retina mouse cursors on OS X
- - Added a new low-quality mode for the CameraDevice
- - Added pkg-config support for Linux
- - Projucer will now wrap your AAX plug-in in the bundle format expected Pro Tools on Windows
- - Multiple bug-fixes for AudioUnit parameter ids
- - Fixed a bug where AlertWindows weren’t always on top
- - Multiple fixes for web InputStreams
- - Various improvements to the live build engine
- - Various minor improvements and bug fixes
- - Various documentation improvements
-
- Version 4.2.3
- - Various VST3 improvements: resizing VST3 windows, plug-in compatibility issues
- - Use NSURLSession on newer OS X versions
- - Add compatibility for VST 3 SDK update 3.6.6
- - Miscellaneous fixes and improvements
-
- Version 4.2.1
- - New class CachedValue, for providing easy and efficient access to ValueTree properties
- - Reduced audio plug-in binary sizes on OS X and added symbol-stripping option
- - Miscellaneous fixes and improvements
-
- Version 4.2
- - Added support for AudioUnit v3 on OS X and iOS
- - Simplified the JUCE module format. Removed the json module definition files, and made
- it easier to manually add modules to projects. The format is fully described in the
- document juce/modules/JUCE Module Format.txt
- - iOS project support: added custom resource folders, custom xcassets, app capabilities,
- and screen orientation settings.
- - Deleted the Introjucer.. But don't panic! All of its functionality is now supplied by a
- more open-source version of the Projucer. By refactoring the closed-source LLVM compilation
- code into a DLL, we've been able to unify the Introjucer and Projucer into a single
- open-source project. This will allow everyone to compile the Projucer's IDE themselves, and
- having just one app instead of two will make things a lot less confusing!
-
- Version 4.1
- - Added multi-bus support for audio plug-in clients
- - Added support for MIDI effect plug-ins (AU and AAX).
- - Added new example: Network Graphics Demo
-
- Version 4.0.3
- - Added MPE (Multidimensional Polyphonic Expression) classes
- - Added full support for generating and parsing Midi RPN/NRPN messages
- - Made the LinearSmoothedValue class public
- - Miscellaneous fixes and minor improvements
-
- Version 4.0.2
- - Miscellaneous fixes and house-keeping
-
- Version 4.0.1
- - Initial release of the Projucer!
- - Full OSC support!
- - Android Studio exporting from the Introjucer
- - Android-M pro-audio low-latency i/o support
- - Bluetooth MIDI device support on iOS and Android
- - AudioSampleBuffer refactored into a templated class AudioBuffer, to allow
- 32 or 64 bit float support
- - Audio plugin and hosting now supports 64-bit data
- - Support for force-touch and pen pressure on iOS and Windows
- - Added easy sound-file playing methods to AudioDeviceManager
- - Many updates to Introjucer
- - Many new tutorials and examples
-
- Version 3.3.0
- - New functions for Base64 conversion
- - New command-line options in the introjucer for trimming whitespace and
- replacing tabs in source files
-
- Version 3.2.0
- - Major OpenGL performance/stability improvements
- - Performance improvements to FloatVectorOperations math functions
- - New FloatVectorOperations: abs, min, max, addWithMultiply, clip
- - Midi channel pressure support
- - New example projects ComponentTutorialExample, SimpleFFTExample,
- PluckedStringsDemo
- - New class ValueTreeSynchroniser, for remote-syncing multiple
- ValueTrees
- - HTTPS/SSL support on Linux
- - Added methods for degrees to radians conversions
- - Added Neon instruction set support for Android targets
- - JUCE ValueTree performance improvements
- - Linux and Android multi-monitor HiDPI support
- - Support the “display=none” attribute in SVG files
- - Support for text elements in SVG files
- - Added Whirlpool hash class to the cryptography module
- - Various improvements for parameter automation in VST, VST-3,
- AudioUnits and AAX
- - Various improvements to JUCE Synthesiser
- - Linux Code::Blocks project support
- - Multicast support
- - Add support to generate project version numbers from project git tags
- - Various updates to example projects
- - Stability improvements to re-order and resize code of plug-in windows
- - Support for external third-party native libraries on Android
- - Introjucer’s auto-update now displays release notes
- - Various Introjucer usability improvements
- - Support for in-memory fonts on Android
- - New FFT class
- - WASAPI exclusive mode support
- - More C++11 feature support macros
- - Performance improvements to XML parsing
- - Add compatibility for AAX SDK 2.2.0
- - Added parameters to the ValueTree::Listener::valueTreeChildRemoved()
- and valueTreeChildOrderChanged() methods to include more info about
- exactly what changed
- - Over 400 minor changes, bug-fixes, documentation improvements, etc.
|