-------------------------------------------------------------------------------
 gambas2-1.9.34 - 17 Jul 2006
-------------------------------------------------------------------------------

CONFIGURATION & INSTALLATION

* BUG: A symbolic link named 'gambas2' pointing at 'gambas2.gambas' is now
  created inside the 'bin' directory of the installation.

DEVELOPMENT ENVIRONMENT

* NEW: KDE Crystal icon theme is used now.
* NEW: The main window was redesigned with toolbars and actions.
* BUG: Some fixes in container support in the form editor.
* NEW: The form editor now has a representation of the window borders and
  title bar.
* NEW: The welcome form was redesigned.
* BUG: Somes fixes in the automatic completion.
* NEW: A new tab which displays the list of current breakpoints while 
  debugging.
* NEW: The option form was redesigned.
* BUG: Automatic creation of property handlers now support static
  properties.
* BUG: Opened forms become read-only when the project is running.
* NEW: The icon editor was redesigned.
* BUG: Old editor positions are cleared when a new project is opened.

INTERPRETER

* BUG: The GB.GetFunction API does not leak memory anymore when the 
  searched function does not exist.
* NEW: The '.Array' class lost its point, and is named 'Array' now.
* NEW: Class.Component is a new property that returns the component a class
  belongs to.
* BUG: Object.SetProperty and Object.GetProperty now correctly propagate
  errors.
* NEW: Object.Call now takes its arguments as an unique array, and not as a
  variable list.
* BUG: An error raised inside a component written in Gambas does not crash 
  the interpreter anymore during a debugging session.
* BUG: An object variable with a defined class can only accept symbols of 
  this class, and not a symbol of an inherited class.
* NEW: Randomize now takes an optional parameter to initialize the seed.
  
COMPILER

* NEW: A new instruction, SLEEP, to wait without calling the event loop.
* NEW: EXEC and SHELL now support the AS syntax to specify the event name
  of the returned Process objects.
  
INFORMER

* BUG: The informer does not use a hardcoded path of itself anymore to 
  implement library preloading.

ARCHIVER

* NEW: The archiver takes a new '-o' option to specify the path of the
  generated executable.

GB.QT COMPONENT

* BUG: The implementatio of the Design property were reworked.
* NEW: The Control.Window property now returns the window the control 
  belongs to, even if this window is embedded. BE CAREFUL! THIS MAY
  BREAK YOUR CODE.
* NEW: Now a control can be associated with an action, thanks to the Action 
  class. This class is implemented in the gambas part of the component.
* NEW: Now the Application.ActiveWindow returns the window containing the
  control having the focus, even if this window is embedded, provided this 
  embedded window has an event handler for the Activate event. Is it clear?
* NEW: Disabled icons are visually visible now.
* NEW: Button, ToggleButton and ToolButton now support actions.
* BUG: ToolButton now have a minimum height according to its font, like the
  Button control had.
* NEW: CheckBox supports action now.
* NEW: Arrange.LeftRight was renamed as Arrange.Row, and Arrange.TopBottom
  was renamed as Arrange.Column.
* NEW: Container now raises the Arrange event, to indicate that its contents
  has changed and should be arranged.
* NEW: Draw.RoundRect is a new method to draw rounded rectangles.
* NEW: Now DrawingArea controls ignore keyboard events by default.
* NEW: DrawingArea.Focus is a new property to tell a DrawingArea to accept
  keyboard events.
* NEW: Menu now supports actions.
* NEW: Now menus automatically hide unneeded separators just before opening.
* NEW: Menu.Toggle is a new property to make the menu acts like a toggle 
  button.
* NEW: Menu.Show and Menu.Hide are two new methods to respectively show
  and hide a menu entry.
* NEW: Menu.Popup now takes two extra optional parameters to specify the
  screen coordinates of where the menu will appear.
* NEW: Menu.Window is a new property that returns the window the menu is
  attached to.
* BUG: Replacing a picture in the Picture cache with another one with the
  same key does not crash the interpreter anymore.
* BUG: Changing the background color of a window now works correctly.
* NEW: Window now supports action, so that it can be automatically shown
  or hidden.

GB.QT.EXT COMPONENT

* NEW: Editor.Goto now takes an optional argument that center the cursor
  inside the Editor control.
* NEW: Procedures can be separated with a gradient instead of just a line.
* BUG: Some little fixes in the Editor control.

GB.FORM COMPONENT

* NEW: FontChooser.ShowFixed were replaced by FontChooser.FixedOnly.
* NEW: FontChooser.ShowStyle is a new property that allows to hide the
  style panel in the middle.
* BUG: FontChooser does not refresh uselessly anymore.
* NEW: Some cosmetic changes in the SidePanel container.
* NEW: A new property, SidePanel.Action, for associating a SidePanel with 
  an action. This way, the SidePanel can be automatically shown or hidden.
* NEW: A ToolBar control, that acts as a container.

GB.FORM.MDI COMPONENT

* BUG: Some bug fixes in the Workspace control.
* NEW: Clicking on the titlebar now gives the focus to the associated child
  window.
* NEW: Activating windows should not flicker anymore.

GB.SETTINGS COMPONENT

* NEW: Settings.Path is a new static property that returns the default
  path of configuration files.


-------------------------------------------------------------------------------
 gambas2-1.9.33 - 01 Jul 2006
-------------------------------------------------------------------------------

CONFIGURATION & INSTALLATION

* The symbolic links in /usr/bin are not needed anymore. Now the gambas
  installation path is encoded in the executable at compilation time, 
  unless a symbolic link /usr/bin/gbx2 exists. Otherwise, the only 
  requirement is that gbr2 must be in the PATH.

DEVELOPMENT ENVIRONMENT

* BUG: Move some code from Form constructors to Form_Open event handlers, 
  as no event can be raised during instanciation.
* BUG: Some fixes in the automatic completion.
* BUG: Some fixes in the help explorer window.
* BUG: Making an executable outside of the project directory now works 
  correctly.

INTERPRETER

* BUG: The error management does not leak stack anymore. So functions doing
  a lot of TRY do not crash the interpreter anymore.
* NEW: File.SetName, File.SetExt, File.SetDir and File.SetBaseName replace
  the File.Name, File.Ext, File.Dir and File.BaseName methods called with
  two parameters.
* BUG: The = and <> operator now work correctly in any case when comparing
  two strings whose one is null.

GB.QT COMPONENT

* NEW: The Draw.Drawing method now takes four extra optional clipping 
  parameters, like Draw.Image and Draw.Picture.
* BUG: Windows automatic layout works again.

GB.QT.EXT COMPONENT

* BUG: The procedure line delimiter is correctly displayed in all cases now.

GB.FORM COMPONENT

* BUG: Some fixes because of the constructor not being able to raise events
  anymore.

GB.FORM.MDI COMPONENT

* NEW: Pressing the Shift key allows to resize MDI child windows freely.

GB.DB COMPONENT

* BUG: Drivers functions that test the existence of a user, an index, a 
  field, and so on, now correctly return FALSE if an error occurs.

GB.V4L COMPONENT

* BUG: The component now requires the "linux/videodev2.h" include to 
  compile.


-------------------------------------------------------------------------------
 gambas2-1.9.32 - 11 Jun 2002
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* NEW: The old Workspace control has been replaced by the new one.
* NEW: Automatic completion of identifiers and keywords.
* NEW: The help window now uses a static version of the wiki.
* BUG: The find dialog should not crash anymore in replace mode.
* BUG: The project tree shortcuts now are disabled when not having
  the focus, so that they do not conflict with the editor shortcuts.
* NEW: The debug window is now docked on the bottom of the main window.
* NEW: The project tree now displays modules first.
* NEW: Making executable is faster now.

DATABASE MANAGER

* BUG: The CSV export was fixed.
* NEW: The CSV export now uses TAB as separator character.

EXAMPLES

* BUG: The Notepad example was fixed.

INTERPRETER

* NEW: The Gambas API has a new GB.Post2() function to call a function
  later with two parameters.
* BUG: All components are now forced to use string comparison functions
  that do not use localization settings. This is mainly for Turkish
  people :-)
* BUG: The GPL version was incorrect in the message displayed by
  the --help option.
* NEW: An object cannot raise or receive events inside its contructor.
  This can break some code: for example, you may have to move code from
  the _new() method of a Form to the Form_Open event handler.
* NEW: A locked object cannot receive events anymore.
* BUG: Locked objects do not crash the interpreter anymore when trying to
  raise events.

COMPILER

* NEW: Events are not disabled anymore during the hidden method that
  creates the controls of a form.

GB.EVAL COMPONENT

* NEW: System.Keywords is a new property that returns the list of Gambas
  reserved keywords.

GB.QT COMPONENT

* NEW: Draw.Picture now can take optional width and height parameters that
  scales the Picture. This new syntax is incompatible with the old one!
* NEW: Draw.Image now can take optional width and height parameters that
  scales the Image. This new syntax is incompatible with the old one!
* NEW: Draw.Drawing now can take optional width and height parameters that
  scales the Drawing. This new syntax is incompatible with the old one!
* NEW: Drawing transformation has been implemented: Draw.Rotate rotates
  what is drawn, Draw.Translate translates it, and Draw.Scale scales it.
* NEW: Draw.Push saves the current transformation state.
* NEW: Draw.Pop restores the current transformation state.
* NEW: Draw.Reset resets the transformation state.
* NEW: Menu raises the Hide event just after being hidden.
* NEW: Setting Menu.Enabled to FALSE now disables all child menu shortcuts.
* NEW: TabStrip[i].Delete now removes the i-th tab, if it is empty.
* NEW: Watcher now raises the Title event when the watched control is a
  Window and its title changes.
* NEW: Watcher now raises the Icon event when the watched control is a
  Window and its icon changes.
* NEW: Watcher now raises the Close event when the watched control is a
  Window and it has been closed.
* NEW: Watcher.Control is a new property that returns the watched control.
* NEW: The LostFocus event is now posted, as the GotFocus event. This may
  break some code based on this event.

GB.QT.EXT COMPONENT

* NEW: The Workspace control, based on the QWorkspace widget, has been
  removed.
* BUG: The Editor.Undo and Editor.Redo methods now correctly move they
  cursor.
* BUG: The Editor automatic unindentation has been enhanced.

GB.GTK COMPONENT

* BUG: Some warning fixes sent by Stephan Binner from SuSE.

GB.LDAP COMPONENT

* BUG: Some warning fixes sent by Stephan Binner from SuSE.

GB.FORM COMPONENT

* NEW: DirChooser.Root is a new property to set the root of the directory
  list.
* NEW: FileChooser.Root is a new property to set the root of the directory
  list.

GB.FORM.MDI COMPONENT

* This new component implements the new version of the Workspace control.

GB.CRYPT COMPONENT

* BUG: The crypt.h header is now searched only in /usr/include.


-------------------------------------------------------------------------------
 gambas2-1.9.31 - 28 May 2006
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* NEW: The GambasEditor control has been replaced by the Editor control.
* NEW: The hierarchy window and the icon editor toolbox were put in the
  right side panel.
* NEW: The arrow keys now move controls in the form editor.
* NEW: A new menu entry to copy the path of a project data file into
  the clipboard.
* BUG: Constraints between components should be correctly managed now, in
  the project properties dialog.
* NEW: The text editor has HTML syntax highlighting now.
* BUG: The translation dialog does not fail anymore when the project
  directory includes non-ASCII characters.
* NEW: Defining the project startup class is optimized now.

DATABASE MANAGER

* NEW: A new dialog for importing CSV files.
* BUG: Image.Load() is static now. Some fixes of image loading.

INTERPRETER

* BUG: RDir() was fixed, and should work with very long file names now.

COMPILER

* BUG: A bug in the reading of *.list file was fixed. It prevented
  the compilation of project using EXPORT OPTIONAL.

GB.QT COMPONENT

* BUG: The default and cancel buttons management was fixed.
* BUG: Drawing.Width and Drawing.Height should always return an accurate
  value now.
* BUG: Stretching a null image now creates a void image of the specified
  size.
* BUG: Menu events generated by a menu opened with the Popup method are
  now delivered before the method returns.

GB.QT.EXT COMPONENT

* BUG: Many fixes in the keyboard and focus handling of the Editor control.
* NEW: All line numbers are displayed in the Editor control.
* BUG: Gambas sytnax highlighting does not leak memory anymore.

GB.QT.EDITOR COMPONENT

* This component has been removed.

GB.FORM COMPONENT

* BUG: The DirChooser now raises its events correctly.
* NEW: SidePanel buttons now can display a tooltip.

GB.DB COMPONENT

* BUG: Void table, index or field names are correctly handled now, and do
  not crash the interpreter anymore.


-------------------------------------------------------------------------------
 gambas2-1.9.30 - 20 May 2006
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* NEW: Implemented and needed features can be declared in a *.component
  file, and this is used by the IDE as additional constraints.
* NEW: Some changes in the MDI interface.
* NEW: The output window is now based on the Editor control.

EXAMPLES

* NEW: A printing example made by Timothy Marshal-Nichols and slightly
  modified by me.

INTERPRETER

* BUG: Dir() and RDir() work correctly with archives (i.e. executables) now.
* BUG: './' and '../' are correctly handled in relative paths now.
* NEW: String.Chr is a new method that returns an UTF-8 character from its
  Unicode value.
* NEW: String.Code is a new method that returns the Unicode value of a
  UTF-8 character.
* BUG: Val() works correctly again with boolean values.

ARCHIVER

* NEW: Now directories are stored inside the archive file.

GB.EVAL COMPONENT

* BUG: Eval() does not modify its string expression anymore.
* BUG: A missing brace error message was fixed.

GB.SETTINGS COMPONENT

* BUG: Settings.LoadWindow and Settings.SaveWindow now do not always use
  the default Settings object anymore.

GB.NET COMPONENT

* NEW: UdpSocket.Broadcast is a new boolean property that specifies if
  an UDP socket can send broadcast packets.

GB.QT COMPONENT

* NEW: GridView.Find is a method that searches a grid cell from its
  coordinates.
* NEW: GridView.Item is a property that returns the cell found by
  GridView.Find.
* NEW: The .GridViewItem virtual class got two new properties, Row and
  Column, that return the row and column of the specified cell.
* BUG: TextLabel paddign property now should work correctly.
* BUG: TextLabel.AutoResize is FALSE by default now.
* BUG: Some fixes in the MDI child window management.

GB.QT.EXT COMPONENT

* NEW: Two new properties to know the horizontal position of a column, and
  the vertical position of a row.
* NEW: Workspace.ScrollBar is a property that specifies if the Workspace
  can have scrollbars.

GB.FORM COMPONENT

* BUG: The SidePanel control now raises the Show event after being shown,
  and the Hide event just before being hidden.
* NEW: SidePanel now raises an Resize event when it is resized.
* BUG: SidePanel.Dimension now always returns an accurate value.

GB.DB.FORM COMPONENT

* NEW: DataSource.Sort is a new property that specifies the sort order
  of the returned data.
* NEW: The DataView can sort its columns. Note that this sort uses the new
  DataSource.Sort property.
* NEW: DataCombo.All is a new string property that allow it to display a
  "All" entry, when you want to use it as a filter.
* NEW: DataView.Grid is a boolean property that specifies if the grid is
  displayed or not.
* NEW: DataView.Highlight is a boolean property that specifies if one line
  out of two is highlighted.
* BUG: The Request class is not exported anymore.


-------------------------------------------------------------------------------
 gambas2-1.9.29 - 20 Apr 2006
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* BUG: Some fixes in MDI management.

INTERPRETER

* BUG: SUPER keyword now should work in any case.
* BUG: Auto-creatable classes now can be enumerated safely.
* BUG: To know how many bytes can be read on a file descriptor, lseek() is
  used when ioctl() fails. This is for operating systems like FreeBSD that
  do not implement it in all cases.
* BUG: Subst() was fixed.
* BUG: Val("") returns NULL now, and not a null date anymore.

COMPILER

* NEW: The THEN keyword is now optional.

QT COMPONENT

* BUG: Tooltips work correctly on view controls now.

DATABASE COMPONENT

* BUG: Blob management was fixed in mysql driver.
* BUG: 'information_schema' is now a system database in mysql driver.
* BUG: Now the mysql driver prevent the system databases from being deleted.

GTK+ COMPONENT

* BUG: Assigning TrayIcon.Tooltip does not crash anymore.

SMTP COMPONENT

* BUG: Newline are correctly sent now.


-------------------------------------------------------------------------------
 gambas2-1.9.28 - 28 Mar 2006
-------------------------------------------------------------------------------

CONFIGURATION

* BUG: The visibility flag is now correctly detected and used even with
  gcc 3.x.

DEVELOPMENT ENVIRONMENT

* BUG: Many fixes in the MDI development environment.

QT COMPONENT

* BUG: Opening a window sometimes crashed because of MDI child window
  QT bug workaround. This was fixed.


-------------------------------------------------------------------------------
 gambas2-1.9.27 - 24 Mar 2006
-------------------------------------------------------------------------------

CONFIGURATION

* BUG: Some fixes for FreeBSD.
* NEW: 'gbr2' is a new symbolic link to 'gbx2', that is used for running
  executables.
* BUG: The '-fvisibility=hidden' gcc flag is not used when gcc 3 is detected.
  Thanks to Laurent for the patch!

DEVELOPMENT ENVIRONMENT

* NEW: The development environment is MDI. This is completely experimental!
* NEW: You can change the control hierarchy (and so the tab order) directly
  in the hierarchy window.
* BUG: 'du -k' is used instead of 'du -b', to be compatible with FreeBSD.

INTERPRETER

* NEW: GB.GetFunction() has a new parameter to check the return type of
  the searched function
* NEW: GB.Stopped() is a new function that returns if STOP EVENT was used
  during a function called with GB.Call().
* BUG: Many fixes for FreeBSD.
* BUG: getpt() has a replacement function now for FreeBSD.
* BUG: The main hook is now called before looking for the startup class.
  This helps components that have to initialize during this hook, like
  the gb.qt component.
* NEW: Stat.Path is a new property that returns the path used when calling
  the Stat() function.
* NEW: Stat.Link is a new property that returns the path referenced by a
  symbolic link.
* NEW: The '=' and '<>' comparison operators now use the _compare special
  method when comparing object references.
* BUG: STOP EVENT now should work correctly in all cases.
* NEW: The pseudo-random number generator now uses a twisted generalized
  feedback shift register, thanks to a french Linux Magazine article.
  Trust me, the new algorithm is better and faster than the old one.
* NEW: Relative paths, i.e. paths that reference files inside the project,
  can use '.' and '..' now.

COMPILER

* NEW: You can declare functions with the SUB keyword now, instead of using
  the FUNCTION keyword. This is for lazy guys ;-)

ARCHIVER

* NEW: The Gambas executable has changed from '#!/usr/bin/gbx2 -x' to
  '#!/usr/bin/env gbr2', to be compatible with FreeBSD systems.
  Consequently, ALL EXECUTABLES MUST BE REGENERATED!

QT COMPONENT

* NEW: TextLabel gets AutoResize and Padding properties.
* BUG: Many fixes in MDI child windows support.
* NEW: Control.Next and Control.Previous can be written, to change the
  control Z-order and tab order.

GTK+ COMPONENT

* NEW: Compiling with DirectFB backend is supported.
* BUG: A little fix to compile with gcc 4.1.

KDE HTML COMPONENT

* NEW: WebBrowser.Print is a new method for printing the browser contents.

PCRE COMPONENT

* BUG: The pcre library is searched in /lib too.


-------------------------------------------------------------------------------
 gambas2-1.9.26 - 02 Mar 2006
-------------------------------------------------------------------------------

CONFIGURATION

* NEW: Now everything is compiled with the gcc flag '-fvisibility=hidden'
  activated. So component exported symbols (GB, GB_INIT, GB_EXIT, GB_CLASSES
  and optional interface library) must be explicitely declared with the new
  EXPORT macro declared in 'gambas.h'.

DEVELOPMENT ENVIRONMENT

* NEW: When declaring a exported integer class property, you can define the
  default value with constant names, instead of numeric values.
* NEW: If you press the RETURN key after having defined a property, the
  property read and write handlers are automatically defined.

EXAMPLES

* NEW: The presentation made by Laurent and I for the french meeting
  'Solutions Linux 2006' becomes an OpenGL example.

INTERPRETER

* NEW: String[].Join() third parameter has now the same behaviour as the
  third parameter of the Split() routine.
* NEW: Component.Load() is now a synonymous for Components.Load().
* BUG: Now every path beginning with a tilde character '~' is interpreted
  the same way as a shell.

DATABASE COMPONENT

* BUG: Tables with more than about 30 fields do not crash the interpreter
  anymore.
* BUG: The sqlite 2 driver came back.

QT COMPONENT

* NEW: The CheckBox control got a new property, Tristate, that allows it to
  display a third intermediate state.
* NEW: CheckBox.Value is now an integer, and not a boolean anymore, because
  of the Tristate new property. It can take three different values:
  CheckBox.False (0), CheckBox.True (-1) and CheckBox.None (1).
* NEW: Color.LightBackground returns a lighter background than
  Color.SelectedBackground.
* NEW: GotFocus events are now posted, you don't get them immediately, and
  so after the control effectively got the focus.

QT EXTENSION COMPONENT

* BUG: TableView now correctly adjusts a column according to the column
  contents.
* NEW: TableView.AutoResize is a new property that makes the last column
  stretch automatically to fit TableView width.
* NEW: TableView.Resizable is a new property that allows the user to resize
  TableView columns.

GTK+ COMPONENT

* BUG: The HSV methods now really uses the 0..255 range.

KDE COMPONENT

* BUG: The current locale is correctly defined now.

DATABASE FORM COMPONENT

* BUG: Many bug fixes in the data bound controls.
* BUG: The database queries were optimized.

SMTP COMPONENT

* NEW: This is a new component that allows you to send mails via SMTP.
  It contains one control, SmtpClient, that is used for defining the SMTP
  server, the SMTP port, the recipients, the sender, the subject, the mail
  contents, some attachments, and for finally sending the mail.


-------------------------------------------------------------------------------
 gambas2-1.9.25 - 18 Feb 2006
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* BUG: Translation of component names are used now.
* NEW: String[] properties are managed now.
* BUG: Selecting all controls on a form updates the property window
  correctly now.
* BUG: Toolbox panels are intelligently sorted now.
* BUG: Big images are now stretched in the project treeview.

INTERPRETER

* NEW: The image and picture hooks syntax has changed.
* NEW: The image and picture API has been enhanced.
* NEW: _compare is a new special method used for comparing an object
  with another during a sort.
* NEW: System.User now returns the same static object as the User class.
* NEW: String[].Join() now can take an extra optional argument that
  is an escape string added to the beginning and the end of each
  joined element.
* BUG: The event inheritance now works correctly with interpreted classes
* BUG: Calling a method on an anonymous reference now works correctly
  if the called method does not always have the same number of arguments.
* NEW: Implementation of the new IS operator (see below).
* BUG: The Subst() instruction now interprets the '&&' sequence as a
  single '&'.
* NEW: Path names now interprets the '~' character like the shell does.
* BUG: INPUT now works correctly with more than one argument.
* BUG: The debugger now prints string expressions without corrupting
  memory anymore.

COMPILER

* NEW: The RENAME/AS instruction was replaced by the MOVE/TO instruction.
* NEW: Class names are detected at compilation time now.
* BUG: When declaring several local variables on the same line, each one
  can have its own initialization expression now.
* BUG: Internal subroutines, i.e. those that are associated with an
  instruction, cannot be called directly anymore.
* NEW: The syntax '[]' now returns NULL.
* NEW: A new subroutine named Comp(), that compare two strings.
* NEW: IS is a new operator that returns if an object is an instance of
  a specified class, or one of its child classes.
* NEW: The old deprecated syntax "OPEN xxx AS file" is not supported
  anymore. You must use "file = OPEN xxx" instead.

EVAL COMPONENT

* BUG: Now class names are displayed with the same color as datatypes.

DATABASE COMPONENT

* NEW: The Firebird driver was merged into the source tree.
* BUG: The current database is now correctly tracked, and cannot point
  at an already freed object anymore.
* BUG: Connection.Version now correctly checks that the database is opened.
* NEW: Connection.Opened returns if a connection is opened.
* NEW: Connection.Limit() is a new method that makes the next SQL request
  only return a specified number of rows. This method returns the connection
  object, so that you can use the following syntax: DB.Limit(X).Exec(...)
  The limit is reset to infinity once used.
* NEW: Information on how to limit the result of a SQL query is filled by
  the open_database() driver function.
* BUG: Connection.Delete() does not leak memory anymore.
* NEW: Writing to a serial field is silently ignored now.
* BUG: Result.Move*() methods now return TRUE if there is no record
  available anymore. Like they did in the stable version.

NETWORKING COMPONENT

* BUG: Now ServerSocket can accept more than five connections without
  crashing anymore.
* NEW: ServerSocket is now enumerable, and returns each connected socket.
* NEW: ServerSocket.Count returns the number of connected sockets.

QT COMPONENT

* NEW: Image.Load() is now a static method that returns a newly created
  image from a file.
* NEW: Picture.Load() is now a static method that returns a newly created
  picture from a file.
* NEW: Drawing.Load() is now a static method that returns a newly created
  drawing from a file.
* NEW: The Image constructor now takes an extra optional parameter that
  indicates if the image has an alpha channel.
* NEW: Image.Transparent is a new property that indicates if an image has
  an alpha channel.
* NEW: Image.Depth is read-only now.
* NEW: Label.Padding is a new property that represents the pixel padding
  between the label border and the label text.
* BUG: The Label.AutoResize property was enabled again, but is now TRUE
  by default.
* BUG: Image conversion methods were fixed.

GTK+ COMPONENT

* NEW: Image.Load() is now a static method that returns a newly created
  image from a file.
* NEW: Picture.Load() is now a static method that returns a newly created
  image from a file.
* BUG: The HSV/RGB color conversion method now use the same value range
  than the QT component.
* BUG: Loaded images are automatically converted to a 32-bits per pixel
  format.
* BUG: Image conversion methods were fixed.

PCRE COMPONENT

* BUG: The PCRE component should now compile with older versions of
  libpcre.

IMAGE COMPONENT

* NEW: This is a new component for applying many various effects on images.
  The effects source code was ported from the KDE libkdefx library, which
  includes itself some ImageMagick algorithms, and from the KolourPaint
  program.

DATABASE FORM COMPONENT

* NEW: This component implements data bound controls. It provides the
  following new controls: DataSource, DataBrowser, DataView, DataControl
  and DataCombo. It is highly experimental at the moment.


-------------------------------------------------------------------------------
 gambas2-1.9.24 - 03 Feb 2006
-------------------------------------------------------------------------------

CONFIGURATION

* WARNING! The bytecode has changed, so you will be warned to recompile
  your projects.

DEVELOPMENT ENVIRONMENT

* NEW: The ESC key unselects all controls in the form editor.
* BUG: The translation dialog does not crash anymore if there is no string
  to translate.

DATABASE MANAGER

* BUG: Code generation now uses the correct datatype constants.

INTERPRETER

* NEW: Some fixes for FreeBSD 6.
* BUG: Better support of big-endian CPU.
* NEW: PIPE, an instruction for opening named PIPE. The syntax is:
  hFile = PIPE <path> FOR ( READ | WRITE ) [ WATCH ]
* BUG: Object.Attach() can take a NULL parent without crashing now. It is
  a synonymous of Object.Detach() then.
* BUG: Now an error raised inside a function is always catched if the
  function is called with a TRY instruction.
* NEW: Now the backslash '\' character is an escape character inside the
  format string of the Format$() function.
* BUG: 'u' is a new format character, that displays the millisecond part
  of a date/time value.
* BUG: Now the startup class is global, so that components that need it
  correctly find it.
* BUG: Now a class name inside a signature is always searched inside the
  global table.
* BUG: The bits manipulation instructions were fixed.
* NEW: Lsl() and Lsr(), two new functions for doing a logical shift.
* BUG: Using an auto-creatable static class now raises an error, and do not
  crash the interpreter anymore.

COMPILER

* BUG: Better support of big-endian CPU.
* NEW: PIPE instruction.
* BUG: The line number of an error is always accurate now.

ARCHIVER

* NEW: Support of big-endian CPU.

EVAL COMPONENT

* BUG: White spaces are not removed from the end of line automatically
  anymore.

QT COMPONENT

* BUG: Drag & Drop of TreeView, ListView, ColumnView, IconView and
  ScrollView controls was fixed, and should work as expected.
* NEW: Window.Controls returns a collection of all controls located
  in the window.

QT EXTENSION COMPONENT

* BUG: Some fixes in the Editor control.

DATABASE COMPONENT

* NEW: Now a database driver can tell the database component to use another
  driver than itself.
* NEW: The sqlite driver now automatically switches between sqlite2 and sqlite3.
* BUG: Some fixes in the sqlite driver.

SDL COMPONENT

* Updated.

OPENGL COMPONENT

* Updated.

PDF COMPONENT

* NEW: The PdfDocument class has now a global Scale and a Rotation property.
* BUG: The GetImage() method returns by default a full page, scaled and rotated
  according to the previous properties.


-------------------------------------------------------------------------------
 gambas2-1.9.23 - 02 Jan 2006
-------------------------------------------------------------------------------

EXAMPLES

* BUG: The Database example was fixed.

DEVELOPMENT ENVIRONMENT

* NEW: Now the ESC key unselect all selected controls in the form editor.

DATABASE MANAGER

* NEW: Support for serial and blob fields.
* BUG: The data editing window now generates now read table field properties
  once only.

INTERPRETER

* NEW: Two new functions in the interpreter API for inserting and removing
  elements inside an array.
* BUG: Object.GetProperty and Object.SetProperty were fixed.
* BUG: Event inheritance does not crash anymore.
* BUG: You can call SHELL and EXEC several times without freezing the
  interpreter anymore.

COMPILER

* NEW: You can declare several local variables on the same line!
  For example: DIM s AS String = "yes", i, j, k AS Integer
* BUG: You cannot use the same local variable in several imbricated loops
  anymore.

QT COMPONENT

* NEW: Now the Label control resizes automatically to fit its contents.
  The AutoResize property is useless. Note that this is experimental!
* NEW: A new method, Control.Reparent, to reparent any control.

GAMBAS EDITOR COMPONENT

* BUG: The drawing of highlighted lines when relief is not used was fixed.

QT EXTENSION COMPONENT

* NEW: A lot of work for removing as much QT dependency as possible in the
  Editor control.

DATABASE COMPONENT

* NEW: The driver interface was redesigned.
* NEW: Support for serial fields, i.e. integer fields that increment
  automatically. MySQL, PostgreSQL and SQLite drivers support them, but not
  the ODBC driver yet.
* NEW: Connection.User is a synonymous for Connection.Login.
* NEW: Datatypes constants are defined in the DB static class now:
  db.Boolean, db.Integer, ..., db.Serial and db.Blob.
* BUG: String quoting was fixed in PostgreSQL driver.

OPENGL COMPONENT

* Updated.

XML COMPONENT

* BUG: Some bugs fixes from Linex.


-------------------------------------------------------------------------------
 gambas2-1.9.22 - 26 Nov 2005
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* BUG: The IDE can load *.info files whose classes are sorted in any order
  now.
* BUG: The IDE now catches and displays early error messages from the
  interpreter.

EXAMPLES

* NEW: Some new examples: Chart, and GambasGears.

DATABASE MANAGER

* NEW: Fields with a Long datatype are correctly managed.
* BUG: ODBC and SQLite3 database driver were added.

INTERPRETER

* BUG: The Class class was fixed, and now returns the list and number of
  symbols correctly.
* BUG: Up to 4096 string constants in the same class are supported now.
* BUG: The interpreter does not crash anymore if the LANG environment
  variable is not set.
* BUG: IsLetter() and IsDigit() functions were fixed.

QT COMPONENT

* NEW: Support for Image/Picture creation API.
* NEW: DrawingArea now catches keyboard events.
* BUG: The Clear method of GridView items does not crash the interpreter
  anymore.
* BUG: ListView items can be renamed now.
* BUG: KeyPress events are now correctly raised when using composed keys.

GAMBAS EDITOR COMPONENT

* NEW: Mouse selection, copy and paste is supported now.

EDITOR COMPONENT

* NEW: Mouse selection, copy and paste is supported now.

GTK+ COMPONENT

* NEW: Support for Image/Picture creation API.

FORM COMPONENT

* NEW: DateBox and TimeBox got a ReadOnly property.
* BUG: Clicking twice inside a DirView or a FileView now raises the Activate
  event.
* BUG: The Change event is correctly raised now in the FileView control.

DATABASE COMPONENT

* BUG: User class were renamed as DatabaseUser, preventing the conflict with
  the native User class.
* NEW: Long database fields are now correctly managed.
* NEW: A database user can have '@' and '%' characters inside its name.
* BUG: Database object names accept only ASCII characters now.
* BUG: MySQL driver returns if an index is unique correctly now.
* BUG: Creating users with full privileges now works correctly in the MySQL
  driver.
* BUG: Now ODBC driver without fetching capabilities are correctly managed.
  But there is no support for them in the database manager yet.

OPENGL COMPONENT

* Updated.

VIDEO FOR LINUX COMPONENT

* NEW: Image/Picture creation API is used now.

PDF COMPONENT

* A new component made by Daniel Campos.


-------------------------------------------------------------------------------
 gambas2-1.9.21 - 29 Oct 2005
-------------------------------------------------------------------------------

CONFIGURATION

* Now the search of libintl, libgettextlib and libiconv libraries display
  a more accurate warning message.

DEVELOPMENT ENVIRONMENT

* BUG: The automatic completion does not crash anymore when a class inherits
  an unknown parent class.

DATABASE MANAGER

* BUG: Deleting rows in a table works again.
* BUG: Field names are case unsensitive now in the table edition window.

COMPILER

* WARNING: The SCAN instruction has been removed, and replaced by the
  Scan() subroutine.

INTERPRETER

* NEW: a new API that allows components to define a function for creating
  Image objects, and for using it.
* NEW: Object.Is(), a new static method for checking if the class of an
  object is or inherits a given class.
* NEW: Stream.EndOfLine is a new property for setting the end of line pattern
  of a stream. This pattern is used by the LINE INPUT and PRINT functions.
  Possible values are gb.Unix, gb.Windows and gb.Mac. By default, the end
  of line pattern is gb.Unix.
* WARNING: The SCAN instruction has been removed, and replaced by the
  Scan() subroutine.
* NEW: A component is not loaded if it has the same name as the project.
  This way, debugging component made in gambas are far easier.
* BUG: Enumerating objects like Result works again.
* BUG: Looping with a Byte or Short variable now works correctly.
* BUG: Formatting a date with AM/PM now displays an hour value between
  1 and 12, and not 0 and 11 as before.
* BUG: Displaying numbers in decimal now is more accurate, and should not
  display things like 123,00000000001 anymore.
* BUG: The interpreter event loop was fixed.

SETTINGS COMPONENT

* NEW: Settings.Read() and Settings.Write() allow reading and writing
  settings for Window objects: position, and size.

QT COMPONENT

* NEW: The Separator control, that displays an horizontal or vertical
  separator line.
* BUG: The DblClick event is now posted, and not raised immediately as
  before.
* NEW: Window.ToolBox, a new property to tell the window manager that a
  window is a toolbar.

QT EXTENSION COMPONENT

* BUG: Some fixes in highlighting process of the Editor control.

KDE HTML COMPONENT

* NEW: Webrowser.Java, a new property for allowing java in the browser.

GTK+ COMPONENT

* Updated.

DATABASE COMPONENT

* NEW: Result.Delete now takes an optional boolean parameter to prevent the
  deleted record for being removed for the Result object.

XML COMPONENT

* BUG: Patch from Dirk Mueller, that fixes an uninitialized variable access.

OPENGL COMPONENT

* Updated.

CORBA COMPONENT

* New component made by Carlo Sorda.

LDAP COMPONENT

* New component made by Carlo Sorda.


-------------------------------------------------------------------------------
 gambas2-1.9.20 - 03 Sep 2005
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* BUG: The IDE compiles correctly now.

INTERPRETER

* NEW: A space in a regular expression now matches any number of spaces
  or characters whose ASCII code is lower than 32.


-------------------------------------------------------------------------------
 gambas2-1.9.19 - 01 Sep 2005
-------------------------------------------------------------------------------

CONFIGURATION

* WARNING! Bytecode has changed, so you will be warned to recompile your
  projects.
* gb.clanlib was removed. There was actually nothing useful in it.

DEVELOPMENT ENVIRONMENT

* NEW: A insignificant and incomplete example of what could be the interface
  of the next development environment. Look in ./src/app/next-gambas.

INTERPRETER

* NEW: SCAN is a new instruction to match a string against a pattern, and
  gets the matching part associated with the '*' joker into string variables.
  The syntax is:     SCAN "string" WITH "pattern" TO var1, var2...
* WARNING: Arithmetic operators implementation was optimized for size.
  Things seems to not have been broken.

COMPILER

* NEW: Support for the SCAN instruction.

EVAL COMPONENT

* BUG: Highlighting of the unary minus operator was fixed.
* BUG: The question mark is now replaced by PRINT anywhere in the line
  (except in strings and comments of course).

QT COMPONENT

* BUG: ToolButton controls now display their text label correctly.
* BUG: Container dimension properties now take in account the frame border.
* BUG: Window standard QT layout was replaced by a hand-made one, so that
  there is no space anymore between the top of the window and the Y = 0
  coordinate.
* BUG: Adding a child window to a Workspace works again.
* BUG: Setting Application.Font should update Desktop.Scale in all cases
  now.
* BUG: Control.Next and Control.Previous really work now.

QT EXTENSION COMPONENT

* BUG: Setting Editor.View should not crash anymore.
* NEW: Some little optimizations in internal Editor painting routine.
* NEW: Ctrl+Up and Ctrl+Down now move to the previous or next function.

FORM COMPONENT

* NEW: A new container, SidePanel. It is a panel with little arrow on the
  side to resize or hide it.
* NEW: ToolPanel got a Border property.
* BUG: ToolPanel buttons now follow correctly the font size.

KDE COMPONENT

* BUG: ColorBox does not corrupt memory anymore, and so memory leaks
  disappear.
* BUG: Program arguments are now correctly handled, as language changes.

INFORMATION COMPONENT

* BUG: Many bug fixes and updates. This component will use a new component
  file format and a new way to document properties that will be documented
  soon...


-------------------------------------------------------------------------------
 gambas2-1.9.18 - 24 Aug 2005
-------------------------------------------------------------------------------

DEVELOPMENT ENVIRONMENT

* BUG: Fix the use of TextBox and TextArea selection methods.
* BUG: Swedish language is 'sv', not 'se'!
* BUG: Font selector always use relative font sizes by default.

DATABASE MANAGER

* BUG: Fix the use of TextBox and TextArea selection methods.

EXAMPLES

* NEW: A new example for showing the new Editor control, with custom syntax
  highlighting.
* NEW: Another little timer example made by Maxim Lapis was added to the
  Timer example.

COMPILER

* NEW: Support for the new 'EXPORT OPTIONAL' feature. See below...

INTERPRETER

* NEW: The Timer class is now part of the interpreter, and must be removed
  from any component that implements it.
* NEW: A new hook to handle timers in components managing the event loop.
* NEW: A new API, GB.RaiseTimer(), to raise timer events from components
  managing the event loop.
* NEW: Classes can now be optionally exported. They are not exported from
  a component, if a class with the same name has been already exported
  from another component.
* BUG: Some fixes in error management. Now error information is kept until
  the end of a function.
* NEW: Application.Return is a new property for storing the value that
  will be returned by the program when it terminates.

QT COMPONENT

* NEW: Timer was removed.
* BUG: Drawing on void Pictures is not allowed anymore.
* BUG: Windows with a fix border work again.

QT EXTENSION COMPONENT

* NEW: The Editor control now supports custom highlighting routine, by
  raising the 'Highlight' event.
* NEW: Editor colors were replaced by styles, which are a combination of
  color, italic, bold and underline.

FORM COMPONENT

* NEW: A ColorButton control.

SDL COMPONENT

* Updated.


-------------------------------------------------------------------------------
 gambas2-1.9.17 - 19 Aug 2005
-------------------------------------------------------------------------------

CONFIGURATION

* BUG: The detection of QT libraries should work now on Arch Linux.

COMPILER

* BUG: Now component information are generated only when doing a complete
  compilation.

INTERPRETER

* NEW: A new API, GB.MatchString(), to do pattern matching like the LIKE
  instruction.
* BUG: Some fixes in archive management.
* NEW: The classes of the executed project marked with EXPORT are now really
  exported, after the exported classes of all loaded components. This way, you
  can override them easily. I used it for redefining TextBox so that its
  background color is animated :-)
* BUG: Some fixes in the debugger. Now error messages occurring before the
  Main function start are catched by the IDE.
* NEW: Error.Propagate(), that raises the current catched error again.
* BUG: Converting a variant void string to date now gives a null date and not
  an error anymore.
* BUG: A component Gambas project can use itself as component. Then it will
  not be loaded twice by the interpreter.
* BUG: Now strings are implicitely converted to floats with arithmetic operators,
  and not to booleans anymore.
* BUG: Trim$(), LTrim$() and RTrim$() do not remove non-ASCII characters in some
  cases anymore.

QT COMPONENT

* BUG: Modifying a control font now always call the Font property setter,
  so that it is possible to reimplement the Font property in inherited class.
* BUG: Automatic drag & drop was disabled in IconView.
* NEW: IconView got a MoveBack() method, like the other view controls.
* NEW: Application.ActiveControl returns the control having the focus.
* NEW: Desktop.Find returns an array of identifiers of windows matching a
  given title, role or class.
* WARNING: TextBox and TextArea selection methods have changed. The Select
  symbol is now a method only, and you must use the new method SelectAll() to
  select all the text. The All and implicite methods in the Selection property
  were removed.
* NEW: TreeView, ListView, and ColumnView got a SelectAll() method.
* WARNING: Now ColumnView columns are AutoResize by default if ColumnView
  global AutoResize property is false.
* NEW: If an event handler named Application_KeyPress is defined in themselves
  startup class, then he will get all key events received by the application
  before any other control.

FORM COMPONENT

* NEW: DateBox and TimeBox controls, for editing dates and times.
* NEW: DirChooser has more properties.
* NEW: FileChooser, a control for choosing a file.
* NEW: ColorChooser were redesigned.

NETWORKING COMPONENTS

* BUG: The *.component files were fixed, so that you can insert the controls
  in form without error as before.
* NEW: Controls icons were redesigned.

INFORMATION COMPONENT

* NEW: This component aims at providing all needed information about installed
  components: classes, symbols, events, controls, properties, and so on.


-------------------------------------------------------------------------------
 gambas2-1.9.16 - 11 Aug 2005
-------------------------------------------------------------------------------

CONFIGURATION

* The installation does not abort anymore if symbolic link creation fails.

DEVELOPMENT ENVIRONMENT

* NEW: Some changes to support "multi-containers". Multi-containers are just
  containers having several tabs, like the TabStrip container.
* BUG: Clicking on the component list in the project property dialog should
  not abort the IDE anymore.
* WARNING: The syntax of the *.component files has changed. And it will
  continue changing in the future!

COMPILER

* NEW: Do not fail anymore if a *.list file does not exist when compiling a
  project. This way, component projects like gb.form that reference themselves
  can be compiled at package installation time.

INTERPRETER

* BUG: The classes declared in the main project are now referenced in their own
  symbol table, like any other component written in Gambas. Only the classes
  declared as exported remain global.
* BUG: Enumeration and array operators can be used with anonymous object
  references without crashing the interpreter anymore.

QT COMPONENT

* NEW: The arrangement algorithm was factorized so that gb.gtk and gb.qt use
  the same in the future.
* WARNING: The internal Container widgets control has changed.
* BUG: UserControl and UserContainer were fixed so that containers written in
  Gambas behave correctly in the development environment.
* WARNING: You cannot drag IconView items automatically anymore.
* BUG: Window.Mask and Window.Picture should work correctly for embedded
  windows now.
* NEW: A new property, DrawingArea.Merge, to tell the drawing area to merge
  all painting events before raising the Draw event. Use it if you have to
  draw something rather complex. Do not use it if you can easily draw
  the exact rectangle area expected by each Draw event.

QT EXTENSION COMPONENT

* BUG: The CEditor.cpp file now should compile with gcc 3.x.

FORM COMPONENT

* WARNING: FileChooser was renamed as DirChooser.
* NEW: ToolPanel, a new container for implementing toolbars with panels like
  the Gambas tool-box.
* NEW: Wizard, a container for implementing wizards.

GTK+ COMPONENT

* Updated.


-------------------------------------------------------------------------------
 gambas2-1.9.15 - 07 Aug 2005
-------------------------------------------------------------------------------

CONFIGURATION

* BUG: The "fish jail" :-) patch was entirely applied.
* BUG: Look in /opt/qt* when searching for QT libraries.

DEVELOPMENT ENVIRONMENT

* NEW: Support for containers written in Gambas.
* BUG: Fixed startup position when you add a control inside a TabStrip in the
  form editor.

COMPILER

* BUG: You can declare an event taking no parameters without having to
  write void braces.
* BUG: A symbol used as event, constant, or property can now be used as
  a class name.
* BUG: The name of events declared in classes written in Gambas are now
  internally prefixed with a colon, like nativ classes ones.
* NEW: You can now use affectation in a WITH statement, i.e. you can
  write 'WITH Something = Expression ... END WITH'.

INTERPRETER

* NEW: GB.CurrentComponent() is a new API that returns the name of the
  current component. This is used for implementing a picture cache
  different for each component.
* NEW: Object.SetProperty can now set the value of static properties.
* BUG: Stream.ByteOrder is really an integer property.
* NEW: Stat is not a virtual class anymore.
* WARNING: Stat.LastUpdate was renamed to Stat.LastModified.
* NEW: Dir() and RDir() now take an optional third argument, that indicates
  if we want directories or files or both while browsing.
* BUG: The List class was removed. Cry if you don't find it useless.
* BUG: The _call special method management was fixed.
* NEW: A new routine Comp(), that compares two strings and returns the result
  as an integer: +1 if the first string is greater than the second, -1 if
	the second string is greater than the first, and 0 if the two strings are
	equal.
* NEW: A new interpreter hook, named HOOK_LANG, that is called at startup
  and each time System.Language is redefined.
* NEW: A new property, System.RightToLeft, that returns if the current
  system language is right-to-left written.
* NEW: Now the interpreter looks in ~/.gambas/lib/gambas2 to load components,
  if it cannot find them in the gambas system directory (/usr/lib/gambas2 by
  default).

QT COMPONENT

* NEW: UserContainer control, to help implementing Container controls in
  Gambas.
* NEW: Support for containers written in Gambas.
* NEW: ListView, IconView, TreeView and ColumnView have now a Compare event
  that is raised for comparing elements. You can now sort ColumnView columns
  as you need.
* NEW: Label has now an AutoResize property. When this property is set, the
  label automatically resized to fit its text height.
* WARNING: Splitter has moved from extension component to standard component.
* WARNING: Controls written in Gambas were moved to the new gb.form
  component.
* NEW: An experimental Stock class that returns standard icons.
* BUG: Container arrangement now regards right-to-left written languages.
* BUG: Dialog size grip now regards right-to-left written languages.

QT EXTENSION COMPONENT

* NEW: Editor control, that aims at replacing the GambasEditor control. It
  can share its text with other editors, display number lines. It will
  support custom highlighting routine in the future. There is an experimental
  'gambas2-with-editor' project for those who want to see it in action.

FORM COMPONENT

* NEW: All controls written in Gambas were moved from the QT component to
  this component.
* NEW: FileChooser, a file selector control that is not finished yet.

GAMBAS EDITOR COMPONENT

* BUG: Some fixes in undo/redo management.
* WARNING: This component is now deprecated, and will be replaced by the
  new Editor control as soon as possible.

DATABASE COMPONENT

* NEW: New property Result.Max that returns Result.Count - 1.
* BUG: Result.Fields.Exist() now returns FALSE if a field does not exist, and
  do not raise an error anymore.

GTK+ COMPONENT

* Updated.


-------------------------------------------------------------------------------
 gambas2-1.9.14 - 29 Jul 2005
-------------------------------------------------------------------------------

CONFIGURATION

* BUG: Finally applied the "fish jail" :-) patch of Dirk Mueller to the
  symbolic link creation.
* BUG: Components directory including a gambas part are now correctly
  packaged.

DEVELOPMENT ENVIRONMENT

* New font and color dialogs in the property sheet.
* The welcome, about and tips dialog now use the system colors.
* Symbols including an underscore are not displayed anymore in the
  completion list.

COMPILER

* BUG: events from gambas classes are now internally prefixed with a colon,
  as the events from native classes.
* The bytecode version is now written in each compiled class.

INTERPRETER

* BUG: Now a native class can have a static property that returns a usable
  virtual class.
* If the bytecode version of a compiled class is different from the bytecode
  version of the interpreter, then an error is raised.
* BUG: Many fixes in the gambas archive management. Now everything should
  work as expected :-)
* The Boolean[] array class was implemented.
* Object.GetProperty() now can return the value of static properties.
* BUG: Classes located in gambas archives are now freed with the global
  classes when the interpreter ends.
* BUG: Format$(0, "+#") now works correctly.
* A new property, Application.Dir, that returns the application startup
  working directory at startup. Note that the current working directory
  is modified by the interpreter.
* BUG: Hex$() and Bin$() now correctly display negative values.

QT COMPONENT

* Eight new properties in Color class that returns system colors.
* A new array operator in Color class to split a color in its Red, Green,
  Blue, Alpha or Hue, Saturation, Value parts.
* BUG: Some fixes in the arrangement algorithm of containers.
* BUG: The DrawingArea draws its border correctly again.
* A new property, Font.Scalable, that returns if a font is freely scalable.
* A new property, Font.Grade, that represents a predefined font size
  proportional to the default application font. Range from -9 to +9.
* A new control, UserControl, that acts as a parent class for implementing
  user controls directly in Gambas.
* A new method, ScrollView.EnsureVisible, that ensures that a specified
  area of the ScrollView is visible.
* A new property, TextArea.ScrollBar, to choose the display policy of the
  scrollbars.
* A new class, TrayIcons, for enumerating all TrayIcon controls.
* New properties in the TrayIcon class: Tag, ScreenX, ScreenY, Width and
  Height.
* BUG: TrayIcon now catches Enter and Leave events.
* BUG: The Design property now works with controls written in Gambas.
* BUG: Some fixes in Open event trigerring of embedded forms.
* Three new controls made with Gambas: FontChooser, ColorChooser and
  CustomListBox.

DATABASE COMPONENT

* A new method, CConnection.Subst(), that converts gambas values into
  the underlying database SQL syntax, and substitutes them in a query
  string.
* BUG: Result can manage tables whose primary keys are not the first fields
  of the table.
* BUG: Result enumeration are deletion-safe now.
* BUG: You can use variant values with functions that use substitution.

GTK+ COMPONENT

* Updated.

SDL COMPONENT

* Updated.

OPENGL COMPONENT

* Updated.


-------------------------------------------------------------------------------
 gambas2-1.9.13 - 24 Jul 2005
-------------------------------------------------------------------------------

* $(ROOT) was replaced by $(DESTDIR) in the configuration script.
* Components information files are now created by each component source
  directory.
* autoconf was duped so that source package archive use symbolic links.
* Use more symbolic links, so that source package is reduced.
* Components can have a gambas part. Just add a gambas project inside the
  'src' sub-directory, having the same name as the component.

DEVELOPMENT ENVIRONMENT

* Now control coordinates are stored as a multiple of Desktop.Scale in the
  form files. This way, the size of the dialogs is proportional to the system
  font. THIS IS EXPERIMENTAL! BE CAREFUL WITH YOUR PROJECTS!
* The grid size is always set to Desktop.Scale.

DATABASE MANAGER

* The project was synchronized with the stable version one.

EXAMPLES

* BUG: Some examples were fixed because of the recent changes in some
  property names.

COMPILER

* BUG: Object[] can be used normally now.
* Extern functions can be public now.
* _next can be implemented.
* A clearer error message when the parser gets an unexpected pattern.
* You can now initialize *every* variable with *any* expression.
* BUG: You cannot embed TRY statements anymore.
* A new instruction, ERROR, that prints an error message on the
  standard error ouput.
* A new instruction, DEBUG. It is a PRINT that sends its data to the
  standard error output, prints where the message comes from, and that
  is not compiled when debugging information is disabled.

INTERPRETER

* New API GB.RealFileName(): It does the same thing as GB.FileName() except
  that if the file is located inside the project executable, then a
  temporary copy is made, and the path to this copy is returned. Use it when
  you can't read data from memory with GB.LoadFile().
* Now FOR EACH uses internal iterators. A container class can now fix its
  currently used iterators when deleting its elements. This avoids crashing
  the interpreter as before.
* A new class, Enum, that represents internal iterators.
* BUG: Collection now check all its iterators when deleting its elements.
* Components written in gambas and executables are now read by using mmap().
* GB.LoadFile() now uses mmap() if possible, so that loading resources from
  the executable is faster.
* BUG: All Array indexes are converted to integers now, not just the first
  one.
* Split() escape string parameter behavior has changed. Now it just one
  escape character only. If the escape string has two characters, then the
  first is the starting escape character and the second the ending one.
* File.Dir(), File.Ext(), File.Name() and File.BaseName() all take a new
  optional parameter. If it is used, then instead of returning their
  corresponding path part, they replace it with the new parameter.
  For example, File.Name("/home/benoit", "gambas") returns "/home/gambas".
* If the interpreter stops just after a non catched error, it does not print
  memory warning messages anymore.
* A new function, Week, that returns the week number from a date.
* A new function, DFree(), the returns the space available on a device.
* A new property, List.Max, that returns List.Count - 1.
* BUG: Milliseconds are not stripped anymore in dates, and is correctly
  managed when converting from/to a string.
* BUG: _call() method should work in any case now.
* BUG: IsPunct() now returns FALSE for non-ascii characters.
* BUG: Bits functions now correctly handle Long datatype.
* BUG: Changing System.Language should not crashes the interpreter anymore.

INFORMER

* Now the informer can extract information from components made in gambas.

QT COMPONENT

* A new property, Desktop.Scale, that returns half the height of the default
  system font.
* Two new methods, Control.MoveScaled() and Control.ResizeScaled() that
  multiply their arguments by Desktop.Scale and pass them to respectively
  Control.Move() and Control.Resize().
* Font does not have its own resolution anymore. It always keep the screen
  resolution.
* The TrayIcon control was implemented. Just put it on a form, and you
  get a little cute icon in the system tray. Thanks Daniel! :-)
* BUG: Draw.Image() now works on devices having a mask.
* DrawingArea paint events were optimized.
* BUG: Embedded windows now internally create an hidden menu bar to store
  its menus.
* BUG: Some fixes in the management of Mask and Picture properties.

DATABASE COMPONENT

* BUG: When you create a record with DB.Create(), the fields take their
  default value now.
* BUG: The milliseconds part of date fields is correctly handled now, and
  the value of date fields is correctly returned!

GTK+ COMPONENT

* Updated.

SDL COMPONENT

* Updated.

OPENGL COMPONENT

* New component made by Laurent Carlier.


--------------------------------------------------------------------------------------
 gambas2-1.9.12 - 14 Jul 2005
--------------------------------------------------------------------------------------

* BE CAREFUL: THE BYTE CODE HAS BEEN MODIFIED AGAIN, SO YOUR PROJECTS MUST BE
  *ENTIRELY* RECOMPILED!
* There is a new component, gb.crypt, that allows to use the crypt() glib function.

DATABASE MANAGER

* BUG: Errors during table creation or modification are now correctly handled.
* BUG: Fields names are now case unsensitive in the table edition window.
* BUG: Deleting fields that are used in an index is not allowed anymore.
* BUG: Deleting fields in the index tableview now works as expected.

EXAMPLES

* BUG: In the Notepad example, the 'modified' flag now displays correctly in the
  window title.

COMPILER

* BUG: Fixed some parsing errors.
* BUG: You can use event, label and property names in a class context now.
* Now the DIM keyword is mandatory when declaring local variables.
* BUG: You can effectively instanciate objects with any expression at
  local variable declaration.

INTERPRETER

* BUG: Format$() has been fixed, and re-fixed again.
* Split() now gets a new optional boolean parameter to tell him to remove void
  elements from the returned array.
* New methods to test character type: IsAscii, IsLetter, IsLower, IsUpper, IsDigit,
  IsHexa, IsSpace, IsBlank, IsPunct.
* The stream argument of Eof() and Lof() is now optional. If it is not specified,
  then the standard input is used.
* BUG: You should be able to retry any code that just raised an error in the
  debugger without crashing now.
* BUG: Fixed a problem in the optimization of function calls.
* BUG: Fixed the Round() function. Now Round(0.5) should returns 1 and not 0
  anymore.
* BUG: The comparison functions should work correctly now. 10 * (10 > 0) returns
  -10 again :-)
* BUG: Array contents can be written to any stream now, not just files.

QT COMPONENT

* A new property, Application.Embedder, that allows you to embed the next opened
  window in an external window whose X11 handle is specified there.
* The State property of the Window class has been replaced by three new properties:
  Minimized, Maximized and FullScreen. These properties are completely independant.
* A new property, Window.Picture, that stores the window mask.
* The Mask property now is boolean, and just tells if the Picture property must be
  used to mask the window.
* A new control, Embedder, that allows to embed top-level windows of external
  applications.
* Each window now has X11 window manager class set to the project name, and X11
  window manager role set to its class name.
* BUG: Unminimizing windows now always give them the focus.
* BUG: Fix a potential crash is menu management.
* BUG: If a modal window is already displayed, calling Show() on another window calls
  ShowModal() instead.

SDL COMPONENT

* SDL component has been updated.

MYSQL DRIVER

* BUG: Creating indexes on text fields with no size limit is not case sensitive
  anymore.


--------------------------------------------------------------------------------------
 gambas2-1.9.11 - 06 Jul 2005
--------------------------------------------------------------------------------------

* BE CAREFUL: THE BYTE CODE HAS BEEN MODIFIED, SO YOUR PROJECTS MUST BE *ENTIRELY*
  RECOMPILED!
* A new video capture component named 'gb.v4l' made by Daniel Campos. It is based
  on Video4Linux.
* The CGI Gambas program that manages the new documentation is distributed with the
  source so that people can translate it.

COMPILER

* You can instanciate objects at variable declaration with any expression now.
* Functions can take a variable number of arguments now.
* You can use the '_unknown' special method now.
* A new syntax 'IF ... AND IF ...'. The second test is not done if the first is false.
* A new syntax 'IF ... OR IF ...'. The second test is not done if the first is true.
* A new syntax 'CASE ... TO ...', to test the match to an interval of values.
* New C-style assignment operators: +=, -=, *=, /=, \=, &=, &/=.
* The DIRECT keyword has been removed. Now use 'OPEN ... FOR INPUT | OUTPUT' to open
  a file in buffered mode and 'OPEN ... FOR READ | WRITE' to open a file in direct
  mode.
* The BIG and LITTLE keywords have been removed. Now use the new ByteOrder property
  of the Stream class.
* A new syntax for EXEC or SHELL: 'EXEC|SHELL ... TO aString' executes the command,
  waits for its termination, and returns the process output to the specified string.
  The syntax defined in 1.9.10 has been removed.
* WAIT is not implicite anymore in the EXEC or SHELL command.
* Now ambiguous expressions are detected, and raise an error.
* A new operator '==', to compare strings by ignoring their case.

INTERPRETER

* System.Home was definitely replaced by User.Home.
* System.User was definitely replaced by User.Name.
* The class ".Stream" has been renamed as "Stream".
* A new class, Param, to get extra arguments, and information about a call to
  the _unknown method.
* A new property, Stream.ByteOrder, to set the byte order of a stream.
* A new property, User.Id, returns the user id of the current process.
* Application.Args is now enumerable.
* Formatting currency is possible now, by specifying gb.Currency (or gb.International
  to use the international currency symbol) as second argument of Format$().
* New mathematical functions: Exp2, Exp10, Log2, Cbr, Expm, Logm, Atan2, Ang, Hyp, Mag.
* New conversion functions: DConv$(), for converting from system charset to desktop
  charset, and SConv$() for doing the contrary.
* New date functions: DateAdd() and DateDiff(). They were backported from the vb
  component and the syntax was modified.
* A new function, RDir(), to read the contents of a directory recursively.
* A new storage class, List.
* BUG: getting the resting output of a closed process stream does not crash anymore.
* INPUT FROM DEFAULT and OUTPUT TO DEFAULT now automatically restore the last
  redirected stream.
* Adding or substracting little integers is now optimized: about 5 times faster.
* Calling functions with a fixed number of arguments, without needing to convert the
  arguments is optimized: about 4 times faster.
* BUG: Sgn() now always returns an integer.
* Temporary directories are now only readable to the process user.

QT COMPONENT

* BUG: Fix memory leak in string conversion to UTF-8.
* A new drawing method, Draw.Zoom, for drawing a zoomed version of an image.
* SpinBox control has been moved to the main component.

EDITOR COMPONENT

* BUG: Display strings whose length is greater than 255 characters correctly now.
* BUG: Fix rewrite algorithm when dealing with UTF-8 character in some cases.
* Parsing errors are underlined now.

GTK+ COMPONENT

* GTK+ component has been updated.

SDL COMPONENT

* SDL component has been updated.

CURL COMPONENT

* BUG: Some fixes to compile with gcc 4.x.



--------------------------------------------------------------------------------------
 gambas2-1.9.10 - 24 Jun 2005
--------------------------------------------------------------------------------------

* The component summary displayed by ./configure is now accurate.

COMPILER

* New instructions INPUT FROM and OUTPUT TO. These instructions redirect the default
  input and output stream.
* New syntax for OPEN: 'File = OPEN ...' instead of 'OPEN ... AS #File'

INTERPRETER

* Support for standard streams redirection.
* Now EXEC and SHELL return the process output as a string if the FOR keyword is not
  used. Otherwise, the process object is returned.
* Now child processes termination is detected via an internal pipe filled by the
  SIGCHLD signal handler.
* Dates can be implicitely converted to booleans or null now.
* Temp$() now can take the name of the temporary file as an optional argument.

EDITOR COMPONENT

* BUG: the editor width is updated when a line is highlighted.

QT COMPONENT

* The GUI layout is reversed when the current language is arabic or farsi.

GTK+ COMPONENT

* GTK+ component was updated.

CLANLIB COMPONENT

* Configuration files were fixed.

SDL COMPONENT

* SDL component was updated.


--------------------------------------------------------------------------------------
 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: Setting the GridView.Item.Picture property now correctly refreshes 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.

