GTK-SERVER 2.4.6 ================ . Fixed compile warning with GCC 7 and GCC 8. . Changed 'GdkDeviceManager' to 'GdkSeat' for GDK 3.20 and higher. . Fixed issue with connecting and disconnecting signals. . New functions 'gtk_server_enable_print_line_count' and 'gtk_server_disable_print_line_count' by 10geek . Fixed errors in C string escaping by 10geek . New function 'gtk_server_enum' to obtain ad-hoc ENUM value (idea 10geek) . Fixed compile warnings with FFCall 1.3 and Cinvoke 1.0 . Added runtime check for GTK to avoid functions being imported from wrong GTK library (MAJOR version mismatch) . Added '@' construct so certain languages can pass strings containing spaces (eg Oberon) . Debug panel now also works in GTK-server Library mode . When compiling with OpenSSL3: enable legacy servers by default . Fixed severe bugs in parsing arguments when in library mode . Debug panel now also is available for GTK1 . Code cleaning at various places GTK-SERVER 2.4.5 ================ . Updated configure script so it can use environment variables LDFLAGS and CFLAGS. . Fixed compile warnings. . Fixed compile warning in SSL usage. . Bugfix in gtk_server_unpack so it can unpack values larger than a byte. . New function 'gtk_server_unpack_from_pointer' from Jop Brown . New function 'gtk_server_string_from_pointer' from Jop Brown . Upgraded to uthash 2.1.0 (https://troydhanson.github.io) GTK-SERVER 2.4.4 ================ . Added 'gtk_server_pack' to create portable memory layouts for BASE64 argument type . The configfile now has SEQUENCE enabled by default . Simplified 'select-gtk-server' script . Fixed bug in 'stop-gtk-server' script when using 'all' argument . Added 'gtk_server_unpack' to unpack binary memory layout to s-expression . Added PTR_BASE64 argument type and 'gtk_server_data_format' to unpack binary structures returned in arguments . Added PTR_SHORT argument type . Upgraded to uthash 2.0.2 (https://troydhanson.github.io) GTK-SERVER 2.4.3 ================ . NULL is a valid entry for POINTER arguments . NULL is a valid entry for WIDGET arguments . Fixed crash when returned string is empty (thanks report Thomas Ronshof) . Updated all demo programs to point to correct GTK-server binary . Maximum library sequence number is configurable in config file . Bug fixes in GTK-server configfile macros for LIST widget GTK-SERVER 2.4.2 ================ . Fixed compile warning with GCC 4.8 . Improved 'gtk_server_os' command . Cleanup code . Added '-nonl' parameter to prevent GTK-server adding newline to responses. . Added Pause button to debug panel . Support for Motif GTK-SERVER 2.4.1 ================ . Fixed compile warning for Xforms . XForms can use enumerations in callback definition . More intelligence in searching and opening defined libraries . Added '-debug' parameter to activate interactive debugging . Lots of fixes in autoconf macros and demonstration scripts . Fixed GTK3 warning with error dialogue GTK-server 2.4 ============== . Added support for GTK3 . Linking could fail because '-ldl' was missing from linker flags . Added support for querying state keys from keyboard - 'gtk_server_state' . Fixed issue with displaying correct version in Windows . Upgraded to uthash 2.0.1 (https://troydhanson.github.io) . The ALIAS_NAME option now can alias macro names also . Enlarged memory for 'gtk_server_opaque' 2.3 BUILD 1 Second Release ========================== . Corrections in documentation and manpages . Standardized all 'config.h' macros because of conflict with newer GCC versions . Cleaned up redundant C macros in sourcepackage . Fixed compilation problems with TCC compiler (2.3.1 Second Release 25/2/2009) . Corrected OpenGL libraries in configfile for MacOSX (2.3.1 Second Release 25/2/2009) . More fixes in manpages (2.3.1 Second Release 25/2/2009) 2.3 BUILD 1 =========== . Added 'gtk_server_toolkit' command to retrieve backend for which GTK-server was compiled . Arguments 'MACRO'-'DATA' are also usable for Xforms now . Make sure the 'MACRO'/'DATA' callbacks are not reading from illegal memory . Fixed minor bug with counting linenumbers when parsing configfile . Added option to define aliases for functionnames, so clientprograms can avoid collisions with existing statements . STDIN, FIFO, TCP and IPC interfaces can take and return any amount of data now . The UDP interface can take data as much as the system's Socket receive buffer size (SO_RCVBUF) . Fixed minor issues in stop-script with IPC GTK-server processes . 'gtk_server_macro_define'/'-redefine' to (re-)define macros on the fly, renamed 'gtk_server_macro' to '-_var' to get value of variables . Added '-sock' mode to connect as TCP client (idea Danie Brink) . Withdrawn the READLINE option as scripts using STDIN ran into inconsistent programs, use external 'rlwrap' instead . Upgraded to uthash 1.4 (uthash.sourceforge.net) . Major code cleanup for returning info to client, improving simplicity, readability and performance . Added commandline option '-start' to start GTK-server with a macro (idea Danie Brink) . 'gtk_server_os' to determine platform where GTK-server is running (idea Danie Brink) . Added commandline option '-init' to send string in '-sock' mode (idea Danie Brink) . Added support for SSL in '-sock' mode (idea Danie Brink) . Using the GTK functionnames as keys for UTHASH; less code, best reliability for unique keys . Fixed bug with XForms initialization in LIB mode . Base64 decoder can decode unlimited amount of data . Fixed bug: using 'gtk_server_require' multiple times would overwrite eachother . Added option '-this' to run standalone configfile using shebang . Compilation without GTK/Xforms/X is possible now, console mode for opening any library in a script . Added '-handle' so client can send unique identifier per request (synchronize communication, UDP, debugging) . XForms can get key, mouse events and coordinates too . Adjusted size for XForms Error dialog, it didn't show all errors correctly . Optimized key events and scrollbutton events so they can return any user defined string . Fixed bug: remove the check on negative numbers in LIB interface, this check prevented UTF-8 to be accepted . MacOSX: adjustments in makefile and configurescripts . MacOSX: changed retrieval of mouse button, MacOSX does not pass all GdkModifierTypes (no X but Quartz!) . MacOSX, BSD, Solaris: self-spawning not always works, now use '-detach' to try to selfspawn, shells use ampersand '&' COMPATIBILITY NOTES: - 'gtk_server_macro' is now 'gtk_server_macro_var' - GTK-server does not spawn automatic anymore, use '-detach' REMARKS ON THIS RELEASE: The 2.3 series come with full compatibility to the previous 2.x releases. There are a couple of new milestones though: 1) No limitations on the communication interfaces (except for UDP) 2) Major code cleanup, increasing performance, simplicity and readability, and also improving memory usage 3) New communication interface to connect to remote server while realizing GUI on local host 4) Compile without any GUI to run in console-mode using non-GUI libs 5) GTK-server configfiles can be executed like a standalone script, also using a 'shebang' 6) Support for the GTK-Framework in MacOSX! -------------------------------------------------------------------------------------------------------------------------------------------------- 2.2 BUILD 8 =========== . Added support for DynCall (www.dyncall.org) . Fixed potential bug in defining new GTK functions with 'gtk_server_define' . Removed 'ok' from returnstring when PTR_* argument contains result . VOID is also legal returnvalue for function . POINTER as valid argumenttype and returnvalue for generic pointers from GLib calls and some non-GTK libs . Returnvalue of 'gtk_server_require' will give 'ok', or errorstring (for debugging) . Less memory usage in PTR_* return code . Macros can use COMPARE to compare variables . Improved some errormessages, added more function definitions to configfile . Fixed bug with LONG typecast and FFCALL . Fixed bug with some erronous array declarations . Added possibility to register GtkDataFuncs (user functions), introducing 'MACRO' and 'DATA' as argument type . Check on duplicate macro names during startup . Hotfix: no space between results when GTK function returns value and also uses PTR_ arguments . Hotfix: removed unnecessary free in Print_Error routine for Win32 COMPATIBILITY NOTES: the returnvalues of VOID functions with PTR arguments do not contain 'ok' anymore. 2.2 BUILD 7 =========== . Bugfix: gtk_server_require would overwrite library statically compiled in . Minor fix in 'gen_conf' script so it does not add logdir anymore . Added 'libm' to default configfile, also some of it's math functions (easy for shellscripts) . Added ability to define enumerations 'ENUM_NAME' in configfile . XForms: improved demoscripts, added OpenGL demoscripts . XForms bugfix: initialize library before the first Print_Error occurs . Corrected definition of 'glTranslatef' in configfile, compilation with FFI revealed this bug . Added librarypath when compiling for 64bit platform (XForms) . Put code in place for static compilation in Win32 . Removed workaround code to fallback to STRING if LONG was not detected (use 'gtk_server_redefine' instead) . Upgraded to uthash 1.3 (uthash.sourceforge.net) . Make strong differentiation between LONG and INT (important for Win32 platforms) . Generate error when argument type is not recognized . Bugfix: static compilation with GTK1/Xforms using C/Invoke crashed because of uninitialized context . Hotfix: on 64-bit platforms explicitely cast to 'INT' with gtk_server_callback_value . Hotfix: Valgrind detects illegal write of 1 byte in macro parser . Hotfix: initialize max arguments to NULL for each new GTK function, else redefintion may crash 2.2 BUILD 6 =========== . Added demoscript with the Poppler library, added demoscripts demonstrating HUG . Stopscript now also can show current running GTK-server processes . Added configurescript options to specify sourcetree locations . Option 'showconf' also shows defined macros . New: 'gtk_server_require' to test actual availability of libraries and define libraries on-the-fly . Fixed bug: compilation with C/Invoke did not open XForms library . Code improvements in the macroparser . Major improvements in the GUI abstraction layer "HUG" . Macros can define associative arrays with ASSOC, retrieve values with GET . Fixed configurescript complaints about missing 'datarootdir' . Logdirectory definition removed from configfile, now specify logdir as argument '-log=', better consistency with other options, and GTK-server can function completely without configfile now . Macros: added DEBUG to print contents of macrovariables in logfile . Static compilation also possible for XForms now . Fixed duplicate hash-value which occurs in rare situations . Compilation with 'TCC' possible (export CC=tcc) . Fixed bug: when using GTK-server as shared object and enabling logging