This new release fixes 459 bugs, adds 465 new features and 22 optimizations.
Note that many of these bugs have already been back-ported to the 3.5.x versions.
[CONFIGURATION]
* BUG: Set Cygwin shared library extension to 'dll'.
* NEW: Chinese translations updated.
* NEW: Dutch translations updated.
* NEW: Do not use deprecated autoconf macros anymore.
* NEW: The version information is now located in the 'version.m4' file in
the source root directory.
* NEW: The GB_FIND macro now searches files one directory deeper.
* NEW: Add an automake init flag to prevent warnings with recent versions
of automake.
* NEW: Add a new autoconf macro that can compare version numbers.
* NEW: Support of GNU/kFreeBSD systems.
* NEW: Add an gambas appdata file and install it in /usr/share/appdata.
[DEVELOPMENT ENVIRONMENT]
* BUG: Automatically solve conflicts on project configuration files by
taking the ones from the repository.
* BUG: Fix project browser cursor management when the focus is on the
filter field.
* BUG: Fix form editor control highlighting when the hovered control is a
ScrollView.
* BUG: Packager now use the current Gambas major & minor version as minimum
version for component dependencies.
* BUG: Follow Ubuntu package naming convention.
* BUG: Some fixes in GUI metapackage creation for Debian/Ubuntu.
* BUG: Automatic completion of identifiers now correctly shows the known
classes.
* BUG: Correctly display optional values in signatures.
* BUG: Fix the procedure list fill routine in the text editor.
* BUG: Now the report borders are shown correctly in the editor
* BUG: Support for subversion >= 1.8.
* BUG: The property help WebView now uses the same default font size (80%)
than the help window.
* BUG: Fix management of translated button or menu texts ending with "...".
* BUG: The 'Clean up' project function really cleans up everything now.
* BUG: Splitting view shortcuts now act like toggles.
* BUG: Fix the memory leaks of the new automatic completion.
* BUG: Fix HTML compression so that everything is not put on the same line.
* BUG: Automatically remove the ".lang/.pot" file from version control, as
it is a generated file, and as its conflicts cannot be resolved.
* BUG: Fix the subversion conflict management.
* BUG: Raise the svn commands timeout to 30 seconds: some commits can take
a long time.
* BUG: In the menu editor, the last menu can be move up now.
* BUG: Fix popup menu when clicking on the "Data" project tree folder.
* BUG: File property dialog: The 'Revert' button is correctly hidden now.
* BUG: Menu editor: Fix the highlight of the current menu.
* BUG: Menu editor: Fix the menu search box.
* BUG: Form editor: Correctly hide and show toolbar entries according to
the current state (debugging, read-only...).
* BUG: Form editor: Formatting toolbar buttons act on the entire form if
nothing is selected now.
* BUG: Don't set the focus to the console if it is hidden.
* BUG: Use the same icon for the option dialog and its corresponding
toolbar icon.
* BUG: Packager: Fix *.deb package description.
* BUG: Use '/etc/os-release' to know the SuSE version, instead of
'/etc/SuSE-release' which is deprecated.
* BUG: Image editor: Don't left the editor in an inconsistent state after a
paste has been done.
* BUG: Form editor: When double-clicking on a control, don't crash if a
there is a mistake in its default event declaration. Just display a
warning message on the standard error output.
* BUG: The "open terminal" and "open file browser" toolbar icons now work
as expected.
* BUG: The report editor take the ReportLabel rotate angle (in degree)
into account.
* BUG: Fix background of CoordBox controls.
* BUG: Image editor: Scaling selection is done from the top left corner by
default, and from the selection center only if you press the SHIFT key.
* BUG: Project property dialog: Fix component list layout.
* BUG: Write project configuration before making an executable or a source
archive, so that their contents is up to date.
* BUG: Read-only files now can be reloaded.
* BUG: Form editor: The read-only status is correctly refreshed in all
cases now.
* BUG: Packager: Ensure that *.deb changelog does not use lines longer than
80 columns.
* BUG: Fix how CoordBox control is drawn.
* BUG: Form editor: Property tool buttons are now hidden correctly.
* BUG: Image editor: The clipboard tab of the image toolbox is updated
correctly now.
* BUG: The GUI component menu button is updated correctly in all cases now.
* BUG: Text in ReportLabel is now drawn with antialiasing as expected.
* BUG: Fix automatic completion with non-ASCII characters.
* BUG: Fix word separators in text editor automatic completion.
* BUG: Don't freeze when loading an older version of a component project
that misses some classes implemented in the newer versions of the
component.
* BUG: Patch: the gambas-patch-ignore file is now chmod'd to 'rw-------'.
* BUG: Fix the analyze of exported classes that override a class from a
component.
* BUG: Fix integer properties reading when loading a form.
* BUG: All forms types are supposed to be their own event observer.
* BUG: Some fixes in wiki URLs used by the help system.
* BUG: Automatically redirect to gb.qt4 and gb.qt4.opengl help from other
GUI components.
* BUG: Make splitted views visible with dark themes.
* BUG: Splitted views now work as expected in text editors, not just in
source code editors.
* BUG: Some fixes in the help system.
* BUG: If we are opening a project having the same name as the component,
then that project is assumed to be the gambas part of the component. And
so the classes described in the '.info' file can be actually part of the
gambas part and must not be processed.
* BUG: Fix building of project classes help pages.
* BUG: The user font config file is "~/config/fonts.conf", not
"~/config/.fonts.conf".
* BUG: Remove a debugging message.
* BUG: Image editor: Fix alignment in the text draw routine.
* BUG: Image editor: the text and grid properties are now visible only if
needed.
* BUG: Fix Gambas font files so that all characters have the same width in
the same font.
* BUG: Disable replace controls in the search dialog when searching the
output window.
* BUG: Help on function argument is correct now.
* BUG: Reset correctly the Application.Busy property after a program has
crashed.
* BUG: Image editor: Fix the "paste" tool.
* BUG: Form editor: Setting the "Invert" property of a container now does
not crash anymore.
* BUG: Don't check conflict on project configuration file if that files
does not exist.
* BUG: Make the IDE depends explicitely on 'gb.desktop.x11'.
* BUG: Fix automatic conflict resolution on project configuration files.
* BUG: Sort the database list in the connection dialog.
* BUG: Correctly load information files on component classes overriden by a
project class.
* BUG: Remove Firebird from the database drivers list.
* BUG: Fix the custom browser support.
* BUG: Remove shortcuts from the tooltips of the translation dialog
buttons.
* BUG: Fix help URLs of non-english languages.
* BUG: Subversion: Fix automatic conflict resolving of configuration files.
* BUG: Creating a new SDL project correctly checks all needed components.
* BUG: FPatch: Allow binary patches to be applied.
* BUG: Patch: Check by header if a file is a patch file.
* BUG: Fix copy & paste in the form menu editor.
* BUG: Fix GUI for single-file mode.
* BUG: Converting into lower or upper case now keep the selection as
expected.
* BUG: Catch errors again if loading a profile file fails.
* BUG: Fix a possible crash when highlighting source code positions in the
output window.
* BUG: Hitting ENTER key in the project tree filter now works correctly,
and open the first matching file if none is selected.
* BUG: Fix a crash in the menu editor when inserting a new item.
* BUG: Fix a typo in english tips.
* BUG: The close menu now works for all editors in single file mode.
* BUG: Form editor: Selecting a control ensures that it is visible if one
of its parent is a multi-container.
* BUG: Correctly hide compress & uncompress actions.
* BUG: Fix a crash when opening the help browser after the F2 key has been
hit.
* BUG: Webkit seems to not like encoded square brackets in 'file://' URLs.
So don't encode them.
* BUG: Don't crash when opening the translation dialog whereas no project
string is translatable.
* BUG: ImageEditor: Fix a possible crash when pasting an image.
* BUG: Correctly detect if a project is handled by subversion or not.
* BUG: Console echo command now works as expected when the project is
running.
* BUG: Correctly handle truncated profile files when the debugged project
has been suddenly stopped.
* BUG: Try to fix the position history management.
* BUG: Fix project lists layout when they are filtered.
* BUG: Image editor: Fix magic wand tool.
* BUG: Correctly initialize ProjectChooser control.
* BUG: Convert to uppercase or lowercase now works as expected in the code
editor.
* BUG: FPatch: Fix a possible crash when trying to disable a hunk when no
row was selected
* BUG: Fix background color of code editor tooltip messages.
* BUG: Fix project list filter when hitting RETURN.
* BUG: If the build directory does not exist, make the executable inside
the project directory in all cases.
* BUG: Fix the routine that checks for program availability.
* BUG: FMakePatch: Don't require a destination file name to view the patch.
* BUG: The component description file is now correctly updated when the
project properties change.
* BUG: Create an initial component description file when needed.
* BUG: Fix a crash at startup if there is no IDE configuration file.
* BUG: Fix ArchLinux package creation when a vendor prefix is used.
* BUG: Fix Slackware package creation too.
* BUG: Don't say that the class is creatable when displaying help from
comments, if the class has no '_new' public method.
* BUG: Clicking on the paste button correctly set the focus back to the
editor.
* BUG: Activating the form editor property sheet now disable the form
editor poup menu. Consequently, the delete shortcut is not triggered
unexpectedly anymore.
* BUG: Correctly reset position buttons when a project is loaded.
* BUG: Text editor: Fix word delimiter characters for automatic completion.
* BUG: Help browser: Mark class as creatable if they don't have a
constructor but have dynamic variables.
* BUG: Fix the behaviour of the file creation dialog. The filter of the
"existing" tab is now always set according to the type of file selected
in the first tab.
* BUG: When browsing the entire project, skip *.WAV and *.OGG files, and
check that the file is not binary as last resort.
* BUG: When converting a Gambas 2 project, correctly replace Arrangement.
LeftRight by Arrangement.Row and Arrangement.TopBottom by
Arrangement.Column.
* NEW: The system information dialog now displays the Gambas version.
* NEW: The 'gb.desktop.gnome' component is now visible and explicitely
checkable.
* NEW: If a project uses gb.gui, then the packager will create two extra
packages: one for Qt4 support, the other for GTK+ support. At the moment,
this is supported only for Debian/Ubuntu.
* NEW: Support for package version number.
* NEW: Display help for third-party components.
* NEW: Add Afrikaans to the language list.
* NEW: Add Willy Raets to the list of contributors.
* NEW: Update the Gambas size 12 fonts (medium and bold).
* NEW: Add Gambas size 13 fonts (medium and bold).
* NEW: Added $PROJECT, $USER and $DATE macro atoms. These are handy if you
write your own code snippets.
* NEW: A new menu to open any arbitrary files inside the IDE.
* NEW: '&' shortcuts are automatically removed from the translatable
captions of the following controls: Menu, Button, CheckBox, RadioButton,
ToolButton, ToggleButton, DataCheckBox. The leading "..." are removed
too. Now, for example, "&About..." and "About" lead to the same
translated string. Consequently the number of translatable strings of the
IDE project is 7% lower.
* NEW: A menu entry in the "Tools" menu allows to update all forms, so that
the previous features can be tested easily. Save your projects before!
* NEW: Translation imports now automatically extracts translations from
strings having "&" shortcuts inside and leading dots ("...").
* NEW: Implement automatic completion in text editors.
* NEW: Add "GB_REVERSE=1" in the environment variable list of the project
properties dialog.
* NEW: Display a warning message in the IDE window title for both alpha and
development versions.
* NEW: For projects whose version is read from a text file, automatically
save the project version at project loading if it has changed on disk.
* NEW: Project tree: Add a project filter to show all files in conflict.
* NEW: Project converter: try to not crash if the Gambas 2 project has been
partially converted.
* NEW: The debugger now can be told to break the program on any error.
* NEW: Statistic tab in the project property dialog.
* NEW: Add a toolbar button to define the GB_GUI environment variable in
one click. This button is visible only if the project uses the gb.gui
component (and if it has been added to the toolbar of course!).
* NEW: Add GTK+3 to the system information dialog.
* NEW: Check the current GUI component in its popup menu.
* NEW: Option dialog: Use SwitchButton instead of ComboBox.
* NEW: ImageEditor: A text tool has been added.
* NEW: Image editor: The mouse wheel now zooms the image.
* NEW: Some new backgrounds.
* NEW: Add a "paste special" entry in the popup menu of the paste button.
* NEW: Update czech translation.
* NEW: Form editor: Property tool buttons now work accordingly to the type
of the edited form (Form, Report...).
* NEW: Add gb.markdown component.
* NEW: New option to run a program inside a true virtual terminal, but its
standard error output is redirected to the IDE console.
* NEW: FMakePatch: Save chosen paths (old source archive, old project, patch
file name) in the project's .settings.
* NEW: FPatch: Save last loaded patch in .settings.
* NEW: Re-read the entire project after patching/reverting since a patch can
change version numbers, components used, etc..
* NEW: Menu shortcut for defining a class or a form as startup class has
been removed from the editor (but not from the project tree).
* NEW: A new menu to run a specific form as if it was the startup class.
* NEW: Support for "Angle" properties. These properties are integer
properties that represent an angle in degrees. Radians are not supported
at the moment.
* NEW: Added the shortcut information in the buttons on the translate form.
* NEW: Updated the Brazilian Portuguese translation.
* NEW: The 'F2' key now can jump from a GOTO or GOSUB instruction to its
target label.
* NEW: Spanish translation updated.
* NEW: Use the new wiki for the documentation.
* NEW: New program crash dialog that can send a bug report by mail with all
the details inside.
* NEW: Add an "add everything to repository" menu entry.
* NEW: The image editor text tool now has twelve buttons to define the text
anchor.
* NEW: Image editor: Rework the text tool alignment interface.
* NEW: Remove now useless text tool icons.
* NEW: Add a text entry under the output console to evaluate expressions,
with history. The console output is now read-only.
* NEW: An option to toggle comments automatic insertion.
* NEW: Add a echo button in the output console, that echoes the entered
command.
* NEW: Update error messages.
* NEW: Add a new background generated from the QuasiRegular new example.
* NEW: Define the description of the gb.notify component.
* NEW: Image editor: Now pasting an image is done by clicking again on the
paste icon. The ESC key resets the pasting process.
* NEW: Image editor: The "paste" tool now takes the current opacity into
account.
* NEW: Automatically create a ".gitignore" file in the project directory.
* NEW: Do not store the executable path inside ".project" file anymore.
Store it inside ".settings", so that it is not managed by subversion.
* NEW: A Gambas project directory is now identify by a ".project" file that
actually begins with the expected header.
* NEW: Shrink the welcome window a bit if the window is too small.
* NEW: Update czech translate
* NEW: New menu entries for sorting text in text editor.
* NEW: Add Chromimum to the list of browsers.
* NEW: Add an IDE keyboard shortcuts help window.
* NEW: A left mouse click with the CONTROL key jumps to the definition of
a symbol, like the F2 key.
* NEW: Use a transparent background in the about dialog, just to show that
new feature.
* NEW: Use the new ColorChooser.ShowCustom property.
* NEW: Make debugging positions in the output window links to the source
code. I should make that optional by the way...
* NEW: Opening a SQLite database file automatically creates a new
connection and open it in the database editor.
* NEW: Redesign the form menu editor.
* NEW: The IDE now can open a single extern file without any project. This
is done internally by creating a temporary fake project. The GUI tries to
adapt to that new mode, but this is not yet perfect.
* NEW: Normalize the IDE window title.
* NEW: A new button in the welcome dialog to open a single file.
* NEW: Support for choosing LinkForeground and VisitedForeground system
colors.
* NEW: An option to toggle the display of current file name in the IDE
window title.
* NEW: Color chooser in forms now allows to select a transparent color.
* NEW: Support for iceweasel browser.
* NEW: When adding new project files, now you can insert several existing
files in one shot.
* NEW: Form editor: Add a "Select parent" menu entry that selects the
parent of the master control of the current selection.
* NEW: All files can be "locked". This is implemented by using the file
write permissions. The old form locking mechanism has been removed.
* NEW: Update translations by using the gambas.wiki project translations.
* NEW: Centralize the help browser in a custom control.
* NEW: The project tree view popup menu now has an entry for opening
recently closed files.
* NEW: Comment automatic insertion is now triggered only if [SHIFT]+
[RETURN] is pressed. Not if just [RETURN] is pressed.
* NEW: Support for automatic session management.
* NEW: New design of recent projects and examples choosers in the welcome
dialog and the project open dialog.
* NEW: Support for classes defined twice in a component: once in the native
part, once in the gambas part.
* NEW: Use the new Paint.TrimText() method.
* NEW: Add 'gb.media.form' to the list of components.
* NEW: Support for the new GridView.Padding property.
* NEW: Change the way GridView and TableView are represented in the form
editor.
* NEW: Use text shadow to draw project titles.
* NEW: Make the environment Cygwin aware.
* NEW: Profiler: Format data with the thousand separator.
* NEW: Allow to choose the prefix characters when inserting a color.
* NEW: Add a menu entry to open the current project tree directory in the
system file manager.
* NEW: Use the new WebSettings.Cache.Clear() method.
* NEW: Add a little "open in another window" transient button in all items
of the project list.
* NEW: When hiding the menu bar, remove the popup message and add a button
in the toolbar that shows the menu back instead.
* NEW: FMakePatch: Add feature to view/edit patch before saving.
* NEW: Procedure list contents is now sorted differently: public symbols
first, and then static symbols first.
* NEW: The project list filter now searches in the project description too.
* NEW: Add the executable size in the project statistics.
* NEW: Recent file list is now stored in the following file:
'~/.local/config/gambas3/gambas3.recent.conf'
* NEW: Support for the new Menu.Radio property.
* NEW: Dutch translation corrected and updated.
* NEW: Database editor: Support for the new Collation field property.
* NEW: The option dialog was reorganized so that user identity information
has itw own panel.
* NEW: The user identity is now written inside translation files.
* NEW: When renaming an item in the project treeview, the file extension
is not selected.
* NEW: Use the FontBox control in the option dialog.
* NEW: New module type icons.
* NEW: Create file dialog: Replace the deprecated ListContainer control by
a ListView.
* NEW: Update financial support.
* OPT: Optimize project box control drawing routine.
[OLD WIKI CGI SCRIPT]
* NEW: Add a deprecation message in all wiki pages.
[WIKI CGI SCRIPT]
* NEW: New Gambas wiki CGI script. It replaces the old wiki.
[WEB SITE MAKER]
* BUG: Fix pages not located in the wiki.
* NEW: Support for Dutch language.
* NEW: Dutch translations.
* NEW: Use the new wiki now.
[EXAMPLES]
* BUG: NeHeTutorial: Fix compilation error.
* BUG: Update the googlemap version.
* BUG: MediaPlayer: Buttons images are correctly resized at startup.
* BUG: DnsClient: Don't use the special _free() method.
* BUG: Database: Remove Firebird as option for connection type.
* BUG: PdfViewer: Some little fixes.
* BUG: PhotoTouch: Fix the example.
* NEW: Move DBusExplorer example to the 'Misc' directory.
* NEW: Add a new SerialPort example made by Claus Dietrich and remove the
old example.
* NEW: New SmallWiki example. This is a web application that implements a
wiki based on the Gambas markdown syntax in less than 25 Kb.
* NEW: Pong: Update uses of Window.Ask().
* NEW: Add a new WaveGenerator example that plays a sinusoid wave whose
frequency can be modified in realtime with a slider.
* NEW: LCDLabel: New example.
* NEW: Add the new RandomColorSort example, made by Louis W. Adams, Jr. and
fixed by myself.
* NEW: QuasiRegular: A new example that shows an example of a quasi-regular
pattern.
* NEW: MediaPlayer: video screenshot example inside the MTest module.
* NEW: SystemTray is a new example that shows how to use the system tray
support of the gb.desktop.x11 component.
* NEW: BeastScroll: Add a keyboard shortcut that takes a screenshot, and
add more text to the screen.
* NEW: WatchGambasDirectory: gb.inotify example to demonstrate basic usage.
* NEW: Dutch translations for the examples.
* NEW: BeastScroll: Use the new default font scaling support.
[INTERPRETER]
* BUG: Don't detach a process that returns an error otherwise the Kill
event is lost.
* BUG: Correctly check that there is a current enumeration in the Enum
class methods and properties.
* BUG: The [] operator is now correctly overridden in classes inheriting an
array class or Collection.
* BUG: VarPtr() correctly works on method arguments.
* BUG: Reading a string from a memory stream now works correctly.
--- * BUG: Undo one change of last revision: reading a stream from a memory
stream is a special case. It reads a null-terminated C string, and not a
serialized Gambas string.
* BUG: Fix the CLOSE instruction when dealing with a string stream.
* BUG: Prevent crashes at exit by releasing array classes first.
* BUG: String.InStr() does not crash anymore if the string pattern is void.
It returns 0 instead (like InStr).
* BUG: Don't crash if an unknown option is passed with the '-g' option.
* BUG: Fix the LIKE operator whith "{...}" patterns.
* BUG: Fix a crash when using CStr() on an object having a conversion
function.
* BUG: Be virtual even the first time when calling the [] operator!
* BUG: Correctly close the standard error output of an ending process if
its standard output has already been closed.
* BUG: If an error is raised inside a TRY context, the Error.Backtrace
property is reset to NULL. It does not keep its previous value anymore.
* BUG: Fix the maximum number of array declaration in the same class.
* BUG: Fix array creation operator when it has no arguments.
* BUG: Fix a possible file descriptor leak when using LOCK.
* BUG: The debugger does not change the Key property of collections anymore
when displaying them.
* BUG: Use interpreter API constants in 'gbx_watch.c' so that duplicate
constants are removed.
* BUG: Fix memory leak with Lower$() and Upper$() on some null strings.
* BUG: Correctly drop arguments when using the new '...' symbol syntax.
* BUG: Use a control variable to store the missing optional argument map,
so that the JIT compiler is not trapped.
* BUG: Add a small reserved area in the stack for the Eval() function, so
that the debugger can return the contents of a variable after a stack
overflow without raising a new stack overflow error and then crashing.
* BUG: System.TimeZone now returns the accurate value, i.e. the number of
seconds that must be *added* to go to UTC.
* BUG: Forgot to add two source files.
* BUG: Fix a string leak in program exit routine.
* BUG: The Param class now can be used while debugging.
* BUG: Fix a crash when running the Application_Error global error handler.
* BUG: Fix a crash when the first use of a class symbol recursively calls
the current function being executed.
* BUG: When reading lines ending with a "Window" end-of-line sequence
(CR+LF), the LINE INPUT instruction could sometimes forget to remove the
first end-of-line character from the end of the line (CR).
* BUG: A new Task now resets the state of its standard output stream to
avoid side effects from its parent.
* BUG: The stream available length function now correctly returns zero when
it fails.
* BUG: Disable profiling for forked tasks.
* BUG: Fix Swap$() function.
* BUG: Take the "GB_VIRTUAL_CLASS()" declaration into account to decide if
a native class is virtual or not. Don't just check the dot prefix in the
name.
* BUG: Fix the 'Class' class declaration, so that is not virtual.
* BUG: The PUSH CHAR byte code now works correctly with ASCII code greater
than 127.
* BUG: Displaying a Result object in the debugger does not crash anymore.
* NEW: Support for the GB_PATH environment variable, that gives the Gambas
interpreter path if set.
* NEW: Enum.Stopped is a new property that returns if the current
enumeration has been stopped.
* NEW: Make WRITE behave the same way as READ on a memory stream. I.e. it
writes a null-terminated "C" string.
* NEW: Display the error returned by the glibc when a locale cannot be set.
* NEW: Allow the class conversion routine to define the target datatype by
itself.
* NEW: The debugger now can be told to break the program on any error.
* NEW: System.BreakOnError is a new property that allows to set the
internal "break on error" option at runtime. I don't know if it is
actually useful, so I may remove it.
* NEW: When a void string is sent to an extern function argument expecting
a string, it is converted to a zero-length string instead of a null
pointer.
* NEW: Successives spaces in a regular expression pattern now acts like a
single space.
* NEW: Array and Collection constructor operator [ ... ] now can take any
number of arguments. It is only limited by the maximum function size,
which leads for example to about 32000 elements for a short array.
* NEW: The GB.CanRaise() API now does not take the locked status of the
parent object into account anymore. It really checks if an event has an
event handler.
* NEW: A new '-t' hidden command-line argument to support redirecting the
standard error output to a named pipe.
* NEW: A new '-s' command-line option to override the startup class defined
in the project.
* NEW: Use vfork() instead of fork() when running a child process. Use it
only if the new process does not use a virtual terminal, does not run in
a shell, or use a specific environment.
* NEW: New LOCK ... WAIT ... syntax.
* NEW: Collection.Key is writable now.
* NEW: Now a method or property object datatype can be overridden by a more
specialized one.
* NEW: Support for the new '...' symbol usage in function calls.
* NEW: Support for IsMissing().
* NEW: System.TimeZone now takes the daylight saving time into account.
* NEW: Rand() is a new function that returns an integer random number.
Rand(X) returns a integer random number between 0 and X included.
Rand(X,Y) returns a integer random number between X and Y included.
* NEW: Raising an error during the program exiting is possible now.
* NEW: Raise an error if an _exit method loads a new class. This is now
forbidden!
* NEW: GB.GetProperty() and GB.SetProperty() API now return TRUE when they
have raised an error. FALSE is everything was ok.
* NEW: Args.Max is a new property that returns Args.Count - 1.
* NEW: Abs(True) now returns 1, and Abs(False) returns 0. It breaks the
rule of TypeOf(Abs(x)) = TypeOf(x), but it is more useful while being
backward compatible.
* NEW: Args.All is a new property that returns all the command-line
arguments as a string array. Not definitive: it may be removed in the
future.
* NEW: Replace the internal `class->state` variable by two boolean flags:
`class->loaded` and `class->ready`.
* NEW: Overriding a class that is the parent of other classes is possible
again. I don't remember what prevented that to work, so I want to see.
* NEW: Redefine FIONREAD for Cygwin.
* NEW: Cygwin needs <strings.h> to avoid compiler issues when
redefining strcasecmp etc.
* NEW: A new API for browsing a directory recursively.
* NEW: Add GB_DECLARE_STATIC() macro to declare native classes, and use it
in many class declarations.
* NEW: System.Log() is a new method that send a message to the system log.
Useful if you write a daemon.
* NEW: When running an external process, search the PATH environment
variable before forking, so that if the program does not exist, an error
is immediately raised.
* NEW: System.Exist() is a new method that returns if a specific program
can be found in the PATH environment variable.
* NEW: System.Find() is a new method that returns the absolute path of a
specific program according to the PATH environment variable.
* NEW: The GB.Realloc() API now calls GB.Alloc() if the pointer to
reallocate is null.
* OPT: Move the string splitting routine in its own file and optimize it.
* OPT: Define the TZ environment variable at startup if it not defined to
prevent the glibc to stat the '/etc/localtime' file again and again.
* OPT: Cache the last value of System.TimeZone during at most 10 minutes.
[COMPILER]
* BUG: Fix compilation of NOT LIKE, NOT BEGINS and NOT ENDS operators when
they are not alone in an expression.
* BUG: Prevent NEW and READ from being used without an affectation.
* BUG: Fix array creation operator when it has no arguments.
* BUG: Raise an error if a function has too many arguments or too many
local variables.
* BUG: Correctly drop arguments when using the new '...' symbol syntax.
* BUG: Correctly raise a syntax error now when there is anything between
the left part of an assignment and the assignment operator.
* NEW: New OPEN STRING instruction.
* NEW: OPEN MEMORY and OPEN PIPE are synonymous of the MEMORY and PIPE
instructions alone.
* NEW: Allow a CASE expression list to spread among the next line provided
that the current line ends with a comma.
* NEW: New LOCK ... WAIT ... syntax.
* NEW: The '#' character is now optional if possible (for example in the
'OUTPUT TO' instruction).
* NEW: '...' can be used for passing all the variables arguments of the
current function to another function. The '...' symbol must be the last
argument of the function call.
* NEW: IsMissing() is a new function that returns if an optional argument
is missing. It always returns FALSE on a non-optional argument.
* NEW: Write meaningful information in generated translation files.
[INFORMER]
* BUG: Remove unneeded parenthesis on a test.
* NEW: Support of kFreeBSD.
* NEW: Support for classes defined twice in a component: once in the native
part, once in the gambas part.
[SCRIPTER]
* BUG: Don't be case sensitive when searching for the "USE" keyword.
[DOC.CGI]
* NEW: Dutch translations updated.
[GB.ARGS]
* NEW: Dutch translations corrected and updated.
[GB.CLIPPER]
* BUG: Remove an unused variable.
* NEW: Upgrade to clipper 6.1.3a.
[GB.COMPLEX]
* BUG: Conversion from complex to number now returns the real part if the
imaginary part is null, and raises an error otherwise. It does not return
the complex modulus anymore. Use Abs() for that.
[GB.COMPRESS.ZLIB]
* BUG: Fix file compression routine when the file size is a multiple of the
internal buffer size.
[GB.CRYPT]
* NEW: SHA256 and SHA512 crypting were implemented.
[GB.DATA]
* BUG: Trie: Fix Complete() method where the completion would be empty
and a memory leak there.
* BUG: The 256 values of an input byte were mapped to just 128 bits of the
trie children mask, so corruption could have happened with non-ASCII keys.
* BUG: Add a special case when using GB.AddString() on an empty key.
* BUG: Fix a memory error from Trie.Complete()'s return value.
* NEW: A Graph class interface.
* NEW: Heap is a new class that implements a Min- or MaxHeap, depending upon
a mode parameter to its constructor. It supports some advanced ways to
manipulate the contained data -- beyond the first entry.
* NEW: Deque: Add a Copy() method to return a deep copy of a Deque. Stack
and Queue "inherit" this method.
* NEW: Add a GraphMatrix class which represents a Graph in a (non-sparse)
adjacency matrix.
* NEW: gb.data has a part written in Gambas now.
* NEW: PrioSet is a weaker (WRT ordering) variant of a PrioQueue which
allows operations to be reasonably more efficient.
* NEW: Trie and TriePrefix are new classes which implement a Patricia Trie.
* OPT: Use the Gambas API in trie.c to manage memory and thus remove error
recovery since the interpreter will crash anyway.
* OPT: Remove checks for "unsupported" characters as all 256 values of a
byte are supported in this version of the code.
[GB.DB]
* BUG: Don't crash anymore when releasing database objects.
* BUG: The automatic Blob to String conversion does not lead to a crash
anymore.
* BUG: Add an explicit warning message when a connection password must be
retrieved and the 'gb.desktop' component is not loaded.
* NEW: Table.Fields.Add() method takes a new optional argument to define
the field collation.
* NEW: Connection.Collations is a new property that returns the list of
available collations as a String array.
* NEW: Field.Collation is a new property that returns the collation of a
specific table field.
* NEW: Database driver now have a flag to tell if they support collation or
not.
[GB.DB.FORM]
* BUG: DataCheckBox correctly defines its internal TriState property
depending on whether its database field is mandatory or not.
* BUG: Editable DataBrowser and DataView do not create a spurious extra
line anymore.
* BUG: DataView: The new record mark is correctly managed now.
* BUG: DataControl and DataView now automatically disable editing if their
DataSource is read-only.
* BUG: Fix a possible infinite recursion when updating the current record
and refreshing controls.
* BUG: DataView: The current row now should be correctly selected in all
situations.
* NEW: The DataCheckBox control now raises its Click event as expected.
* NEW: Raise the maximum size of a DataView text column to 65536 characters
instead of 1024.
* NEW: DataSource: Raise a new BeforeDelete event just before trying to
delete a record. Cancel that event to cancel the deletion.
* NEW: Dutch translations corrected and updated.
[GB.DB.MYSQL]
* NEW: Support for field collations.
[GB.DB.ODBC]
* NEW: Does not support field collations.
[GB.DB.POSTGRESQL]
* BUG: Check more directories when searching for libraries, so that it
works on debian systems.
* NEW: Support for field collations, only if database version is greater or
equal than 9.1.
[GB.DB.SQLITE2]
* NEW: Does not support field collations.
[GB.DB.SQLITE3]
* BUG: Use the sqlite3_column_decltype() API to get the real datatype
declaration of result fields, so that aliasing field does not change its
resulting datatype.
* BUG: Correctly handle requests returning only one table name inside field
names.
* NEW: Support for field collations.
[GB.DEBUG]
* BUG: Fix a possible crash if the debugged process is stopped during the
Debug Read event.
* NEW: The debugger now can be told to break the program on any error.
* NEW: Propagate the changes in the interpreter class structure.
[GB.DESKTOP]
* BUG: Small change to xdg-email for LXDE so it doesn't open the
web browser if there is a default email application.
* BUG: Fix error message in DesktopMime.
* BUG: Requires gb.desktop.x11 explicitely now.
* NEW: 'gb.desktop' is now a pure Gambas component that relies on
'gb.desktop.x11' and 'gb.desktop.gnome.keyring'.
* NEW: Update with the new gb.desktop.x11 syntax.
* NEW: Automatically load the 'gb.desktop.x11' component the first time the
Desktop class is used, to be backward-compatible.
* NEW: Desktop.NetworkAvailable is a new property that returns if the
network is available. It just use 'ifconfig' to search for a network
interface having an IP address different from '127.0.0.1'. If 'ifconfig'
is not available, try to use the 'ip' command instead.
[GB.DESKTOP.GNOME.KEYRING]
* NEW: Make this component visible to the IDE.
* NEW: This component was named 'gb.desktop.gnome' before. It allows to
store and retrieve passwords from the GNOME 2 keyring.
[GB.DESKTOP.X11]
* BUG: Do not display X11 errors anymore.
* BUG: Disable the X11 event filter if the system tray has been closed.
* NEW: This new component offers a bunch of helper functions that allows to
deal with the low-level X11 library.
* NEW: X11.SetProperty and X11.GetProperty window argument is now first,
and is not optional anymore. You have to specify X11.RootWindow
explicitely.
* NEW: The global X11 event handler 'Desktop_Change' is now named
'X11_PropertyNotify'.
* NEW: The global X11 event handler 'Desktop_Window' is now named
'X11_ConfigureNotify'.
* NEW: X11Systray is a new static class that implements a system tray
inside an already existing DrawingArea of your project.
[GB.DRAW]
* BUG: Correctly initialize the Paint class when calling Paint.Begin() on
an already opened drawing device.
* BUG: Setting Paint.Background now resets Paint.Brush to NULL.
* NEW: Paint.PathOutline is a new property that returns a array of polygons
corresponding to the current drawing path.
[GB.EVAL]
* NEW: Highlight the new OPEN STRING instruction correctly.
[GB.EVAL.HIGHLIGHT]
* NEW: Add an hidden method to provide list of keywords to the IDE
according to the highlighting style.
* NEW: Add a list of all values of CSS 2.1 properties.
[GB.FORM]
* BUG: DirChooser.ShowPreview used FDirChooser.GetPreview which does not
exist. The correct symbol is FDirChooser.GetShowPreview.
* BUG: The FileProperties does not crash anymore if the directory size
calculation task returns rubbish.
* BUG: The icon of the FileProperties control now correctly adapts its
size.
* BUG: FileChooser: The Paths property now returns the selected path in
single mode and not a void array anymore.
* BUG: ButtonBox: Some drawing fixes for other themes than Oxygen.
* BUG: DateChooser: Better management of the month menu button width.
* BUG: DateChooser: Remove a debugging message.
* BUG: ButtonBox button is correctly disabled when the Enabled property is
cleared.
* BUG: ButtonBox: Setting the ReadOnly property to TRUE must not disable
the button!
* BUG: FontChooser: Fix the behaviour when size changes.
* BUG: Balloon: Fix position on desktop having top and/or left panels.
* BUG: Balloon: Use Tooltip.Foreground color as expected.
* BUG: Balloon: Fix arrow drawing.
* BUG: MaskBox: Raise the Change event after moving the cursor, so that it
behaves exactly like a TextBox.
* BUG: ValueBox.ReadOnly works as expected now.
* BUG: Draw.Line() correctly takes into account the LineStyle property in
all cases now.
* BUG: Fix the dash patterns used for implementing the Draw.LineStyle
property.
* BUG: FileView & DirView: Symbolic link to directories are now followed
like before.
* BUG: TableView.Clear now hides the current edited cell.
* BUG: TabPanel: Moving a tab when one of them has been detached does not
lead to a stack overflow anymore.
* BUG: DirView does not raise its Click event twice anymore.
* BUG: FileView: Delayed refresh is now forced when needed.
* BUG: FileChooser: Multiple file selection works correctly again.
* BUG: Stock.Themes property does not crash anymore if an 'index.theme'
file is not readable.
* BUG: FileChooser: Fix an infinite loop when trying to initialize the path
with an unknown file.
* BUG: TableView now hides its editor when it is resized.
* BUG: FileChooser: Do not display a spurious error message when saving a
file.
* BUG: ColorChooser: Don't memorize custom colors spuriously.
* BUG: Fix FileChoose/DirChooser directory buttons layout.
* BUG: Be more robust when scanning icon theme inheritance.
* BUG: Use the same color between hidden files in FileView and
hidden directories in DirView.
* BUG: Fix the balloon drawing routine. It should never be transparent
anymore.
* BUG: FileProperties: Do not crash if file mime type is not available.
* BUG: FileProperties: Try again to really prevent it from crashing when
no mimetype is available.
* BUG: Wizard: Fix the layout of wizard step titles.
* NEW: FileChooser now has support for uncompressing 'zip' files, provided
that the 'zip' utility is installed on the system.
* NEW: TabPanel[] got a new RichText property, that allows to define the
title of a tab as rich text.
* NEW: DateChooser: Replace the month ComboBox by a MenuButton.
* NEW: Spinner is a new control that displays a rotating spinner.
* NEW: SwitchButton is a new control that displays an ON/OFF button.
* NEW: FontBox is a new control that allows to select a font from a text
field.
* NEW: The FontChooser control now adapts its interface if its height is
too small.
* NEW: TabPanel: Now there are a left and a right arrow to navigate through
the tabs.
* NEW: TabPanel: Using the mouse wheel on the tab buttons does not steal
the focus anymore.
* NEW: DateChooser.MinValue is a new property that allows to define the
minimum date that can be selected.
* NEW: DateChooser.MaxValue is a new property that allows to define the
maximum date that can be selected.
* NEW: DateChooser: The mouse wheel allows to scroll months and days now.
* NEW: LCDLabel: Add support for some new characters.
* NEW: MaskBox has a new ShowDefault property. When set, the maskbox does
not hide its contents anymore when losing the focus if its value was the
default value.
* NEW: LCDLabel: Support for new characters.
* NEW: Some new icons.
* NEW: The Balloon background color is now the system tooltip background
color.
* NEW: Expander.Border is a new property that defines if the Expander must
display a border around its contents.
* NEW: TabPanel.Moveable is a new property that makes tab button moveable
if set.
* NEW: FileChooser: Uncompressing a file automatically selects the
uncompressed directory if appropriate.
* NEW: ColorChooser.ShowCustom is a new property that allows the color
chooser to remember the last chosen colors.
* NEW: FileChooser: Typing a file name automatically selects it.
* NEW: FileView: Selection property is now writable.
* NEW: Dutch translations updated
* NEW: The FileChooser Change event is now raised when the file is
unselected.
* NEW: DirBox is a new control that allows to choose a directory from a
ButtonBox.
* NEW: DirBox, FontBox and DateBox are now put in the "Chooser" tab of the
IDE control toolbar.
* NEW: ListContainer has been deprecated. It has design problems.
* NEW: DirView.HideRoot is a new property that hides the root row of the
DirView.
* NEW: Add an history in the FileChooser and DirChooser controls.
* NEW: Add a 'link' stock icon.
* NEW: New design of FileChooser and DirChooser.
* NEW: MenuButton now uses the new DrawingArea Font event.
* NEW: Bookmark editor: Now you can edit the name of the bookmark by just
clicking inside the table.
* NEW: TableView editor background is used by its container now.
* NEW: Add a new icon named 'identity'.
* NEW: DateChooser: Make the time font size a little bit smaller.
* NEW: TabPanel: Use text shadow for highlighting tab captions.
* NEW: Little design changes in the FontChooser control.
* NEW: FontBox.Default is a new property that defines which text is
displayed in the control when no font is set. By default, the application
default font name is used.
* NEW: FontChooser.ShowRelative is a new property that set if relative
sizes are allowed or not. They are allowed by default.
* OPT: A little optimization in the DirChooser control.
* OPT: Implement a directory cache to minimize the number of calls to the
Stat() function.
[GB.FORM.DIALOG]
* BUG: Dialog.Open() in multiple mode works now.
* NEW: Dutch translations corrected and updated.
* NEW: Add a custom font chooser dialog for Dialog.SelectFont().
* NEW: Dialog.FixedOnly is a new property to set if the font chooser will
show fixed fonts only.
[GB.FORM.MDI]
* BUG: Toolbar configuration dialog: the toolbar elements with a short text
are correctly displayed now.
* BUG: Workspace: Popup menu now correctly displays the title of windows
having a RichText property. Note that this is not officially documented.
* BUG: Workspace: Fix the new Remove() method and the old Add() method.
* NEW: If a window embedded in a Workspace has a public RichText property,
it will be used instead of the normal Text property as window title. This
is some sort of dirty hack, so don't use it at the moment.
* NEW: Raise an error if the Toolbar.Configure() method is called whereas
the toolbar Key property is not defined.
* NEW: ToolBar now inverts its layout if the current language is right-to-
left written.
* NEW: Shrink the toolbar height a bit.
* NEW: Workspace tab buttons are now moveable.
* NEW: Workspace: Windows now can be detached and attached back.
* NEW: Workspace: Count the number of detached windows so that the "detach
current tab" menu entry is disabled when needed.
* NEW: The Workspace popup menu has been redesigned.
* NEW: A menu entry to close all tabs.
* NEW: A menu entry to close tabs to the right.
* NEW: Redesign the shortcuts configuration dialog.
* NEW: Shortcuts now can be exported and imported.
* NEW: Workspace.Count is a new property that returns the number of
windows embedded in the workspace.
* NEW: Workspace: Closing a tab now raises the Close event, with the
closing window as argument. Stopping that event cancels the close.
* NEW: Dutch translations updated.
* NEW: Workspace.Remove() is a new method for removing a window from the
workspace.
* NEW: Workspace.Add() automatically calls Workspace.Remove() to remove the
window from its previous workspace if needed.
* NEW: Workspace now raises the Attach and Detach events when a window is
respectively attached or detached.
* NEW: Workspace.Exist() is a new method that tells if a specific window is
embedded inside the Workspace.
* NEW: Shortcut editor: Use the standard background for the shortcut
TableView editor.
* NEW: Dutch translations corrected and updated
* OPT: Workspace: Make the background flicker less.
[GB.FORM.STOCK]
* BUG: Fix all missing icons.
* NEW: Add a new icon named 'identity'.
[GB.GSL]
* BUG: Polynomial: Create a new void polymonial does not lead to a crash
anymore.
* BUG: Conversion from complex to number now returns the real part if the
imaginary part is null, and raises an error otherwise. It does not return
the complex modulus anymore. Use Abs() for that.
[GB.GTK]
* BUG: The rtl layout is correctly initialized at startup.
* BUG: Embedder.Embed() does not take two arguments.
* BUG: Imbrication of popup menu click events works correctly now and does
not crash anymore.
* BUG: The Window.Picture property now should work correctly.
* BUG: Patch the GtkSpinButton class so that it is drawn correctly when
not having a normal height.
* BUG: Correctly update background and foreground of multi-container
controls.
* BUG: Fix memory leak when loading images without alpha channel.
* BUG: Menu.Children.Clear() works again.
* BUG: The TextArea.Text property does not waste memory anymore.
* BUG: TextArea: Border is drawn as expected now.
* BUG: TrayIcon: Handle DblClick and MouseWheel events correctly.
* BUG: Controls inside TabStrip now are detected correctly and are not
insensitive anymore.
* BUG: The MouseDrag event can be cancelled now, like with gb.qt4.
* BUG: The printer configuration dialog does not crash anymore.
* BUG: Remove some GLib warnings when displaying the printer configuration
dialog.
* BUG: Fix the default size of message boxes.
* BUG: Control Move() and MoveScaled() method do not try to resize the
control anymore if their width and height arguments are omitted.
* BUG: Rich text support is more robust now: it can handle self-closed
markups.
* BUG: Paint.TextSize() and Paint.RichTextSize() now correctly take into
account the device resolution.
* BUG: Fix a Slider warning when setting the MinValue or MaxValue property.
* BUG: Fix incorrect translation when drawing inside a DrawingArea.
* BUG: Fix Align.IsBottom() and Align.IsMiddle().
* BUG: TextArea.Text property can be set to a null string correctly now.
* BUG: Fix the behaviour of auto-resize labels.
* BUG: Setting Application.Font now updates the font of all controls.
* BUG: Embedded windows can now be reparented to NULL to become top-level
again.
* BUG: Showing a top-level window now raises it automatically.
* BUG: Window.Utility should now work even if the window is mapped.
* BUG: Default tray icon is correctly visible now.
* BUG: Invisible startup forms are not opened at startup anymore.
* BUG: DrawingArea: Clipping is correctly established now before raising
the Draw event.
* BUG: Keyboard events have been fixed. Key array accessor and Key.Code now
behave the same way as in gb.qt4.
* BUG: The Key.Meta property works correctly now.
* BUG: Now keyboard events seem to be sent twice by GDK. Found a workaround
for that new weird behaviour.
* BUG: Automatic window minimum size now works correctly.
* BUG: Windows can take focus as in gb.qt4.
* BUG: Correctly resets the clip region offset after a DrawingArea draw
event.
* BUG: Fix TabStrip behaviour when its Closable property is set.
* BUG: Fix Frame children detection.
* BUG: The Foreground property of RadioButton and CheckBox now works correctly.
* BUG: System tray icons deletion is delayed now. It prevents spurious GTK+
warnings that appear if you hide an icon inside an event handler.
* BUG: Wait 10 ms after showing a tray icon. Apparently you must not be too
fast when creating several tray icons.
* BUG: Fix auto-resized labels layout.
* BUG: A reparented control does not lose its default foreground or
background color anymore.
* BUG: Fix Style.ForegroundOf() method.
* BUG: Fix borderless TextBox padding to be the same as with gb.qt4.
* BUG: Fix input method handling.
* BUG: Automatic grabbing on mouse button press is now released if the
top-level window of the target control is hidden during the grab.
* BUG: Fix how menu items are drawn.
* BUG: Fix menu item drawing again.
* BUG: Fix 'Menu' event and PopupMenu property behaviour. The default
behaviour of the control is cancelled if: the PopupMenu property is
defined, or if the 'Menu' event is stopped with STOP EVENT, of if a popup
menu is displayed during the 'Menu' event handler.
* BUG: DrawingArea.Clear() works as expected now.
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached
and if it currently being painted.
* NEW: When a popup menu is shown, underscore shortcuts are automatically
assigned. This feature is a based on a new hidden property of the Menu
class named "_Text". So don't use this new property for your own needs!
* NEW: Mouse.Translate() is a new method that allows to translate the
current mouse event.
* NEW: Remove source files of the old ProgressBar control.
* NEW: Rework Style.PaintBox() method.
* NEW: Style.StateOf() is a new method that returns the state flags of a
specific control.
* NEW: Style.BackgroundOf() is a new method that returns the actual
background color of a specific control.
* NEW: Style.ForegroundOf() is a new method that returns the actual
background color of a specific control.
* NEW: All state flag constants of the Draw class are now implemented in
the Style class.
* NEW: Paint.PathOutline is a new property that returns a array of polygons
corresponding to the current drawing path.
* NEW: Application.PreviousControl is a new property that returns the
previous control having the focus.
* NEW: TextArea: Remove extra margin around text.
* NEW: Ignore trailing spaces in font description elements: you can use
Font["Arial , 12, Bold "] now.
* NEW: The Frame container now has all arrangement properties.
* NEW: TrayIcon: Try to provide the icon size to the system tray, but it is
apparently overriden by the GTK+ library with the default small size.
* NEW: Window.Transparent is a new property that makes the window
background transparent (i.e. it uses a RGBA visual).
* NEW: Color.LinkForeground and Color.VisitedForeground are two new
properties that return the system color associated with links and visited
links. If not applicable, some default colors are returned.
* NEW: Support for X11 event filter has been implemented.
* NEW: Application.Restart is a new property that allows to define the
application restart command for the session manager.
* NEW: Support for automatic session management.
* NEW: Add an environment variable to debug keypress events.
* NEW: Remove useless gb.gtk exported functions.
* NEW: DrawingArea now raises a new Font event when its font changes.
* NEW: Menu has a new Radio property that defines if a menu item must act
as a radio button. All successive menu items having the Radio property
set are mutually exclusive.
* OPT: Prevent an unneeded image conversion in Paint.DrawImage().
[GB.GTK.OPENGL]
* BUG: GlArea can take the focus now.
[GB.GTK3]
* NEW: New GTK+3 component! Note that 'gb.gtk' and 'gb.gtk3' share the same
source code. Another point: GTK+3 theming support is a fucking nightmare.
[GB.GUI]
* NEW: If one GUI component fails to load, try the other one.
* NEW: Abort if no GUI component is found.
* NEW: Define the GB_GUI environment variable with the GUI component
actually loaded.
* NEW: Support for the gb.gtk3 component.
[GB.GUI.BASE]
* BUG: GridView: Setting the background color correctly refreshes the
control.
* BUG: IconView: Clicking inside the selection now keeps it unchanged.
* BUG: Fix a crash in GridView.ColumnAt() method.
* BUG: Clicking on GridView/ColumnView headers now should work correctly
again.
* BUG: GridView: Dnd now works as expected even in multiple selection mode.
* BUG: Draw.End() now resets antialiasing to TRUE.
* BUG: If the Layout property of HSplit or VSplit controls does not receive
one size for each child control, then child controls without size are
hidden (i.e. their size is assumed to be zero).
* BUG: Fix Draw class drawing accuracy.
* BUG: Draw: Use Paint.LineJoinRound by default.
* BUG: GridView: Setting the column width to -1 is taken into account by
the layout routine.
* BUG: The GridView, TreeView (and all its cousins) background correctly
reacts to system color theme changes.
* BUG: If Action_Activate() does not return a value as expected, ignore it
instead of crashing.
* BUG: TreeView, ColumnView and ListView now correctly manage the selection
when items are removed, or when the view is cleared.
* BUG: GridView: Setting the width of a column now should work in all
cases.
* BUG: GridView: Automatic scroll now should work as expected.
* BUG: ListBox: Selection is correctly drawn in multiple selection mode.
* BUG: Correctly draw GridView headers, especially when right alignment is
used.
* BUG: GridView: Don't take hidden columns into account when layouting
expanded columns.
* BUG: IconView rubberband is now only active if the left moust button is
pressed.
* BUG: ScrollArea: Shadows are now correctly drawn whatever is done during
the Draw event it raises.
* BUG: Fix the automatic scrolling behaviour of GridView and all its
children classes.
* BUG: Fix automatic scrolling of newly expanded item in TreeView and
ColumnView.
* BUG: TreeView now should keep the selection correctly while an item is
expanded or collapsed.
* BUG: GridView: correctly reset the row titles when the row count changes.
* BUG: ScrollArea does not override the current clipping anymore. It fixed
the TableView edit cell drawing artifacts with GTK+2. In other words,
never assign Draw.ClipRect while drawing with GTK+2!
* BUG: GridView: Changing the Mode property now correctly refreshes the
control.
* BUG: TreeView: A column resize does not automatically cancel the current
renaming.
* BUG: ScrollArea: Prevent a possible crash.
* NEW: ScrollArea, GridView, TreeView and its friends now invert their
layout if the current language is right-to-left written.
* NEW: The ProgressBar control is now written in Gambas.
* NEW: Add a little left and right padding to GridView cells.
* NEW: ListBox now uses the default selected background color.
* NEW: ProgressBar: Add a Pulse property, that makes the control display a
pulsing frame instead of the normal progress bar.
* NEW: TreeView and ColumnView item got a new Reparent() method that allows
to move an item and all its children from one parent to another parent.
* NEW: Paint.TrimText() is a new API that trim a text according to a
specified rectangle, adding an ellipsis character at the end if needed.
* NEW: GridView.Padding is a new property that defines the default cell
padding. Its default value is 2 pixels.
* NEW: Paint.DrawTextShadow() is a new method that draws the shadow of a
text. Note that you must call Paint.DrawText() to draw the real text
below the shadow.
* NEW: Paint.DrawRichTextShadow() is a new method that draws the shadow of
a piece of rich text. Note that you must call Paint.DrawRichText() to
draw the real text below the shadow.
* NEW: IconView: Use a lighter selection colour.
* NEW: Paint.TrimRichText() is a new method that trims some rich text to a
specific size, adding ellipsis if needed.
* NEW: Use smaller arrows in TreeView and GridView headers.
* NEW: Make row header a little bit larger by default.
* NEW: ScrollArea border is now a plain border, and not a sunken one
anymore. I find it nicer.
* NEW: The Shortcut class is a new class that allows to remove '&'
shortcuts from the translatable caption of the following controls: Menu,
Button, CheckBox, RadioButton, ToolButton, ToggleButton, DataCheckBox.
* NEW: ProgressBar: Take the Enabled state into account when drawing the
control.
[GB.GUI.OPENGL]
* NEW: Always load the OpenGL support component associated with what lies
in the GB_GUI environment variable.
[GB.IMAGE]
* BUG: Link with the mathematic library as the pow() function is used for
the image gamma filter.
* BUG: Rewrite the ImageStat class source code because the PHP licence is
not compatible with the GPL.
* NEW: Allows a component that supports the Image class to have a
premultiplied default image format. Beware that some images methods do
not support premultiplied formats yet.
* NEW: Color.Transparent now is &HFF000000& and not &HFFFFFFFF anymore.
[GB.INOTIFY]
* NEW: New component to interface Gambas with the Linux-specific inotifies.
[GB.JIT]
* BUG: Explicitely search for the 'llvm-c/Core.h' include file.
* BUG: Fix LLVM version comparison.
* BUG: Compile `jit_codegen.cpp` with rtti enabled, and
`jit_gambas_pass.cpp` without.
* BUG: gb.jit should now compile with LLVM 3.5.
* NEW: A little cosmetic change in the autoconf message about LLVM version
checking.
* NEW: Propagate the changes in the interpreter class structure.
* NEW: Add conditional defines for Cygwin to allow compile:
Use finite in place of _finite, __isnand in place of __isnan
and __isinfd in place of __isinf.
* NEW: Remove jit_gambas_pass_dummy.cpp as this is no longer
required to compile with later versions of llvm. Also fixes
issue with Cygwin compile.
[GB.LOGGING]
* BUG: Allow the user to change the output if using the hidden instance.
* BUG: Fix the detection of the call location.
* BUG: Fix out-of-bounds error when using the formatter.
* NEW: Output can now be redirected to stderr ;)
* NEW: Added some more tags to the Formatter
* NEW: Allow custom debug levels.
* NEW: A call to Begin() is needed again so that the user can change the
parameters if using the hidden instance. Sorry about that.
* OPT: A call to Begin() is no longer necesary. The log file
is automatically opened when creating the logger.
[GB.MARKDOWN]
* NEW: This is a new component that implements the Gambas Markdown markup
syntax.
[GB.MEDIA]
* BUG: When a MediaPipeline is freed, the pipeline is first stopped before
being put to the null state. Otherwise GStreamer freezes.
* BUG: Fix how the end of stream is sent when stopping a pipeline.
* BUG: According to the GStreamer documentation, you can send an EOS
message only while playing.
* BUG: MediaPipeline.Stop() tries to send an EOS message at most during
250 ms. A warning message is printed if the EOS message has not been
sent.
* BUG: Fix inputs and outputs enumeration.
* NEW: MediaControl: An enumeration property can be set through its integer
value now.
* NEW: MediaPipeline constructor now takes the message bus polling
frequency as an optional argument.
* NEW: MediaPipeline.Stop() now force EOS on sources before stopping the
pipeline.
* NEW: If the MediaControl type contains a '/' character, then a
MediaFilter is created using that type as filter.
* NEW: Properties having the "Caps" type are now handled everywhere.
* NEW: MediaLink is a new class that represents a link between an element
input and an element output. Its interface may change in next revisions.
* NEW: MediaControl.Parent is a new property that returns the parent of a
MediaControl object.
* NEW: MediaControl.LinkTo method now automatically unlinks the output
before linking it.
* NEW: MediaControl.GetLink is a new method that returns a MediaLink object
representing what is linked to the specified input or output.
* NEW: MediaControl.GetLastImage() returns a screenshot of the last video
frame seen by a sink (i.e. final) element.
[GB.MEDIA.FORM]
* NEW: New component based on gb.media that includes a full media player
widget with controls.
[GB.NCURSES]
* BUG: Window.Ask() now returns the chosen letter (and not its index) as
it's documented and ought to be (returning the index does not ease
translation very much but makes program flow much less obvious).
* BUG: Respect Window.Attributes when changing Window.{Fore,Back}ground.
* BUG: Initialise the Screen singleton's properties.
* BUG: Reset the "watched fd" variable when a watch ends.
* BUG: Add GB_END_DECLARE to the Input class to not crash anymore (on
cygwin only?). Reported by Nigel Gerrard.
* NEW: Add Key.Esc constant to catch escape key (without needing to know
that it's ASCII 0x1b).
[GB.NET]
* BUG: Fix a missing symbol lookup error.
* NEW: Flushing a serial port stream now calls tcdrain() so that all
pending data is effectively sent.
* NEW: SerialPort.InputBufferSize is a new property that returns the number
of bytes in the internal input buffer.
* NEW: SerialPort.OutputBufferSize is a new property that returns the
number of bytes in the internal output buffer.
* NEW: DnsClient: defer async setup to when a query is made and release
the pipe watch afterwards as soon as possible so that Gambas processes
don't wait on non-active but existent watches.
* NEW: One can change the Async property of DnsClient now while it is
active; the change applies to subsequent queries.
* NEW: Redefine TIOCOUTQ for Cygwin.
[GB.NET.CURL]
* BUG: The VerifyPeer and VerifyHost properties are really taken into
account now. But I'm not sure that everything is fixed.
* BUG: HttpClient.Put() method should send its data correctly now.
* BUG: HttpClient: Set timeout even in asynchronous mode.
* BUG: FtpClient: Set timeout even in asynchronous mode.
* BUG: Disable debugging messages.
* NEW: HttpClient.PutFile() is a new method to send a PUT request by taking
the data from a file.
[GB.NET.POP3]
* BUG: Error messages must not be translatable.
* NEW: Add a void constructor to the Pop3Client class for the
documentation.
* NEW: Pop3Client.Open() now raises an error if authentication fails, and
correctly aborts the connection.
* NEW: Dutch translations corrected and updated.
[GB.NET.SMTP]
* BUG: Fix the authentication process.
* BUG: Fix how the result of the EHLO command is read.
* BUG: Explicitely load the 'gb.net' component to be backward compatible
with the old 'gb.net.smtp' that didn't require it.
* NEW: Recipients and sender now support the "Chuck Norris <[email protected]>"
syntax.
* NEW: Replace the old gb.net.smtp component written in C and Gambas by a
new component with the same name entirely written in Gambas.
* NEW: Add a 10 seconds timeout to the TCP socket.
* NEW: SmtpClient is now a virtual control.
[GB.OPENAL]
* BUG: Fix declaration of Al.VELOCITY constant.
[GB.OPENGL]
* BUG: GL.GetString() now raises an error if the glGetString() function
fails.
* BUG: Fix the missing "gl" prefix on two OpenGL calls.
* NEW: Implement gl.TexSubImage1D and gl.TexSubImage2D.
[GB.OPENGL.SGE]
* BUG: Don't crash if a model has only one frame.
[GB.OPENSSL]
* BUG: Cipher[] and Digest[] now read their method argument correctly.
* BUG: Fix bad use of string API in the Cipher class. Consequently
Cipher[].Encrypt() does not crash anymore.
* NEW: Make CipherText creatable so that data from external sources can be
deciphered.
[GB.PCRE]
* BUG: RegExp.Replace(): Explicitly use 0 if optional arguments are missing
* BUG: Don't call GB.ReturnNewString() if a match returns a null string.
* BUG: Use GB.ReturnVoidString() instead of GB.ReturnNull().
[GB.PDF]
* BUG: The initial rotation of the PDF document is now taken into account.
* BUG: Search result now takes the orientation into account.
[GB.QT4]
* BUG: Imbrication of popup menu click events works correctly now and does
not crash anymore.
* BUG: The control borders are drawn the same way everywhere.
* BUG: Correctly update background and foreground of multi-container
controls.
* BUG: Font.Grade maximum value is now +24, as expected by the font
selector.
* BUG: Foreground and background colors now works as expected on ComboBox
and SpinBox controls.
* BUG: TextLabel: Automatic size is correctly computed now. Apparently
there are internal changes in the Qt library that made it false.
* BUG: Style.PaintBox() correctly honors its color argument again.
* BUG: Text can be drop on TextBox and TextArea controls again, unless
their Drop property is set. In that case, the dnd behaviour is entirely
controled by Gambas.
* BUG: Correctly free the internal clipboard formats list when the
clipboard contents changes. This avoids possible crashes.
* BUG: Clipboard.Paste() now returns the image when there is both image and
text inside the clipboard.
* BUG: Rich text paragraph margins are now proportional to the font size.
* BUG: Correctly handle UTF-8 when displaying the error message.
* BUG: Fix Align.IsBottom() and Align.IsMiddle().
* BUG: Key.Normal now works correctly with numeric pad keys.
* BUG: Fix the behaviour of auto-resize labels.
* BUG: Tray icons are now scaled, like with GTK+.
* BUG: Key.Code now returns the modifiers key codes, as in gb.gtk.
* BUG: System tray icons deletion is delayed now, to avoid a crash if you
hide an icon during inside an event handler.
* BUG: Cached DrawingArea backgroun color now works correctly if the window
is transparent.
* BUG: The Printer.NumCopies property now works as expected.
* BUG: Reading the Printer.GrayScale property now returns the correct
value.
* BUG: Style.PaintBox now works correctly with QtCurve.
* BUG: Style.PaintBox now works better with QGtk.
* BUG: The ScrollView does not flicker anymore when its size changes.
* BUG: Fix ScrollView viewport size computation when there is no
arrangement set.
* BUG: Auto-resized labels correctly update their size when their border
property is modified.
* BUG: Controls now take the alpha component of foreground and background
colors into account.
* BUG: ComboBox.Border property can be set even if it is in read-only mode.
* BUG: Fix 'Menu' event and PopupMenu property behaviour. The default
behaviour of the control is cancelled if: the PopupMenu property is
defined, or if the 'Menu' event is stopped with STOP EVENT, of if a popup
menu is displayed during the 'Menu' event handler.
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached
and if it currently being painted.
* NEW: When a popup menu is shown, underscore shortcuts are automatically
assigned. This feature is a based on a new hidden property of the Menu
class named "_Text". So don't use this new property for your own needs!
* NEW: Mouse.Translate() is a new method that allows to translate the
current mouse event.
* NEW: Remove source files of the old ProgressBar control.
* NEW: Rework Style.PaintBox() method.
* NEW: Style.StateOf() is a new method that returns the state flags of a
specific control.
* NEW: Style.BackgroundOf() is a new method that returns the actual
background color of a specific control.
* NEW: Style.ForegroundOf() is a new method that returns the actual
background color of a specific control.
* NEW: All state flag constants of the Draw class are now implemented in
the Style class.
* NEW: Paint.PathOutline is a new property that returns a array of polygons
corresponding to the current drawing path.
* NEW: Application.PreviousControl is a new property that returns the
previous control having the focus.
* NEW: Ignore trailing spaces in font description elements: you can use
Font["Arial , 12, Bold "] now.
* NEW: The Frame container now has all arrangement properties.
* NEW: TrayIcon: Provide the icon size to the system tray.
* NEW: Window.Transparent is a new property that makes the window
background transparent (i.e. it uses a RGBA visual).
* NEW: When several menus have the same shortcut, one is triggered instead
of displaying a warning message and doing nothing.
* NEW: Color.LinkForeground and Color.VisitedForeground are two new
properties that return the system color associated with links and visited
links.
* NEW: Support for automatic session management.
* NEW: Application.Restart is a new property that allows to define the
application restart command for the session manager.
* NEW: Use a premultiplied RGBA default format for images.
* NEW: DrawingArea now raises a new Font event when its font changes.
* NEW: Menu has a new Radio property that defines if a menu item must act
as a radio button. All successive menu items having the Radio property
set are mutually exclusive.
* OPT: Do not arrange a container while destroying its children.
* OPT: A little optimization when drawing rich text.
* OPT: Optimize ScrollView arrangement when its size changes.
[GB.QT4.EXT]
* BUG: Editor: Delete at the end of line and backspace at the beginning of
line now work as expected when override mode is enabled.
* BUG: Setting Editor.Mouse now works reliably.
* BUG: Editor: 'Select all' and [CTRL]+[END] now really goes to the end of
file.
* NEW: Editor: [CTRL]+[X] now cut the current line if nothing is selected.
If you stay on the same line, cutted lines accumulate.
* NEW: [CTRL]+[ENTER] and [CTRL]+[SHIFT]+[ENTER] editor shortcuts are now
directly implemented in the editor.
* NEW: [CTRL]+[D] now deletes the current line or selection.
* NEW: Highlight.Line is a new property that returns the currently
highlighted line number (starting from zero).
* NEW: LCDNumber control is now put in a "Deprecated" tab in the IDE
control toolbar.
[GB.QT4.OPENGL]
* BUG: Clear the GLArea widget with the control background color just before
raising the Draw event.
[GB.QT4.WEBKIT]
* BUG: WebElement.FindAll() method correctly builds the returned array.
* BUG: Fix WebElement.Paint() declaration.
* NEW: WebView: Try to interpret the control background and foreground
colors as default web page colors.
* NEW: WebSettings.Cache.Path now must be located inside the '~/.cache'
directory.
* NEW: WebSettings.Cache.Clear() is a new method to clear the cache
correctly.
* NEW: WebView.Reload() now takes an optional boolean argument, that tells
if the cache must be bypassed when reloading the page, or not as before.
* OPT: WebView: Raise the Progress event only if the progress value has
actually changed.
[GB.REPORT]
* BUG: Many correction on object indexation. Now multiple levels of
repeated containers are possible.
* BUG: Now ReportLabel take multiline text into account when computing its
height.
* BUG: The fixed elements at the end of the page are now computing
correctly their size.
* BUG: ReportLabel now uses Paint.TextSize instead of Paint.TextExtend to
get the text size.
* BUG: Now ReportLabel rotation works fine and the angle is given in
radians.
* BUG: You can now add an argument to the _New sub. Be careful, the _New
event is called one time only, at the report loading.
* BUG: The custom size works but there is some bugs with Printer.Configure
that sets the page size to A4. :-/
* BUG: The ReportBrush.Color function really returns a ReportBrush class.
* BUG: The report custom size bug is solved.
* BUG: The custom panel is now enabled when Report.Paper is 'Custom'.
* BUG: Some bugs corrected on the reportPreview.
* BUG: The report engine have a new scaling routne based
on the document size and not on the device resolution.
* BUG: Remove gb.map use
* BUG: ReportVBox is fully rewritten (some bugs will follow
be carefull)
* BUG: Remove bug on setting
* BUG: Try to resolve the setting problem in report preview box.
* BUG: Resolve the bug on clear (Even if i don't remember for what i've
done this property)
* BUG: Now Duplex modes are correctly set in ReportPreview.
* BUG: ReportFrame now clips inside the borders.
* NEW: And not new but now it work... the ForceNewPage property of an object force
the repeater the make only one display of this object by pages.
* NEW: Add icons for ReportDrawingArea and ReportViewer widget.
* NEW: A New widget ReportPageBreak allows to break a page when you need.
* NEW: Report.Print takes now an optional argument Printer that allows
to give an externally initialised printer. In tis case the dialog is not
shown.
* NEW: A new widget ReportView (Need polish for external use).
* NEW: A new report preview windows. It embeds all the printing tools
and can reflect all the printing options in real time.
Page size, Gray scale and a range property like in the known text
editors (1;3;8-9)
* NEW: A new widget ReportDrawingArea allows to draw freely on the report
page. It has a 'Draw' event that provides the size of the drawing
(depending on the paint device resolution too. Sometimes you can use
ReportUnits.DesktopScale ratio to fix the size). A 'Cached' property
allows to call the event only when the device resolution change. It is
useful when a draw needs a lot of computing.
* NEW: MTool and Units have been merged to create a new shared module:
ReportUnits. It provides functions for unit convertions depending on
paint resolution (for pixel convertion use it in a paint session).
A property DesktopScale provides a ratio between Desktop pixel size and
printer size.
* NEW: Begin to implement a Shadow for ReportFrame Objects. It has the
same syntax than the CSS3 box shadow. XOffset, YOffset, Spread, Color.
At the moment only the class have been implemented... I need to say to
the engine how to use it :-)
* NEW: ReportLabel now use Angle in degree.
* NEW: Now Report have a new default event _Open that allows to initialize
all the report data and structure.
* NEW: Begin to implement the ReportGridView control.
* NEW: The report Preview form now save it's preferences.
* NEW: Negative numbers are allowed on string size properties. It allow to use
negative value on XOffset or YOffset for shadows.
* NEW: Dutch translations corrected and updated.
* OPT: Remove backup files.
* OPT: Many other improvement like the possibility now for a report to be
initialised with one or more arguments.
* OPT: WARNING! Now if ReportObject Width and Height are not set, then the
ReportObject is 'auto-resized. This will help a lot of new users to
understand how the report layout works.
* OPT: ReportView drawing does not use Svgimage, this avoids qt4 svg
rendering bugs. (Note from BM: will Qt fix these bugs some day?)
* OPT: The code arrangement has been clean up.
[GB.SB.SQLITE3]
* BUG: Fix specific implementation of sqlite3_exec. Prevent some crashes
and make database creation work again (among other things).
[GB.SDL]
* BUG: Restore fill pattern to solid after a Draw.Rect() or a
Draw.Ellipse(), otherwise Draw.Image() draws nothing!
* BUG: Don't create a default TTF font for each draw event!
* NEW: Rename the default SDL font file as "_default.ttf" to prevent
packaging conflicts.
* NEW: Use the Gambas monospace font as SDL default font now.
* NEW: Remove the delay when 'Stop Event' is called during the Draw event
handler.
* NEW: The Gambas event loop is now called with a delay of 1 ms. So it will
use a busy waiting instead of sleeping the process.
* NEW: Mouse.Show, Mouse.Hide and Mouse.Visible are two new static methods
and one static property to hide or show the mouse cursor.
* NEW: Window.Grabbed is a new property that allows to grab the input and
confine the mouse to the window.
* NEW: Window.Screenshot() is a new method that returns a screenshot of the
window contents by reading the OpenGL color buffer.
* NEW: The default font is now embedded in the library.
* NEW: Window.Screenshot() now can take four optional arguments to define
a rectangular sub-part of the window to retrieve.
* NEW: The default font is now scaled 2x if the font size set is twice the
default font height, 3x if it is three times the default font height, and
so on...
[GB.SDL.SOUND]
* NEW: Music.State is a new property that returns the music state as one of
the following constant: Music.Stopped, Music.Playing or Music.Paused.
* NEW: -lSDL needed for Cygwin linker.
[GB.SETTINGS]
* BUG: Do not mark the settings file as modified if the stored value is not
really changed.
* BUG: Always mark the settings as modified if an object reference is set
as settings value.
* BUG: Automatic saving of settings file at exit works again.
* BUG: Enumerating `Settings.Keys[Slot]` (the keys of a specific slot) does
not break anymore the enumeration of `Settings.Key` (the slot names).
* OPT: Settings.Clear() does not mark the settings file to be saved if
there is nothing to clear.
[GB.V4L]
* NEW: Support of kFreeBSD.
[GB.WEB]
* BUG: JSON.Encode() correctly encodes ASCII control characters.
* BUG: CGI.Error() now correctly sends an UTF-8 HTML page.
* BUG: Buffered responses now use "Window" end-of-line by default instead
of "Unix" end-of-line, like unbuffered responses. *WARNING!* This bug fix
is not backward-compatible!
* BUG: Fix the JSON.Decode() method signature.
* BUG: JSON.Null is now a read-only property.
* BUG: When creating a session, other sessions having the same prefix and
being older than 24 hours are automatically removed from disk.
* BUG: JSON.Decode() now convert numbers to Integer, Long and Float. Not
just Float.
* BUG: Make Session._exit() error prone.
* BUG: URL.UnsetQuery() now works correctly on void request queries.
* BUG: Workaround a thttpd bug that does not set the SCRIPT_NAME correctly
when the URL ends with a slash.
* BUG: The deprecated URL.Encode() and URL.Decode() functions now correctly
call URL.Quote() and URL.Unquote().
* NEW: JSON.Decode() now takes an extra optional argument indicating that
keys having a null value are taken into account inside objects.
* NEW: JSONCollection is a new class that represents a JSON object whose
some keys are associated with a 'null' value.
* NEW: Response.EndOfLine is a new property that allows to explicitely
define the EndOfLine property of the underlying stream.
* NEW: Response.EndOfLine is now taken into account if the response is
buffered.
* NEW: Session.Exist() is a new method that returns if a specific key is
stored in the session.
* NEW: Response.GetContentTypeFrom() is a new method that returns a MIME
type from a path.
* NEW: WebPage.ToString() is a new method that generates the webpage and
returns it as a string.
* NEW: Session.Keys is a new property that returns all keys used by the
Session collection.
[GB.XML]
* BUG: XMLElement.AppendFromText() now behaves correctly if no extra
arguments are given.
* BUG: XMLElement.FromText() now correctly catches parsing exceptions.
* BUG: The Boolean parameter 'Indent' of XMLDocument.ToString() is now
correctly interpreted.
* BUG: Serializing a comment that is a direct child of a document with
indentation enabled does not crash anymore.
* BUG: The Document.All property is now correctly declared as an XMLNode[]
* BUG: The XML DOM parser now correctly handles white spaces.
* BUG: Fix MacOSX compatibility.
* BUG: Fix MacOSX detection for GCC.
* BUG: Fix the Like-pattern matching of the
XmlElement.GetChildrenByAttributeValue() method.
* BUG: Fixed the XMLNode.Attributes enumeration.
* BUG: Fixed XMLExplorer taking the document itself as a node.
* NEW: Added a new Document property to XMLExplorer.
* NEW: Added the Name and Value properties to XMLReader.Node.Attributes and
XMLNode.Attributes, to get the name and value of the enumerated attribute.
* OPT: Rewrote internal exception handling.
[GB.XML.HTML]
* BUG: Serializing a comment that is a direct child of a document with
indentation enabled does not crash anymore.
* BUG: The HTML DOM parser now correctly handles white spaces.
* BUG: Now correctly uses the MacOSX fix when needed.
* BUG: Fix the implementation of HTMLDocument.GetElementById().
[GB.XML.RPC]
* BUG: 'miniServer' would give an out-of-bound with multiple parallel requests.
* BUG: 'miniServer' could crash on an invalid request.
[GB.XML.XSLT]
* BUG: Fixed internal error management.
* NEW: Added a new method XSLT.TransformToString() that returns a string
instead of an XML document.
All Gambas 3.x versions will be backward-compatible, i.e. a program written in Gambas 3.x version will be
able to run unchanged with any Gambas 3.y version, provided that
.
But the contrary is false! a program written with a specific
Gambas 3.x version will not run with an older version.
.
If everything was fine, type "gambas3" to run the development environment.