Hello folks,
It has been a while since the last PureBasic update, but it's now ready to roll ! It brings some important changes, but also a lot of new features:
The english documentation is up-to-date, and please check the new "Migration from and older PureBasic version" doc page to see all changes needed to update easily. This version introduce a new "import" resident file format, which uses an Import/EndImport block and create a file from it. It replaces the old ".pbl" format which is no more supported, and allow imported function arguments to be typed with pseudotype and more. We also published all the API imports file on the same SVN than the documention (available for all in read-only), so if you want to help to improve them (by putting the right type where needed, or changing the argument names to be more explicits) you can check out it and publish the patches: svn://svn.purebasic.fr/home/svn/Documentation/v5.40
This will be the last version supporting the ASCII mode, and will be maintained until 1 september 2017.
Have fun with PureBasic !
The Fantaisie Software Team
It has been a while since the last PureBasic update, but it's now ready to roll ! It brings some important changes, but also a lot of new features:
- - 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.
- - 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.10.2
- - Fixed Zip archive support
- - Fixed send mail and http request issues
- - The default GTK version is now GTK3 on Linux. A gtk2 subsystem has been added for backward compatibility.
- - The default string format for RunProgram() read/writestring is not UTF8 instead of Unicode
- - Changed the Cipher lib to be modular (now UseMD5Fingerprint() and such commands needs to be used)
- - Renamed ExamineFingerprint() to StartFingerprint()
- - Renamed NextFingerprint() to AddFingerprintBuffer()
- - Removed RemovePackFile()
- - Changed: the SendMail() 'Asynchronous' parameter has been replaced by the #PB_Mail_Asynchronous flag.
- - Removed: #PB_Packer_CompressedSize support for ZIP and 7z archives with PackerEntrySize()
- - Removed: AvailableScreenMemory()
- - Fixed: 'CONSTANTLIST' compiler interface, now string constants are returned as escaped strings.
- - 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.
The english documentation is up-to-date, and please check the new "Migration from and older PureBasic version" doc page to see all changes needed to update easily. This version introduce a new "import" resident file format, which uses an Import/EndImport block and create a file from it. It replaces the old ".pbl" format which is no more supported, and allow imported function arguments to be typed with pseudotype and more. We also published all the API imports file on the same SVN than the documention (available for all in read-only), so if you want to help to improve them (by putting the right type where needed, or changing the argument names to be more explicits) you can check out it and publish the patches: svn://svn.purebasic.fr/home/svn/Documentation/v5.40
This will be the last version supporting the ASCII mode, and will be maintained until 1 september 2017.
Have fun with PureBasic !
The Fantaisie Software Team