Changes ported from the upstream raylib code are not mentioned unless they are breaking changes. Changes and bug fixes in the h-raylib API are mentioned, breaking and non-breaking. Internal changes that do not change the API or affect functionality are not mentioned (e.g. performance improvements).
h-raylib's version numbers do not follow the usual format. The first two numbers in the version track the underlying C raylib version. For example, 5.1.x.x
versions use raylib 5.1 under the hood. The third number represents breaking changes (renamed/deleted functions or modules). The last number represents non-breaking changes (new functions or modules, bug fixes, etc). The safest version bound format to use is h-raylib >=x.y.z.w && <x.y.(z+1)
(instead of the usual ^>=
bound).
28 October 2024
- Bug fixes for web compilation
21 October 2024
- BREAKING CHANGE:
is*Ready
functions renamed tois*Valid
(upstream change in raylib) - BREAKING CHANGE:
setGamepadVibration
takes a fourth argument,duration
(upstream change in raylib) - Loosened the version bound on
base
11 October 2024
- BREAKING CHANGE:
set*Callback
functions are no longer managed and do not returnIO C'*Callback
values - BREAKING CHANGE: Removed
loadImageSvg
(upstream change in raylib) - [#58] Added support for
setTraceLogCallback
12 July 2024
- BREAKING CHANGE: Reimplemented
Vector2/3/4
usinglinear
'sV2/3/4
- [#55] BREAKING CHANGE: Completely reworked memory management (check
DOCUMENTATION.md
and the example programs) - Dropped ghc 8.10 support
- [#54] Exposed internal modules
- [#56] Fixed a bug with
loadFontEx
and other font-related functions not working
13 April, 2024
- Made some utility functions pure
- Improved the performance of
Raylib.Util.Math
9 April, 2024
- Internal changes for performance
- Fixed a typo in
filePathList'capacity
(previouslyfilePathlist'capacity
) - Fixed marshalling bugs with
FilePathList
22 February, 2024
- Split
Raylib.Types
into different modules (Raylib.Types
reexports everything, so this will not break existing code) - Fixed
flake.nix
anddefault.nix
- Exposed all the native functions
- Added support for callbacks
- Added more thorough Haddock documentation
- Added pointer utility functions (
p'*
) - [#4] Started working on web support
- [#34] Added bindings for raygui (
Raylib.Util.GUI
,Raylib.Util.GUI.Styles
)
16 January, 2024
10 September, 2023
- Updated raylib to the master branch
24 July, 2023
- Updated raylib to the master branch
29 June, 2023
- [#22] Allowed
base-4.18
to support GHC 9.4 and higher - [#23] Added helper functions in
Raylib.Util
as an alternative to thebegin*
andend*
functions
16 June, 2023
- Updated raylib to the master branch
- [#19] Changed all the
Raylib.Util
functions to useMonadIO
for flexibility - [#20] Changed
CFloat
toFloat
indrawCapsule
anddrawCapsuleWires
23 April, 2023
- Updated raylib to the master branch
- [#18] Added lenses for raylib data structures
8 April, 2023
- Fixed a bug in
clamp
- Updated raylib to the master branch
2 April, 2023
- Created the
Raylib.Util.Math
andRaylib.Util.Camera
modules. They are Haskell implementations ofraymath
andrcamera
. - [#15] Fixed a memory issue with
getFontDefault
19 March, 2023
- Updated raylib to the master branch
15 March, 2023
- Added GHCi support (see README.md for usage instructions)
- Updated raylib to the master branch
- Removed global state; use
WindowResources
(see examples for usage)
1 March, 2023
- [#12] Added rlgl bindings (
Raylib.Util.RLGL
)
27 February, 2023
- Added manual asset unloading functions
- Updated raylib to the master branch
- [#11] Fixed a build issue on MacOS
24 February, 2023
- BREAKING CHANGE: Restructured project; the main modules are moved into
Raylib/Core
andRaylib.Colors
is nowRaylib.Util.Colors
- Changed
setShaderValue
andsetShaderValueV
to consume Haskell values rather thanPtr
s - Added the
Raylib.Util
module for utility functions
21 February, 2023
- BREAKING CHANGE: Removed asset unloading functions
- BREAKING CHANGE: Changed
Camera3D
API to match C code - Added code to automatically unload assets
- Added mathematical operators for vector types
- Updated raylib to the master branch
14 February, 2023
- Added finalizers to auto-unload audio data
- Fixed C include errors
12 February, 2023
- BREAKING CHANGE: Changed all types to minimize usage of
Ptr
s - BREAKING CHANGE: Split the
Raylib
module into six modules:Raylib.Audio
,Raylib.Core
,Raylib.Models
,Raylib.Shapes
,Raylib.Text
, andRaylib.Textures
- Added the internal
Freeable
typeclass to prevent memory leaks - [#8] Added
Xext
as a dependency again
14 January, 2023
- Removed
ShaderLocationIndex
from some function types
14 January, 2023
- Fixed some function types
- Allowed omitting fragment/vertex shaders in
loadShader
functions
5 January, 2023
- Restructured to make the examples easier to run
- Updated raylib to the master branch
23 December, 2022
- Changed
setConfigFlags
andsetGesturesEnabled
to use an array of flags
18 December, 2022
- [#9] Fixed an issue on Mac where
clang
failed to detect thatrglfw.c
was using objective-c
26 November, 2022
[#7]
- Removed all constants that were enums in the original C API and replaced them with sum types deriving
Enum
- Removed some
CInt
usage in the main API - Removed
Raylib.Constants
24 November, 2022
- [#6] Fixed
Font
marshalling
19 November, 2022
- Replaced
CInt
withCBool
inRayCollision
- Updated raylib to the master branch
13 November, 2022
- Replaced
CInt
withCBool
for functions that return booleans - Removed
Xext
dependency (it is no longer required for Nix builds)