--------------------------------------------------------------------------------------
 gambas2-1.9.9 - 02 Jun 2005
--------------------------------------------------------------------------------------

* Czech translation made by Peter Cernoch.
* The *.info and *.list files are now generated one by one.

COMPILER

* BUG: You can use TRY after a one-line IF ... THEN construct.

INTERPRETER

* BUG: Raising events now works for class whose parent already has events.
* BUG: Calling native functions cannot badly free the return value anymore.
* BUG: The library specified in EXTERN now separate the version number from the
  library name with a colon.
* The API GB.Call() now returns a pointer to the value returned by the called
  Gambas function.
* Application.Env can be enumerated now.
* A new static class, User, to return information about the user that runs the 
  process.
* New functions for external shared libraries support: Alloc(), Free(), Realloc().
* BUG: Reading from a non-buffered stream is now fixed.
* Now streams that are not real files always use ioctl() to know how many 
  bytes can be read from them. So Lof() should always return a useful value now.
* BUG: The debugger now can display class constants.

DEVELOMENT ENVIRONMENT

* BUG: Constants are now displayed in automatic completion.
* BUG: IDE does not ignore files with executable bit set anymore.

DATABASE COMPONENT

* BUG: You can use string constants inside requests now.

EVALUATOR COMPONENT

* BUG: Syntax highlighting now works with lines including non-ASCII characters.

QT COMPONENT

* Dialog.OpenFile now takes an optional argument to let the user choose more than one
  file.
* Dialog.Paths is a new property that returns the files selected by the user.

GTK+ COMPONENT

* Updated.

NETWORKING COMPONENT

* Updated.

CLANLIB COMPONENT

* New component. Not usable yet.


--------------------------------------------------------------------------------------
 gambas2-1.9.8 - 09 May 2005
--------------------------------------------------------------------------------------

* The source files are now uploaded to the SourceForge FTP servers.

COMPILER

* BUG: Numbers with signs are correctly compiled again.
* A new keyword, LIBRARY, to tell the compiler the default library name that it
  should use with EXTERN declarations.
* Now The IN keyword is optional with EXTERN declarations, if LIBRARY was used
  before.
* You can add EXEC <real name> at the end of an EXTERN declaration, to specify
  the name of the extern function in the shared library, when it is different
  from the name used by Gambas.


--------------------------------------------------------------------------------------
 gambas2-1.9.7 - 04 May 2005
--------------------------------------------------------------------------------------

* Symbolic link to gambas IDE does not have the '.gambas' extension anymore.
* 'gbi' was rewritten so that it can take a component name as argument, and
  create the information files only for this component.

COMPILER

* Support for declaring functions in extern shared libraries. The syntax is:
  EXTERN <function name>(args...) IN <library name>
* New datatype named 'Pointer' that is a synonymous for 'Integer'.

INTERPRETER

* BUG: OPEN ... DIRECT now correctly works.
* BUG: Opening a file with CREATE flag now always implies READ flag.
* BUG: SEEK and READ now always work on files opened in DIRECT mode.
* Support for calling functions in extern shared libraries.
* If the startup class declares a plublic method named 'Application_Read', then
  the standard input is watched by the event loop.
* New subroutines, Alloc(), Free() and Realloc() for allocating and freeing
  memory fragments.
* A new subroutine, StrPtr(), that returns the null-terminated string located
  at the specified address.
* You can use READ and WRITE to read from or write to memory, by using an integer
  as stream. The interpreter should raise an error and not crash if you supply
  an invalid memory address.
* Now, if you use FOR INPUT/OUTPUT instead of FOR READ/WRITE with the EXEC or
  SHELL instruction, the executed process is plugged to a pseudo-terminal. This
  way, you can easily pilot a program that needs to be run in a terminal.
* BUG: '_call' special method management has been fixed.

DEVELOPMENT ENVIRONMENT

* Support for the Pointer datatype.

QT COMPONENT

* BUG: I finally got rid of the spurious warning generated by the TableView control.

DATABASE COMPONENT

* BUG: Result methods now always return an error when the result is not available.
* BUG: Now tables whose primary key fields are not necessarily the first ones work.
* BUG: The PostgreSQL driver has been fixed. Now it works for any version greater
  or equal than 7.3.
* Now deleted records are removed from the Result object.


--------------------------------------------------------------------------------------
 gambas2-1.9.6 - 21 Apr 2005
--------------------------------------------------------------------------------------

* WARNING! The bytecode has changed. You must entirely recompile your projects.
* Now components disabled by libraries and includes detection are not compiled
  anymore.
* A new configure flag, '--disable-qt-translation', prevents the qt component for 
  using qt translation files, in the hope of helping to solve the 'freeze' problem 
  with distributions like SuSE.
  
COMPILER

* Support for Long and Single datatypes.
* The syntax of EXEC, SHELL and RAISE has changed. They do not use the AS keyword
  anymore, but the assignment syntax:
    hProcess = EXEC ...
    hProcess = SHELL ...
    bCancel = RAISE ...
  The OPEN instruction may follow the same way in the future.

INTERPRETER

* Two new datatypes: Long, a 64 bits integer, and Single, a 4 bytes floating point
  number.
* Two new array classes: Long[] and Single[].
* Support for files larger than 2 GB. Now Lof() and Seek() return a 64-bits Long 
  value.
* Two new keywords, LOCK and UNLOCK, to lock and unlock opened files.
  Just type LOCK #hFile or UNLOCK #hFile.
* The Stat() function now returns an object of the class 'Stat', not 'File' anymore.
* BUG: Fixed a possible crash when freeing classes at program end.
* BUG: Some fixes in the management of components written in Gambas.
* BUG: The Seek() function should work now. 
* BUG: A file descriptor leak was fixed in an internal function used by the 
  Settings class. 

DEVELOPMENT ENVIRONMENT

* Support for Long and Single datatypes.
* BUG: Menu editor works again.

DATABASE MANAGER

* The ODBC driver is supported.

DATABASE COMPONENT

* The ODBC driver was updated.

NETWORK COMPONENT

* BUG: The DTR and RTS properties of the SerialPort class were fixed.
* The CURL component was updated.

EVALUATOR COMPONENT

* BUG: Fixed a possible crash when analyzing lines with syntax errors.


--------------------------------------------------------------------------------------
 gambas2-1.9.5 - 31 Mar 2005
--------------------------------------------------------------------------------------

* Components can be disabled from the top configure script now.
* Examples and help files have their own package.
* a new component, gb.form, that just included an example of component for testing
  purpose.
* A summary of disabled components is printed at end of configure.
* DONT_USE_LTDL is disabled by default when compiling on cygwin.

COMPILER

* Some optimization in case unsensitive comparison.
* BUG: '.info' files should be correctly generated now.
* Support for multi-dimensional dynamic arrays.

INTERPRETER

* Arrays classes are now multi-dimensional. The dimensions are declared with
  the following special syntax:  DIM aArray AS NEW Float[5, 6, ...]
  The arrays can have up to eight dimensions. A multi-dimensional array cannot
  be resized at run-time.
* Array.Dim returns the number of dimensions.
* Array.Bounds[...] returns the size of one dimension.
* Array.Sort() now always returns the array itself, so that you can write:
  FOR EACH sFile IN Dir(Path).Sort()
* BUG: Some fixes in Collection class when dealing with null keys.

ARCHIVER

* Gambas executables have now the '.gambas' extension.

DEVELOPMENT ENVIRONMENT

* Some little fixes to allow using controls of components written in Gambas.
* If a component requires another component, then it will be stored after in the 
  .project file.
* Project names including a dot are allowed now.
* BUG: Menus are correctly managed by the IDE with the GTK+ component now.

DATABASE COMPONENT

* ODBC driver was updated.
* Connection now is a virtual control.

QT COMPONENT

* MovieBox has been moved to the main component, as it is in the GTK+ component.

KDE COMPONENT

* The following QT datatypes are managed as DCOP function return type: 
  QMap<QCString, QString>, QMap<QString, QString>, QMap<QCString, DCOPRef>, 
  QMap<QString, DCOPRef>. They are unmarshalled to a Gambas collection.


--------------------------------------------------------------------------------------
 gambas2-1.9.4 - 23 Feb 2005
--------------------------------------------------------------------------------------

* Source package has been completely reorganized. Almost each component has its
  own source sub-package independent from the others.
* Components can be written in Gambas. But there is no support for that in the
  development environment yet.
* $(pkglib) and $(pkgdata) variables are replaced by $(gblib) and $(gbdata) in
  all 'Makefile.am' files.
* Components library files are not prefixed with 'lib.' anymore.

INTERPRETER

* Support for loading components written in Gambas.
* Each component can have a translation file.
* Classes written in Gambas can be exported (i.e global) and auto-creatable.
* The native class Settings has been replaced by the gb.settings component, written
  in Gambas.
* The support for the old USE instruction has been definitely removed.
* The FIFO opened by a debugged process are not closed at end anymore. I don't know
  why but it was taking a very long time.
* Temporary files (and translation files) are now stored in '/tmp/gambas.$UID/$PID/', 
  and are all deleted when the process terminates.
* BUG: _put and _get special methods now work correctly for classes written in 
  Gambas.
* BUG: The File.Perm.* properties now work correctly.
* BUG: Subst() now works correctly when there is a single '&' character in the
  pattern string.

COMPILER

* A new keyword, EXPORT, to tell that a class is exported, i.e. global. In a 
  component, only exported class are visible to the outside.
* CREATE tells that a class is auto-creatable, i.e. that using the class like a
  object automagically creates an hidden instance.
* When a project has exported class, the compiler automatically generates a '.list'
  file containing the list of exported classes, and a '.info' file that describes 
  these exported classes. The format of these file is the same as those generated
  by the 'gbi' tool for native components.
* Support for _put and _get methods.

INFORMER

* The 'gbi' does not take the '-a' option anymore. It always generates information 
  files for all native components.

DATABASE COMPONENT

* BUG: Some fixes in the postgresql driver for PostgreSQL version greater than 7.4.
* ODBC driver was updated.

DEBUG COMPONENT

* The SIGPIPE signal is ignored now during a debugging session.
  
EVALUATOR COMPONENT

* BUG: many fixes in highlighting and rewriting process.

QT COMPONENT

* BUG: The Tabstrip.Tab property now really returns a tab virtual object, and
  not an integer anymore.
* BUG: The DrawingArea control does not crash anymore when it is cached and its
  width and height are zero.
* BUG: Settings GridView.Item.Picture property now correctly refresh the GridView.

GTK COMPONENT

* Updated.

SDL COMPONENT

* Updated.

SETTINGS COMPONENT

* This component replaces the old native Settings class that was built-in in the
  interpreter. Note that configuration files are now stored under ~/.config/gambas
  and that their format has changed to the Windows INI file format.

    
--------------------------------------------------------------------------------------
 gambas2-1.9.3 - 07 Feb 2005
--------------------------------------------------------------------------------------

* libxml and libxslt use pkg-config to detect their installation path.
* Detection using 'pkg-config' can be overrided by --with-*-includes and 
  --with-*-libraries configure options.

DEVELOPMENT ENVIRONMENT

* BUG: newly created or deleted controls are correctly displayed in the 
  auto-completion list now.
* Pressing ENTER when the autocompletion is displayed does not insert a new line
  anymore.
  
COMPILER

* A new keyword, SUPER.

INTERPRETER

* BUG: Virtual dispatching now works correctly.
* A new keyword, SUPER, to call a method or a property of the inherited class.
* BUG: gb.Sunday constant is zero, not seven anymore.
* BUG: Mathemathic functions now raise an error instead of returning a non-finite
  number.

EXPRESSION EVALUATOR COMPONENT

* Syntax highlighting is done by this component now.
    
DATABASE COMPONENT

* ODBC driver updated.
* SQLite driver updated.

QT COMPONENT

* BUG: Qt dialogs are now translated!
* BUG: No memory leak anymore when using user-defined cursors.
* BUG: Setting Dialog.Font to NULL does not crash the interpreter anymore.

GAMBAS EDITOR COMPONENT

* Syntax highlighting is done by the gb.eval component now.
* Code lines are rewritten after being edited.

GTK COMPONENT

* Updated.

PCRE COMPONENT

* Updated.

SDL COMPONENT

* Updated.


--------------------------------------------------------------------------------------
 gambas2-1.9.2 - 12 Jan 2005
--------------------------------------------------------------------------------------

* BUG: Fix forgotten version suffixes in configuration and source files.
* Some fixes to help compile on non-Linux architectures.

DEVELOPMENT ENVIRONMENT

* BUG: Don't crash when INHERITS is used by mistake.
* BUG: Don't display void folders opened in the project treeview.
* BUG: Never open autocompletion inside a comment.

COMPILER

* BUG: Using INHERITS twice now raises an error message.

SDL COMPONENT

* Updated.

GTK COMPONENT

* Updated.

PCRE COMPONENT

* Updated.


--------------------------------------------------------------------------------------
 gambas2-1.9.1 - 09 Jan 2005
--------------------------------------------------------------------------------------

* New experimental detection of target operating system. This may break some 
  compilation on other systems than mine. Please report problems!
* Detection of shared libraries extension on MacOS X.
* Use of pkg-config to detect some libraries.
* Executables and packages are suffixed with the major version number.

INTERPRETER

* A new API, GB.Application.Startup, that returns the name of the startup class
  for components that need it.
* A new property, System.Version, that returns the Gambas major version number.
* BUG: The [] operator has been fixed for Byte and Short arrays.
* Now virtual dispatching is used. If you call a method on a object, the method of
  the true object class is called, and not the method of the class of the variable 
  owning the object reference.

DATABASE COMPONENT

* New VERY ;-) experimental driver for ODBC, made by Andrea Bortolan.

QT COMPONENT

* BUG: Changing the width of all rows or the height of all columns now works correctly.
* BUG: TextBox.Pos does not crash anymore if the position is out of bounds.
* BUG: TextBox.Select.All() now works.

SDL COMPONENT

* A new component, gb.sdl.image, made by Laurent Carlier.

GTK COMPONENT

* New component made by Daniel Campos.

PCRE COMPONENT

* New component made by Rob Kudla.

