- Now, if WebUI fails to find the browser, it will open the UI in the default web browser as a regular tab. This is better than exit the program and shows nothing.
- Removed: webui_interface_get_bind_id()
- Add: webui_event_t -> size_t bind_id
Wrappers that have internal-event-handler may call by mistake the same callback twice when app use all-events. To fix this issue, simply wrappers should replace `webui_interface_get_window_id()` by `e.bind_id`.
- Adding webui_delete_all_profiles()
- Adding webui_delete_profile()
- Adding webui_clean()
- Now. webui_wait() simply means no more windows are running. And app can create and show windows. And of program is now become webui_clean().
- Updating Civetweb (Server close faster now)
* Finishing the `webui_set_file_handler()` feature. Thanks to @petabyt
* Removing `free()` and replace it by the WebUI version
* Minor core changes to make `webui_set_file_handler()` working
* Update serve a folder example to show how to use `webui_set_file_handler()`
## New Public API:
* `void webui_set_file_handler(size_t window, const void* (*handler)(const char* filename, int* length))`
* `void* webui_malloc(size_t size)`
* Set C++11 as minimal standard
* Fix C++ Makefile in macOS
* Update the C++ WebUI header to use references (https://github.com/webui-dev/webui/issues/103)
* Update `webui_return_string()` argument from `char*` to `const char*`
# 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...
#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