Skip to content

Releases: jherby2k/AudioWorks

2.2.0

04 Aug 21:46

Choose a tag to compare

This release is mostly to fix another security issue in ImageSharp, but there are also some minor performance improvements.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

Library improvements

  • Remove System.Runtime.Loader dependency
  • Fix SourceLink for extension packages

Performance improvements

  • Convert delegates (used for interop) to function pointers
  • Allow direct access to sample buffers where useful
  • Avoid some unnecessary allocations
  • Restore some file pre-allocation code removed in v2.0

Security updates

  • Bump ImageSharp dependency

2.1.0

10 Mar 17:06

Choose a tag to compare

This release is mostly to fix a security issue in ImageSharp, but there is also a solid 20% performance improvement across the board! And a few bug fixes, too.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

Library improvements

  • Remove DataFlow dependency

Performance improvements

  • Use async encode/decode via Channels
  • Tune default MaxDegreeOfParallelism to 1.5x processor count
  • Use XxHash instead of MD5 for hashing
  • Use ArrayPool instead of MemoryPool

Bug fixes

  • Strip [ and ] characters from filenames substitution, since they're problematic in PowerShell
  • Log a warning when using CBR mode in Apple AAC, as it is audibly buggy
  • PowerShell progress bars weren't being cleared on completion
  • Minimal PowerShell progress bars no longer flicker

Security updates

  • Bump ImageSharp dependency

2.0.0

25 Feb 20:46

Choose a tag to compare

The 2.0 release focuses on maintainability and better documentation. Users of the PowerShell module in particular won't notice much, but there are a lot of changes under the hood. I'm hoping to keep the momentum going - sorry for the long break between releases.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

PowerShell-specific changes

  • Dropped Windows PowerShell (5.1) support
  • Now requires minimum of PowerShell 7.4
  • All extensions are now included in the PowerShell module (rather than being downloaded at runtime).

Changes to the API

  • Dropped legacy .NET Framework (.NET 4.x) support
  • Extensions are no longer downloaded at runtime, and must be referenced as NuGet packages explicitly, along with AudioWorks.Api
  • API changes
    • AudioFileEncoder, AudioFileAnalyzer and CoverArtExtractor now use init-only properties and simplified constructors
  • Performance improvements (measured with .NET 8.0 (x64) runtime on Windows, AMD processor)
    • About 15% faster at FLAC encoding
    • About 3% faster at ALAC, Vorbis and Opus encoding
    • About 3% faster at ReplayGain analysis
  • Upgraded FLAC (v1.5) and Opus (v1.5.2) libraries
  • Updated binaries for MacOS
  • ID3 improvements
    • Now automatically writes UTF-16 (v2.3) or UTF-8 (v2.4) tags if multibyte characters are detected
    • v2.4 tags will no longer be "downgraded" to v2.3 when saved
  • Maintainability improvements
    • Upgraded target framework to net8.0
    • Eliminated platform-specific preprocessor directives. The same code can now build and run on all platforms
    • Improved native library resolution logic
    • Removal of extension download/installation code eliminated several dependencies
    • Lots of refactoring, test cleanup and various improvements
    • Replaced AVX intrinsics with CPU-agnostic vector code
    • Moved CI from Azure DevOps to GitHub Actions
    • 6300 fewer lines of code!

1.2.0

07 Dec 21:14

Choose a tag to compare

This release natively on Apple M1 (ARM-based) hardware, adds targets for .NET 6.0 and PowerShell 7.2, and includes some performance improvements and bug fixes.

PowerShell 7.1.x, MacOS Catalina and Mojave are no longer supported as they are EOL. The .NET 5.0 target has also been removed, but AudioWorks will fall back to .NET Core 3.1 under PowerShell 7.0, which are both LTS (long-term service) releases.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

1.1.0

16 Nov 22:25

Choose a tag to compare

This release adds support for PowerShell 7.1, drops support for PowerShell 6.x (which is EOL) and includes some performance improvements and bug fixes.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

1.0.0

05 Aug 19:48

Choose a tag to compare

This is the first stable release. Compared to -beta9, this includes an important bug fix relating to 24-bit conversions. Otherwise, this release only includes minor packaging improvements.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

1.0.0 beta 9

08 Jul 18:30

Choose a tag to compare

1.0.0 beta 9 Pre-release
Pre-release

This update includes some critical bug fixes around compatibility and extension management, as well as NuGet dependency improvements. The library assemblies are now strong-named, as per Microsoft best practice guidelines.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

1.0.0 beta 8

12 Feb 14:25

Choose a tag to compare

1.0.0 beta 8 Pre-release
Pre-release

This update includes many under-the-hood improvements to extension management. This is also an API-breaking change, so please update in order to take advantage of the latest extensions.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

1.0.0 beta 7

18 Oct 20:20

Choose a tag to compare

1.0.0 beta 7 Pre-release
Pre-release

Beta 6 accidentally introduced some breakage under PowerShell 6.x, which is now fixed. This update also resolves a crash when converting lossless cover art to a lossy format under Windows PowerShell 5.1.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.

1.0.0 beta 6

17 Oct 19:53

Choose a tag to compare

1.0.0 beta 6 Pre-release
Pre-release

This release includes many under-the-hood improvements such as targeting the new .NET Standard 2.1. This is also an API-breaking change, so please update in order to take advantage of the upgraded extensions.

PowerShell 7 is required to leverage the .NET Standard 2.1 library versions. PowerShell 5.1 and 6.x compatibility will be maintained under .NET Standard 2.0 for as long as they are supported products.

The PowerShell module can found on the PowerShell Gallery.

The .NET API is available via NuGet.