Skip to content

CyberPatchMaker v1.0.1: Self-Contained Patches & Smarter Builds

Choose a tag to compare

@cyberofficial cyberofficial released this 06 Oct 10:23
· 13 commits to main since this release

CyberPatchMaker v1.0.1

This update introduces a major new feature focused on simplifying the patching experience for end-users: Self-Contained Patch Executables. It also brings several other enhancements for greater flexibility and robustness.

The goal of this release is to make patch distribution as simple as sending a single file, removing the need for end-users to handle separate patch files and applier tools.

✨ Major New Feature: Self-Contained Patch Executables

You can now generate a standalone .exe that bundles the patch data and the applier into a single, easy-to-use file. This is perfect for non-technical users who can simply double-click the executable to update their application.

This feature is available for both the GUI and a new interactive CLI applier.

  • GUI Executables: A graphical, wizard-like experience.
  • CLI Executables: A user-friendly, interactive console menu for environments without a graphical interface.

How to Create a Self-Contained Executable

Use the new --create-exe flag with the generator:

patch-gen.exe --from-dir ./versions/1.0.0 --to-dir ./versions/1.0.1 --output ./patches --create-exe

This command will create both 1.0.0-to-1.0.1.patch and 1.0.0-to-1.0.1.exe.

Interactive CLI Experience

When an end-user runs the generated CLI executable, they are greeted with a simple, interactive menu, removing any need to use command-line arguments.

==============================================
  CyberPatchMaker - Self-Contained Patch
==============================================

=== Patch Information ===
From Version:     1.0.0
To Version:       1.0.1
Key File:         program.exe
...

Target directory [C:\Path\To\Your\App]:

==============================================
Options:
  1. Dry Run (simulate without changes)
  2. Apply Patch
  3. Toggle 1GB Bypass Mode (currently: Disabled)
  4. Change Target Directory
  5. Specify Custom Key File
  6. Exit
==============================================
Select option [1-6]:

🚀 Other New Features & Improvements

  • Custom Key File Support: The patch applier now accepts a --key-file argument. This provides flexibility if your application's main executable has been renamed or is in a different location than what the patch expects.

  • Enhanced Backup System: The backup logic has been improved to correctly back up entire directories that are marked for deletion during a patch. This ensures that a rollback is more complete and reliable.

  • Large Patch Support (>1GB): For extremely large updates, a new --ignore1gb flag has been added to the applier to bypass the default 1GB safety limit on patch sizes. This can also be toggled in the new interactive CLI menu.

  • Expanded Test Suite: The advanced test suite has been expanded to 40 tests, now covering all the new features, including self-contained executables, custom key files, and the 1GB bypass mode to ensure maximum stability.

Full Changelog

  • feat(generator): Added --create-exe flag to generate self-contained CLI executables.
  • feat(applier): Implemented interactive console mode for self-contained executables.
  • feat(applier): Added --key-file flag to allow specifying a custom key file during patch application.
  • feat(applier): Added --ignore1gb flag to support applying patches larger than 1GB.
  • fix(patcher): The backup system now correctly backs up the full contents of directories marked for deletion.
  • build(version): Incremented project version to 1.0.1.
  • test(advanced): Expanded test suite to 40 tests to cover all new functionality.
  • docs: Added new documentation for Self-Contained Executables and updated all relevant guides.