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