summaryrefslogblamecommitdiff
path: root/changelog.md
blob: 2730b94a73e4e45ea943bf3acb20a1734ff614e8 (plain) (tree)
1
2
3
4
5
6
7






                                                   












                                                                                                                    




                      





                       












                                                                                          
                                                                        








                                                                                               
                                                                               
                                    
 



                                                                                       





                                                                             



                       



                                                             





                                                                     
                                                                                                                                    

                




                           




                                       





                                                                                                                                                                 




                                                               
                                                          
 



                



                






                                                                           





                       



                                 




                         




















                                                                                                                   

                                      
 




                                                         


                   
# 1↊

* Initialise error handler array.
* Initialise and destroy error handler array mutex.
* Fix Makefile.
* Update gitignore.

# 19

* Fix error when compiling with GCC: *src/u8c/dat.c:22:29: error: initializer element is not constant [-Wpedantic]*.
* Improve error handling:
	* Add enumeration type for error types; `u8c_errtyp`.
	* Add function for registering error handlers; `u8c_regerrhandl` (see `test.c`).
* Add function for inserting UTF-32 strings into UTF-32 strings; `u8c_u32ins`.
* Enable more warnings.
* Add man pages.
* Fix `u8c_u32cat` skipping the last character in `lstr`.
* Remove the `uninstall` target (it was deemed to unsafe).
* Add *Zstandard* as a dependency.

# 18

* Update `.gitignore`.
* Remove core dump.

# 17

* Create new logo.
* Update headers.
* Invert status values.

# 16

* Add function for concatenating UTF-32 strings; `u8c_u32cat`.
* Add functions for allocating UTF-32 and UTF-8 strings; `u8c_u32alloc` and `u8c_u8alloc`.
* Add function for finding a given codepoint in an UTF-32 string; `u8c_u32fndchr`.
* Add function for finding a given pattern (string) in an UTF-32 string; `u8c_u32fndpat`.
* Update `SIZE_C`.
* Add function for aborting; `u8c_abrt`.
* Rename `u8c_debug` to `u8c_dbg`.
* Use `bool` (`_Bool`) for return values instead of `uint_least8_t`.
* Add more format types.
* Fix incorrect unabbreviated names in headers.
* Add another function from `ctypes.h`; `u8c_isxdigit`.
* Use `char32_t` (from `uchar.h`) instead of `uint_least32_t` in UTF-32.
* Use `unsigned char` instead of `uint_least8_t` in UTF-8.
* Move all data into `u8c_dat` (of type `struct u8c_dattyp`).
* Add function for setting the format (base and endian) of `u8c_fmt` and company; `u8c_setfmt`.
* Remove `u8c_txt` in favour of Unicode string literals (much clearer code, but less portable).
* Add function for getting a sub-string of an UTF-32 string; `u8c_u32substr`.
* Don't count the null-terminator in string sizes.
* Add macro for maximum valid Unicode codepoint; `u8c_unimax`.
* Remove `txttolit`.
* Add function for deallocating UTF-8 strings; `u8c_u8free`.
* Turn both `u8c_dbg` and `u8c_thrdsafe` into type `bool` from `uint_least8_t`.
* Add more letters to `u8c_isalpha`.

# 15

* Add missing include directives to `include/u8c/u32free.h` and `include/u8c/u8free.h`.

# 14

* Free error message when `u8c_geterr` is called (after copying, of course).
* Update `u8c_freeu8`.
* Rename `u8c_freeu32` to and `u8c_u32free` and `u8c_freeu8` to `u8c_u8free`.

# 13

* Fix `u8c_txt` in C++.

# 12

* Use `u8c_println` instead of `u8c_print` in `u8c_dbgprint`.

# 11

* Update README.
* Update Makefile.
* Use constant variables more.
* Create macro for creating human-readable UTF-32 strings; `u8c_txt`.
* Add macros for deallocating UTF-32 and UTF-8 strings (use these instead of `free` or `std::free`); `u8c_u32free` and `u8c_u8free`.
* Optimisations.

# 10

* Make `u8c_seterr` public.
* Update logo.

# ↋

* Fix `u8c_ver`.
* Add Turkish letters to `u8c_isalpha`.

# ↊

* Add UTF-32 alternatives to some of the functions from `ctypes.h`; `u8c_isalnum`, `u8c_isalpha`, `u8c_iscntrl`, `u8c_isdigit`, `u8c_isspace`, and `u8c_ispunct`.
* Add assertions.
* Create new logo (move old logo to `u8c_old.svg`).

# 9

* Optimisations.
* Remove some optimisations, as they prevent C++ compatibility.
* Fix memory leak in test program.
* Add function for comparing UTF-32 strings; `u8c_u32cmp`.

# 8

* Optimisations.

# 7

* Optimisations.

# 6

* Remove unneeded include directives.
* Update `SIZE_C` to utilise the C++23 `std::size_t` literal suffix (`uz`).
* Fix include guard in `include/u8c/stat.h`.
* Add more error messages.

# 5

* Add logo (`u8c.svg`).
* Fix UTF-8 decoder.
* Update README.

# 4

* Add link to PKGBUILD in README.

# 3

* Remove `include/u8c.h`.
* Fix minor errors.

# 2

* Move PKGBUILD to seperate project.
* Create a *master* header that includes every other header.
* Create `size_t` constant macro.
* Add colour to text formatting.
* Specify what file to print to in `u8c_print`.
* Add C++ compatibility to headers.
* Add functions for initialising and ending *u8c*.
* Add dedicated function for text formatting (altough not working at the moment); `u8c_fmt`.
* Remove `u8c_free`.
* Improve error handling in the form of error messages (which can be retrieved by the programmer via `u8c_geterr`).
* Split `u8c_print` into two functions: `u8c_print` and `u8c_println`.
* Break the UTF-8 decoder somehow.
* Add compile-time option to be thread-safe (requiring C11 threads if enabled).
* Add function for copying UTF-32; `u8c_u32cp`.
* Add function for getting the size of an UTF-32 array; `u8c_u32sz`.
* Add `va_list` alternatives to `u8c_fmt` and `u8c_print`; `u8c_vfmt` and `u8c_vprint`.
* Add test-program (run via `make runtest`).
* Add program to make human-readable UTF-32 strings machine-readable.
* Turn `u8c_ver` into a compile-time macro.
* Enable more warnings when compiling.
* Add assertions.

# 1

* Fix Makefile compiling *u8c.so* instead of *libu8c.so*.
* Add global variable for version control.

# 0

* Fork from *luma*.