-*- outline -*-

* New in AdaSockets 1.8.4

This version only fix some builds problems when gnatmake cannot be found.

* New in AdaSockets 1.8.3

Fix several bugs and glitches with older versions of GNAT.

* New in AdaSockets 1.8.2

To remove the risk of using two different versions of GNAT, gnatmake
is now used as the only driver to compile Ada code.

* New in AdaSockets 1.8.1

The change in AdaSockets 1.8 broke compilation with versions of GNAT
older than 5.01. This version restores it for every GNAT version.
Bug found by Duncan Sands <duncan.sands@math.u-psud.fr>.

* New in AdaSockets 1.8

A change in the `gnatkr' program for GNAT 5.01 required a change in
AdaSockets. Patch sent by Dmitriy Anisimkov <anisimkov@omsknet.ru>.

* New in AdaSockets 1.7

A bug in multicast sockets handling has been fixed (which could cause
incompatibities on heterogeneous architectures). Bug found and fix sent
by Guillaume Foliard <guifo@wanadoo.fr>.

A new Create_Multicast_Socket function allows you to choose the local
port to use.

* New in AdaSockets 1.6

A new procedure Get_Line looks like Ada.Text_IO equivalent. The Get_Line
function also now takes a default argument.

* New in AdaSockets 1.5.1

Interface change: some types have been moved in Sockets.Types, a new
package. Also, the sa_len and sin_len fields have been introduced
respectively in Sockaddr and Sockaddr_In types when applicable.

Autoconf file has been renamed from configure.in to configure.ac to
use newest autoconf file naming conventions.

* New in AdaSockets 1.5

AdaSockets don't check the version string of GNAT anymore as it works with
any decently recent version.

Also, remove two useless copies in some of the Receive_ routines which
could penalize large transfers.

* New in AdaSockets 1.4.1

Work with GNAT 3.15p (the version string has yet another format).
Thanks to Jean-Pierre Rosen <rosen@adalog.fr> for signalling this problem.

* New in AdaSockets 1.4

AdaSockets now supports GNAT 3.2 from the GCC tree and Windows XP.
Windows patch sent by Jeffrey Creem <jeff@thecreems.com>.

* New in AdaSockets 1.3

AdaSockets now supports OpenVMS. Support added by
Dominik Madon <dominik@acm.org>.

* New in AdaSockets 1.2

** New Connect behaviour in case of failure

Connect can now raise Socket_Error (where previously Connection_Refused was
used) if another error happens (such as "no route to host"). Change
suggested and patch sent by Dmitriy Anisimkov <anisimkov@yahoo.com>.

** Addendum in documentation

It has been explicitely noted that string-oriented communication with
datagrams requires the user to set a buffer on the receiving socket.

* New in AdaSockets 1.1

** New documentation

AdaSockets now comes with a small documentation. See it online on
http://www.rfc1149.net/devel/adasockets or in the doc directory of the
distribution.

** New constants

A whole set of new constants have been made available. See the documentation.
Thanks to Sune Falck <sune.falck@telia.com>.

** Cleanup

The constant PF_INET should be used instead of AF_INET when creating sockets.
The old option (which is not correct even if they hold the same value)
should be changed in your source code into the new one.

** Bug fix

The examples/multi program can now be run several times on the same machine.
Thanks to Sune Falck <sune.falck@telia.com>.

* New in AdaSockets 1.0

** New exception

The exception Socket_Error will be raised instead of Constraint_Error.
Thanks to Dmitriy Anisimkov <anisimkov@yahoo.com>.

** Major version change

I was tired of the 0.1.x serie, as AdaSockets is now mature enough for
being used in large applications.

* New in AdaSockets 0.1.20

** New contrib directory

The new contrib directory includes scripts to make win32 installation easier,
thanks to Dmitriy Anisimkov <anisimkov@yahoo.com>.

** New high-level function

Getsockopt is now available. Patch sent by Dmitriy Anisimkov
<anisimkov@yahoo.com>.

** New thin function and constants

The ioctl() function and two constants, FIONBIO and FIONREAD, have
been added to the thin binding. close() is now bound as a function
instead of a procedure, since specific code may need to check the
result. Also, a new Sockets.Thin.Errno function gives an error code
that is portable between Unix and win32. Thanks to Dmitriy Anisimkov
<anisimkov@yahoo.com>.

* New in AdaSockets 0.1.19

** New features for Windows

Maxim Reznik <max1@mbank.com.ua> did adapt AdaSockets so that it offers
all the functions needed for AdaBroker on Windows. This way, he could use
AdaBroker on this new platform.

** Minor enhancement

When a socket is closed, its buffer space is reclaimed if the socket was
still in buffered mode. Suggestion and patch sent by Dmitriy
Anisimkov <anisimkov@yahoo.com>.

** Example fix

The multicast example (which now works on Windows) has been fixed to do
what it says. Fix sent by Juanma Barranquero <lektu@terra.es>.

* New in AdaSockets 0.1.18

** New subprograms Set_Buffer and Unset_Buffer

Two new subprograms, Set_Buffer and Unset_Buffer, allow to read sockets
in buffered mode. This is particularily important for UDP sockets. Feature
suggested by Juanma Barranquero <lektu@terra.es>.

The listener example has been modified to use buffered mode.

* New in AdaSockets 0.1.17

** Bug fix

A bug prevented UDP sockets to be able to receive data, at least on Windows.
Reported and fixed by Juanma Barranquero <lektu@terra.es>.

* New in AdaSockets 0.1.16

** New port

Thanks to Dmitriy Anisimkov <anisimkov@yahoo.com>, AdaSockets now builds
correctly on a Windows MINGW system. You need a set of Unix tools to
build it; it has been tested with the Cygwin toolset.

* New in AdaSockets 0.1.15

** Bug fix

Send could sometimes incorrectly raise Constraint_Error instead of
the more logical Connection_Closed. Reported and fixed by
Pascal Obry <p.obry@wanadoo.fr>.

* New in AdaSockets 0.1.14

** Bug fix

Get_Sock_Port and Get_Peer_Port did not return the right result on little
endian machines. Reported and fixed by Stéphane Patureau
<spaturea@meletu.univ-valenciennes.fr>.

* New in AdaSockets 0.1.13

** New functions Get_Sock_Addr and Get_Sock_Port

This time, the new functions, that work locally, have been suggested by
Alan Barnes <barnesa@aston.ac.uk>.

** Bind enhancement

Alan Barnes <barnesa@aston.ac.uk> also proposed a Bind enhancement to
accept 0 as a valid port. In this case, a free one will be allocated
by the system. Also, it is now possible to specify the bind address.

* New in AdaSockets 0.1.12

** New functions Get_Peer_Addr and Get_Peer_Port

Two new functions allow a user to know the address and port used by the
peer. Based on a suggestion from Sander Cox <sander.cox@philips.com>.

** Bug fix

The split program had a forgotten incrementation, which made it fail on
some machines with long qualified names. Fix sent by Thomas Quinot
<thomas@cuivre.fr.eu.org>.

* New in AdaSockets 0.1.11

** New constants defined

David J. Kristola <David95037@aol.com> asked for two new constants to be
defined, O_NONBLOCK and MSG_PEEK. These will be used for a new extension
(non-blocking sockets) that he plans to release in the near future.

* New in AdaSockets 0.1.10

** New package Sockets.Stream_IO

A new package Sockets.Stream_IO allows the user to build a stream from an
existing socket. The stream can then be used as any other Ada stream.
Two new examples, stream_listener and stream_sender are provided to
demonstrate this feature.

** New procedure Receive_Some.

A new Receive_Some procedure, suggested by Laurent Guerby, allows the user
to get the first data available instead of waiting for the buffer to be
filled.

** Allow adasockets-config to be called with no parameter.

This has been suggested by Preben Randhol, and simplifies the gnatmake
command line whenever someone uses no library but adasockets.

* New in AdaSockets 0.1.9

** Add a new function Get_FD.

A new function Get_FD has been added in the Sockets package to let GtkAda users
add this descriptor to the list of descriptors to watch. Patch sent by
Bobby D. Bryant <bdbryant@mail.utexas.edu>.

* New in AdaSockets 0.1.8

** Change the building process

AdaSockets now comes as a shared and a non-shared library.

** Fix bugs on 64 bit platforms

The iovec_len field in sockets-thin.ads was incorrectly marked as being
an Integer instead of a Storage_Offset.

* New in AdaSockets 0.1.7

** Add support for FreeBSD

FreeBSD 3.x, 4.0 and 5.0-CURRENT are now supported out of the box.

* New in AdaSockets 0.1.6

** Add a `adasockets-config' script

The AdaSockets library can now be found automatically on your system if
it has been installed properly.

* New in AdaSockets 0.1.5

** Fix a race condition when using naming services

gethostbyname() and friends functions are not thread safe because they return
a pointer on a static memory zone. Incriminated calls are now protected by a
mutex. The overhead should be neglictible as those functions aren't usually
called often.

* New in AdaSockets 0.1.4

** Fix a descriptor leak when using TCP sockets

close() was not called properly after a socket has been shutdowned in
both directions. Since we do not want to add the burden of calling
close() onto the user, we record the state for each direction and call 
close() when appropriate.

** Fix an installation bug

In some situations (unexistant lib subdirectory in target prefix
directory), the installation directory was not properly created. This
is now fixed.

** Add some thin bindings entries

Thin bindigs entries have been added for socketpair() and AF_UNIX.

* New in AdaSockets 0.1.3

** Support for IP multicast

The package Sockets.Multicast can be used to create Multicast
interfaces on machine that support it.

** Interface changes

Some functions have been transformed into procedures to ease the
addition of multicast sockets.

** New example

The multi example can be used as both a multicast sender and receiver.

* New in AdaSockets 0.1.2

** Warning suppressed

Some versions of GNAT were detecting incorrectly a missing raise in
some cases. Signaled by Nicolas Ollinger <Nicolas.Ollinger@ens-lyon.fr>.

** New example

A listener example which is only a server has been added to avoid any
confusion between clients and servers. Suggestion by Scott Moody
<scott@plato.ds.boeing.com>.

* New in AdaSockets 0.1.1

** `aux' -> `support'

The subdirectory `aux' in the distribution has been renamed into
`support' to avoid a name clash on Windows NT with the standard
peripherical `aux'. Suggestion from Juanma Barranquero
<barranquero@laley-actualidad.es>.

** Better error messages

Exception raised during the connection now have messages in many cases 
explaining why the connexion could not be made.
