You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The API is settled, and every 1.x release keeps it. A program
that builds against 1.0.0 builds against any later 1.x and means the
same: a minor release adds functions, types, enum values and fields
at the end of a struct, and never removes or renames one; a patch
release only fixes. A change that gives existing inputs a different
result ships as a feat in a minor release, or as a fix in a patch
release when it corrects a result the documentation already
promised, and its changelog entry says what changes. There is no
2.0.0. The API and the results are those of 0.13.1.
(#355)
The binary interface holds within a minor version. M3_ABI_VERSION is now the major and minor version, so a program
built against 1.0.x headers runs on any 1.0.x library, and m3CreateWorld refuses a def from another minor version's headers
with m3_errorVersion. The shared library's SOVERSION is 1.0,
and find_package(maul3d 1.0) accepts any later 1.x.
(#355)
The C# binding keeps the same promise as the C headers. bindings/csharp/Maul3D.cs ships with every release; a name it binds
is never removed or renamed in 1.x. Bind more of the API in a file of
your own, so a later Maul3D.cs replaces this one. The Godot starter
kit stays outside the promise.
(#355)
Formats. The snapshot keeps format 6, the journal tape format 7
and the replay container format 4. They carry the new M3_ABI_VERSION, so 1.0.0 refuses a snapshot, tape or container
that 0.13.1 or any earlier release wrote with m3_errorVersion.
From 1.0.0 the patch releases of a minor version read each other's,
except that a release that changed a result refuses a snapshot
written before it.