Sonic Pi v3.2.1 Release Notes

Release Date: 2020-03-30 // about 4 years ago
  • 3rd April, 2020 (view commits):

    ๐Ÿš€ This release is another maintenance release with a primary focus on increasing stability and reliability. There are therefore no major new ๐Ÿ”‹ features, but instead there are significant improvements to the ๐Ÿ internals and the packaging of the Windows installer.

    Whilst there are no major new features, we have still been working hard engaging with users with accessibility requirements. We have added a number of modifications to the GUI to improve keyboard navigation which should improve things for users that do not use a mouse (for example, ๐Ÿ‘‰ users working with a screen reader). As mentioned in the previous ๐Ÿš€ release, we will continue to work to improve accessibility support ๐Ÿš€ wherever possible in each release.

    One core internal focus has been improving memory utilisation of the ๐Ÿ›  app. A number of memory leaks have been hunted down and fixed. A memory leak is where the application requests increasingly more memory from the ๐Ÿ’ป computer and never gives it back. Over time this means that the app would waste a lot of the system memory. This might have not been too ๐Ÿ’ป noticeable using Sonic Pi on modern computers that typically have incredibly large amounts of memory. However, it was noticeable and problematic on low-powered systems with limited memory capacity. Sonic Pi now uses a lot less memory and after a warm-up period, the memory usage stays much more constant than before. We will continue to look for and fix memory leaks going forward.

    ๐Ÿš€ Finally, this release is the first to ship with a fully signed Windows installer. This is a major milestone as we now ship with signed versions ๐ŸŽ for both macOS and Windows which should help more users and organisations (especially schools) trust the installation and running of Sonic Pi.

    Now, go and get live coding!

    ๐Ÿ’ฅ Breaking Changes

    • ๐Ÿ”€ The ping_pong FX now merges the dry sound with the result of the echo to match the behaviour of echo.
    • ๐Ÿš€ In the last release, the piano synth had its default amplitude accidentally altered when being updated to work with arbitrary frequencies. This has been restored.
    • Incoming MIDI Active Sensing messages are now ignored

    GUI

    • ๐Ÿ†• New shortcuts and menu items for explicitly placing focus on specific areas of the app. This is primarily intended to improve accessibility for screen readers or those not using a mouse or trackpad. The new shortcuts are:

      • Control-shift-e - move focus to editor
      • Control-shift-l - move focus to logs
      • Control-shift-c - move focus to cues
      • Control-shift-p - move focus to preferences
      • Control-shift-h - move focus to help listing (e.g. the list of available help section)
      • Control-shift-d - move focus to help details (e.g. the contents of the chosen help section)
      • Control-shift-w - move focus to syntax/runtime error warnings
    • Once focus is in the help listing, the up and down arrow keys now navigate up and down in the list and the left and right arrow keys switch tabs to work through the different help categories.

    • When an error occurs, focus is now placed on the error pop-up window. Focus can be easily returned back to the editor by pressing either the Escape key or Control-g.

    • Minor improvements for Catalan, Greek, Chinese, Russian, French and Romanian translations.

    ๐Ÿ›  Bugfixes

    • โฌ†๏ธ Upgraded the Ruby process library which improves/fixes process shutdown behaviour on some Linux systems.
    • ๐Ÿ›  Fixed a number of memory leaks which resulted in the memory requirements of the app increasing over time until it was closed and opened again. This was particularly noticeable and potentially problematic on machines with small memory footprints.
    • General memory usage has been significantly reduced due to the introduction of further caching in hot areas of the code that created many unnecessary object allocations.
    • ๐Ÿ The Windows installer now works on more Windows 10 systems thanks to additional libraries now being included in the installer.