- Introduced a new `yaze_grpc_support` library to centralize all gRPC and protobuf usage, addressing Windows linker errors and improving build stability.
- Updated CMake configurations across various components to link against the new support library instead of individual protobuf targets, simplifying the linking process.
- Removed legacy whole-archive linking logic, ensuring a cleaner and more maintainable build setup.
Benefits:
- Reduces complexity in CMake files and enhances compatibility across platforms.
- Prevents potential linker errors by consolidating gRPC and protobuf dependencies into a single library.
- Removed unused gRPC and protobuf dependencies from `vcpkg.json`.
- Updated CI configuration to enable vcpkg installation for SDL2 and yaml-cpp.
- Added support for MSVC in CI workflows and improved caching strategies for vcpkg packages.
- Enhanced logging in build steps to provide better feedback on dependency status and build progress.
- Added `grpc` and `protobuf` as dependencies in `vcpkg.json` for Windows platform support.
- Updated CI workflows to ensure build and configuration failures are reported with detailed logs for better diagnostics.
- Enhanced the logging mechanism to capture and upload build logs on failure across all platforms.
Benefits:
- Improves the visibility of build issues, facilitating quicker troubleshooting.
- Ensures necessary dependencies are included for Windows builds, enhancing overall functionality.
- Updated the vcpkg baseline and commit ID across configuration files to the latest version for improved compatibility.
- Added SDL2 as a dependency in `vcpkg.json` for Windows platform support.
- Adjusted CI and release workflows to reflect the new vcpkg commit ID, ensuring consistency in the build process.
Benefits:
- Ensures the project utilizes the latest features and fixes from vcpkg, enhancing overall stability and reliability.
- Streamlines the integration of SDL2, improving support for Windows builds.
- Eliminated the custom vcpkg overlay for SDL2, which was previously used to address installation issues on Windows.
- Updated `vcpkg.json` to remove SDL2 dependency and related configurations from CI and release workflows.
- Deleted associated documentation and files for the SDL2 overlay to streamline the project structure.
Benefits:
- Simplifies the vcpkg configuration by removing unnecessary overlays, improving maintainability.
- Reduces complexity in the CI and release processes, enhancing overall build reliability.
- Modified CMake presets to include static triplet for vcpkg in Windows configurations, enhancing build consistency.
- Updated vcpkg baseline and commit ID across configuration files to ensure compatibility with the latest package versions.
- Enhanced CI workflows to utilize the new vcpkg toolchain file, improving the setup process for Windows builds.
Benefits:
- Ensures the project leverages the latest features and fixes from vcpkg, enhancing overall stability.
- Streamlines the Windows build process by consolidating vcpkg configurations, reducing potential discrepancies during builds.
- Updated the vcpkg baseline in `vcpkg-configuration.json` and `vcpkg.json` to the latest commit `8eb57355a4ffb410a2e94c07b4dca2dffbee8e50`, ensuring compatibility with the latest package versions.
- Modified CI workflows in `ci.yml` and `release.yml` to reflect the new vcpkg commit ID, improving consistency across build configurations.
Benefits:
- Ensures the project is using the most recent vcpkg features and fixes, enhancing overall stability and performance.
- Maintains alignment between the vcpkg configuration and CI workflows, reducing potential discrepancies during builds.
- Introduced new dependencies for SDL2, yaml-cpp, and zlib in the vcpkg.json file, enhancing the project's capability to support additional features on Windows.
- Updated the SDL2 override to specify version 2.30.9, ensuring compatibility with the latest features.
Benefits:
- Expands the project's functionality by integrating essential libraries, improving overall performance and maintainability.
- Modified the Ninja version command in both CI and release workflows to ensure the correct environment path is set before executing the version check.
- This change enhances the reliability of the Ninja installation process on Windows.
Benefits:
- Improves the setup process for Windows environments by ensuring accurate feedback on the Ninja installation, leading to more efficient builds.
- Eliminated the SDL2 dependency from the vcpkg.json file, streamlining the project's dependency management.
- Removed the associated overrides for SDL2, simplifying the configuration.
Benefits:
- Reduces complexity in the dependency setup, leading to a more maintainable project structure.
- Modified CI configuration to use the D-Bus portal for file dialogs on Linux for improved reliability.
- Updated CMake commands in both CI and release workflows to include the NFD_PORTAL option.
- Removed OpenSSL from vcpkg.json to streamline dependencies.
Benefits:
- Enhances build reliability across different platforms.
- Simplifies dependency management in the project.
- Removed the abseil dependency from vcpkg.json for Windows platform.
- Updated CMake configuration to prevent finding system-installed protobuf and abseil, ensuring gRPC uses bundled versions.
- Modified todo_manager.cc to convert paths to strings for consistency.
- Updated vision_action_refiner.cc to explicitly convert stripped whitespace strings to std::string.
- Added undefinitions for Windows macros in z3ed_network_client.cc to avoid conflicts with method names.
- Updated the builtin-baseline in vcpkg.json to '01f602195983451bc83e72f4214af2cbc495aa94' for consistency with the latest vcpkg release.
- Enhanced the CI workflow by separating CMake configuration steps for Windows, macOS, and Linux, improving clarity and error handling.
- Improved error reporting for CMake configuration failures across different platforms, ensuring better diagnostics in CI logs.
- Introduced a new vcpkg-configuration.json file to define the default registry and baseline for vcpkg.
- Updated vcpkg.json to include a schema reference, a new builtin-baseline, and refined dependency specifications for SDL2, abseil, yaml-cpp, and zlib, ensuring compatibility with Windows platform.
- Removed the `builtin-baseline` from `vcpkg.json` to prevent version database mismatches.
- Updated the CI workflow to synchronize with the stable vcpkg commit `c8696863d371ab7f46e213d8f5ca923c4aef2a00`.
- Adjusted the CI build matrix to remove the x86 Windows build due to cpp-httplib incompatibility.
- Added compiler definitions in `cmake/grpc.cmake` to prevent Windows macro pollution in protobuf-generated headers.
- Enhanced httplib status messages to clarify header-only mode and AI feature requirements.
- Added zlib as a dependency in vcpkg.json to support future compression features.
- Integrated yaml-cpp library into the project for YAML file parsing.
- Updated ConversationalAgentService to set ROM context in AI services.
- Extended AIService interface with SetRomContext method for context injection.
- Implemented SetRomContext in GeminiAIService and OllamaAIService.
- Enhanced PromptBuilder to load resource catalogues from YAML files.
- Added functions to parse commands, tools, examples, and tile references from YAML.
- Improved error handling for loading YAML files and added search paths for catalogues.
- Updated CMake configuration to fetch yaml-cpp if not found.
- Modified vcpkg.json to include yaml-cpp as a dependency.
- Bump project version to 0.3.2 in CMakeLists.txt, vcpkg.json, and relevant headers.
- Increase Windows stack size to 8MB to prevent stack overflow during asset loading.
- Isolate development utilities from CI builds to ensure cleaner release artifacts.
- Implement comprehensive bounds checking and fix segmentation faults in the graphics system.
- Update documentation to reflect new build instructions and stability improvements.
- Updated the `builtin-baseline` in `vcpkg.json` to `4bee3f5aae7aefbc129ca81c33d6a062b02fcf3b`, ensuring accurate dependency management.
- Modified the GitHub Actions workflow to reflect the new `vcpkgGitCommitId`, enhancing the reliability of the build process.
- Changed the `builtin-baseline` in `vcpkg.json` to a specific commit ID `d18b2e4129c1ff667b1e660528d6d2678f38c6fc`, ensuring precise dependency management.
- Updated the GitHub Actions workflow to reflect the new `vcpkgGitCommitId`, enhancing the reliability of the build process.
- Set the `builtin-baseline` in `vcpkg.json` to `2024.12.18`, ensuring compatibility with the latest dependencies.
- Updated the GitHub Actions workflow to include the new `vcpkgGitCommitId`, improving the build process reliability.
- Removed the `builtin-baseline` entry from `vcpkg.json`, streamlining the configuration.
- Updated the GitHub Actions workflow to remove the hardcoded `vcpkgGitCommitId`, enhancing flexibility.
- Added `VCPKG_DEFAULT_HOST_TRIPLET` and `VCPKG_FEATURE_FLAGS` to improve build configuration options.
- Changed the `builtin-baseline` in `vcpkg.json` to the latest version `2024.09.12`, ensuring compatibility with updated dependencies.
- Updated the GitHub Actions workflow to reflect the new baseline, enhancing the reliability of the build process.
- Added a timeout for the vcpkg job and enabled the use of system binaries, improving the efficiency of the workflow.
- Eliminated all references to PNG and ZLIB dependencies in CMake configuration and project files.
- Updated documentation to reflect the removal of PNG support and related functionalities.
- Adjusted build scripts and source files to remove unused code related to PNG handling, ensuring a cleaner codebase.
- Updated the builtin-baseline in vcpkg.json to the latest version.
- Removed GLEW references from CMake files to avoid MSYS2 issues and streamline the build process.
- Adjusted include and link directories in z3ed.cmake to reflect the removal of GLEW.
- Included GLEW, boost-system, boost-filesystem, and boost-thread as dependencies.
- Specified platform compatibility to exclude UWP for these libraries.
- Introduced the abseil library as a dependency in vcpkg.json, excluding UWP platform support.
- Updated the vcpkg configuration to include a new features section for pkg-config, improving dependency detection.
- Modified yaze.vcxproj to conditionally include additional dependencies and library directories based on vcpkg integration status, enhancing build flexibility.
- Organized source and header files in the project structure for better clarity and maintainability.
- Removed unnecessary dependencies from vcpkg.json for a cleaner configuration.
- Updated sdl2.cmake to improve handling of ZLIB and PNG dependencies for minimal builds on Windows.
- Added a comprehensive Visual Studio setup guide to assist users in configuring the YAZE project on Windows, including prerequisites and troubleshooting tips.
- Improved app configuration to prevent conflicts with Google Test integration, ensuring a smoother testing experience.
- Introduced a new CMake preset for Windows development, enabling vcpkg integration and testing features.
- Configured the preset to inherit from the debug configuration, ensuring consistency in build settings.
- Set up cache variables for vcpkg and testing options, enhancing the development workflow on Windows.
- Changed the builtin baseline in vcpkg.json to a specific commit hash for better dependency management.
- Updated CI workflow in ci.yml to use GCC-12 and Clang-15, enhancing compiler support and ensuring compatibility with the latest features.
- Added necessary packages for the new compiler versions to the CI setup, improving build reliability.
- Updated CMakeLists.txt to set policies for older submodules, improving compatibility with various CMake versions.
- Modified vcpkg.json to change the SDL2 dependency to a core variant and updated the builtin baseline to the latest version, ensuring better package management.
- Improved file dialog functionality in file_dialog.cc by adding conditional compilation for NFD support, providing fallback behavior when NFD is unavailable.
- Updated CMakeLists.txt to conditionally enable PNG support based on the presence of the PNG library, improving compatibility for minimal builds.
- Added vcpkg.json to manage project dependencies, including zlib, libpng, sdl2, and abseil, streamlining package management.
- Modified CI workflow in ci.yml to simplify CMake configuration commands for better readability.
- Enhanced CMake scripts to ensure proper handling of dependencies in both minimal and regular builds, improving build reliability.