Skip to content

chore: Update outdated third-party vendor libraries #35

@killerdevildog

Description

@killerdevildog

Description

Several vendored third-party libraries are significantly outdated. Updating them would bring bug fixes, performance improvements, better compiler support (especially for Linux/Clang), and security patches.

Version Comparison

Library Current Version Latest Version Gap
Box2D v2.4.1 v3.1.1 Major version behind
Dear ImGui v1.89.2 WIP v1.92.6 ~3 minor versions behind
yaml-cpp 0.7.0 0.9.0 2 minor versions behind
spdlog v1.11.0 v1.17.0 6 minor versions behind
EnTT v3.11.0 v3.16.0 5 minor versions behind
JoltPhysics ~v2.x (2021 era) v5.5.0 Multiple major versions behind
GLFW Custom fork (MohitSethi99/glfw) N/A Fork-specific, missing Linux fixes (#33)

Notes

  • Box2D v3.x is a major rewrite with a new C API — upgrading would require significant code changes to the 2D physics integration.
  • JoltPhysics is vendored directly (not a submodule), making updates more involved. The current version is missing #include <cstdint> needed for Linux/Clang compilation.
  • GLFW uses a custom fork with Hazel-specific features (titlebar control). Updating requires coordination with the fork maintainer.
  • ImGui, spdlog, yaml-cpp, EnTT should be more straightforward to update as they tend to maintain backward compatibility across minor versions.

Suggested Priority

  1. spdlog and EnTT — Low risk, high benefit (bug fixes, compiler compatibility)
  2. Dear ImGui — Moderate risk, brings rendering improvements and bug fixes
  3. yaml-cpp — Low risk, improved parsing and standards compliance
  4. JoltPhysics — High effort, significant API changes between v2 and v5
  5. Box2D — High effort, complete API rewrite in v3

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions