ASTD follows semantic versioning (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/X-ARTEMIS/ASTD/llms.txt
Use this file to discover all available pages before exploring further.
major.minor.patch) to communicate exactly what has changed between releases. Each number in a version string carries a specific meaning, so you can quickly judge whether an upgrade is safe to pull in or requires a closer look at the changelog. The current stable release is 0.2.0, available on the ASTD releases page.
Version Format
Every ASTD release uses the three-part formatmajor.minor.patch. Reading a version string like 0.2.0 tells you the major version is 0, the minor version is 2, and the patch version is 0. Each segment is incremented independently based on what changed.
What Triggers Each Bump
Patch
A bug fix or issue resolution within an existing function. No new API surface is introduced — just corrected behaviour.
Minor
A new function added to a pre-existing module (e.g. a new helper in the
math module). Existing code remains unaffected.Major
An entirely new library or module is introduced (e.g. a brand-new
astd/network/ module). This expands ASTD’s scope significantly.ASTD is still in early development (major version
0), which means the API is stabilising. Pay attention to minor version bumps in addition to major ones when building on this library.Upgrade Guidance
Not every version bump requires the same level of attention before upgrading. Use this table as a quick reference:| Bump type | What changed | Safe to upgrade? |
|---|---|---|
Patch (0.2.0 → 0.2.1) | Bug fixes only | ✅ Yes — pull in immediately |
Minor (0.2.0 → 0.3.0) | New function(s) in an existing module | ✅ Yes — scan release notes for new API additions |
Major (0.2.0 → 1.0.0) | New module/library introduced | ⚠️ Review — skim the new module docs before upgrading |
Current Release
The latest stable release is 0.2.0. It ships themath and time modules.
View All Releases
Browse every release on GitHub, including release notes and downloadable archives.
Pinning to a Specific Version
If you need reproducible builds or want to hold on a known-good release, usegit clone with the --branch flag pointing at the tag you want:
0.2.0 tag. After cloning, copy the astd/ directory into your project as usual:
Finding Releases
All tagged releases — including source archives and release notes — are listed on the GitHub releases page:.zip or .tar.gz archive and copy the astd/ directory into your project, or use the git clone --branch <tag> approach shown above.
Frequently Asked Questions
Why does ASTD start at 0.x.x instead of 1.0.0?
Why does ASTD start at 0.x.x instead of 1.0.0?
A
0.x.x version signals that the library is still stabilising its API. Modules and functions may evolve between minor versions. Once the core API is considered stable and the module set is well-rounded, a 1.0.0 release will be made.Does a major bump mean breaking changes?
Does a major bump mean breaking changes?
In ASTD’s current policy, a major bump means a new module has been introduced — not necessarily that existing APIs broke. That said, reviewing the release notes before upgrading across a major version is always good practice.
Can I include only one module instead of all of ASTD?
Can I include only one module instead of all of ASTD?
Yes. Because ASTD is header-only, you can include individual headers directly (e.g.
#include "astd/math/math.hpp") rather than the convenience header astd/astd.hpp. This lets you pull in exactly the modules you need.