libIDL 0.8.14:

	* Fix build error in configure.in.
	* Remove CPP_STDINC cruft from configure.in.
	* Enable silent build rules.

libIDL 0.8.13:

        * Clean up some warnings from sparse/gcc.
	* Makefile.am: Put local includes first.

libIDL 0.8.12:

        * Fix the build with bison 2.4

libIDL 0.8.10:

        * Fix the build with glib 2.15
        * Ignore "command-line" in addition to "command line" when handling
          output from cpp (#474641, Sebastian Bober)
	* Win32 portability work. (Tor)

libIDL 0.8.9:

	* Add missing braces (Dominique Quatravaux)

libIDL 0.8.8:

	* Don't ship the broken spec file any more (Brian Pepple)

libIDL 0.8.7:

	* Clean up some dead code (Pascal Terjan)
	* Fix compiler warning (Kjartan)
	* Don't use deprecated function g_basename() (Kjartan)
	* Handle IDLN_WIDE_CHAR, IDLN_WIDE_STRING and IDLN_SRCFILE
	  in IDL_tree_free()/IDL_tree_free_real() (Mark)
	* Wind32 fixes (Tor Lillqvist)
	* spec file fixes (Jules Colding)

libIDL 0.8.6:

	* Support for building on Win32 (Tor Lillqvist)

libIDL 0.8.5:

	* use modern automake rather than 1.4 (James Henstridge)
        * Fix a couple of warnings from sparse (Kjartan Maraas)
        * Fix parsing of 'const octet' (Jules Colding)

libIDL 0.8.4:

	* Fix aclocal quotation issue (Tomasz K³oczko)

libIDL 0.8.3:

	* Add a -uninstalled.pc file (Laca)
	* Clobber LC_ALL before invoking pre-compiler (Fernando Herrera)

libIDL 0.8.2:

	* Support new versions of flex (Jody Goldberg)

libIDL 0.8.1:

	* add '_' prefix escaped keyword support (Nick Lewycky)
	* cygwin build support (Masahiro Sakai)
	* build fixes (Mark McLoughlin, Thomas Vander Stichele)
	* autoconf upgrade (Havoc Pennington)
	* BSD portability fix (Jacob Berkman)

libIDL 0.8.0: stable ABI/API fozen release

	* link against glib (Mark)
	* build fixes (Jacob)

libIDL 0.7.4:

        * remove deprecated glib functions (Shivram U)

libIDL 0.7.3:

        * dist the spec file (Mark)
        * gcc 3.0 workaround (Fabrice)

Version 0.7.2

	+ workaround for FreeBSD (Mark)
	+ update spec file (Ross Golder)
	+ fix --version and --cflags output (Abel Cheung)
	+ update build (Mark)

Version 0.7.1

	...

Ancient History:

* Status as of 4/24/99

Version 0.6.8 Released

*** Important Changes in 0.6.8 from 0.6.4 which may affect code ***

- Inhibited nodes are no longer recursively removed, to retain
substructure.  Once a node is removed, subnodes are not touched (the
previous behavior I consider a bug, since if you pragma inhibit
everything inside gets messed up, making traversal there impossible).

** New Features for libIDL 0.6.8 from 0.6.4

- New parse flag: IDLF_INHIBIT_INCLUDES: this causes libIDL to
implicitly assume the following #pragma inhibits around every included
file:

#pragma inhibit push
#include "file.idl"
#pragma inhibit pop

With this parse flag enabled, the same inhibit effect is achieved
without needing #pragmas:

#include "file.idl"

- New parse flag: IDLF_INHIBIT_TAG_ONLY: you can opt not to have
inhibited nodes removed during parse time.  They can be removed later
by calling IDL_tree_remove_inhibits, which is now a public function.

** Bug Fixes for libIDL 0.6.8 from 0.6.4

- Multiple calls to IDL_parse_filename are now fixed when one of them
fails.  As a result, we now require flex as a side effect to generate
the scanner.  You can compile without having flex however, since the
pre-generated scanner is included in the source distribution.


* Status as of 3/23/99

Version 0.6.4 Released

*** Important Changes in 0.6.4 from 0.6.0 which may affect code ***

- Some fields were added to the end of the IDL node structure, and
IDL_tree_func_data.  Most code shouldn't be affected if you use
pointers, unless you've hardcoded the struct.  A recompile may be
necessary if you have hardcoded structs like this.

** New Features for libIDL 0.6.4 from 0.6.0

- Unresolved forward declarations generate warnings now, not errors
(unless IDLF_PEDANTIC is specified).  These warnings can be turned off
altogether if the IDLF_IGNORE_FORWARDS parse flag is specified.

- IDL_tree_to_IDL improvements and fixes.

- New function IDL_tree_to_IDL_string works exactly like
IDL_tree_to_IDL but returns a GString instead.

- More error and warning message improvements.

- XPIDL support is more complete, and is nearing usefulness.

- IDLF_CODEFRAGS and IDLF_PROPERTIES parse flags added to support
individual enabling without full XPIDL syntax.  If you want the native
extension, you might as well just enable XPIDL support since you're
probably going to lose portability anyway.

- Compatibility with standard lex. Although standard lex can be used,
flex seems to create better and less buggy scanners.

- Miscellaneous fixes the the build process from various people.  If
you run into problems with undefined symbols in the parser or lexer,
you might try rm -f stamp-parser and rebuild (hopefully this will be
fixed in the future sometime, but it's low priority).


* Status as of 2/22/99

Version 0.6.0 Released

*** Important Changes in 0.6.0 from 0.5.0 which may affect code ***

- All memory allocated which is received from libIDL must be freed
with glib free routines, i.e. g_free.  For instance the value from
IDL_ns_ident_to_qstring should be freed with g_free.

- IDL_tree_func now passes an IDL_tree_func_data struct pointer
instead of the just the tree node. This gives you the current node,
the up path of the traversal, and the real up path (from the node's up
pointer), which is useful since the paths can be different in the case
of a predefined identifier referenced in a different place. Be sure to
update your callbacks for 0.6.

- Do not rely on IDLN_* enumeration ordering.  An alternative method
for using jumptables is mentioned in the IDL header file.

** New Features for libIDL 0.6.0

- Overhauled versioning system, with support for libIDL-config, an
AM_PATH_LIBIDL Automake macro, and C version defines.

- New functions, including node properties and namespace functions.
IDL_parse_filename_with_input was added to facilitate porting to
platforms which don't have a readily available CPP (e.g. Win32).

- XPIDL support is now in place (optionally activated with a parse
flag).

- Additional support for node suppression with #pragma inhibit.

- Support for Win32.

- Many bug fixes.


* Status as of 8/17/98

** Just about everything is working now, except for a few small
ambiguity cases which may not get detected, but should be easily
avoidable anyway.  The changeover to using glib is there, and hash
tables are used extensively now so that the O order has been reduced.

Repository IDs are also generate properly now, along with the three
pragams, and there is also a declaration spec which can tag certain
interfaces to not generate tree data.  Error messages have also been
improved significantly.

The docs are out of date and need revamping.


* Status as of 7/18/98

** Most needed features are working to read CORBA v2.2 IDL.  See the
file BUGS to see what else needs to be done; at this point things like
speed are low priority, however a changeover to using glib and more
efficient data structures like sorted heaps or hashes might be in
order down the line.  I'm not sure how useful libIDL might be apart
from its use in an IDL compiler, but the docs still need work.

Andrew Veliath
