Seite 1 von 2

PureBasic 5.40 final is out !

Verfasst: 16.10.2015 15:32
von ts-soft
http://www.purebasic.fr/english/viewtop ... 32#p474532

Änderungen:

Code: Alles auswählen

- 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.10.2

- 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 not 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() 

Re: PureBasic 5.40 final is out !

Verfasst: 16.10.2015 19:29
von rolaf
Mann dankt, Frau auch. :allright:

Re: PureBasic 5.40 final is out !

Verfasst: 16.10.2015 19:39
von Falko
jenau :allright:

Re: PureBasic 5.40 final is out !

Verfasst: 16.10.2015 22:16
von GPI
Wer die Windows-64-Bit-Variante nutz, sollte sie nochmal downloaden, ansonsten schmiert die IDE bei jeden Requester ab.

Re: PureBasic 5.40 final is out !

Verfasst: 17.10.2015 11:10
von nicolaus
Danke!

Mal ne Frage, was bedeutet das LTS in "PureBasic 5.40 LTS full version for Windows "?


Grüße,
Nico

Re: PureBasic 5.40 final is out !

Verfasst: 17.10.2015 11:25
von Kurzer
Hi Nico,

LTS bedeutet "long term support", also Langzeitunterstützung bzw Support.

Das heißt, Du wirst für 2 Jahre die 5.40 Version herunterladen können, ohne dass dort neue (oder gar entfernte/veränderte) Befehle implementiert worden sind. In eine LTS Version fließen nur die reinen Fehlerkorrekturen der nachfolgenden Versionen (also 5.41, 5.42 usw.), nicht aber neue features oder entfernte Funktionen.

Du kannst also sicher sein, dass Dein Quellcode, der mit einer 5.40 läuft, auch mit einer der folgenden 5.40 LTS updates laufen wird, auch wenn es im Laufe der folgenden nicht-LTS Versionen (5.41, 5.42...) plötzlich Änderungen in der Befehlssyntax geben sollte.


Fred hat das 2013 in seinem Blog auch schon mal gepostst:
LTS
Posted by Fred – November 7, 2013
Since PureBasic 5.20, we introduced a new LTS suffix after the version name. Some of you wondered what it means, and what was the purpose of it. Basically, a LTS (Long Term Support) version will be supported for 2 years trough bug fixes release without any command or compiler modification. If you need stability in your development, you can choose to stick to an LTS version and then when the support is over go to the next one. We will provide clear migration path when going from one LTS version to another one. The advantage here is you don’t have to worry about code adpation when developping and still have stabilisation releases to have a rock solid development enviromnent. The disadvantage is you don’t get the new features of new major release until the next LTS version is out. That’s a balance to find and a decision to make, but now the choice is yours !
PS: Vielen Dank an das PB-Team für dieses schöne neue Release! :allright:

Re: PureBasic 5.40 final is out !

Verfasst: 17.10.2015 11:45
von ts-soft
@Kurzer
Naja, ist Mißverständlich!

Versionen wie 5.41, 5.42 usw. sind Bugfixes für die LTS Version und somit auch LTS-Versionen!
Das bedeutet, das alle 5.4x Versionen LTS-Versionen sind und keinerlei Änderungen in Bezug auf
Syntax und Sprachumfang enthalten.

Die nächste Nicht-LTS Version wird also mind. Version 5.5x sein, die dann auch keine ASCII-Compilierung
mehr ermöglicht.

Gruß
Thomas

Re: PureBasic 5.40 final is out !

Verfasst: 17.10.2015 11:51
von Kurzer
ts-soft hat geschrieben:@Kurzer
Naja, ist Mißverständlich!
Ich bin da ehrlich. Das war wohl doch eher falsch, statt missverständlich. :shock:
Bis dato wusste ich es nicht besser, danke für die Klarstellung.

Re: PureBasic 5.40 final is out !

Verfasst: 17.10.2015 14:41
von IronEagle
Sehr cool :)

Vielen Dank Fred & Co :allright:

Re: PureBasic 5.40 final is out !

Verfasst: 19.10.2015 17:12
von TroaX
Hmmm ich frage mich, wann die Mainpage aktualisiert wird. o.O