Category Archives: Releases

Announcement of new PureBasic releases

PureBasic 4.31 beta1 released

A new PureBasic release has entered the beta stage. This is a bugfix-only release, there are no new features. The purpose of this release is to give those that only switch to newer releases once the beta-period is over a stable base to work with while the v4.40 release is going through the alpha and beta stages. We tried to focus on the major bugs in the 4.30 release and skip minor issues. Note that some even bigger bugs could not be resolved without major changes to the code and so we postponed these to the next release as well.

You can download it as usual on your user account.

Note: Since there are no new features and we want to get our focus back on the v4.40 release soon, this beta-period will be very short (maybe only one beta release). So if you reported bugs that are now marked as fixed, please test soon to verify that things work as they should now.

The v4.40 release is still a bit away, but we are working very hard on it. The list of new things is quite long again and we still need to work a few things out. Stay tuned.

PureBasic 4.30 final is out

It is now official. PureBasic 4.30 has reach the final status. It is available for download for all registered users on their personal download account on http://www.purebasic.com/ .

The list of new features is quite impressive:

16th December 2008 : Version 4.30

- Added: Full 64 bits version of PureBasic (Windows)
- Added: MacOS X x86 support
- Added: 'JPEG 2000' library
- Added: 'Node' library
- Added: 'Gadget3D' library
- Added: 'Window3D' library
- Added: 'Sound3D' library
- Added: Full unicode support to the engine3d
- Added: MacOS X support for engine3d
- Added: Absolute/relative rotation for all engine3d rotate commands
- Added: Absolute move for engine3d physic body
- Added: EntityID(), EntityLookAt()
- Added: CameraProjectionX(), CameraProjectionY(), WorldDebug(), Sun()
- Added: MousePick(), PointPick(), PickX/Y/Z(), CreateWater(), AntialiasingMode()
- Added: CatchModule(), ArraySize(), WindowBounds(), DesktopX(), DesktopY()
- Added: FinishDatabaseQuery(), DatabaseID()
- Added: CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore()
- Added: '.i' native type for 32/64 bits integer size
- Added: Read/WriteInteger(), Read/WritePreferenceInteger(), PeekI(), PokeI()
- Added: Language support for compiler and debugger
- Added: Style parameter to FontRequester()
- Added: Support for 'And/Or' in CompilerIf statements
- Added: #PB_Event_MinimizeWindow, #PB_Event_MaximizeWindow, #PB_Event_RestoreWindow
- Added: #PB_Ignore support to AddStatusBarField()
- Added: #PB_Explorer_DisplayMode to ExplorerListGadget()
- Added: Multiple joystick support
- Added: #PB_Compiler_FilePath compiler constant 

- Enhanced: Major rework of OnError library (crossplatform)
- Enhanced: InitScintilla(), parameter is now optional
- Enhanced: Complete debugger rewrite for support of the new platforms 

- Optimized: XML library to handle very big files quickly
- Optimized: LinkedList library to use memory efficiently 

- Changed: 'Read' keyword now requiers a type (Read.l, Read.q etc.) to avoid 64 bits migration problems
- Changed: CountList() to ListSize()
- Changed: ClearGadgetItemList() to ClearGadgetItems()
- Changed: CameraProjection() to CameraProjectionMode()
- Changed: AddElement() and such now return a pointer to the start of data
- Changed: ComboBoxGadget() height is now the real gadget height
- Changed: #Long, #Byte, #Word etc. to #PB_Long, #PB_Byte, #PB_Word etc. for consistency
- Changed: RotateEntity(), RotateCamera() and RotateBillboard() x,y rotation axis
- Changed: CameraFOV() angle from radian to degree
- Changed: Array and list parameter now requiers the 'List' or 'Array' keyword 

- Removed: StrQ(), HexQ(), BinQ(), ValQ()
- Removed: ChangeListIconDisplay(), replaced by a gadget attribute
- Removed: ButtonImageGadget() backward compatibility
- Removed: CreateGadgetList(), now automatically done in OpenWindow()
- Removed: CopyTexture(), TextureOutput()
- Removed: Removed CPU monitor from the IDE, as all OS provide the same functionality
- Fixed: DX9 subsystem on Windows
- Fixed: Many compiler and libraries related bugs

Have a lot of fun with this new version!