This chapter lists the changes in BinPatch from version to
version:
V3.0 (14. official release for DOS,
Win95, WinNT, OS/2 and Linux on 23-January-99)
- Enhanced Feature: The GenPatch Auto-detection feature use has
been improved. It will no longer be used for filenames present with the same filename in
all states, but only if a file with the same filename cannot be found in start states.
- Improvement: The DoPatch file handling was completely revised.
The checking part was optimized to save results, so there is no longer a need for
repeating the patch process after checking all entries. This together with the new ability
to check created files at time of writing them reduced the amount of read/write operations
drastically. Speed enhancements of 500% are achieved compared to previous releases of
BinPatch.
- Added Feature: Patch files will now do a full rollback in any
kind of error situation. Already updated files will be replaced with the original contents
and everything will be just as it was before. In previous releases, disk full situations
were not handled completely and failure to apply to patch file due to locked files would
cause problems potentially.
- Added Feature: Patch files now detect disk full situations and
reports such situations to the user while doing a full rollback.
- Added Feature: Patch files will do a full rollback in case of
any access violation problem or locked files encountered while replacing files.
- Improvement: GenPatch no longer needs to use a temporary plain
patch file to create executable patch files. It will now just write the executable patch
file in one step. You may notice this only with very large patch files.
- Improvement: The DoPatch for Windows interface was shrunk by
6kB as an executable and still 5kB compressed. This reduces the minimum overhead for
executable patch files with windows interface by more than 10%.
- Changed Feature: The DoPatch for Windows interface no longer
immediately displays the patch creation license, but only if a "Info" button is
available that shows this information to the user on demand. This means more space for the
messages list unless there are comments present.
- Removed Feature: Executable patch files with Windows interface
no longer support testing if a patch file can be applied, but only allow to apply the
patch file.
- Improvement: Patch files always created a "Backup"
directory when applied even if there was no file to actually backup. Now this
directory is removed in that case. It will be removed during a rollback also, unless it
contains file not created by the patch file.
- Enhanced Feature: Two new alternate algorithm as a fallback
method was added. It will be used when creating a patch would require more memory than
available. The first will work with 15% less memory than the standard algorithm while not
being slower, but slightly less efficient. The second will work with any fixed amount of
memory and attempt to create a quite acceptable patch file, but generally be less
efficient and much slower than the standard algorithm.
- Improvement: A completely new implementation of the
"traditional" auto-find feature is now even faster than before while using less
code for it.
- Changed Feature: Executable patch files no longer support
alternate target directories. We found this feature not actually required, but consuming a
lot of extra handling code that is now striped off from the stubs. You must use the
separate DoPatch forms in order to do this.
- Changed Feature: After some reports of mistakes in our unique
auto-detection feature, we redesigned it to make a more precise fingerprint. This new
mechanism is now more aware of difficulties with arranging multi-version patch files and
does no longer get confused by similar data types.
- Added Feature: With the new option "-cache" of GenPatch you may now
speed up incremental patch generation by reusing basic patch information for previously
patched files.
V2.2 (13. official release for DOS,
Win95, WinNT, OS/2 and Linux on 9-August-98)
- Added Platform: From this release on the BinPatch Professional
SDK will be available. This refers to a package with DoPatch DLLs for Win16 and Win32
platforms. (We plan on adding DLLs for Windows CE too.)
- Added Feature: Features of executable patch files are now
dynamically bound. That means that executable patch files no longer carry the program code
to apply any patch file, but only the code required to apply this certain patch file. This
removes unnecessary bloat of up to 12k depending on the platform and type of patch
file.
- Enhanced Feature: The GenPatch Auto-detection has been further
enhanced. For multi-version patch files it is now able to reorder the order on a per file
bases to achieve minimum patch file size. This means that you no longer have to order
source states yourself and the new automatic called "Auto-arrange" will now take
benefit of identical files in not adjacent source states, too. Note that the reordering of
source files works for file patches also.
- Added Feature: When building executable patch files, the
GenPatch software now does a "dynamic feature binding" by selecting a stub file
that is proving just the required features for the attached patch information. So a single
file patch will be created with a smaller stub than a complex directory patch e.g.
- Added Feature: Patch files are now internally compressed by
default. If you plan to apply external compression to the patch file, you may disable this
new feature using the GenPatch option "-j". The dynamic feature binding ensures that you have a smaller executable
stubs chosen if you disable this feature, so we really recommend disabling it, if you
deliver your patch file as a zip archive.
- Added Feature: A new default external compression method is
"ZIP" was added. It allows you to create zipped patch files without using any
external software at all. Compression is always maximum. We recommend to use option
"-j" to disable to internal compression of the patch file, if you use this
feature. Using the external ZIP compression method on the internally compressed patch file
would yield larger archives than using the "ZIP" method directly on the not
internally compressed patch file.
- Changed Feature: The option "-z" and "-Z"
no longer supports numerical selection of the packer type.
- Added Feature: New options "-9", "-8",
..., "-0" of GenPatch
control the speed vs. file size trade. The default is "-8" which will give you
smallest patch file sizes with little exceptions at normally fast speed. The "-9" option will be more efficient
but at times very much slower in comparison the "-8". Other levels "-7" to "-0"
are planed to increase the patch creation speed while trading patch file size in return.
Note that you will next to never come into a situation where you need to use options below
"-8" and that for most patch types the results are identical.
- Improvement: GenPatch now detects files with extreme
redundancy in them and handles them different in order to achieve maximum patch creation speed while
trading patch file size. Example file types for this are ".LIB" files that are
usually padded with a lot of zeros. Patch generation can be up to several thousand times
faster with this extreme file type now while loosing 10% with these files at maximum. Your
patch files will normally not be affected, so the detection will only be disabled for the
maximum efficiency setting "-9".
- Added Feature: New options "-s=gui32" and
"-s=gui16" specialize the old "-s=gui" option of GenPatch. The DoPatch
with Windows 3.1 interface is now included in the Windows 95/NT release.
- Added Feature: The DoPatches for Win32 (command line and GUI)
now support a registry auto-find. Such patch files insist on finding their patch target by
looking up a registry key pointing to the installation of the patch target.
- Added Feature: The GenPatch now optionally creates a log file
for created patch files. This log may be chosen the be in plain text or in HTML with the
new option "-log" of GenPatch.
- Added Feature: Patch files may now optionally contain comment
information which will be displayed before the patch is applied and will ask users
whether they want to apply the patch file.
- Enhanced Feature: New parsing of GenPatch option
"-f" will allow you to force identical files patching for specified patterns
only and instead of all files at once which was the former behavior.
- Bug Fixed: Detecting already updated files did not work with
file patches applied to an already updated file and specifying alternate location for the
updated files. Fixed.
- Bug Fixed: Paths ending in backslash manually entered in the
windows interface of DoPatch target path field prevented the "Browse" button to
work.
- Bug Fixed: The DoPatch for Win16 was not able to replace
read-only protected files. This has been fixed.
- Improvement: This HTML documentation has been completely
reformatted and revised.
V2.1 (12. official release for DOS,
Win95, NT, OS/2 and Linux on 26-Mar-98)
- Added Platform: From this release on, their are DoPatch DLLs
for the windows platforms. The DoPatch16-DLL is for use with Windows 3.1 and the
DoPatch32-DLL is for use with Windows 95/NT. The DLLs are ideal for use in installers,
internet update checks etc.
- Added Platform: BinPatch for Windows 95/NT now includes the
graphical windows interface DoPatch and optionally creates executable patches using it.
Such patches have only 34k (packed) overhead. You no longer need to use Click'n Patch to
create windows interface patches, if you prefer the command line to create patches.
- Improvement: DoPatch for Windows 95/NT shrunk after
incorporating some assembler to address system specifics and will now be only 20kB
compressed executable size instead of former which was close to 30kB.
- Improvement: GenPatch is now about 5% faster in Warp1 compared
with prior releases, if you have large areas not found in the source. Warp2 and Warp3 will
be about 50% faster compared with last release due to a complete rewriting of the code.
- Improvement: Memory allocation of GenPatch has been revised to
use less memory in general, about 40-50% less and been organized to be more friendly for
virtual memory systems.
- Improvement: Files embedded into directory mode patches no
longer need to fit in (virtual) memory and the embedding process itself will be much
faster.
- Added Feature: GenPatch's new option "-u=pattern"
allows to specify files whose creation failure may be "tolerated", i.e.
unimportant files. GenPatch will take special care of them and DoPatch will not complain
if it cannot find or update such files, but only output a warning. This will allow you to
include patching information for files like FILE_ID.DIZ in patches and not fail to patch,
if some users deleted the old version use as source for those files.
- Bug Fixed: DoPatch for DOS is now Pentium II compatible,
previous versions would refuse to be run on such systems.
- Bug Fixed: Embedded files in directory patches were not moved
to backup directory with prior releases. This has been fixed.
- Enhanced Feature: The auto-scan was checking all subdirectories
of the current directory before checking the current directory itself. This order has been
reversed which will yield a faster success.
- Improvement: DoPatch output texts have been completely revised
to be more readable.
V2.0 (11. official release for DOS,
Win95, NT, OS/2 and Linux on 5-Feb-98)
- Improvement: DoPatch did not accept already updated files as
possible source states, but now does. Versions with old and new files mixed will no longer
be rejected. Note: Completely updated versions will also be accepted.
- Improvement: GenPatch uses less memory. Reduction is about 40%
for not at all well patching files and is not relevant for well patching files.
- Improvement: GenPatch has become much faster again. When
patching files above 2MB there are savings of 20% or more.
- Improvement: Packer adaptation has been further enhanced. Will
yield even betters result with standard (and non-standard) packers.
- Added Feature: If you install BinPatch Click'n Patch you'll have
an icon for plain patch files. After that, double-clicking patch files starts DoPatch to
apply the patch with prior auto-find. A context menu entry offers you to test the patch
applying.
- Added Feature: GenPatch's new option "-i=pattern",
"-is=pattern", "if=pattern" allow to ignore files in source or
final state directories.
- Added Feature: GenPatch's new option "-e=pattern"
allows to restrict the auto-detection for some pattern. Filenames in destination dir that
match such a pattern will only be patched from files with the same filename.
- Added Feature: New GenPatch option "-nl" sets all
file dates to that of the last file processed.
- Changed Feature: Executable patches no longer require to
auto-find targets, instead you may give source to be patches directly as an argument to
them. Note: Use ".\" (not ".") to patch the current directory without
being prompted.
- Changed Feature: GenPatch's new option "-sloc"
creates executable patch files using the international patch applier stub that will detect
end users system language. Currently supported are English, French and German.
- Added Feature: BinPatch for OS/2 finally supports EAs. New
option "-A" causes GenPatch to embed EAs as files "ATTRIB.EA" which
DoPatch will later add to the patched files.
- Enhanced Feature: License texts may be displayed in end users
language too. New versions of DoPatch select the English text and versions of DoPatInt
take the system language corresponding license file text. License file languages may be any class of
windows languages.
- Bug Fixed: GenPatch's option "-n" was a little
inaccurate in setting the 'current' date for files processed. It did take the time at
which a file was processed.
- Bug fixed: DoPatch for DOS had problems with patching
read-only files, these problems have been fixed.
- Improvement: New temporary file handling allows to use even
DoPatch for DOS in parallel (in multiple DOS boxes).
- Enhanced Feature: Support for the packer JAR has been added,
use -zjar, -Zjar or -z6 to enable it.
- Removed Feature: DoPatch option "-l" has been
removed. It used to output statistics about patches, but was useless for normal end users,
so it was removed with a saving of 3% in DoPatch size.
V1.9 (10. official release for DOS,
Win95, NT, OS/2 and Linux on 3-Sep-97)
- Improvement: BinPatch is now also downloadable via anonymous
FTP from ftp://ftp.kayhayen.com/binpatch right after new releases become available.
- Improvement: GenPatch will now allocate memory much more
dynamically which increases the patchable file size under DOS/Windows 3.x and system
compliant behavior of GenPatch in general.
- Improvement: The redundancy mode has been re-implemented
and
will yield about equal or better results. In addition DoPatch now supports redundancy
patches on all platforms.
- Improvement: Old style option "-b" has been removed
and replaced by automatically detection in GenPatch. This enhances results for directory
patches, because documentation and program files are now both handled in optimum mode.
- Added Platform: As of this release a new GenPatch 95/NT
version with graphical user interface is released. It will be referenced as Click'n Patch
and offers you a Patch Wizards and Experts (nice graphics + intuitive handling) that will
easily guide through the process of creating patches. The Patch Experts offer the most
important features that GenPatch has, but with an 'easy-to-use-interface', designed for
convenient 'Click 'n Patch'! There is an option to send your patches to your customers
via email (with no extra e-mailer needed!). See BinPatch Click'n Patch Homepage for
detailed info on this new BinPatch platform.
- Improvement: Internal file handling of DoPatch has been
improved. Will no longer rename source files unless necessary and move old files into a
backup directory which is named "backup".
- Added Feature: GenPatch may now produce executable patches
(option "-s") that apply themselves when executed, but these patches may also be
handled using a normal DoPatch, i.e. executable and normal patch file format
are 100%
compatible.
- Improvement: GenPatch now also meters progress for Warp2 and
Warp3.
- Added Feature: GenPatch will now pack created patch files with
PkZIP and GZIP also.
- Changed Feature: GenPatch option "-z" and
"-Z" now accept packers by name e.g. "-z=InfoZIP", "-Z=RAR"
so you won't have to know and use packer IDs anymore, though you may still use them.
- Added Feature: BinPatch will now also do "Multi-version
patch" which means that one patch file can update two (or even more) different
releases with DoPatch automatically determining what release end user has.
- Improvement: GenPatch will now refuse to patch files in file
mode (directory mode won't do that anyway) unless they match to some extent. You may
override this by using option "-f".
V1.8 (9. official release for DOS,
Win95, NT, OS/2 and Linux on 11-Jul-97)
- Added Feature: DoPatch has new option "-auto"
(called auto-find) that searches potential targets itself.
- Added Feature: GenPatch has a new option "-z" that
passes the created patch file to a defined packer, which is specified with
-"Z". Default is InfoZIP, but you can change this. Note: You need to install
these packers in your patch to use them with GenPatch.
- Added Feature: Another new option will tell GenPatch to create
an self extracting archive, of course only if the packer supports this feature. (Later
note: This option was removed when the internal compression made it somewhat obsolete)
- Added Feature: New option "-q" disables the usage of
math coprocessor by GenPatch. This will allow usage of GenPatch with those few 386
processors without NPU (math coprocessor) still in operation. Please note that using this
option increases the size of compressed patch files. DoPatch does not use the NPU.
V1.7 (8. official release for DOS,
Win95, NT, OS/2 and Linux on 19-Jun-97)
- Bug Fixed: When create a patch from a source file much smaller
that the target file with large parts embedded GenPatch produced patches, that were
refused by DoPatch.
- Added Feature: Patches now contain the file date
of patched
files and modify patched files. The new parameter "-n" of GenPatch sets the date
of all files in that patch to the current date.
- Improvement: The output of DoPatch has been revised and now
fits into a standard 80x25 character window which is typical for DOS and default for
Windows.
- Improvement: Both Warp 2 and 3 have received detail
enhancements that gain about 1% with embeddings and their packing.
- Improvement: New parameter "-p" allows to modify
local behavior of BinPatch in another aspect as "-l". Using it, GenPatch adapts
to more or less constant structure of the patch. Default is 190. Lower or higher values
affect packed file size.
- Improvement: New parameter to dramatically increase
pack rate of patch files treating data that pack very good. These are e.g. texts or
help files with a
lot smaller changes. In other cases it's no enhancement or will even reduce the results.
This parameter will also change only the pack rate of patch files esp., but not the
file size of patches. Note: This option has been replaced by automatically
detection of its
use.
V1.06 (7. official release for DOS,
Win95, NT, OS/2 and Linux on 17-Jun-97)
- Bug Fixed: DoPatch for Windows 95/NT did not use the
appropriate directory for it temporary files. This has been fixed.
- Improvement: The text for patches created without a
license file has been changed and is now reads much friendlier.
- Improvement: The language detection on DOS/Windows3.x and
Win95/NT has been enhanced.
V1.05 (6. official release for DOS,
Win95, NT, OS/2 and Linux on 9-Jun-97)
- Improvement: Now GenPatch now shows a progress meter for Warp
1.
- Changed Feature: From this version on, you may specify
GenPatch patch names with or without the ".utp" suffix on the command line. Before
this, this would result in e.g. "test.utp.utp", which led to errors under
DOS/Windows3.x as an illegal filename.
- Added Feature: BinPatch now detects the systems language and
chooses appropriate output, the Unix version will always display English texts.
- Improvement: On logical errors (e.g. a unreadable source file)
GenPatch stopped execution with error, but did not delete the patch file already created
so far. Now it does.
- Improvement: The DoPatches for Win95, OS/2 and Linux are now
able to work more than one at a time, which means, you may apply several patches at the
same time. (Later note: DoPatch for DOS will now do the same.)
V1.04 (5. official release for DOS,
Win95, NT, OS/2 and Linux on 21-May-97)
- Improvement: Registration can now be done online via credit card through processors on our behalf. You may optional select the secured
SSL-protocol for purchasing.
- Improvement: The purchase can also be done by starting Register.exe under Windows. The
program will allow you to purchase BinPatch licenses via e-mail or postal mail. You may
pay using various credit cards, checks, bills and almost all currencies of the world.
V1.03 (4. official release for DOS,
Win95, NT, OS/2 and Linux on 3-Apr-97)
- Added Platform: The OS/2 version of BinPatch is now
publicly released.
- Improvement: Due to better algorithms GenPatch creates about
2-5% smaller patches compared to last release
- Improvement: The Linux version has dramatically shrunk in
size. The DoPatch is now at 15kB packed file size and about as small as the DOS version.
- Improvement: As of this release the text of licenses may
contain special characters that are non standard-US ASCII, but e.g. German, French or
Spanish Umlaute instead. DoPatch displays them correctly on all platforms.
- Improvement: Memory usage of GenPatch has been
decreased to 20% only! This increases the file size that is patchable with the
DOS/Windows3.x version dramatically.
- Improvement: The speed of GenPatch has been increased by about
factor 1.5. You will only notice this with very big files and much embeddings in
them, otherwise you will not notice it due to GenPatch's famous speed on patches.
- Added Feature: A new switch "-f" for GenPatch
creates directory-mode patches that force patching of unmodified files too. That way
DoPatch creates complete installations when supplying a alternative directory. You may use
this, to give end users an option to create clean installations with each of your latest
releases. Unneeded files will not be found anymore in the new clean installation.
- Added Feature: A new environment-variable
"BINPATCH_OPTS" is recognized by GenPatch. Its contents is added to all command
lines given to GenPatch. This is meant to give you a place for global options.
- Improvement: DoPatch for DOS now detects when you provide LFN parameters or try to apply directory patches with LFN filenames and points to users to use DoPatch for Win32
instead.
V1.02 (3. official release for DOS,
Win95, NT and Linux on 17-Feb-97)
- Improvement: DoPatch now outputs the address where to find a
suitable DoPatch when it finds patches in newer formats.
- Added Feature: The new parameter "-a" tells GenPatch
to work on hidden files, too.
- Bug Fixed: GenPatch now patches files with 0 Bytes, for source
or destination.
V1.01 (2. official release for DOS,
Win95, NT and Linux on 11-Feb-97)
- Improvement: The project was renamed. Former name
"BinDiff" led to the assumption, that the program would only list differences.
So from now on, it will be called "BinPatch" instead.
- Changed Feature: The license file will now also be found, if
simply put into GenPatch's directory. This saves valuable space for environment
variables
under DOS.
V1.00 (1. official release for DOS,
Win95, NT and Linux on 5-Feb-97)
- Improvement: A "test suite" helps to check
functionality of new BinPatch releases. Known bugs of prior versions or known error
sources are checked prior release on all platforms. All features are tested if they still
work. The "test suite" is permanently expanded.
- Improvement: When building the "test suite" optical
aspects of output were enhanced.
V0.90 (9. Beta version for DOS,
Win95 and Linux on 31-Jan-97)
- The check for license keys has been made more resistant
against mistakes.
- Output of DoPatch has been revised to fit in a 80x25 screen.
- Linux version has become a new directory structure that fits
into usual standards.
V0.89 (8. Beta version for DOS,
Win95 and Linux on 22-Jan-97)
- A bug in DoPatch for DOS was removed. The directory mode
didn't work correctly anymore, but DoPatch for Win95 was not affected.
- From this version on the program can be downloaded via WWW.
You find aside of texts about BinDiff a
purchase form and
the most recent form of this
documentation in HTML format.
V0.88 (7. Beta version for DOS,
Win95 and Linux on 20-Jan-97)
- Algorithm has been slightly improved. Smaller files will be
generated for small files.
- Maximum file size
has been increased from about 16M to about 2
GB.
V0.87 (6. Beta version for DOS,
Win95 and Linux on 16-Jan-97)
- New command line parameters "-r", "-c" and
"-l" to control GenPatch's algorithm.
- GenPatch can now be used as pre-packer.
V0.86 (5. Beta version for DOS,
Win95 and Linux on 14-Jan-97)
- GenPatch's patches now are about 5% smaller now.
- Memory-usage of GenPatch reduced to about 60%.
- GenPatch is now about 10 times faster. Large files are now
handled quite fast!
- DoPatch can work with existing files.
- DoPatch's file size
decreased, packed less than 16kB
(DOS/Windows 3.x).
- DoPatch checks patch file for damages and reports its actions.
V0.85 (4. Beta version for DOS and
Linux on 23-Dez-96)
- Documentation updated.
- Large files were only processed if they were highly patchable.
Now they were processed also if not.
- DoPatch shrunk to about 19kB when packed.
V0.84 (3. Beta version for DOS and
Linux on 19-Dez-96)
- New platforms OS/2 and Linux. Linux version is quite small,
but OS/2 version is too large and requires a runtime DLL, so no public release yet.
- All platforms compatible.
- Smaller program files for DOS.
V0.83 (2. Beta version for DOS on
16-Dez-96)
- Smaller DoPatch - packed less than 20kB.
- GenPatch packed smaller than 34kB.
- More informative error messages.
- Better documentation.
V0.82 (1. Beta version for DOS
11-Dez-96)
- If there's not enough memory, GenPatch shows amount of
requested memory and points to documentation.
- Zero byte file sizes are now handled.
Earlier versions were internal alpha versions and were not
released to a wider audience..