beta-v2.3.1
Pre-release
Pre-release
·
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)toregistry reg(4 occurrences inworkspace.cpp)
Double "error" Prefix
- Fixed duplicate "error" word in build output
- Changed to
fmt::print()instead oflogger::print_error()which was adding a redundant prefix
cforge update --packages
- Fixed
--packagesflag 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
vendortodepsto 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 forrequiresimgui.toml— Fixed inline table syntax forrequiresandgroupsspdlog.toml— Fixed inline table syntax forrequiresandgroups
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)