# Changes
* `webui_run` changed from `bool` to `void` as it run the script fast with no return
# New
* `char* webui_encode(const char* str)` encode string to base64
* `char* webui_decode(const char* str)` decode base64 to string
* `void webui_free(void* ptr)` free resource allocated by WebUI (_when using webui_encode()_)
* A text editor example
# Fix
* Now WebUI wait in loop while the application requestion more html files (_Large HTML UI_)
# New:
* New API: `void webui_new_window_id(size_t window_number)`
* New API: `void webui_destroy(size_t window)`
_Please see C serve_a_folder example on how to use webui_new_window_id()_
# Changes
* To keep consistency with window IDs, all `unsigned int` changed to `size_t`
# Users/Wrappers Changes
* The window object changed from `void*` (pointer) to a simple `size_t` (integer)
# New Core Features And Changes
* License changed from `GPLv2` to 'MIT'. Thanks to @xD0135
* The core APIs is completely changed from `Mongoose` to `civetweb`. Thanks to @xD0135
* Kiosk mode support. Thanks to @malisipi
* UI responses resolving using IDs instead of first received (WebUI-JS-Bridge)
* Fix C++ Linux Clang build issue (C++ Linux GCC still broken)
* In webui_event_t `type` changed to `event_type`. This is because some wrapper's language does not support using _type_ as a variable name.
* In webui_event_t `char* response` changed to `unsigned int event_number`.
* Now `webui_interface_set_response()` use a simple `unsigned int event_number` instead of `char* response`.
# WebUI v2.2.0
* Now, creating a wrapper is easier as core functions have been removed from `webui.h`
* Removing many functions (webui_open, webui_new_server...)
* C - Complete
* Go - Complete
* Deno - Complete
* All other things still need to be completed...
* Supporting macOS (Tested with Chrome, macOS 12)
* Adding macOS C Makefiles
* [Issue] We need to close Chrome to run the program again. We need to find the perfect command to run Chrome to fix this
#New Features
* Supporting more web browsers
* Search for web browsers in Windows Reg.
* Using the same show() function for HTML script, files, and refresh content
* Support Chrome on macOS
#Breaking code
* Switching from `webui_show(win, html, browser);` to `webui_show(win, content);`, and it's used for HTML, files, and reload the window
* Removing `webui_show_cpy()`, `webui_refresh()`, `webui_refresh_cpy()`
* Switch from GPL to LGPL
* Deno example is ready
* Adding `void _webui_free_all_mem()` to release all dynamic mem at exit
* Break Change `void webui_script_interface(webui_window_t* win, const char* script, unsigned int timeout, bool* error, unsigned int* length, char* data)` to `void webui_script_interface(webui_window_t* win, const char* script, unsigned int timeout, bool* error, unsigned int* length, char** data)`
* Updating readme
* Moving Zig build file into build folder
More code cleaning and more examples is needed before we release the version 2.0.7.
* Supporting href link
* Python serve a folder example
* Fix bug in Infinite loop when set_timeout() get called later
* webui.js wont close window if href link clicked
* Fix bug in webui.js show error message when switching between window fast