Page 1 of 6

PureBasic 4.50 Beta 4 released!

Posted: Thu Apr 01, 2010 12:08 am
by freak
Hello everybody!

... this is not an april fools joke... or is it? :P

We are proud to announce the first public beta of the upcoming PureBasic 4.50 release. As promised, the release cycle is much shorter than that of the 4.40 release which means that also the feature list is shorter. Nonetheless, some long requested features have been implemented in this release which we hope you will enjoy very much.

The most notable are:
  • Support for Array, List and Map in structures
    These can be nested as much as you want, so you can have a Map-in-List-in-List if you want to. There is no need to call NewList, NewMap or Dim on these elements. They are created as soon as the outer structure is created. Dim can of course still be used to change the size of a dynamic array. Arrays inside structures can only have one dimension for the moment.
    The debugger has full support for this too. Embedded Arrays, Lists or Maps can be easily viewed by right-clicking on them in the Variable Viewer.
  • Image Library changes
    We decided to abandon the support for images with depths below 24bit. Support for images with a palette was Windows-only anyway and had quite a number of bugs as well. The library now stores images internally only in 24bit or 32bit format which makes things a lot simpler. Images can still be loaded (and now also saved) at lower bit depth, so you can still work with them if you need to.
  • IDE Improvements
    The ability to select the used compiler in the compiler options allows to easily switch between different versions from the same IDE. It also allows to easily build and debug 32bit and 64bit applications from one IDE. Furthermore, some longer requested options like keyword sensitive indentation and indent guides have been added.
  • Debugger improvements
    There is a brand new 'Purifier' tool in the debugger. It adds special 'cookie' values around variables, strings and allocated memory blocks to detect when the program accidentally writes past its intended target buffer. As this requires support from the compiler, it has to be activated in the compiler options to be available in the debugger. It is described in detail here: http://www.purebasic.fr/blog/?p=237
    Furthermore, the already discussed network support and data breakpoints are now available.
  • Up to date documentation
    The english help file has already been updated with all documentation for these new features. The other languages will follow in the final release.
The feature list:

Code: Select all

PureBasic 4.50 Beta 1

- Added support for Array, List, Map inside structures
- Added CopyList(), CopyMap(), CopyArray() commands
- Added FreeList(), FreeMap(), FreeArray() commands
- Added CopyStructure() and InitializeStructure() commands
- Added volume support to PlaySournd()
- Changed: The Image library now keeps images only in 24bit or 32bit (loading and saving works with other bit depths)
- Added Depth parameter to SaveImages()  (default is the original depth when the image was loaded)
- Added ImageDepth() flag to get the original or current image depth
- Added #PB_Image_Transparent flag for CreateImage()
- Added 32bit support to TGA image decoder
- Added 32bit support to BMP image encoder
- Added RoundRect() command to the 2DDrawing library
- Added #PB_2DDrawing_AllChannels mode for DrawingMode() (modifies all channels without blending)
- Added image support for the ComboBoxGadget command (not supported for editable ComboBox on Mac OSX)
- Added AbortFTPFile()
- Added graphical console functions to linux
- Added large file support to File lib on Linux/OSX
- Added RandomData() command 
- Added CryptRandom(), CryptRandomData(), OpenCryptRandom(), CloseCryptRandom() commands
- Added many more Math functions: Exp(), ATan2(), Radian(), Degree(), [A]CosH(), [A]SinH(), [A]TanH(), IsNaN(), IsInfinity(), NaN(), Infinity()
- Added 'Debugger' Library to control some debugger actions from code

IDE/Debugger:
- Added Keyword underline for Break, Continue, ProcedureReturn
- Added StatusBar help for prototypes and interfaces
- Added Keyword sensitive indentation (block mode is still available)
- Added "Format indentation" option in the edit menu
- Added indentation guides and whitespace options
- Added the ability to select multiple compilers in the compiler options
- Added Purifier tool for the debugger
- Added full debugger compatibility between all OS and processors
- Added network debugging for the standalone debugger
- Added data breakpoints for the debugger
- Added maximize button to Variable-, Memory-, Library Viewer and Callstack
- Added support for structured items in the 'View Array/List/Map' tab of the Variable Viewer

- Changed: The Array, List or Map name in the Variable viewer should be entered with a "()" now to display their elements. 
           (It is automatically corrected if the () is missing)
As always thank you to everyone who helps test these beta versions and reports bugs. Have fun with this new version and tell us any problems that you have. As usual, this version can be downloaded on your personal account on http://www.purebasic.com/


Oh, and Happy Birthday Fred! :mrgreen:

Update: beta 4 is now online !

The PureBasic Team

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 12:11 am
by Fred
Thanks mate ;)

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 12:13 am
by Arctic Fox
An easter egg! Great! :D
Thanks for your excellent work!

And happy birthday Fred! :D

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 12:16 am
by Perkin
Nice one, thanks team.
Happy birthday Fred

It's my birthday today as well!
Best birthday present I've had.

Never had good ones, always joke presents.
(April Fool's Day)
Worst was a tea-bag off my sister, - Have a drink on me - wasn't even a nice brew!

Again
Thanks Team

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 12:17 am
by netmaestro
Some cool stuff indeed 8) Thanks for this!

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 12:28 am
by ts-soft
Imagethanks, good news

and happy birthday to fred Image

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 12:37 am
by Foz
H-h-h-h-holy Jamoley!

That is an impressive update - graphical console on Linux?!? Roguelike coming right up! Pity the 7 day Roguelike has just finished... still, I can practice for next year :mrgreen:

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 1:15 am
by netmaestro
Pls amend new features announcement for RoundRect(), it is actually RoundBox()

p.s. Love the new Format Indentation in the IDE! Simplifies coding a lot 8)

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 2:53 am
by nco2k
thanks and happy birthday fred. :)

c ya,
nco2k

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 4:04 am
by J. Baker
Hmm, didn't expect such a fast beta release, thanks! And Happy Birthday Fred and Perkin! ;)

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 5:21 am
by idle
Support for Array, List and Map in structures
that's great news thanks

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 6:02 am
by Kuron
Thank you, team!

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 8:33 am
by JCV
I received an rss news update from PB blog.

Thanks PB Team! 8)

Happy Bday Fred!

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 8:39 am
by #NULL
fred and perkin, happy birthday you two!
thanks for the release, this will be fun. thanks for the blogging too!

Re: PureBasic 4.50 Beta 1 released!

Posted: Thu Apr 01, 2010 9:15 am
by djes
Thank you! The cookie feature seems terrific!

And Happy Birthday Fred & Perkin :)