== Major JUCE features and updates == This file just lists the more notable headline features. For more detailed info about minor changes and bugfixes, please see the git log! 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.