Archive: VPatch 3.0 release candidate


VPatch 3.0 release candidate
I have uploaded a release candidate of VPatch 3. This version is feature-complete and is ready for testing.

You can download it from http://www.tibed.net/files/vpatch3releasecandidate.zip

What's new in v3-RC:
- new patch generator in C++, much faster and lower memory usage. You can easily patch 500 MB files with a memory usage of <150 MB. Also, a 'bug' in the old patch generator would make performance come to a complete halt on certain input files (which happened to be quite common), expect speedups in the order of 107s -> 10s for those (big) files.
- dates on files to update are preserved (given date of the target file on the build system)
- updated NSIS example using new VPatchLib, which handles error checking for you. Also, it should be clearer than the old example.
- more verbose error messages in the EXE runtime
- new DLL runtime
- fixed incorrect documentation
- GUI now uses the command-line patch generator instead of a built-in version, making results the same (and reducing complexity).

Note: this version has its version number set to 3.0 and will be released as 3.0 if there are no problems. So please remember, you are using a release candidate which might be updated later.


[edit]
Release candidate #2 has been released.

http://www.tibed.net/files/vpatch3releasecandidate.zip

What's new (I know you're not supposed to add new features to release candidates, but I'll do it anyway):
- cleaned up all the runtimes (EXE/NSIS plug-in/DLL) to use the same code
- do proper error checking everywhere in all runtimes (some ReadFile calls weren't checked for errors)
- support MD5 in runtimes (gives a size increase: from 4K to 7K for the NSIS plug-in).

Someone willing to find out why MD5 support causes such a big increase? Note that the new error checking code also takes up some space.

TODO:
- add support for MD5 to the patch generator
[/edit]

Please test this version for any regressions compared to v2.1 or older. There should be no incompatibilities at all. Just do not try to use patch files generated by v3.0 with a pre-3.0 runtime, because new features in the runtime are needed.


Release candidate 3 has been released. Download: http://www.tibed.net/files/vpatch3releasecandidate.zip

What's new:
- Patch Generator now supports MD5 checksum and uses them by default, unless an existing .PAT file specified as file to store patches in already uses CRC32, then MD5 is automatically used.
- runtimes now share a single codebase and are split into seperate files, making the code cleaner and easier to maintain.

This version is feature-complete in the following places:
- plugins/runtimes
- patch generator
- VAppend ("linker")

The following items will probably be modified before the final release:
- GUI
- Documentation


Should the VPatch plug-in also support calculation of CRC32 and MD5 of files? The code is already in there and it's only about 512 bytes extra in the plug-in...


Yay. Up to release candidate 5a now with many bugs squished. The url is still the same. Will post on http://www.tibed.net/vpatch in a few days I think.