Integrates Github Actions which is much much faster than AppVeyor in all areas, and even supports multiple workflows instead of forcing everything into just one workflow like AppVeyor does. Plus we get 20 parallel builds that nearly instantly finish, which results in much faster feedback without having to run our own Jenkins CI.
The builder and packager scripts have been adjusted to add support for both Windows and Linux, and both AppVeyor and Github Actions. Additionally to that, the builder script now correctly executes x32 and x64 steps in a chain, instead of waiting for the other architecture to finish first. This further reduces build times.
The git history is required to determine the version number correctly, and without it the generated archives unfortunately lack that information making them look identical to earlier versions in log files.
By configuring and building 32-bit and 64-bit builds in parallel we can save massive amounts of time usually spent just waiting on other resources while the CPU is idle. On AppVeyor, this results in a roughly 50% lower build time, ensuring that builds can complete faster than before.
Artifacts have been reduced to only be created for tagged releases, which also reduces total build time. Additionally the notifications have been reduced to only happen when the build status changes, as there is no reason to notify about things that did not change the status.
### Plugin
- Shipped files should now be actual images instead of broken images.
### Source Mirror
- Fixed a memory leak caused by not releasing the mirrored source.
- Fixed a rendering slowdown caused by trying to render the source inside an effect loop.
- Fixed 'Point' scaling not actually using the correct sampling.
- Implemented an option for Source Mirror to keep the original size even if rescaling.
- Switched all filters and sources over to new initialization code.
- Fixed a 32-bit crash on machines with CPUs capable of SSE caused by Vertex Buffers.
- Reduced memory requirements of Vertex Buffers by ~60%.
- Removed a superfluous reallocation, loop and copy from Vertex Buffers.
- Improved initialization code to ease future development.
- Fixed several possible crashes in the GS subsystem wrappers.
- Fixed 'Blur' filter color being wrong due to non-power-of-two textures.
- Improved 'Blur' filter error reporting for better debugging and support.
- Fixed 'Blur' filter crashing OBS on GPU reset, better support for this is added in a future version of OBS.
- Fixed 'Blur' filter occasionally just not working.
- Added 'Source Mirror' source which allows you to add filters to a source without modifying it as well as rescaling it.