February 10th, 2009· Corrections in documentation and manpages (2.3.1 Second Release).
· Standardized all 'config.h' macros because of conflict with newer GCC versions (2.3.1 Second Release).
· Cleaned up redundant C macros (2.3.1 Second Release)
January 2nd, 2009· 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 . Key events and scrollbutton events (GTK) were optimized 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 '&'
October 31st, 2008· 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: space between results when GTK function returns value and also uses PTR_ arguments
· Hotfix: removed unnecessary free in Print_Error routine for Win32
August 31st, 2008· 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