Gambas 3.0.0
What's new
At least, here is
Gambas 3!
There were many many last minute changes since the last release candidate,
but I like being near the danger. :-)
A few noticeable points:
-
The special mathematical functions of glibc are correctly detected and used now.
-
Floating point numbers should be printed in a better way.
-
French, Czech and Catalan translations were updated.
And two security holes were closed:
-
String hashing algorithm has been randomized. See that document for the details.
-
In the IDE, you cannot get the project version by running a program (what a stupid idea!). Now you get it from a text file located in a parent directory of the project.
As usual, please report any compilation and packaging problem on the mailing-list!
Thanks in advance.
ChangeLog
[CONFIGURATION]
* BUG: Correctly detect libc mathematical functions.
* NEW: Use the "get version from file" option everywhere.
* NEW: Update copyrights.
[DEVELOPMENT ENVIRONMENT]
* BUG: The "Browse again" button in the search list now does nothing if
there is no search string defined.
* BUG: Fix connection renaming.
* BUG: Fix report border dialog synchronisation detection.
* BUG: Copying button is enabled now in the SQL editor.
* BUG: Don't crash when changing the Count value of a MultiContainer
control.
* BUG: Remove the "get version from program" feature, that was a big
security risk!
* BUG: When the "get version from file" option is checked, get the version
as soon as the program is compiled.
* BUG: Fix property sheet error message position.
* BUG: Changing the X or Y property of a form does nothing visually.
* NEW: Some little look changes.
* NEW: A button to show or hide the system tables in the database editor.
* NEW: SQL highlighting.
* NEW: Database properties now can be edited even if there is no connection
property defined in the form.
* NEW: Add a "get version from file" option, that automatically gets the
version from a file named "VERSION" that must be located in a parent
directory.
* NEW: Update Catalan translation.
* NEW: Update Czech translation.
* NEW: Nice symbolic background for workspace, form editor and icon editor.
[WIKI CGI SCRIPT]
* NEW: Update Czech translation.
* NEW: Updated Catalan translation.
[WEB SITE MAKER]
* NEW: Update Czech translation.
* NEW: Update Czech translation.
* NEW: Changes for Gambas 3 release.
[EXAMPLES]
* BUG: Fix the main dialog layout.
* NEW: Update Czech translations for all examples.
* NEW: Rewrite the OnScreenDisplay example with the Paint class.
* NEW: Updated Catalan translations.
* NEW: New report example.
[INTERPRETER]
* BUG: Calling native methods on an anonymous reference now correctly casts
the return value to a Variant.
* BUG: Remove all Array class methods that break the inheritance rules.
* BUG: No more than 15 digits for Floating point values.
* BUG: The number of digits in default floating point formats was too high
for the available precision.
* BUG: Floating point to string conversion fix.
* BUG: Fix support for Single constants.
* NEW: Object[].FindByRef and Object[].ExistByRef are two new methods that
do not take the _compare special method into account. They compare
objects by reference only.
* NEW: Put a condom on our string hash routine. You can call it hash
randomization if you prefer.
[GB.DB.FORM]
* BUG: Fix DataBrowser layout for all orientations.
* NEW: Update in Czech translation.
* NEW: DataBrowser.Border is a new property to define if a border should be
displayed or not.
* NEW: Updated Catalan translation.
[GB.DB.FORM.MDI]
* NEW: Updated Catalan translation.
[GB.DB.MYSQL]
* BUG: Try to make connection timeout work as expected, without success.
It seems sticked to be at least one minute. :-(
[GB.DB.POSTGRESQL]
* BUG: Fix bad schema request (see issue #168).
[GB.DBUS]
* BUG: Do not use ffprinf(), it is useless.
[GB.DESKTOP]
* NEW: Desktop.Open() now interprets "~" as the home directory.
[GB.EVAL.HIGHLIGHT]
* NEW: SQL highlighting routine.
[GB.FORM]
* BUG: Fix borderless TabPanel.
* BUG: The SidePanel separator is now visible in all orientations.
* BUG: IconView now behaves correctly when an item has no text. It uses
there new array methods that search items by reference only.
* BUG: TabPanel.Remove() now works correctly.
* BUG: Fix TabPanel layout when adding a new tab.
* BUG: Remove the useless _TabPanelContainer.Container property.
* BUG: Fix an arrangement bug in TabPanel.
* BUG: TabPanel now should not crash if there is no tab visible.
* BUG: The first visible TabPanel button is now drawn correctly if its
index is not zero.
* BUG: Fix a crash when decreasing the Count property.
* BUG: The DirView root picture is correctly initialized.
* NEW: Update in Czech translation.
* NEW: TabPanel tabs now have a Visible property.
* NEW: TabPanel.Highlight is a new property that makes the current tab more
visible by using a darker background for the other tabs.
* NEW: TabPanel.Closable is a new property that works exactly like
TabStrip.Closable.
* NEW: ScrollArea is more clever with mouse wheel events.
[GB.FORM.DIALOG]
* BUG: Dialog.OpenFile() does not return anymore when no file is selected.
[GB.FORM.MDI]
* NEW: Update in Czech translation.
* NEW: Workspace now uses a TabPanel instead of a TabStrip.
* NEW: Add a Workspace.Border property to set if the Workspace has a border
or not.
* NEW: Workspace.Picture is a new property that allows to define a tile
picture that will be drawn in the workspace background when it has no
windows.
[GB.GTK]
* BUG: Settings the width and height of a top-level window indepently now
works as expected.
* BUG: Cached DrawingArea Background color now works correctly.
* BUG: Fix a GTK+ warning in Draw.Style.Arrow().
* BUG: Client properties now work correctly for containers that inherit
UserContainer.
* BUG: Found a workaround for the "bug" in gtk-oxygen style that sets
the border of TreeView controls without being asked.
* BUG: Fix initial position of windows so that window manager constraints
are not overrided.
* BUG: Setting a control to a null size now make the container arrange its
children.
[GB.QT4]
* BUG: Fix cached DrawingArea resizing.
* BUG: Separator now really uses the Color.LightBackground color.
* BUG: Cached DrawingArea Background color now works correctly.
* BUG: Now changing Panel.Border correctly arranges the control.
[GB.QT4.EXT]
* BUG: Braces are now highlighted even if they are not on the same line.
* NEW: Editor.HighlightCurrent flag has been renamed HighlightImmediately.
* NEW: Editor.HideMargin is a new flag to hide the editor left margin.
[GB.REPORT]
* BUG: Correct a shame bug that block all reports.
* BUG: Make the report refresh really reset all values and clear
all computed pages.
* BUG: Fix a bug on the fixed elements calculation (int/float again)
* BUG: Allow really the multiple recursions of containers. Take the current
repeat state into account.
* BUG: Remove a really stupid bug. Now all seems to work fine.
* BUG: Use the current painting Resolution to calculate the size of a text.
* BUG: Finalize the change between StrechMode and Strech property name.
* NEW: Update in Czech translation..
* NEW: Property OnePiece that tells the container to change page if it is
taller than the remaining space.
* NEW: Updated Catalan translation.
* NEW: Rename StretchMode property as just Stretch.
* NEW: Move the Stretch property constants to the Report class.
* OPT: Allow recursive containers calls.
* OPT: Some cleanup and adding the index to the current layout objet
in Horizontal, column, full, and none arrangement.
* OPT: Make a demo for recurssive calls.
* OPT: Do not export Paint Class and mask a variable into Report Class.
[GB.SETTINGS]
* BUG: Fix the use of Array class.
Requirements
To compile Gambas, you must install the following libraries on your system :
Component
|
Requirements
|
Compilation
|
gcc g++ automake autoconf libtool > 2.0
|
Interpreter
|
libffi
|
gb.compress.bzlib2
|
libbz2.so
|
gb.compress.zlib
|
libz.so
|
gb.cairo
|
cairo
|
gb.crypt
|
libcrypt.so
|
gb.db.mysql
|
libmysqlclient.so , libz.so
|
gb.db.odbc
|
libodbc.so
|
gb.db.postgresql
|
libpq.so
|
gb.db.sqlite2
|
libsqlite.so
|
gb.db.sqlite3
|
libsqlite3.so
|
gb.desktop
|
libXtst.so
|
gb.gtk
|
All GTK+ libraries >= 2.10 librsvg2.so cairo
|
gb.image.io
|
gdk-pixbuf
|
gb.image.imlib
|
imlib
|
gb.net.curl
|
libcurl.so
|
gb.opengl gb.opengl.glsl
|
libGL.so , libGLEW.so
|
gb.opengl.glu
|
libGLU.so
|
gb.pcre
|
libpcre.so
|
gb.pdf
|
libpoppler.so
|
gb.qt4 gb.qt4.ext gb.qt4.opengl gb.qt4.webkit
|
All qt 4 libraries >= Qt 4.5
|
gb.sdl
|
libSDL.so , libSDL_ttf.so , libGL.so , libGLEW.so
|
gb.sdl.sound
|
libSDL.so , libSDL_mixer.so
|
gb.v4l
|
libjpeg.so , libpng.so ,Video4Linux >= 2.0
|
gb.xml
|
libxml-2.0
|
gb.xml.xslt
|
libxslt
|
And do not forget to install all related development packages!
Try to always use a recent version of these libraries.
In order to compile the development environment, you have to compile the following components:
You must have the right to write to
/tmp
, otherwise Gambas will not work.
This package was done with the following versions of GNU tools on Ubuntu 10.10:
-
automake
1.11.1
-
autoconf
2.67
-
libtool
2.2.6b
Compilation & Installation
Check installation
First, check that you installed all the needed libraries, and
especially all the development packages.
Do not forget to look at the
Compilation & Installation page. Maybe you will find important information specific to your distribution.
Source package configuration
When you are sure that everything is installed, type the following
magic sentences in a shell.
'$'
represents your shell prompt, and '...'
are the
messages printed during the configuration and compilation.
First, type that to create the configuration scripts.
Then type that to analyze the current system and configure the package:
If a library or a development package is missing, then you will be
warned that some components are disabled.
There are more 'configure' specific explanations in the INSTALL
file located in the top-level source directory.
I invite you to read them.
Compilation
If everything is configured without error, then run this command to compile the program:
Installation
If everything compiles without error, then enter this command to install everything:
You must be root
to install Gambas on your system.
$ su -c "make install"
Password: <Type the root password here>
...
or
$ sudo make install
Password: <Type your password here>
...
Troubleshooting
If you did several successive compilations, after having updated the source from the subversion
repository for example, and if something fails during
all this process, you can try to "reconfigure" the configuration scripts by typing the following command:
Then you can run
./configure -C
again
If it does not work, I need to know what happened exactly.
To do so, type the following command :
$ ( ./configure -C; make; make install ) > output.txt 2>&1
And send me the file "output.txt" by mail, with every other
detail about your computer and your distribution you find
useful.
Running Gambas
If everything was fine, type "gambas3" to run the development environment.
Enjoy it !
See also