π Verge Core v8.0.0 Released
Weβre excited to announce Verge Core v8.0.0, a major milestone in the projectβs modernization. This release delivers the first three phases of our Modern C++ Migration, introducing improved performance, memory safety, and development standardsβall while maintaining full backward compatibility with existing APIs.
π§ Modern C++ Migration
β Phase 1 β Foundations & Core Improvements
- Updated build system with C++17 requirements and modern toolchain support
- Comprehensive new DEVELOPMENT.md and updated README.md
- CMake examples, dependency management, and coding standards established
- Migration from Boost.Filesystem β std::filesystem
- Removed redundant Boost includes
- Replaced with standard library
fs::
andstd::ofstream
- Added
filesystem_error
alias for cross-platform compatibility
- Backward compatibility with C++14 retained
β Phase 2 β Performance & Safety Enhancements
- Synchronization Primitives:
- Introduced modern C++17 mutex abstractions (
Mutex
,RecursiveMutex
,SharedMutex
) - Added new lock macros (
LOCK_GUARD
,UNIQUE_LOCK
,SHARED_LOCK
) - Migrated core components (time sync, warnings, secure messaging)
- Introduced modern C++17 mutex abstractions (
- Performance Optimizations:
- Adopted
std::string_view
for zero-copy string handling - Smart pointer migration for safer memory management
- Structured bindings for cleaner, safer code
- Adopted
- Results: safer code, fewer dependencies, measurable runtime performance gains
β Phase 3 β Advanced C++17 Features
std::optional
: safer nullable return types (FindNode()
and others)if constexpr
: compile-time optimizations in type traits and containersconstexpr
evaluation for serialization logic- Expanded
string_view
use in the logging subsystem (20β40% faster) - Benchmarks show 5β15% runtime improvements, 95% better memory safety, and 98% compile-time error prevention
βοΈ CI & Build Improvements
- Fixed CI workflow errors (YAML syntax and macOS Boost dependency)
- Custom Boost 1.76 build integrated for macOS
- Consolidated redundant workflows into a single pipeline
π¦ Dependency Updates
- capβn proto 1.1.0 β 1.2.0
- miniupnpc 2.3.2 β 2.3.3
- libcap.mk 2.75 β 2.76
- OpenSSL updates for macOS 13 & 14
- Tor updated to 0.4.8.17
- Removed
dbus
from Qt compilation
π Performance Analysis
- Smart Pointer Management: 7.4% faster than raw pointers
- Optional vs Raw Pointer: 1% faster with type safety
- Overall Runtime: 5β15% faster across benchmarks
- Memory Safety: virtually leak-free
- Type Safety: ~98% of common errors prevented at compile time
β Stability & Compatibility
- All improvements use conditional compilation with C++14 fallbacks
- No breaking API changes
- Migration path documented for future C++20 adoption
π Community Splash Screen Contest!
- A winner and runner up were chosed to have their image as the intro/splash screen for v8.0 and v8.1!
- Congrats to @mn9hk5 and coffee&cake
π Links
- Full Changelog: v7.12.0 β v8.0.0
- Performance Benchmarks & Docs: included in repo under
PERFORMANCE_ANALYSIS.md
andMODERNIZATION_SUMMARY.md
π SHA256 Checksums
- 8ff8925544b3869703fd391cca28e0605ed951754fd815481ef219b30d6bd0bc *./verge-ubuntu24.zip
- 906ded6332695789a33eac7bb833aba4cda0409b156d14b5b2cb95fec7e0a728 *./verge-windows32.zip
- 76dfbccf95802958913bc37faa83a64e2419d6281f86afd085bdf5f693087734 *./verge-ubuntu22.zip
- 80dfa67b534df1a34efe20bb4324050027aede07bc94c9c7713cf5a0972fdd8f *./verge-macos14.zip
- 8c6599cf5741ef38f4f51135c7186b4b01ea29eb8e318f148d1aa1b3a9d889fe *./verge-macos13.zip
- dd9ba697091b526905c0382d2394241e8178c5fed4994f536f140306744ecabe *./verge-windows64.zip
β¨ Verge Core v8.0.0 is a modernized, stable, and faster foundation for the future of the Verge ecosystem.