R66 & R65 – Installation Scripts and Many Small Improvements

Lots of people have asked for an installer that also sets up Python and all other basic components so they can get started quickly. Because of this I have now created a PowerShell script that will set up a complete portable environment. Just grab Install-Portable-VapourSynth-R*.ps1 from the release and run it. Everything will be installed into the current directory. It will probably be expanded upon further in the next release and install even more things so feel free to suggest the additional things you want. Maybe an optional editor or the option to directly install the most common plugins and scripts. Or even optional VFW integration?

Now to the small things. Python 3.12.x is now required. Several rare memory leaks and crashes were fixed. There’s a new graph output mode in vspipe that also includes filter times. Audio headers in VFW have been improved so normal DirectShow media players can be used for audio preview.

R64 – New things break old things

This release fixes a lot of new things, Zen4 CPUs, Cython 3.x and OSX (not so new) compilation broken in R63.

It’s also the end for 32 bit binaries compiled by me. These binaries get almost no downloads and x64 was first introduced 24 years ago. At this point all x86 fans have a 64 bit CPU. And if you don’t you probably shouldn’t be processing video at all. 32 bit builds are also a lot less useful now that most Avisynth plugins have either been ported or have 64 bit support.

Next thing to go will probably be optimizations for x86 CPUs with less than AVX2. It’s already been 10 years since AVX2 was introduced and 8 years since all CPUs have shipped with support for it. These are more or less the same numbers SSE2 had back when I originally released VapourSynth with a SSE2 minimum requirement.

I bet many doom9 users will rage when that day comes, just like when XP support was removed.

R60 – Fix bugs and remove deprecated functions in Python

Not much to say about this release apart from the fact that it finally removes all functions that got deprecated with the release of the API4 branch. If you were still using these you were doing things wrong anyway. May break some old scripts but most already have updated versions. The removed functions are:

  • get_frame_async_raw
  • get_plugins
  • get_functions
  • list_functions
  • get_format
  • register_format

R56 – Testing by a thousand monkeys

As usual all major new releases have a lot of bugs. Now there are a lot fewer.

  • Performance fix for large resolution (4k+)
  • Fix memory leak in VFW when reloading script
  • Make working dir behavior match API3 again
  • Lots of other small fixes

Now only those pesky people who use the output() function in Python have poor performance.

R55 – Start of the API3 builds

Starting from today there will separate builds of the new audio branch (master) and the old (api3) branch provided for those who need full compatibility with old scripts.

The biggest fixes in this release is that the handling of pow in expr has been fixed and no longer produces unexpected output. There’s also a new vsrepo included that once again works. That’s about it. It’s the life of a maintenance branch where only super serious things will be fixed.

R53 – Once more there are bug fixes!

If you’re wondering why it’s taken so long since the previous release it’s partly due to R52 having surprisingly few bugs. You could say that I’m a too good coder (on occasion). The new R53 release mainly exists to add Python 3.9 support to windows and apply a few contributes bugfixes.