summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 5a2f1c416d179f1ae54fc5ccbb57d7567ff215b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)

## [Eventual]

### Added

- support for Windows
- native Wayland support

### Removed

- `C'u8` as an alias to `CChar`

## [0.2.2] -- 2025-12-16

### Added

- enums `RGFW_keymod` and `RGFW_key` as `CUChar` aliases
    - all variants bound as constants
- `C'RGFW_bool` as `CUChar` alias. 0 is true, else is false
- new callback
    - `RGFW_keyfunc`
- various new methods in `RGFW.hsc`
    - `RGFW_window_setShouldClose`
    - `RGFW_pollEvents`
    - `RGFW_setKeyCallback`
- key callback functionallity in demo application
    - `esc` closes the window

### Changed

- modularized `hs-rgfw.cabal` for the sake of tidiness

### Deprecated

- `C'u8` as a type alias to `CChar`
    - such declarations are needed in C but not in Haskell
    - `CUChar` is the preferable type for cross-platform later

### Fixed

- correctly inherit `version` in `flake.nix`

## [0.2.1] -- 2025-12-16

### Changed

- submodule for `RGFW.h` to ensure reproducability
    - add `RGFW` as submodule
    - modify flake to copy self's submodules to the store
    - change include path of `library` in `hs-game.cabal`
    - change include path of `lib/RGFW.hsc`

### Removed

- random junk files from `lib`
    - no breaking changes, none were in any way linked

## [0.2.0] -- 2025-12-16

### Added

- example exe

### Changed

- probably everything ngl
- use SemVer instead of PVP

### Removed

- probably everything ngl

## [0.1.0.2] -- 2025-12-11

### Removed

- `scripts`
- `lib/Main.hs`

## [0.1.0.1] -- 2025-12-11

- does removing wayland but leaving the API intact count as breaking?

### Changed

- no more dependencies on wayland libraries or xkbcommon

### Removed

- any semblance of Wayland support; use wayland-satelite or something

## [0.1.0.0] -- 2025-12-10

### Removed

- `main` function and its functionality

### Changed

- migrate to Cabal; Nix still works
- now a library
    - build on Nix with `nix build`. object file is in `result/lib/hs-rgfw.so`
    - build on other platforms with `cabal build` after installing dependencies.