Page 1 of 4

PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 2:26 pm
by Fred
Hi all,

The new version of PureBasic is finally out ! Thank you all for your testing, and I would like to welcome 3 new contributors which helped a lot for this release:

- Vera, who helps on the doc
- bbanelli, who helps on the GTK imports in the Linux version of PureBasic
- wilbert, who helps on Cocoa imports in the OS X version of PureBasic

This is a LTS version (Long Term Support), which will be supported for bug fixes for 2 years, until october 2017. The previous LTS (5.24) is now deprecated and won't receive any new fixes.

Here is the final list of changes:

Code: Select all

- Added: new Vector 2D library 
- Added: new CGI library with standard and FastCGI support 
- Added: Literal string escape support with the '~' operator (ex: a$ = ~"Hello\nWorld\n") 
- Added: EscapeString()/UnescapeString() function to allow escaping operation on any strings (variables etc.) 
- Added: EnumerationBinary to create bitmask enumeration automatically 
- Added: database parameter binding to ease request construction 
- Added: SetDatabaseBlob(), SetDatabaseFloat(), SetDatabaseDouble(), SetDatabaseLong() 
- Added: SetDatabaseQuad(), SetDatabaseString(), SetDatabaseNull() 
- Added: SHA2 and SHA3 (224/256/384/512-bit) support to Cipher library 
- Added: StringFingerprint() 
- Added: CRC32 support for StartFingerprint() 
- Added: ReceiveHTTPMemory(), IsJoint() 
- Added: RefreshDialog() to recalc dimension after a text change or similar 
- Added: "group" XML attribute for 'option' dialog gadget, to specify explicitly a group 
- Added: HTTPS and simple auth support for ReceiveHTTPFile() and GetHTTPHeaders() 
- Added: Auto redirect support for ReceiveHTTPFile() and ReceiveHTTPMemory() 
- Added: ASynchronous mode for ReceiveHTTPFile() and ReceiveHTTPMemory() 
- Added: HTTPProgress(), AbortHTTP() and FinishHTTP() to control async mode 
- Added: HTTPS/TLS support for SendMail() 
- Added: FlushPreferenceBuffers() 
- Added: CopyDebugOutput() to copy the debug output to the clipboard from code 
- Added: 7z archive creation 
- Added: tar (gz and bzip2) archive support for creation and decompression 
- Added: Full path in IDE recent files menu 
- Added: #PB_ProgressBar_Unknown for SetGadgetState() to indicate unknown progress 
- Added: #PB_UTF8/Ascii/Unicode support to ReadCharacter() and WriteCharacter() 
- Added: #PB_UTF8 support to URLEncoder() and URLDecoder (now the default mode) 
- Added: Windows 8.1/10 and OS X 10.9/10/11 support to OSVersion() 
- Added: #PB_Editor_xxx constants when using the 'Version' info on Windows 
- Added: #PB_Program_Ascii/Unicode/UTF8 support to RunProgram() 
- Added: linux/osx style flags for the commandline compiler on Windows to ease cross-platform scripts 
- Added: #PB_File_SharedWrite support to ReadFile() and CreateFile() 
- Added: 'IMPORTLIST' compiler interface to get all the predefined API functions 
- Added: #Null$ special string constant to affect a real null value to a string (to free it completely). It can be used as well for API function which sometimes accept NULL instead of a string address. 
- Added: #Empty$ constant 
- Added: #PB_ByteLength support to MemoryStringLength() 
- Added: #PB_Ascii, #PB_UTF8 and #PB_Unicode support to Create/Open/ReadFile() to set the default write/read mode 
- Added: #PB_ByteLength flag for PeekS() and #PB_UTF8 (only) 
- Added: CreateCone(), CameraCustomParameter(), ResizeCamera() 
- Added: #PB_Entity_DisableContactResponse and #PB_Entity_EnableContactResponse for SetEntityAttribute() 
- Added: #PB_Entity_ConeBody, #PB_Entity_PlaneBody 
- Added: FreeEntityBody(), FreeTerrainBody() 
- Added: ApplyEntityTorque(), ApplyEntityTorqueImpulse() 
- Added: Added 'CollisionGroup' and 'CollisionMask' parameter for RayCollide() 
- Added: Migration help page, to have a step by step migration guide between old on new PureBasic. 
- Added: User guide in german (thanks to Andre and Vera) 

- Updated: the Linux printer lib to use native GtkPrint instead of GnomePrint 
- Updated: the Windows compiler to VC++ 2013 for better code generation 
- Updated: SQLite to 3.8.11.1 

- Fixed: Zip archive support 
- Fixed: send mail and http request issues 
- Fixed: 'CONSTANTLIST' compiler interface, now string constants are returned as escaped strings. 

- Changed: The default GTK version is now GTK3 on Linux. A gtk2 subsystem has been added for backward compatibility. 
- Changed: The default string format for RunProgram() read/writestring is now UTF8 instead of Unicode 
- Changed: the Cipher lib to be modular (now UseMD5Fingerprint() and such commands needs to be used) 
- Changed: ExamineFingerprint() to StartFingerprint() 
- Changed: NextFingerprint() to AddFingerprintBuffer() 
- Changed: EntityPhysicBody() to CreateEntityBody() 
- Changed: TerrainPhysicBody() to CreateTerrainBody() 
- Changed: the SendMail() 'Asynchronous' parameter has been replaced by the #PB_Mail_Asynchronous flag. 
- Changed: DLLImporter has been removed and .pbl files are no more supported. New 'import library' files can be created using the '/IMPORT' switch of the pbcompiler. 

- Removed: RemovePackFile() 
- Removed: #PB_Packer_CompressedSize support for ZIP and 7z archives with PackerEntrySize() 
- Removed: AvailableScreenMemory() 
It's quite a lot of stuff, and we really pleased to improve PureBasic further ! You can get it right now on your online account :)

Have fun,

The Fantaisie Software Team

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 2:33 pm
by SparrowhawkMMU
Thank you PB team :)

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 2:33 pm
by RSBasic
Thank you very much! :)

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 2:37 pm
by ts-soft
Thank you!

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 2:40 pm
by Little John
Very cool! 8)
Many thanks to the PB team. Image

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 2:41 pm
by Oma
Thank you very much for the hard work and the result!

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 3:08 pm
by HanPBF
Keep on with Your great work!
Thanks a lot!

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 3:33 pm
by skywalk
Great job!
and SQLite Version = 3.8.11.1 :)

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 3:36 pm
by davido
@PB Team,
Excellent, Thank you very much for all the hard work and extensive bug squashing! :D

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 3:58 pm
by Psychophanta
Thanks to all contributors, i love you all :D :!: 8)

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 4:15 pm
by akee
Thanks PB Team! :D

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 4:30 pm
by Otrebor
Thanks PB Team! :)

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 4:45 pm
by majikeyric
Thanks to all contributors ! :D

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 4:51 pm
by kenmo
Thank you! :!: Downloading now.

Re: PureBasic 5.40 LTS final is out !

Posted: Fri Oct 16, 2015 5:43 pm
by netmaestro
- Changed: The default string format for RunProgram() read/writestring is not UTF8 instead of Unicode
Ok, so it's not UTF8 and it's not unicode. Is there a hint as to what it might be? Or should "not UTF8" actually read "now UTF8" which would make more sense.