Skip to content

beta-v2.2.1

Pre-release
Pre-release

Choose a tag to compare

@ChaseSunstrom ChaseSunstrom released this 30 Nov 08:08
· 63 commits to master since this release

CForge Release beta-v2.2.1

Bug Fixes & Stability

CForge beta-v2.2.1 is a patch release focused on fixing critical bugs in the build pipeline, Windows compatibility, and the self-update mechanism.


Bug Fixes

Compiler Warning in Package Command

  • Replaced strncpy with snprintf in command_package.cpp to eliminate deprecation warning

CI Pipeline Timeout on Windows

  • Increased CMake build timeout from 60 seconds to 600 seconds (10 minutes) in command_build.cpp
  • Prevents Windows CI builds from timing out on larger projects

"Permission denied" Error in Windows CI

  • Added --no-build flag to packaging step in release.yaml
  • Prevents cforge from trying to rebuild itself while running

Install Script Version Parsing

  • Updated install.ps1 to handle CMake versions with suffixes like -rc1, -alpha
  • Uses regex extraction with try/catch fallback for robust parsing

CMake Warnings Treated as Errors

  • Modified install.ps1 to temporarily set $ErrorActionPreference = "Continue" during CMake operations
  • Stderr warnings no longer cause script failure

Windows min/max Macro Conflict

  • Added #define NOMINMAX in command_watch.cpp
  • Prevents Windows macros from conflicting with std::filesystem::file_time_type::min()

cforge update Command

  • Rewrote self-update logic to actually clone, build, and install the new binary
  • Previously only cloned the repository without completing the update

Windows File Locking During Update

  • Added proper error handling for backup file removal
  • Handles read-only git files when cleaning up temp directories

Improvements

Consistent Install Paths

  • Both install.ps1 and cforge update now install to the same directory structure:
    <prefix>/installed/cforge/bin/cforge.exe
    

Public PATH Update API

  • Exposed update_path_env functionality in installer.hpp
  • Now available for use by the update command and external tooling

Note: All existing workflows remain compatible.

Please report issues at [github.com/ChaseSunstrom/cforge/issues](https://github.com/ChaseSunstrom/cforge/issues)