The JUCE cross-platform C++ framework, with DISTRHO/KXStudio specific changes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

304 lines
15KB

  1. == Major JUCE features and updates ==
  2. This file just lists the more notable headline features. For more detailed info
  3. about minor changes and bugfixes, please see the git log!
  4. Version 5.3.0
  5. - Added support for Android OBOE (developer preview)
  6. - Updated JUCE's MPE classes to comply with the new MMA-adopted specification
  7. - Multiple documentation updates
  8. - Restructured the examples and extras directories and updated all JUCE examples
  9. - Multiple hosted parameter improvements
  10. - Overhauled the GenericAudioProcessorEditor
  11. - Added support for a subset of the Cockos VST extensions
  12. - Added support for loading VST3 preset files
  13. - Added boolean AudioProcessorParameters
  14. - Added thread safe methods for getting and setting the AudioProcessorValueTreeState state
  15. - Added customisable MacOS icons
  16. Version 5.2.1
  17. - Added native content sharing support for iOS and Android
  18. - Added iOS and Android native file chooser support
  19. - Implemented WebBrowserComponent on Android
  20. - Added SystemStats::getDeviceManufacturer()
  21. - Ensured that JUCE will always use the high-performance audio path on Android if the device supports it
  22. - Added memory warning callbacks on iOS
  23. - Refactored iOSAudioDevice to support multi-channel audio devices and improve the handling of sample rate changes from other apps
  24. - Added SidePanel and BurgerMenu component classes
  25. - Added PushNotifications support on OSX
  26. - Added support for VST3 SDK 3.6.8
  27. - Added support for loading VST3 preset files
  28. - Added higher-order ambisonics support
  29. - Added thread safe methods for getting and setting the AudioProcessorValueTreeState state
  30. - Cleanup and refactoring work on the AudioProcessorGraph and the audio plugin host demo
  31. - Changed the default language standard for new projects from C++11 to C++14 and set all JUCE projects to use C++14
  32. - Made the ScopedPointer interface more compatible with std::unique_ptr
  33. - Changed Windows projects to use dynamic runtime linking by default
  34. - Added lambda callbacks to ListenerList, Slider, Button, Label, ComboBox and TextEditor
  35. - Fixed the live-build engine on Windows
  36. - Multiple DSP module fixes and features
  37. - Multiple threading and undefined behaviour fixes and improvements
  38. - Various graphics optimisations
  39. - Multiple Projucer UI and UX improvements
  40. - Various documentation tweaks and fixes
  41. Version 5.2.0
  42. - Added a CMake exporter to the Projucer
  43. - JUCE analytics module
  44. - Added support for push notifications on iOS and Android
  45. - Added in-app purchase support for macOS
  46. - Added a plugin binary copy step to the Visual Studio exporter
  47. - Added an option to set the debug information format in the Visual Studio exporter
  48. - Added a link-time optimisation option to all exporters
  49. - Added support for adding asm files to Android projects
  50. - Improved the reliability of the Projucer's live-build engine
  51. - Added support for AUv2 Midi Effect plug-in hosting
  52. - Added support for Atmos 7.0.2 and 7.1.2 Surround formats
  53. - Added support for the OGG sub-format inside a WAV file
  54. - Added support for querying the audio hardware on how many overruns/underruns occurred
  55. - Implement Process::hide on mobile platforms
  56. - Added support for multi-touch drag and drop
  57. - Improved the performance of 3D rendering when multiple OpenGL contexts are used at the same time
  58. - Tweaked the rate at which EdgeTable grows its internal storage, to improve performance rendering large and complex paths
  59. Version 5.1.2
  60. - Fixed multiple plugin-resizing bugs
  61. - Added support for AUv3 MIDI and screen size negotiation
  62. - Added support for Xcode 9 and iOS 11
  63. - Added an In-App Purchases module
  64. - Added backwards compatible constexpr support
  65. - Standalone plug-in improvements
  66. - Better .jucer file change monitoring in the Projucer
  67. - Increased the speed of AU parameter lookup
  68. - Improved the Android thread management when dealing with web requests
  69. - Better denormal support
  70. - Plug-in parameters can be explicitly marked as continuous or discrete
  71. - Multiple documentation updates
  72. Version 5.1.1
  73. - Fixed Windows live build engine on Visual Studio 2017
  74. - Fixed a compiler error in juce_MathFunctions.h in Visual Studio 2013
  75. - Fixed a potential crash when using the ProcessorDuplicator
  76. - Fixed a compiler-error in Filter::IIR
  77. - Fixed an issue where the WavFileFormatWriter could not create files with discrete channels
  78. - Fixed an issue where a window which is beneath a hidden window would not receive any clicks on Linux
  79. - Altered the format of BREAKING-CHANGES.txt to display better on GitHub
  80. - Projucer: Fixed an issue in exporter tilde expansion
  81. - Fixed compiler errors when building the DSP module with a static version of FFTW
  82. - Fixed an audio glitch when bypassing the convolution engine
  83. - Fixed an issue where a JUCE VST2 would not correctly report that it supports resizing of it’s plugin editor
  84. - Various documentation tweaks and fixes
  85. Version 5.1.0
  86. - Release of the JUCE DSP module
  87. - Multichannel audio readers and writers
  88. - Plugin editor Hi-DPI scaling support
  89. - Major improvements to Projucer module search paths
  90. - Added Projucer support for iOS app groups
  91. - Added support for AVFoundation and deprecated the use of Quicktime
  92. - Added a new real-time audio thread priority for Android
  93. - Various Projucer UI fixes
  94. - Various documentation fixes
  95. - Various minor improvements and bug fixes
  96. Version 5.0.2
  97. - Improved project save speed in the Projucer
  98. - Added option to save individual exporters in the Projucer
  99. - Added the ability to create custom colour schemes for the Projucer’s code editor
  100. - Minor fixes to JUCE’s SVG parser
  101. - Various bug fixes in the way JUCE handles Hi-DPI monitors
  102. - Improved code browsing in Visual Studio Exports
  103. - Improved the handling of audio device buffer size changes on iOS
  104. - Fixed bug in the Win32 FileChooser dialog when selecting a nonexistent root drive
  105. - Fixed a Projucer crash when saving projects with no targets
  106. - Fixed a bug where Projucer generated Makefiles would not trigger a recompilation when header files had changed
  107. - The standalone plugin target is now compatible with effect plug-ins
  108. - Fixed an issue where it was not possible to use the live build engine on plugin projects
  109. - Improved the way the Projucer’s live-build engine searches for platform headers on Windows
  110. - Fixed an issue where the Projucer would complain about not having internet even if the user had a license
  111. - Fixed a use-after-free in the AUv3 wrapper
  112. - Fixed an issue where the channel layout would not be reported correctly in the AUv3 wrapper
  113. - Fixed a potential memory overrun issue when hosting VST2 plugins with more than eight channels
  114. - Fixed a problem with the Mac main menu bar showing menus in the wrong position
  115. - Various Projucer UI fixes
  116. - Various documentation fixes
  117. - Various minor improvements and bug fixes
  118. Version 5.0.1
  119. - Fixed Windows live build engine on Visual Studio 2017
  120. - Fixed memory-leak in Projucer live build engine
  121. - Fixed an issue where you could not paste your redeem serial number with Cmd+V on macOS
  122. - Fixed an issue where the Projucer would crash on linux due to missing symbols in WebKit
  123. - Minor Projucer UI improvements
  124. - Various minor improvements and bug fixes
  125. Version 5.0.0
  126. - New licensing model
  127. - Projucer UI/UX overhaul
  128. - New look and feel (version 4)
  129. - New standalone plug-in format
  130. - Added support for Visual Studio 2017
  131. - Added support for VST3 SDK 3.6.7
  132. - Added support for Apple Inter-App Audio on iOS
  133. - Various Android stability and performance improvements
  134. - Added support for non-experimental gradle plug-in versions >= 2.2 and Android Studio 2.3
  135. - Added support for closed-source third-party modules
  136. - Added support for Windows 10 Bluetooth LE MIDI devices
  137. - Modernised JUCE codebase to use C++11/14 features
  138. - Added support for Linux embedded platforms
  139. - Added support for WebBrowserComponent on Linux
  140. - Added support for IPv6
  141. - Various minor improvements and bug fixes
  142. - Various documentation improvements
  143. Version 4.3.1
  144. - Added support for iOS download tasks
  145. - Added support for AAX plug-in meters
  146. - Added support for dynamically disabling/enabling sidechains in ProTools
  147. - Re-introduced support for VST3 plug-ins reporting which VST2 plug-in they can replace
  148. - Added withRightX and withBottomY methods to Rectangle
  149. - Added support for windows 10 on screen keyboard
  150. - Added move semantics to AudioBuffer
  151. - Added colour coding scheme to module icons in the Projucer to indicate which type of license a module uses
  152. - Removed all deprecation warnings for macOS Sierra
  153. - Fixed multiple touch, pen and mouse input related bugs on Windows
  154. - Added submenu support to ComboBoxes and simplified the usage of ComboBoxes
  155. - Various minor improvements and bug fixes
  156. - Various documentation improvements
  157. Version 4.3.0
  158. - Added API and examples for ROLI Blocks
  159. - Multiple Projucer live-build UI and diagnostics improvements
  160. - JUCE now supports hosting multi-bus plug-ins
  161. - BufferingAudioSource now supports pre-buffering (useful for offline processing)
  162. - Added microphone permissions switch to Projucer for iOS targets
  163. - Standalone wrappers now correctly save and restore midi settings
  164. - Various performance improvements to BigInteger
  165. - Fixed various FlexBox bugs
  166. - Added a workaround for the broken “Open Recent…” menu on os x
  167. - Various minor improvements and bug fixes
  168. - Various documentation improvements
  169. Version 4.2.4
  170. - Pre-release of live build engine on Windows
  171. - Added FlexBox layout engine
  172. - Removed dependency on external Steinberg SDK when building and/or hosting VST2 plug-ins
  173. - Added support for MIDI network sessions in the iOS simulator
  174. - Added support for symmetric skew to Slider, NormalisableRange and SliderPropertyComponent
  175. - Projucer now asks the user what to do when it detects that the .jucer file was modified outside of the Projucer
  176. - Improved support for Windows 10 touch devices
  177. - Added begin/end iterator methods for ValueTree, for handy range-based-for loops over its children
  178. - Added support for recent mingw-w64 compilers
  179. - Added useful proportional Rectangle utility methods
  180. - Significantly improved the performance of BigInteger
  181. - Added support for expiring licenses to juce_tracktion_marketplace
  182. - Added support for retina mouse cursors on OS X
  183. - Added a new low-quality mode for the CameraDevice
  184. - Added pkg-config support for Linux
  185. - Projucer will now wrap your AAX plug-in in the bundle format expected Pro Tools on Windows
  186. - Multiple bug-fixes for AudioUnit parameter ids
  187. - Fixed a bug where AlertWindows weren’t always on top
  188. - Multiple fixes for web InputStreams
  189. - Various improvements to the live build engine
  190. - Various minor improvements and bug fixes
  191. - Various documentation improvements
  192. Version 4.2.3
  193. - Various VST3 improvements: resizing VST3 windows, plug-in compatibility issues
  194. - Use NSURLSession on newer OS X versions
  195. - Add compatibility for VST 3 SDK update 3.6.6
  196. - Miscellaneous fixes and improvements
  197. Version 4.2.1
  198. - New class CachedValue, for providing easy and efficient access to ValueTree properties
  199. - Reduced audio plug-in binary sizes on OS X and added symbol-stripping option
  200. - Miscellaneous fixes and improvements
  201. Version 4.2
  202. - Added support for AudioUnit v3 on OS X and iOS
  203. - Simplified the JUCE module format. Removed the json module definition files, and made
  204. it easier to manually add modules to projects. The format is fully described in the
  205. document juce/modules/JUCE Module Format.txt
  206. - iOS project support: added custom resource folders, custom xcassets, app capabilities,
  207. and screen orientation settings.
  208. - Deleted the Introjucer.. But don't panic! All of its functionality is now supplied by a
  209. more open-source version of the Projucer. By refactoring the closed-source LLVM compilation
  210. code into a DLL, we've been able to unify the Introjucer and Projucer into a single
  211. open-source project. This will allow everyone to compile the Projucer's IDE themselves, and
  212. having just one app instead of two will make things a lot less confusing!
  213. Version 4.1
  214. - Added multi-bus support for audio plug-in clients
  215. - Added support for MIDI effect plug-ins (AU and AAX).
  216. - Added new example: Network Graphics Demo
  217. Version 4.0.3
  218. - Added MPE (Multidimensional Polyphonic Expression) classes
  219. - Added full support for generating and parsing Midi RPN/NRPN messages
  220. - Made the LinearSmoothedValue class public
  221. - Miscellaneous fixes and minor improvements
  222. Version 4.0.2
  223. - Miscellaneous fixes and house-keeping
  224. Version 4.0.1
  225. - Initial release of the Projucer!
  226. - Full OSC support!
  227. - Android Studio exporting from the Introjucer
  228. - Android-M pro-audio low-latency i/o support
  229. - Bluetooth MIDI device support on iOS and Android
  230. - AudioSampleBuffer refactored into a templated class AudioBuffer, to allow
  231. 32 or 64 bit float support
  232. - Audio plugin and hosting now supports 64-bit data
  233. - Support for force-touch and pen pressure on iOS and Windows
  234. - Added easy sound-file playing methods to AudioDeviceManager
  235. - Many updates to Introjucer
  236. - Many new tutorials and examples
  237. Version 3.3.0
  238. - New functions for Base64 conversion
  239. - New command-line options in the introjucer for trimming whitespace and
  240. replacing tabs in source files
  241. Version 3.2.0
  242. - Major OpenGL performance/stability improvements
  243. - Performance improvements to FloatVectorOperations math functions
  244. - New FloatVectorOperations: abs, min, max, addWithMultiply, clip
  245. - Midi channel pressure support
  246. - New example projects ComponentTutorialExample, SimpleFFTExample,
  247. PluckedStringsDemo
  248. - New class ValueTreeSynchroniser, for remote-syncing multiple
  249. ValueTrees
  250. - HTTPS/SSL support on Linux
  251. - Added methods for degrees to radians conversions
  252. - Added Neon instruction set support for Android targets
  253. - JUCE ValueTree performance improvements
  254. - Linux and Android multi-monitor HiDPI support
  255. - Support the “display=none” attribute in SVG files
  256. - Support for text elements in SVG files
  257. - Added Whirlpool hash class to the cryptography module
  258. - Various improvements for parameter automation in VST, VST-3,
  259. AudioUnits and AAX
  260. - Various improvements to JUCE Synthesiser
  261. - Linux Code::Blocks project support
  262. - Multicast support
  263. - Add support to generate project version numbers from project git tags
  264. - Various updates to example projects
  265. - Stability improvements to re-order and resize code of plug-in windows
  266. - Support for external third-party native libraries on Android
  267. - Introjucer’s auto-update now displays release notes
  268. - Various Introjucer usability improvements
  269. - Support for in-memory fonts on Android
  270. - New FFT class
  271. - WASAPI exclusive mode support
  272. - More C++11 feature support macros
  273. - Performance improvements to XML parsing
  274. - Add compatibility for AAX SDK 2.2.0
  275. - Added parameters to the ValueTree::Listener::valueTreeChildRemoved()
  276. and valueTreeChildOrderChanged() methods to include more info about
  277. exactly what changed
  278. - Over 400 minor changes, bug-fixes, documentation improvements, etc.