Skip to content

Releases: codam-coding-college/MLX42

v2.3.3

17 Dec 10:32
154e0c3
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.3.3

More fixes overall mainly coming from the community, thanks to all that contributed 🥳

Changes

New Contributors

Full Changelog: v2.3.2...v2.3.3

v2.3.2

02 Jun 08:36
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.3.2

Minor fixes including the build issue for windows, ability to delete cursor objects and the image scaling function actually scaling the content of the image.

Changes

New Contributors

Full Changelog: v2.3.1...v2.3.2

v2.3.1

20 Mar 19:40
5b507ab
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.3.1

Minor patch to fix some bugs, small things regarding CMake as well switching to Google's ctest framework instead.

Changes

  • Fixed a bug that would cause the shader converter to fail if the previous directory had a space in the name.
  • Fixed a bug that caused a segfault when setting the application Icon.
  • CMake will now be able to detect 42 Homebrew installations of GLFW automatically.
  • Switched to Google's CTest for unit testing.

Todo's & issues

  • Currently windows fails to build due to: error C2078: too many initializers.
  • Windows CI currently does not exist.
  • Need to introduce more test cases, ideally test every function if possible.

PR's Merged

New Contributors

Full Changelog: v2.3.0...v2.3.1

v2.3.0

08 Feb 08:21
bf5dd70
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.3.0

Warning: Be aware that this version will be a breaking change due to the change in the way the library is now compiled. However it is super simple to fix, please read the README before creating issues!

MLX42 now uses CMake instead of traditional makefiles making it actually independent in terms of where it can build!
This might seem like a drastic change however it is not, it only requires an additional dependency: CMake which is a very popular and industry standard build system.

In regards to 42 this should be available to the computers anyway as it is commonly used for the specialisation projects.

The reason for this change is to make compilation on different system as easy as possible. With traditional makefiles we had to take into account the location of certain libraries, Homebrew and all other sorts of things. Not to mention for some it didn't really work as intended.

Feature Summary

  • Now uses CMake to be able to perfectly compile cross-platform
  • Proper unit tests and CI (with the exception of Windows)
  • Resolve a lot of typos in the documentation.

Bug fix

  • Fixed a segfault when creating a custom cursor: #72
  • Fixed issue #58

What's Changed

Full Changelog: v2.2.1...v2.3.0

v2.2.1

01 Dec 21:23
7c7b119
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.2.1

Its been a while and I have just enough to push out a minor update. This version includes several documentation fixes as well as some minor bugfixes.

Bugfix

  • Fixed a memory leak due to incorrect freeing of XPM textures.
  • Fixed Typos in docs.
  • Set the correct errno when mlx_texture_to_image fails.

Feature Summary

  • Switched from int to double for mlx_get_time.
  • Added test cases to check if the functionality still persists.
  • Updated GLAD and lodepng to latest.

What's Changed

  • Added WSL set up steps by @Tishj in #48
  • Improve README by @VNNCC in #51
  • Make-it-pretty.mk dude. by @SwenneHacks in #42
  • Fix linking error in makefile docs by @execrate0 in #56
  • Fix readme example code compiler warning by @JellevanKraaij in #57
  • fixed xpm deallocation and switched from int to double for mlx_get_time (more precision) by @senolem in #60
  • Update Basics.md by @ugoi in #64
  • Code cleanup and fixed some typos by @Jeroenvh99 in #63
  • Make a more descriptive functionname and reformulate some documentation by @Jeroenvh99 in #68

New Contributors

Full Changelog: v2.2.0...v2.2.1

v2.2.0

02 Aug 19:58
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.2.0

It's been a while but it's time for another update in which we finally tackled the annoying issue of images not showing up after a while.
There are also some nice new features such as unit testing, functions and markdown pages for improved documentation. The community is more than welcome to contribute to it!

Bugfix

  • Fixed a bug where instances would disappear when calling mlx_image_to_window too many times.
  • Fixed a segfault due to mlx_lstadd_front not handling double linked lists correctly.

Feature Summary

  • Added mlx_set_window_title.
  • Added mlx_create_std_cursor.
  • Added the ability to show and hide instances.
  • Added markdown pages to explain how to use the library.
  • Added unit testing mainly for CI but also for general testing. (WIP)
  • Redid all the assertions to also display a message as to why it was triggered.
  • Improved performance thanks to PRs.

PR's merged

  • Fix compile on Linux by @joppiesaus in #37
  • Automatically recompile when a header file changes by @joppiesaus in #38
  • Fix assertion for indexing by @xvoorvaa in #39
  • Added glfwWindowHint() that was deleted last commit by @xvoorvaa in #40
  • Optimize and fix recursion crash by @MyNameIsTrez in #43
  • Back to using faster mlx_lstadd_front by @MyNameIsTrez in #44

New Contributors

Full Changelog: v2.1.0...v2.2.0

v2.1.0

12 Jun 14:23
252d6e4
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.1.0

In this update you finally have access to the font texture itself. This will allow you to work with the font directly and create any functions that might need it. Additionally the setting 'system' set up before has been replaced with with mlx_set_setting. You can find the settings in the header.

Bugfix

  • Fix segfault when deleting an image
  • Fix memory leak at mlx_terminate

Feature Summary

  • Add mlx_get_texoffset
  • Add mlx_get_font
  • Add mlx_set_setting
  • Change X & Y position param from int32_t to uint32_t

PR's merged

  • [Bug Fix] Segfaults/UB when deleting images with 2 or more instances by @pajotg in #30
  • Update README.md by @hydrasho in #32

New Contributors

  • @pajotg made their first contribution in #30
  • @hydrasho made their first contribution in #32

Full Changelog: v2.0.3...v2.1.0

v2.0.3

19 Apr 11:47
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.0.3

This patch introduces just a few bug fixes.

Bug Fixes

  • Fixed missing function definitions in the header for mouse & cursor hook
  • Fixed rendering issue that would cause image_to_window to not change textures.
  • Fixed heap-buffer-overflow when trying to read a xpm42 file.

v2.0.2

06 Apr 02:44
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.0.2

Overall not many changes just a few QOL stuff, a few bug fixes as well as improvements and some nice makefile overhauling by @Eathox, thank you very much!

Feature Summary

  • Add assertions for compile time error checking. (Use make DEBUG=1)
  • Add mouse hook function.
  • Add cursor hook function.
  • Re-visit of the Makefiles.
  • Some more minor internal stuff.

Bug Fixes

  • Fixed a crash when deleting an XPM42 texture object.
  • Fixed a performance issue with rendering.
  • Fixed endian dependent color reading for XPM42

PRs Merged

New Contributors

Full Changelog: V2.0.1...v2.0.2

v2.0.1

16 Mar 11:26
Compare
Choose a tag to compare
42MLX_Logo

Version: 2.0.1

This update introduces a few bug fixes and corrections

On a different note. MLX42 was extensively used at the Codam Hackathon in March and it was viewed with a lot of positivity.
Thank you to everyone who used it and reported their feedback!

Feature Summary

  • Added mlx_set_instance_depth to set the Z value properly.
  • Added batched rendering to improve the performance!
  • Implemented new scripts so that the dependency on python can be removed.
  • Improved the detection of homebrew.
  • Some more stuff I forgot :D

Bug Fixes

  • Fixed a memory leak on image deletion.
  • Fixed mlx_errno to be extern instead.

PRs Merged

  • Proof-of-concept: Batched rendering by @Techdaan in #19
  • Implement batched rendering by @W2Wizard in #21 (Integration of #19)
  • Replace compile_shader script with bash variant by @FreekBes in #18
  • Add generic homebrew path finding option to work with custom homebrew… by @vincentvis in #22

New Contributors

Full Changelog: v2.0.0...V2.0.1