Skip to content

bindbc raylib3 versioning

o3o edited this page Jul 3, 2023 · 1 revision

Introduction

This document aims to provide an overview of the versioning strategy for the raylib library and its associated bindings in bindbc-raylib3. Due to the unique characteristics of raylib's development cycle and versioning approach, the traditional semantic versioning scheme has been abandoned in favor of a simplified alignment between the two projects.

Raylib Versioning

Raylib is known for its rapid evolution and frequent updates, driven by the continuous addition of new features and improvements. As a result, the raylib project does not strictly adhere to the rules of semantic versioning. While semantic versioning provides a structured approach to versioning software, it can be challenging to maintain compatibility with raylib due to its unpredictable nature.

bindbc-raylib3's Decision

To streamline the release process and ensure seamless integration with raylib, bindbc-raylib3 has made the decision to align its version number directly with the corresponding version of raylib. This means that bindbc-raylib3's version will mirror raylib's version, regardless of any violations of semantic versioning principles.

By adopting this approach, bindbc-raylib3 aims to provide a clear and straightforward association between the two projects. Developers using bindbc-raylib3 can now easily identify the compatibility between the library bindings and the specific version of raylib they intend to use.

Impact and Benefits

Although this deviation from semantic versioning might seem unconventional, it offers several advantages.

The direct version alignment between bindbc-raylib3 and raylib simplifies the process of choosing the appropriate bindbc-raylib3 version for a given raylib version. Developers can rely on the consistency of the version numbers to ensure compatibility.

Furthermore, by embracing this new versioning strategy, bindbc-raylib3 ensures that users have access to the latest features and enhancements introduced by raylib promptly. It eliminates potential confusion arising from discrepancies between the versioning schemes of the two projects.

Conclusion

In conclusion, the versioning strategy for raylib and bindbc-raylib3 has evolved to address the unique characteristics of raylib's development cycle. By aligning the version numbers and bypassing the constraints of semantic versioning, bindbc-raylib3 provides a more straightforward and reliable approach to integrating with raylib. Developers can now confidently leverage the bindings while enjoying the latest advancements brought by the raylib project.