Releases: ebassi/graphene
Graphene 1.10.8 (stable)
Changes since 1.10.6
- ray: simplify NaN checking [Érico Nogueira]
- Build fixes [Dor Askayo, q66, Chun-wei Fan, Marc-André Lureau]
- SIMD: Make reciprocal operations 0-safe [Dor Askayo]
- SIMD: Add simplified scalar reciprocal [Dor Askayo]
- ray: Improve intersection [Dor Askayo]
- tests: Fix installed introspection test [Matthias Devlamynck]
- Fix detection of AArch64 [Dor Askayo]
- tests: Add ray intersection unit [Sebastian Keller]
- Fix ARM64 build on Windows [Chun-wei Fan]
- Documentation fixes
Graphene 1.10.6 (stable)
Graphene 1.10.4 (stable)
Changes since 1.10.2:
- Add ARM NEON support when building with Visual Studio [Chun-wei Fan]
- Build fix on ARM64 Windows [Chun-wei Fan]
- Drop deprecated "python3" Meson module
- Fix detection of non-intersecting boxes [Daniel van Vugt, #201]
- Only enable SSE2 on x86_64 [Xi Ruoyao]
- Use the compiler-appropriate alignment attributes
- Change introspection option to a yielding feature [Xavier Claessens]
Graphene 1.10.2 (stable)
List of changes since 1.10.0
- Disable SSE on 32bit builds on Windows with MSVC
- Add more documentation on the conventions used by matrix operations
- Fix Euler angles/matrix conversion
List of bugs fixed since 1.10.0
- #173 - meson: Don't error with MSVC C4819 warning [Seungha Yang]
- #175 - Few fixes for Visual Studio builds
- #176 - Normalize input rectangles just once
- #177 - meson: pick up gobject from a subproject fallback as well [Tim-Philipp Müller]
- #179 - meson: expose
graphene_gobject_dep
variable for graphene-gobject [Tim-Philipp Müller] - #180 - GIR file contains
true
/false
- #182 - tests: installed tests should use TAP [Ross Burton]
- #183 - meson: Fix check for
builtype
arguments [Nirbheek Chauhan] - #185 -
_isnanf
on Windows instead ofisnanf
- #186 - matrix_init_look_at: Handle corner cases better [Alexander Larsson]
- #191 - Issue with euler conversions
- #192 - matrix: Clarify API docs of
graphene_matrix_init_look_at()
[Alexander Larsson] - #193 - Euler: Fix matrix orientation in euler matrix (de)composition [Alexander Larsson]
Graphene 1.10.0 (stable)
New stable release, in time for GNOME 3.34!
A few last minute API additions, mostly driven by Gthree.
Changes since 1.9.6:
Graphene 1.9.6 (snapshot)
A new snapshot, probably the last towards the 1.10 stable release.
New API and fixes needed by GThree, documentation fixes, and a substantial reorganisation of the repository.
Changes since 1.9.4
- Add radians based initialisers for
graphene_euler_t
- Use
pragma once
for the header inclusion guard - Remove unused function (#159)
- Add multiply(), scale(), and add() operators to
graphene_quaternion_t
- Add lerp() operator to all vector types
- Add
graphene_plane_transform()
- Documentation updates for
graphene_ray_t
- Fix
graphene_box_get_center()
andgraphene_box_get_bounding_sphere()
(#165) - Ensure that we detect empty or infinite boxes in the
graphene_box_t
API
Graphene 1.9.4 (snapshot)
Three big pieces landed in this snapshot:
- Graphene now uses an ancillary library called µTest for its test suite; this means it's possible to build and run the test suite without necessarily depending on GLib
- the conversion of the Euler angles type to and from matrices and quaternions has been rewritten from scratch, and should not only be finally correct, but it should also cover more use cases—namely the "proper" Euler angles as well as the Tait–Bryan angles
- the ARM NEON implementation of the SIMD types has been improved, fixed, and tested, so it's not marked as experimental any more
Changes since 1.9.2
- Require Meson ≥ 0.50.1
- Fix
graphene_quaternion_equal()
to consider the orientation, not just the component equality - Fix
graphene_quaternion_slerp()
to always interpolate along the shortest path [Alex Larsson] - Re-implement the conversion of graphene_euler_t to and from graphene_matrix_t and graphene_quaternion_t
- Add
graphene_rectangle_get_area()
[Marco Trevisan] - Document restrictions of
graphene_rect_round()
, and deprecate the function [Marco Trevisan] - Add
graphene_rect_round_extents()
[Marco Trevisan] - Port the test suite from GLib's testing utilities to µTest
- Remove internal floating point comparisons
- Improve the NEON extensions detection code
- Fix comparison operators for graphene_simd4f_t on ARM using the NEON extensions
- Remove the "experimental" compiler warning from the ARM NEON implementation of graphene_simd4f_t
Many thanks to
Alex Larsson, Marco Trevisan, Christoph Reiter
Graphene 1.9.2 (snapshot)
New development cycle, with new API added for GTK 4 and for the in progress work of porting Mutter to use Graphene.
Changes since 1.8
- Add
graphene_rect_scale()
method [Georges Basile Stavracas Neto] - Fix warning from Meson by dropping unnecessary argument to
configure_file()
- Clean up arguments of
pkgconfig.generate()
- Add equality operators to
graphene_matrix_t
- Add getters for translation components of a
graphene_matrix_t
- Use
darwin_versions
argument instead of rolling our own [Tom Schoonjans] - Add
GRAPHENE_RECT_INIT_ZERO
[Georges Basile Stavracas Neto]
Graphene 1.8.6 (stable)
Bug fixes, bug fixes everywhere!
Also: documentation changes to clarify what we do behind the veil of the various matrix multiplication functions. Hopefully, this should help people using Graphene especially when it comes to integration with other libraries.
Changes since 1.8.4
- Fix matrix multiplication when the result matrix is also one of the operands [#135, Benjamin Otte]
- Fix check when converting a 4x4 matrix into an affine transformation matrix [#136, Benjamin Otte]
- Fix interpolation between matrices with a perspective component [#138, Benjamin Otte]
- Documentation fixes for matrix/matrix and matrix/vector multiplication operators [#137, Emmanuele Bassi, Matthias Clasen, Pekka Paalanen]
Graphene 1.8.4 (stable)
Mostly a bug fixing release, with an especially glaring bug fix in the point transformation function of graphene_matrix_t
that was found thanks to GTK 4. Now the function is covered by the test suite, so it should not regress.
Another major fix is the ensuring that we have a description of the SIMD types through introspection, which means that language bindings can finally know how big every other structure using them is. The SIMD API is still not available through introspection, as it's a pure C convenience.
List of changes since 1.8.2
- Require Meson ≥ 0.48.0
- Fix matrix/point transformation [#125]
- Build fixes for MSVC [#130, Nirbheek Chauhan]
- Introspection fixes for bool [#131, Christoph Reiter]
- Fix the InitOnce checks on Windows [#127, #133]
- Correctly parse SIMD types for introspection [#129]
- Build fixes for the pkg-config file [#132]
- Documentation fixes:
- Clarify matrix/vector/point multiplication
- Clarify plane description [#55]
- Clarify the units for the matrix skew factors
- Document use of graphene-gobject with Meson