gzochi NEWS -- history of user-visible changes
Copyright (C) 2016 Julian Graham
See the end of copying conditions.

Send comments, questions, and bug reports to gzochi-devel@nongnu.org

Changes in 0.10 (since 0.8)

* Changes to the distribution

** Support for building gzochi in a Docker container

The top-level `contrib/' folder contains a `Dockerfile' for an image that
includes all of the necessary dependencies for building the gzochi framework and
the example applications from scratch. Use it for a faster bootstrap experience
when building from the source distribution. (This is the same image that's used
for the build and test pipeline on https://gitlab.com/joolean/gzochi.)


Changes in 0.8 (since 0.7)

* Changes to the distribution

** Removed deprecated synchronous client (libgzochi)

libgzochi, the synchronous reference client implementation included with earlier
versions of the gzochi framework, has been removed from the distribution. The
client was deprecated in an earlier release, since the concurrency strategy
suggested by its API was undesirable. Application developers are encouraged to
use libgzochi-glib instead.

** Removed client support static library (libgzochi-client-common)

libgzochi-client-common, the static library that facilitated sharing of code
between libgzochi and libgzochi-glib, has been merged with libgzochi-glib and no
longer exists as an independent build target within the gzochi framework source
distribution.

** New example: External transactions

Client and server code for a new example application has been added to the 
source distribution under the "examples/" tree. This example demonstrates 
techniques for synchronizing a transaction executed within the gzochid container
with an external transaction-aware process, such as a relational database.


Changes in 0.7 (since 0.6)

* Changes to the distribution

** New reference client library implementation: (gzochi client)

Game developers who want to keep their entire application stack in Guile Scheme
(C server container notwithstanding) are in luck! The new (gzochi client)
library is a Scheme reference client implementation with an execution model that
can be integrated into a main loop or used stand-alone. The source distribution
for (gzochi client) is under the "gzochi-guile-client/" tree.


Changes in 0.6 (since 0.5)

* Compatibility

** Support for additional platforms

gzochi now builds on Mac OS X and (likely) other BSD variants.


Changes in 0.3 (since 0.2)

* Changes to the distribution

** New client support static library: libgzochi-client-common

Some of the trickier aspects of client communication with a gzochi server
instance, such as maintaining a buffer for partial message delivery, have been
factored out of libgzochi and into a static library, with a source distribution
under the "gzochi-client-common/" tree, that can be built into other client 
implementations. 

** New reference client library implementation: libgzochi-glib

libgzochi-client-common already has a consumer in the distribution:
libgzochi-glib, a new reference client implementation that integrates easily 
with the "main loop" functionality in the popular GNU GLib library to support
the development of single-threaded client applications. The source distribution
for libgzochi-glib is under the "gzochi-glib-client/" tree.

** Removed deprecated debugging client

mictlan, the primitive "debugging client" included with earlier versions of the
gzochi framework, has been removed from the distribution. Its functionality has
been superceded by the debugging capabilities of gzochid itself, which can be 
accessed using a telnet client.


Changes in 0.2 (since 0.1)

* Changes to the distribution

** New example: abermud

Client and server code for a new example game -- based on Alan Cox's 
AberMUD -- has been added to the source distribution under the "examples/"
tree. This example demonstrates techniques for maintaining a persistent world
in which state is shared between multiple players.


Copyright information:

Copyright (C) 2016 Julian Graham

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.


Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end:
