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.

565 lines
27KB

  1. == Major JUCE features and updates ==
  2. This file just lists the more notable headline features. For more detailed info
  3. about changes and bugfixes please see the git log and BREAKING-CHANGES.txt.
  4. Version 6.1.6
  5. - Improved the handling of AU multichannel layouts
  6. - Added JUCE_NODISCARD to builder-patten functions
  7. - Added recursion options to DirectoryIterator
  8. - Unified the loading of OpenGL 3.2 core profiles
  9. - Improved macOS full-screen behaviour with non-native titlebars
  10. Version 6.1.5
  11. - Improved the accessibility framework
  12. - Added handling of non-Latin virtual key codes on macOS
  13. - Improved X11 compatibility
  14. - Updated the iOS in-app purchases workflow
  15. - Improved macOS windowing behaviour
  16. - Improved MinGW-w64 compatibility
  17. - Added an MPEKeyboardComponent class
  18. Version 6.1.4
  19. - Restored Projucer project saving behavior
  20. - Fixed a CGImage memory access violation on Monterey
  21. - Improved macOS thread priority management
  22. Version 6.1.3
  23. - Added support for Visual Studio 2022 to the Projucer
  24. - Added support for creating OpenGL 3.2 contexts on Windows
  25. - Added support for plugin hosts to easily retrieve stable parameter IDs
  26. - Added high-resolution image support to DragAndDropContainer
  27. - Added support for a wider range of frame-rates in plugins and hosts
  28. - Made Font and TypefaceCache threadsafe, to allow font rendering on background threads
  29. - Improved FlexBox compatibility with the CSS FlexBox specification
  30. - Improved macOS 12 compatibility, including OpenGL and FileChooser fixes
  31. - Improved accessibility support
  32. Version 6.1.2
  33. - Fixed an OpenGL display refresh rate issue on macOS
  34. - Improved the scaling behaviour of hosted VST3 plug-ins
  35. - Improved accessibility support
  36. Version 6.1.1
  37. - Fixed a CMake installation issue
  38. - Improved parameter value loading after plug-in restarts
  39. - Fixed some problems with multi-line text layouts
  40. - Added a fallback for modal native message boxes on Windows
  41. - Fixed an issue setting OpenGL repaint events
  42. - Improved accessibility support
  43. Version 6.1.0
  44. - Added accessibility support
  45. - Enabled use of VST3 plug-in extensions
  46. - Improved OpenGL function loading
  47. - Updated to C++14
  48. - Added support for macOS Monterey and iOS 15
  49. - Added async versions of all modal functions
  50. - Fixed some VST3 threading issues
  51. - Added cross-platform-compatible VST3 UID hash
  52. - Improved MinGW compatibility
  53. - Fixed some issues with BufferingAudioReader
  54. - Improved TextEditor repainting
  55. - Added support for larger ASIO buffers
  56. - Updated Android Oboe to 1.6.1
  57. - Improved modal dismissing
  58. - Improved assertion handling on macOS ARM
  59. Version 6.0.8
  60. - Fixed a macOS graphics invalidation region issue
  61. - Improved the handling of modal dialog dismissal
  62. - Fixed audio glitching in CoreAudio before microphone permission is granted
  63. - Improved AUv3 resizing and initialisation
  64. - Fixed some string to double conversions
  65. - Improved iOS split view behaviour
  66. - Added Display::safeAreaInserts
  67. - Improved assertion behaviour on macOS ARM
  68. - Multiple resizing and display scaling fixes
  69. - Added more information to audioProcessorChanged callbacks
  70. - Fixed some DSP convolution issues
  71. - Added host detection on macOS ARM
  72. Version 6.0.7
  73. - Fixed a macOS drawing issue
  74. - Updated the DemoRunner bundle ID
  75. Version 6.0.6
  76. - Moved to the new CoreMIDI API on supported platforms
  77. - Added support for the "New Build System" in Xcode
  78. - Made the audio format readers more robust
  79. - Improved the HiResTimer implementation
  80. - Fixed a VST3 program parameter issue
  81. - Updated to Oboe 1.5 on Android
  82. Version 6.0.5
  83. - Added more support for styling PopupMenus
  84. - Fixed some race conditions in the IPC and name named pipe classes
  85. - Implemented multiple FileChooser improvements
  86. - Added compatibility with the latest Android SDK
  87. - Prevented CoreAudio glitches before accepting audio access permissions
  88. - Made reading MIDI and audio files more robust
  89. Version 6.0.4
  90. - Improved the Projucer update mechanism
  91. - Fixed an AUv3 parameter normalisation issue
  92. - Fixed WASAPI exclusive mode sample rate selection bug
  93. - Fixed a Linux build issue when omitting ALSA
  94. Version 6.0.3
  95. - Fixed version numbers in project files
  96. Version 6.0.2
  97. - Added support for macOS 11 and arm64
  98. - Added Windows IAudioClient3 support for low latency audio drivers
  99. - Added Windows and macOS precompiled header support in the Projucer
  100. - Improved accessibility support in the macOS menu bar
  101. - Fixed VST3 hosting for plug-ins requiring persistent DLL loads
  102. - Updated macOS camera capture API
  103. - Improved resave diffs in Projucer project files
  104. - Fixed some Linux JACK issues
  105. Version 6.0.1
  106. - Fixed a bug in the Projucer GUI editor causing existing code to be overwritten
  107. - Updated Android Oboe to 1.4.2
  108. - Bumped default Android Studio gradle and plugin versions to the latest
  109. - Fixed some Android Oboe and OpenSL issues
  110. - Fixed some Doxygen parsing issues
  111. - Fixed MIDI input/output bus enablement in VST3 plug-ins
  112. - Improved Windows Clang compatibility
  113. - Fixed GCC 4.8 and 5.0 compatibility
  114. - Fixed some VST3 build errors and warnings on Linux
  115. - Fixed dynamically loaded X11 library names on Linux
  116. - Fixed Projucer CLion exporter generated CMakeLists.txt
  117. - Fixed drag and drop for non-DPI aware plug-ins on Windows
  118. Version 6.0.0
  119. - Added support for building JUCE projects with CMake
  120. - Revamped the DSP module
  121. - Added VST3 support on Linux
  122. - Added support for the latest webview components on macOS/iOS and Windows
  123. - Removed the sign-in requirement, app reporting and analytics from the Projucer
  124. - Added support for running headlessly on Linux
  125. - Bundled Oboe source in JUCE and made it the default audio device on Android
  126. - Various Oboe stability improvements
  127. - Various Projucer UI improvements
  128. - Added HWNDComponent for embedding native HWNDs on Windows
  129. - Added support for all camera names on macOS
  130. - Added support for building with Clang on Windows
  131. - Modified MidiMessageCollector to preallocate storage
  132. - Modified AudioProcessorGraph to allow extracting nodes
  133. - Refactored the APVTS parameter attachment classes and added a new ParameterAttachment class
  134. - Added IPP FFT implementation
  135. - Added all example plugins as internal nodes in AudioPluginHost project
  136. - Removed JuceHeader requirement from Projucer projects
  137. - Added support for legacy CC output events
  138. - Added MidiBuffer::Iterator class compatible with C++11 range-for
  139. - Added RangedDirectoryIterator class compatible with C++11 range-for
  140. - Provided range-for comaptibility for String class
  141. - Windows and Linux hiDPI scaling improvements
  142. - Various bug-fixes, improvements and documentation updates
  143. Version 5.4.7
  144. - Fixed a macOS focus bug causing Components to not receive mouse events
  145. - Fixed a potential NullPointerException in the Android IAP code
  146. - Fixed an entitlements file generation bug in the Projucer
  147. - Send VST2 audioMasterUpdateDisplay opcode on the message thread to fix some hosts not updating
  148. - Fixed some build errors and warnings when using Clang on Windows
  149. - Changed the default architecture specified in Linux Makefiles generated by the Projucer
  150. Version 5.4.6
  151. - Fixed compatibility with macOS versions below 10.11
  152. - Multiple thread safety improvements
  153. - Added dynamic parameter and parameter group names
  154. - Updated to the latest Android In-App Purchases API
  155. - Improvements to the Windows message queue under high load
  156. - Replaced WaitableEvent internals with std::condition_variable
  157. - Fixed some macOS text alignment issues
  158. Version 5.4.5
  159. - Improved message queue performance on Linux
  160. - Added missing lifecycle callbacks on Android Q
  161. - Refactored the AudioBlock class
  162. - Fixed APVTS parameter update recursion
  163. - Updated Bela code to support latest release
  164. - Fixed issues drawing italicised text on macOS
  165. - Fixed broken back button behaviour on Android
  166. - Added Bluetooth permissions settings needed for iOS 13.0+ to the Projucer
  167. - Replaced select() calls with poll()
  168. - Various bug-fixes, improvements and documentation updates
  169. Version 5.4.4
  170. - Improvements to floating point number printing
  171. - Faster plug-in parameter indexing
  172. - Added support for persisting attachements to MIDI devices
  173. - Refactored Linux event loop handling
  174. - Multiple C++ modernisation improvements to the API
  175. - Added support for macOS 10.15 and iOS 13
  176. - Added support for Visual Studio 2019
  177. - Removed support for Visual Studio 2013
  178. Version 5.4.3
  179. - Added a Visual Studio 2019 exporter to the Projucer
  180. - Added options to configure macOS Hardened Runtime in the Projucer
  181. - Fixed a potential memory corruption when drawing on macOS/iOS
  182. - Fixed file drag and drop for Windows 8
  183. - Multiple DSP module enhancements
  184. - Various bug-fixes, improvements and documentation updates
  185. Version 5.4.2
  186. - Restructured the low-level Android native code
  187. - Added an ADSR envelope class
  188. - AudioProcessorValueTreeState performance improvements
  189. - Improved Xcode 10 support
  190. - Improved VST3 hosting
  191. - Windows hiDPI scaling enhancements
  192. Version 5.4.1
  193. - Fixed a VST2 compilation error in VS2013
  194. - Fixed some live-build compilation errors in the Projucer
  195. - Fixed a bug in the Oversampling class
  196. - Made MPESynthesiserVoice::noteOnTime public
  197. - Fixed some bugs in the Unity plug-in wrapper
  198. - Fixed some VS2015 compiler errors
  199. Version 5.4.0
  200. - macOS Mojave and iOS 12 support
  201. - Windows hiDPI support
  202. - Unity native plug-in support
  203. - Microsoft BLE MIDI support
  204. - Plug-in parameter groups
  205. - Support for production-ready Android OBOE
  206. - Video playback support on Android and iOS
  207. - AudioProcessorValueTreeState improvements
  208. - Support for Android Studio 3.2
  209. - Various bug-fixes, improvements and documentation updates
  210. Version 5.3.2
  211. - Removed the OSX 10.5 and 10.6 deployment target options from the Projucer and enabled more C++11 features across all platforms
  212. - Replaced all usage of ScopedPointer with std::unique_ptr
  213. - Added camera support for iOS and Android
  214. - Fixed some issues using an UndoManager with an AudioProcessorValueTreeState
  215. - Added MIDI input to IAA plug-ins
  216. - Made multiple calls to MidiInput::openDevice share the same underlying win32 MIDI handle
  217. - Added a config flag to juce_audio_processors for enabling LADSPA plugin hosting and enabled it in the AudioPluginHost
  218. - Added a "plug-in can do" callback to the VSTCallbackHandler interface
  219. - Fixed various undefined behavior in SIMDRegister
  220. - Added the methods AudioBlock::copyTo/AudioBlock::copyFrom which facilitate copying to/from an AudioBuffer
  221. - Added a lambda callback to OpenGLGraphicsContextCustomShader to allow custom set-up when the shader is activated
  222. - Fixed a bug causing an unintentional menu item highlight disco party when using a popup menu in a plug-in's UI
  223. - Marked as deprecated: String::empty, var::null, File::nonexistent, ValueTree::invalid and other problematic statically-initialised null values
  224. Version 5.3.1
  225. - Add Android and iOS support to AudioPluginHost
  226. - Added support for Bela in the form of an AudioIODeviceType
  227. - Add bypass support to both hosting and plug-in client code
  228. - Added an isBoolean flag to APVTS parameters
  229. - Re-worked plug-in wrappers to all use new parameter system via LegacyAudioParameter wrapper class
  230. - Fixed an issue where opening the same midi device twice would cause a crash on Windows
  231. - Deprecated MouseInputSource::hasMouseMovedSignificantlySincePressed() and replaced with more descriptive methods
  232. - Added support for relative or special path symbolic links when compressing/uncompressing zip archives and creating/reading files
  233. - Ensured that File::replaceInternal does not fail with ACL errors on Windows
  234. - Merged-in some Ogg-Vorbis security fixes
  235. - Fixed a bug which would prevent a SystemTrayIconComponent from creating a native popup window on macOS
  236. - Various Android and iOS fixes
  237. - Added a "PIP Creator" utility tool to the Projucer
  238. - Added options for setting plugin categories and characteristics with MultiChoicePropertyComponent in the Projucer
  239. - Fixed a Projucer bug where the OSX base SDK version was not being set
  240. - Added a command-line option to use LF as linefeeds rather than CRLF in the Projucer cleanup tools
  241. - Multiple documentation updates
  242. Version 5.3.0
  243. - Added support for Android OBOE (developer preview)
  244. - Updated JUCE's MPE classes to comply with the new MMA-adopted specification
  245. - Multiple documentation updates
  246. - Restructured the examples and extras directories and updated all JUCE examples
  247. - Multiple hosted parameter improvements
  248. - Overhauled the GenericAudioProcessorEditor
  249. - Added support for a subset of the Cockos VST extensions
  250. - Added support for loading VST3 preset files
  251. - Added boolean AudioProcessorParameters
  252. - Added thread safe methods for getting and setting the AudioProcessorValueTreeState state
  253. - Added customisable MacOS icons
  254. Version 5.2.1
  255. - Added native content sharing support for iOS and Android
  256. - Added iOS and Android native file chooser support
  257. - Implemented WebBrowserComponent on Android
  258. - Added SystemStats::getDeviceManufacturer()
  259. - Ensured that JUCE will always use the high-performance audio path on Android if the device supports it
  260. - Added memory warning callbacks on iOS
  261. - Refactored iOSAudioDevice to support multi-channel audio devices and improve the handling of sample rate changes from other apps
  262. - Added SidePanel and BurgerMenu component classes
  263. - Added PushNotifications support on OSX
  264. - Added support for VST3 SDK 3.6.8
  265. - Added support for loading VST3 preset files
  266. - Added higher-order ambisonics support
  267. - Added thread safe methods for getting and setting the AudioProcessorValueTreeState state
  268. - Cleanup and refactoring work on the AudioProcessorGraph and the audio plugin host demo
  269. - Changed the default language standard for new projects from C++11 to C++14 and set all JUCE projects to use C++14
  270. - Made the ScopedPointer interface more compatible with std::unique_ptr
  271. - Changed Windows projects to use dynamic runtime linking by default
  272. - Added lambda callbacks to ListenerList, Slider, Button, Label, ComboBox and TextEditor
  273. - Fixed the live-build engine on Windows
  274. - Multiple DSP module fixes and features
  275. - Multiple threading and undefined behaviour fixes and improvements
  276. - Various graphics optimisations
  277. - Multiple Projucer UI and UX improvements
  278. - Various documentation tweaks and fixes
  279. Version 5.2.0
  280. - Added a CMake exporter to the Projucer
  281. - JUCE analytics module
  282. - Added support for push notifications on iOS and Android
  283. - Added in-app purchase support for macOS
  284. - Added a plugin binary copy step to the Visual Studio exporter
  285. - Added an option to set the debug information format in the Visual Studio exporter
  286. - Added a link-time optimisation option to all exporters
  287. - Added support for adding asm files to Android projects
  288. - Improved the reliability of the Projucer's live-build engine
  289. - Added support for AUv2 Midi Effect plug-in hosting
  290. - Added support for Atmos 7.0.2 and 7.1.2 Surround formats
  291. - Added support for the OGG sub-format inside a WAV file
  292. - Added support for querying the audio hardware on how many overruns/underruns occurred
  293. - Implement Process::hide on mobile platforms
  294. - Added support for multi-touch drag and drop
  295. - Improved the performance of 3D rendering when multiple OpenGL contexts are used at the same time
  296. - Tweaked the rate at which EdgeTable grows its internal storage, to improve performance rendering large and complex paths
  297. Version 5.1.2
  298. - Fixed multiple plugin-resizing bugs
  299. - Added support for AUv3 MIDI and screen size negotiation
  300. - Added support for Xcode 9 and iOS 11
  301. - Added an In-App Purchases module
  302. - Added backwards compatible constexpr support
  303. - Standalone plug-in improvements
  304. - Better .jucer file change monitoring in the Projucer
  305. - Increased the speed of AU parameter lookup
  306. - Improved the Android thread management when dealing with web requests
  307. - Better denormal support
  308. - Plug-in parameters can be explicitly marked as continuous or discrete
  309. - Multiple documentation updates
  310. Version 5.1.1
  311. - Fixed Windows live build engine on Visual Studio 2017
  312. - Fixed a compiler error in juce_MathFunctions.h in Visual Studio 2013
  313. - Fixed a potential crash when using the ProcessorDuplicator
  314. - Fixed a compiler-error in Filter::IIR
  315. - Fixed an issue where the WavFileFormatWriter could not create files with discrete channels
  316. - Fixed an issue where a window which is beneath a hidden window would not receive any clicks on Linux
  317. - Altered the format of BREAKING-CHANGES.txt to display better on GitHub
  318. - Projucer: Fixed an issue in exporter tilde expansion
  319. - Fixed compiler errors when building the DSP module with a static version of FFTW
  320. - Fixed an audio glitch when bypassing the convolution engine
  321. - Fixed an issue where a JUCE VST2 would not correctly report that it supports resizing of it’s plugin editor
  322. - Various documentation tweaks and fixes
  323. Version 5.1.0
  324. - Release of the JUCE DSP module
  325. - Multichannel audio readers and writers
  326. - Plugin editor Hi-DPI scaling support
  327. - Major improvements to Projucer module search paths
  328. - Added Projucer support for iOS app groups
  329. - Added support for AVFoundation and deprecated the use of Quicktime
  330. - Added a new real-time audio thread priority for Android
  331. - Various Projucer UI fixes
  332. - Various documentation fixes
  333. - Various minor improvements and bug fixes
  334. Version 5.0.2
  335. - Improved project save speed in the Projucer
  336. - Added option to save individual exporters in the Projucer
  337. - Added the ability to create custom colour schemes for the Projucer’s code editor
  338. - Minor fixes to JUCE’s SVG parser
  339. - Various bug fixes in the way JUCE handles Hi-DPI monitors
  340. - Improved code browsing in Visual Studio Exports
  341. - Improved the handling of audio device buffer size changes on iOS
  342. - Fixed bug in the Win32 FileChooser dialog when selecting a nonexistent root drive
  343. - Fixed a Projucer crash when saving projects with no targets
  344. - Fixed a bug where Projucer generated Makefiles would not trigger a recompilation when header files had changed
  345. - The standalone plugin target is now compatible with effect plug-ins
  346. - Fixed an issue where it was not possible to use the live build engine on plugin projects
  347. - Improved the way the Projucer’s live-build engine searches for platform headers on Windows
  348. - Fixed an issue where the Projucer would complain about not having internet even if the user had a license
  349. - Fixed a use-after-free in the AUv3 wrapper
  350. - Fixed an issue where the channel layout would not be reported correctly in the AUv3 wrapper
  351. - Fixed a potential memory overrun issue when hosting VST2 plugins with more than eight channels
  352. - Fixed a problem with the Mac main menu bar showing menus in the wrong position
  353. - Various Projucer UI fixes
  354. - Various documentation fixes
  355. - Various minor improvements and bug fixes
  356. Version 5.0.1
  357. - Fixed Windows live build engine on Visual Studio 2017
  358. - Fixed memory-leak in Projucer live build engine
  359. - Fixed an issue where you could not paste your redeem serial number with Cmd+V on macOS
  360. - Fixed an issue where the Projucer would crash on linux due to missing symbols in WebKit
  361. - Minor Projucer UI improvements
  362. - Various minor improvements and bug fixes
  363. Version 5.0.0
  364. - New licensing model
  365. - Projucer UI/UX overhaul
  366. - New look and feel (version 4)
  367. - New standalone plug-in format
  368. - Added support for Visual Studio 2017
  369. - Added support for VST3 SDK 3.6.7
  370. - Added support for Apple Inter-App Audio on iOS
  371. - Various Android stability and performance improvements
  372. - Added support for non-experimental gradle plug-in versions >= 2.2 and Android Studio 2.3
  373. - Added support for closed-source third-party modules
  374. - Added support for Windows 10 Bluetooth LE MIDI devices
  375. - Modernised JUCE codebase to use C++11/14 features
  376. - Added support for Linux embedded platforms
  377. - Added support for WebBrowserComponent on Linux
  378. - Added support for IPv6
  379. - Various minor improvements and bug fixes
  380. - Various documentation improvements
  381. Version 4.3.1
  382. - Added support for iOS download tasks
  383. - Added support for AAX plug-in meters
  384. - Added support for dynamically disabling/enabling sidechains in ProTools
  385. - Re-introduced support for VST3 plug-ins reporting which VST2 plug-in they can replace
  386. - Added withRightX and withBottomY methods to Rectangle
  387. - Added support for windows 10 on screen keyboard
  388. - Added move semantics to AudioBuffer
  389. - Added colour coding scheme to module icons in the Projucer to indicate which type of license a module uses
  390. - Removed all deprecation warnings for macOS Sierra
  391. - Fixed multiple touch, pen and mouse input related bugs on Windows
  392. - Added submenu support to ComboBoxes and simplified the usage of ComboBoxes
  393. - Various minor improvements and bug fixes
  394. - Various documentation improvements
  395. Version 4.3.0
  396. - Added API and examples for ROLI Blocks
  397. - Multiple Projucer live-build UI and diagnostics improvements
  398. - JUCE now supports hosting multi-bus plug-ins
  399. - BufferingAudioSource now supports pre-buffering (useful for offline processing)
  400. - Added microphone permissions switch to Projucer for iOS targets
  401. - Standalone wrappers now correctly save and restore midi settings
  402. - Various performance improvements to BigInteger
  403. - Fixed various FlexBox bugs
  404. - Added a workaround for the broken “Open Recent…” menu on os x
  405. - Various minor improvements and bug fixes
  406. - Various documentation improvements
  407. Version 4.2.4
  408. - Pre-release of live build engine on Windows
  409. - Added FlexBox layout engine
  410. - Removed dependency on external Steinberg SDK when building and/or hosting VST2 plug-ins
  411. - Added support for MIDI network sessions in the iOS simulator
  412. - Added support for symmetric skew to Slider, NormalisableRange and SliderPropertyComponent
  413. - Projucer now asks the user what to do when it detects that the .jucer file was modified outside of the Projucer
  414. - Improved support for Windows 10 touch devices
  415. - Added begin/end iterator methods for ValueTree, for handy range-based-for loops over its children
  416. - Added support for recent mingw-w64 compilers
  417. - Added useful proportional Rectangle utility methods
  418. - Significantly improved the performance of BigInteger
  419. - Added support for expiring licenses to juce_tracktion_marketplace
  420. - Added support for retina mouse cursors on OS X
  421. - Added a new low-quality mode for the CameraDevice
  422. - Added pkg-config support for Linux
  423. - Projucer will now wrap your AAX plug-in in the bundle format expected Pro Tools on Windows
  424. - Multiple bug-fixes for AudioUnit parameter ids
  425. - Fixed a bug where AlertWindows weren’t always on top
  426. - Multiple fixes for web InputStreams
  427. - Various improvements to the live build engine
  428. - Various minor improvements and bug fixes
  429. - Various documentation improvements
  430. Version 4.2.3
  431. - Various VST3 improvements: resizing VST3 windows, plug-in compatibility issues
  432. - Use NSURLSession on newer OS X versions
  433. - Add compatibility for VST 3 SDK update 3.6.6
  434. - Miscellaneous fixes and improvements
  435. Version 4.2.1
  436. - New class CachedValue, for providing easy and efficient access to ValueTree properties
  437. - Reduced audio plug-in binary sizes on OS X and added symbol-stripping option
  438. - Miscellaneous fixes and improvements
  439. Version 4.2
  440. - Added support for AudioUnit v3 on OS X and iOS
  441. - Simplified the JUCE module format. Removed the json module definition files, and made
  442. it easier to manually add modules to projects. The format is fully described in the
  443. document juce/modules/JUCE Module Format.txt
  444. - iOS project support: added custom resource folders, custom xcassets, app capabilities,
  445. and screen orientation settings.
  446. - Deleted the Introjucer.. But don't panic! All of its functionality is now supplied by a
  447. more open-source version of the Projucer. By refactoring the closed-source LLVM compilation
  448. code into a DLL, we've been able to unify the Introjucer and Projucer into a single
  449. open-source project. This will allow everyone to compile the Projucer's IDE themselves, and
  450. having just one app instead of two will make things a lot less confusing!
  451. Version 4.1
  452. - Added multi-bus support for audio plug-in clients
  453. - Added support for MIDI effect plug-ins (AU and AAX).
  454. - Added new example: Network Graphics Demo
  455. Version 4.0.3
  456. - Added MPE (Multidimensional Polyphonic Expression) classes
  457. - Added full support for generating and parsing Midi RPN/NRPN messages
  458. - Made the LinearSmoothedValue class public
  459. - Miscellaneous fixes and minor improvements
  460. Version 4.0.2
  461. - Miscellaneous fixes and house-keeping
  462. Version 4.0.1
  463. - Initial release of the Projucer!
  464. - Full OSC support!
  465. - Android Studio exporting from the Introjucer
  466. - Android-M pro-audio low-latency i/o support
  467. - Bluetooth MIDI device support on iOS and Android
  468. - AudioSampleBuffer refactored into a templated class AudioBuffer, to allow
  469. 32 or 64 bit float support
  470. - Audio plugin and hosting now supports 64-bit data
  471. - Support for force-touch and pen pressure on iOS and Windows
  472. - Added easy sound-file playing methods to AudioDeviceManager
  473. - Many updates to Introjucer
  474. - Many new tutorials and examples
  475. Version 3.3.0
  476. - New functions for Base64 conversion
  477. - New command-line options in the introjucer for trimming whitespace and
  478. replacing tabs in source files
  479. Version 3.2.0
  480. - Major OpenGL performance/stability improvements
  481. - Performance improvements to FloatVectorOperations math functions
  482. - New FloatVectorOperations: abs, min, max, addWithMultiply, clip
  483. - Midi channel pressure support
  484. - New example projects ComponentTutorialExample, SimpleFFTExample,
  485. PluckedStringsDemo
  486. - New class ValueTreeSynchroniser, for remote-syncing multiple
  487. ValueTrees
  488. - HTTPS/SSL support on Linux
  489. - Added methods for degrees to radians conversions
  490. - Added Neon instruction set support for Android targets
  491. - JUCE ValueTree performance improvements
  492. - Linux and Android multi-monitor HiDPI support
  493. - Support the “display=none” attribute in SVG files
  494. - Support for text elements in SVG files
  495. - Added Whirlpool hash class to the cryptography module
  496. - Various improvements for parameter automation in VST, VST-3,
  497. AudioUnits and AAX
  498. - Various improvements to JUCE Synthesiser
  499. - Linux Code::Blocks project support
  500. - Multicast support
  501. - Add support to generate project version numbers from project git tags
  502. - Various updates to example projects
  503. - Stability improvements to re-order and resize code of plug-in windows
  504. - Support for external third-party native libraries on Android
  505. - Introjucer’s auto-update now displays release notes
  506. - Various Introjucer usability improvements
  507. - Support for in-memory fonts on Android
  508. - New FFT class
  509. - WASAPI exclusive mode support
  510. - More C++11 feature support macros
  511. - Performance improvements to XML parsing
  512. - Add compatibility for AAX SDK 2.2.0
  513. - Added parameters to the ValueTree::Listener::valueTreeChildRemoved()
  514. and valueTreeChildOrderChanged() methods to include more info about
  515. exactly what changed
  516. - Over 400 minor changes, bug-fixes, documentation improvements, etc.