@c -*-texinfo-*-

@ifset TEXT-ONLY
@include version.texi
@end ifset

@section Noteworthy changes in version @samp{1.1.4}

Bug fixes for header changes.

@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY

@section Noteworthy changes in version @samp{1.1.2}

Conform to new GNUstep header structure

@section Noteworthy changes in version @samp{1.1.1}

Fix some configuration issues.

@section Noteworthy changes in version @samp{1.1.0}

@itemize @bullet
@item Updated to support guile 1.6 and to support the latest GNUstep
base and gui libraries.  
@item Added support for gdl2 by David Ayers.
@item Handle either debug or non-debug libraries (preferably debug)
@end itemize

@section Noteworthy changes in version @samp{1.0.3}

@itemize @bullet
@item Minor fixes to install better with newer gnustep-make
@end itemize

@section Noteworthy changes in version @samp{1.0.2}

@itemize @bullet
@item Better configure/make/install support
@item Bug fixes
@end itemize

@section Noteworthy changes in version @samp{1.0.1}

@itemize @bullet
@item Fixes to allow subclassing.
@item guile-base and guile-gui moved here from testing package
@item new procedure to list methods and types of an object.
@end itemize

@section Noteworthy changes in version @samp{1.0.0}

@itemize @bullet
@item Some fixes for compiling on cgywin/mingw32
@end itemize

@section Noteworthy changes in version @samp{0.9.2}

@itemize @bullet
@item Install in GNUSTEP_SYSTEM_ROOT
@item Added RPM packaging info
@item Corrected code for adding factory methods
@item Resolve class links so one can load shared libaries.
@end itemize

@section Version 0.6.6

@itemize @bullet

@item Minor updates to work with Guile-1.4

@end itemize

@section Version 0.6.5


@itemize @bullet

@item Minor updates to work with Guile-1.3.4.

@item Version updated to be inline with current GNUstep core release.

@end itemize


Version 0.5.14

@itemize @bullet

@item Note that previous version inadvertently set the version number of 
shared libraries to 1.0.0. You may have to manually remove these libraries
if you have previously installed versions of gstep-guile.

@item Merged in ScriptKit

@end itemize

Version 0.5.13 (unreleased)

@itemize @bullet

@item Added @samp{gstep-ptr-ivar} to return a voidp that points to an instance
variable in an object.

@end itemize

Version 0.5.12
@itemize @bullet

@item Fixes to permit you to use Distributed Objects (ie send messages to
remote applications) from Guile.

@item Fix to installation of shared library for loading as Guile module.

@item Modifications to the Greg package to permit it to be built outside
the GNUstep environment.

@end itemize

Version 0.5.11
@itemize @bullet

@item Fixes suggested by Helge Hess to tidy things up and to get rid of
warnings when building for libFoundation instead of gstep-base.

@item Warning about libFoundation garbage collection added to documentation.

@end itemize

Version 0.5.10
@itemize @bullet

@item Many minor code changes to accommodate libFoundation - that can now
be used as a replacement for gstep-base.

@item Major reorganisation (simplification) of the source files.

@item Added +retain, +release, -retain, -release and
-methodSignatureForSelector: in catagory of Object so that old
(non-openstep) Object-derived stuff can work with gstep-guile.

@item Removed the GGHNotifier class (as nobody seemed to want it and it's
trivial to re-implement anyway).

@item Fixes to avoid memory leaks due to classes being initialised outside
autorelease pools.

@item Changes to let voidp items be automatically type-cast to/from objects
and strings when calling objective-c methods from guile.

@item Changed to refrain from building libgg_gui if compiled with library_combo
specifying no gui.

@item Changed installation procedure to put libraries in the main GNUstep
system area rather than the 'Local' area.

@item More efficient mark routine to speed up garbage collecting of classes.

@end itemize

Version 0.5.9
@itemize @bullet

@item Modified to use NSInvocation rather than mframe for improved portability
to libFoundation and (eventually) MacOS-X, as suggested by Helge Hess.

@item Removed @samp{[-forwardToGuile:frame:]} method.  This was messy to
implemente using NSInvocation, and the preferred way to call a Guile method
from ObjectiveC is to create a new class or add a (Guile) method to an
existing class anyway.

@end itemize

Version 0.5.8
@itemize @bullet

@item No longer link all Foundation classes by default - you have to call
the @samp{gstep_link_base()} function to do it.

@item The @samp{gstep_link_base()} function is now in a library of it's
own called @samp{libgg_base}.

@item Added a new function (@samp{gstep_link_gui()}) in the library
@samp{libgg_gui} to link in the AppKit classes in the same way that
@samp{gstep_link_base()} links in the foundation stuff.

@item Modified @samp{gstep_link_base()} to create Guile variables for
each of the Foundation classes.

@item added conversion operators for voidp <--> id

@item Added all NSHashTable related functions.

@item Added all NSMapTable related functions.

@end itemize

Version 0.5.7
@itemize @bullet

@item Documented more (all?) of the macros.

@item Added voidp-nil to return a nul pointer.

@item Fixed bug in scm2voidp() function.

@item Added NSZone related functions.

@end itemize

Version 0.5.6
@itemize @bullet

@item Incorporated bugfix for returing the SCM corresponding to a  'nil'
object, sent in Masatake YAMATO.

@item Incorporated bugfix for displaying id and voidp scheme objects, sent
in by Eiichi TAKAMORI

@item Incorporated bugfix for gstep_scm2id sent in by Eiichi TAKAMORI.

@item Removed the 'static' scoping of some functions so that they can be used
from within C and ObjC programs as requested by Masatake YAMATO.

@item Revised naming of external symbols to be more consistent (and shorter)
for the convenience of C/ObjC programmers.  This version should stabilise
the C/ObjectiveC interface with new functions being added occasionally, but
no more changes to the names of existing functions.@*
@item @strong{NB. 'gstep_guile_init()' has been renamed to 'gstep_init()'}

@item Removed 'compiled-module' make target  - install library in the Guile
modules directory by default.
@end itemize

Version 0.5.5
@itemize @bullet

@item Lots of work on @samp{Greg} - now a pretty good replacement for
@samp{DejaGNU}, including decent configuration, installation, and self-test.

@item Improved and extended tests for gstep-guile.

@item Updated to work with recent developer snapshots of Guile while
retaining compatibility with the old 1.2 release.

@end itemize

Version 0.5.4.1
@itemize @bullet

@item Bugfix for macro @samp{bool->gstep-bool} supplied by Masatake YAMATO

@item Changed module location to be the 'languages' directory as suggested
by Masatake YAMATOa.

@item Credit Eiichi Takamori for work on guileobjc.

@end itemize

Version 0.5.4

Gstep-guile is beginning to stabilize - I expect to be working on the
test-suite for gstep-guile and looking for bugs for a while.  I think
that all major features are now in place.

@itemize @bullet

@item Added a new type @samp{voidp} to use as an abstract pointer so that
we can call Objective-C methods returning pointers from within Guile and
so that we can pass pointers to methods that require them.

@item Added the 'Greg' directory - @samp{Greg} is a regression-testing
package written in Guile.  The tests for gstep-guile are now written
using @samp{Greg}

@item Added installation code to put 'gstep-guile.scm' and 'greg.scm' in
the modules directory.

@item Added 'compiled-module' make target to put a copy of the library in
the Guile modules directory so that you can type
@samp{(use-modules (languages gstep-guile compiled))}
to get it dynamically loaded.

@item Improved the documentation some.

@end itemize

Version 0.5.3

@itemize @bullet

@item Improved class creation to permit creation of classes with new
instance variables.

@item Added the ability to list the names of the instance variables of a
class.

@item Added the ability to query and modify the value of an instance variable
of an object.

@item Tidied calling of Guile procedures as objc methods.

@item Added code to ensure that all foundation classes are linked in.

@end itemize

Version 0.5.2

@itemize @bullet

@item Added the ability to create new ObjectiveC classes from Guile using
the @samp{gstep-new-class} primitive.

@item Added the ability to add new methods to existing classes from Guile
using the @samp{gstep-class-methods} and @samp{gstep-instance-methods}
primitives.

@item Added facility for invoking a Guile procedure as an Objective-C method.

@item Now handles @samp{copy} and @samp{mutableCopy} methods is the same way
as @samp{alloc} and @samp{new} for memory management.

@end itemize

Version 0.5.1

@itemize @bullet

@item @samp{gstep-lookup-nconstant} and @samp{gstep-lookup-sconstant}
removed - The initialisation routine @samp{gstep_init} now defines
all OpenStep numeric and string constants as Guile variables so that you
can use them by name in your Guile code.

@item Gstep-guile now understands which methods return objects that need to
be retained and which do not.  This means that if you use @samp{alloc...},
@samp{new...}, @samp{copy} and @samp{mutableCopy} methods, you don't need
to explicitly @samp{release} the resulting objects when you have finished
with them - the Guile garbage collection mechanism will do it for you (as
with all other objects).

@item Added helper macros to gstep-guile.scm for unquoted selector names
and terse creation of NSStrings from guile strings.

@end itemize

Version 0.5.0

Initial package put together to work with gstep-base-0.5.0

@end ifclear
@c end ifclear ANNOUNCE_ONLY
