Skip to content

beta-v2.3.1

Pre-release
Pre-release

Choose a tag to compare

@ChaseSunstrom ChaseSunstrom released this 09 Dec 02:26
· 38 commits to master since this release

CForge Release beta-v2.3.1

Registry & Lock File Fixes

CForge beta-v2.3.1 is a patch release addressing bugs in the new package registry integration, lock file generation, and dependency management commands.


Bug Fixes

Registry Lookup Path

  • Fixed registry looking in project directory instead of the cache at %LOCALAPPDATA%\cforge\registry
  • Changed registry reg(project_dir) to registry reg (4 occurrences in workspace.cpp)

Double "error" Prefix

  • Fixed duplicate "error" word in build output
  • Changed to fmt::print() instead of logger::print_error() which was adding a redundant prefix

cforge update --packages

  • Fixed --packages flag to actually update the package registry index
  • Now correctly calls registry::update(true) to pull the cforge-index repository

cforge add Section Handling

  • Fixed section matching to exactly match [dependencies] without catching subsections like [dependencies.git]
  • Added whitespace trimming for section header comparison
  • Fixed blank line insertion before new sections

Lock Command Directory Default

  • Changed default directory from vendor to deps to match all other commands

Improvements

Lock File FetchContent Support

Lock files now work correctly in both dependency modes:

Mode Behavior
fetch_content = true Generates lock file from cforge.toml + registry metadata
fetch_content = false Scans deps directory for installed packages

Automatic Lock File Generation

  • Lock files are now automatically generated during build
  • Uses generate_lockfile_from_config() for FetchContent mode
  • Uses update_lockfile() for clone mode

Registry Index Fixes

Fixed TOML syntax errors in cforge-index package definitions:

  • asio.toml — Fixed inline table syntax for requires
  • imgui.toml — Fixed inline table syntax for requires and groups
  • spdlog.toml — Fixed inline table syntax for requires and groups

Files Changed

File Changes
src/core/workspace.cpp Registry lookup path fix
src/core/command_build.cpp Error output fix, automatic lock file generation
src/core/command_update.cpp --packages flag fix
src/core/command_add.cpp Section matching improvements
src/core/command_lock.cpp Directory default, FetchContent support
include/core/lockfile.hpp New generate_lockfile_from_config() function

All existing workflows remain compatible.

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