Geschichte

 Auf dieser Seite können Sie die die Änderungen und Erweiterungen der

 einzelnen PureBasic-Versionen in der jüngeren Vergangenheit nachlesen.

 

Inhalte der einzelnen PureBasic-Updates bzw. neuen Versionen:

24. Juni 2022 : Version 6.00 LTS

- Hinzugefügt: Apple M1 Support !
- Hinzugefügt: Raspberry Support (32-Bit und 64-Bit) !
- Hinzugefügt: ein neuer C-Backend-Compiler für alle PureBasic-Versionen
- Hinzugefügt: #PB_Compiler_Backend, #PB_Backend_C und #PB_Backend_Asm Compiler-Konstanten
- Hinzugefügt: #PB_Compiler_64Bit und #PB_Compiler_32Bit Compiler-Konstanten
- Hinzugefügt: #PB_Compiler_Optimizer Konstante - welche auf #True gesetzt ist, wenn der Optimizer eingeschaltet ist
- Hinzugefügt: Support für Windows 11, OS X 11 und 12 bei OSVersion()
- Hinzugefügt: /OPTIMIZER, -z, --optimizer Flag bei Nutzung der Kommandozeile, und eine 'Code-Optimizer verwenden' Checkbox in den IDE 'Compiler-Optionen', um die C Optimierungen einzuschalten
- Hinzugefügt: WebGadget() Support für GTK3 auf Linux
- Hinzugefügt: CreateShader(), CreateShaderMaterial(), MaterialShaderAutoParameter(), MaterialShaderParameter(), MaterialShaderTexture()
- Hinzugefügt: optionaler Parameter bei MeshFace() zum Erstellen eines Vierecks (Quads)
- Hinzugefügt: optionaler Gravitationskraftvektor bei WorldGravity()
- Hinzugefügt: optionaler PositionsModus bei ApplyEntityForce()
- Hinzugefügt: GetEntityMesh(), CreateCubicTexture(), CreateAnimatedMaterial()
- Hinzugefügt: neuer Modus bei CreateDataMesh(): #PB_Mesh_DiagonalShortestLength, #PB_Mesh_DiagonalClosestNormal, #PB_Mesh_DiagonalAlternate, #PB_Mesh_DiagonalRegular1, #PB_Mesh_DiagonalRegular2
- Hinzugefügt: neue Strukturen: Vector3, Vector4
- Hinzugefügt: vordefinierte Shader: #PB_Material_ColorShader, #PB_Material_PerpixelShader, #PB_Material_BumpShader, #PB_Material_SkyShader, #PB_Material_WaterShader, #PB_Material_WaterShaderRTT, #PB_Material_OceanShader, #PB_Material_PointSpriteSphereShader
- Hinzugefügt: neue Modi bei SetMaterialAttribute(): #PB_Material_PointSprite, #PB_Material_DepthBias
- Hinzugefügt: neuer optionaler 'Farbe' Parameter bei CreateMaterial()
- Hinzugefügt: neuer optionaler 'Glanzfarbe' Parameter bei MaterialShininess()
- Hinzugefügt: neue optionale 'v' und 'w' Parameter bei MeshVertexTextureCoordinate()
- Hinzugefügt: neuer optionaler 'Lod' Parameter bei CreateCamera()
- Hinzugefügt: neue Modi bei AddMaterialLayer(): #PB_Material_ModulateX2, #PB_Material_ModulateX4, #PB_Material_AddSigned, #PB_Material_Substract, #PB_Material_BlendDiffuseAlpha, #PB_Material_BlendCurrentAlpha
- Hinzugefügt: Neue kontextbezogene Konstantenanzeige für Auto-Complete in der IDE (Fr34k - https://github.com/fantaisie-software/purebasic/pull/183)
- Hinzugefügt: 3 neue Trigger für benutzerdefinierte Werkzeuge in der IDE: "Datei öffnen - nicht-PB Binärdatei", "Datei öffnen - nicht-PB Textdatei", "Datei öffnen - mit spezieller Dateiendung" (HeX0R101 - https://github.com/fantaisie-software/purebasic/pull/195)
- Hinzugefügt: Neues 'Ersetzen' Tastenkürzel (CTRL+H) in der IDE, welches den Finden-Dialog mit aktiviertem Ersetzen-Modus öffnet (ChrisRfr - https://github.com/fantaisie-software/purebasic/pull/184)
- Hinzugefügt: Backface-Culling beim Sprite-OpenGL-Subsystem, um schneller zu sein und mit DirectX9/11 übereinzustimmen
- Hinzugefügt: automatische DPI-Unterstützung für die Menu und ToolBar Bibliotheken (Windows)

- Aktualisiert: SetMaterialColor() kann jetzt mittels '|' mehrere Farbtypen auf einmal nutzen
- Aktualisiert: fasm, polink, polib und porc auf die neuesten Versionen (Windows)
- Aktualisiert: Movie Bibliothek auf OS X aktualisiert zwecks Unterstützung moderner OS X Versionen
- Aktualisiert: SQLite auf 3.38.2
- Aktualisiert: zlib auf 1.12.12
- Aktualisiert: libpq (PostgreSQL) auf 14.2
- Aktualisiert: der Standalone-Debugger ist jetzt DPI-fähig (Windows)

- Repariert: die IDE für hohe Auflösungen 'High-DPI' (Windows)

- Geändert: umbenannte Strukturen PB_MeshFace -> MeshFace und PB_MeshVertex -> MeshVertex
- Geändert: der Name des /EXE Kommandozeilen-Flags in /OUTPUT um kohärenter zu sein (das alte Kürzel funktioniert noch für die Rückwärtskompatibilität, ist aber nicht mehr dokumentiert)
- Geändert: die kurze Version von /CONSTANT von '-o' in '-co' da '-o' jetzt für /OUTPUT genutzt wird
- Geändert: die Art und Weise, wie die Map-Elemente erstellt werden, wenn passiver Syntax verwendet wird, um konsistenter zu sein
- Geändert: OGRE unterstützt jetzt nur noch OpenGL, was die Portierung auf Linux/OSX erleichtert und es erlaubt, sich nur auf GLSL für Shader zu konzentrieren
- Geändert: Das Standard-Subsystem für Screen/Sprite ist jetzt OpenGL unter Windows für mehr Konsistenz. DirectX9 ist weiterhin als Subsystem verfügbar.
- Changed: die Movie Bibliothek auf Raspberry zwecks Verwendung von libVLC, da xine darauf nicht funktioniert
- Changed: die Mouse Bibliothek auf Windows zwecks Verwendung von RawInput anstelle von DirectX, um High-DPI Mäuse zu unterstützen
- Changed: InitNetwork() wird nicht mehr benötigt, um Netzwerkfunktionen zu verwenden (veraltet)

- Entfernt: x86 Version von PureBasic für OS X, da sie seit OS X Catalina nicht mehr unterstützt wurde (das älteste unterstützte OS X ist jetzt 10.10 - veröffentlicht in 2014).
- Entfernt: die 'Help' Bibliothek auf Linux
- Entfernt: Nvidia CG Support für OGRE, da es von Nvidia seit einiger Zeit nicht mehr unterstützt wird
- Entfernt: ToolBarStandardButton(), da es keine hohe Auflösung ('High-DPI') unterstützt und sehr schlecht aussieht

23. November 2020 : Version 5.73 LTS

- Hinzugefügt: #PB_HTTP_WeakSSL bei HTTRequest() um ältere Server zu unterstützen
- Hinzugefügt: #PB_HTTP_Debug zum Ausgeben von Debug-Informationen in der Konsole
- Hinzugefügt: Neue Einrückungs-Option (Shardik): link
- Hinzugefügt: Option zum automatischen Umbruch der Suche am Dateiende (kenmo) link
- Hinzugefügt: Neue Editor-Tastenkürzel (Groß-/Kleinschreibung und deren Umkehrung)(kenmo) link

- Aktualisiert: SQLite auf Version 3.33.0

- Repariert: Auto-Vervollständigung auf Linux (mk-soft) link
- Repariert: IDE-Absturz auf MacOS mit TouchBar (mk-soft) link
- Repariert: Einige Bugs im Compiler und den Bibliotheken

30. März 2020 : Version 5.72 LTS

- Hinzugefügt: #PB_HTTP_Headers zu HTTPInfo(), um die Kopfzeilen (Header) zu erhalten
- Hinzugefügt: #PB_HTTP_HeadersOnly zu HTTPRequest(), um nur die Kopfzeilen anzufordern (GetHTTPHeaders() ist jetzt veraltet)
- Hinzugefügt: Scintilla Wortzeichen-Auswahl als Benutzereinstellung in der IDE (kenmo) Link
- Hinzugefügt: Zoom-Tastaturkürzel in der IDE (kenmo) Link
- Hinzugefügt: Neue Editor-Tastenkürzel-Funktionen in der IDE (kenmo) Link
- Hinzugefügt: Memview (idle) Link

- Geändert: PostEvent() gibt jetzt ein Ergebnis zurück, da es in einigen extremen Fällen fehlschlagen kann.
- Geändert: Sign() gibt jetzt eine Ganzzahl anstelle einer Fließkommazahl zurück.
- Geändert: Auf MS Windows wurde der Standard-Zeichensatz von MS Shell Dlg in Segoe UI Größe 9 geändert.

- Aktualisiert: OpenJPEG Bibliothek auf Version 2.3.1
- Aktualisiert: PCRE Bibliothek auf Version 8.44
- Aktualisiert: libpng auf Version 1.6.37
- Aktualisiert: libjpeg auf Version 9d
- Aktualisiert: libtiff auf Version 4.1.0
- Aktualisiert: expat auf Version 2.2.9
- Aktualisiert: libflac auf Version 1.3.3
- Aktualisiert: libogg auf Version 1.3.4
- Aktualisiert: libvorbis auf Version 1.3.6
- Aktualisiert: sqlite auf Version 3.31.1
- Aktualisiert: curl auf Version 7.68.0

- Repariert: 'Vorheriges suchen' Einfrieren der IDE (kenmo) Link
- Repariert: Drag'n'Drop Position von Gadgets im FormDesigner (ChrisR) Link
- Repariert: Fehler beim erneuten Aktivieren von Schaltflächen im Fenster 'Suchen in Dateien' in der IDE (Sicro) Link
- Repariert: Anzeige-Fehler im Fenster '#WINDOW_Form_Parent' des FormDesigners (Sicro) Link
- Repariert: Viele Verbesserungen an der Dokumentation (Andre und Mesa)
- Repariert: Einige Bugs im Compiler und den Bibliotheken

16. August 2019 : Version 5.71 LTS

- Repariert: Einige Bugs im Compiler und den Bibliotheken

2. Januar 2019 : Version 5.70 LTS

- Hinzugefügt: Brandneues QT Subsystem für Linux
- Hinzugefügt: HTTPRequest(), HTTPRequestMemory() (gesponsert von c-wayne)
- Hinzugefügt: UseMySQLDatabase() (gesponsert von Paul)
- Hinzugefügt: Unterstützung für DPI-Erkennung bei Windows-Programmen
- Hinzugefügt: #PS, #NPS, #PS$ and #NPS$ Konstanten (Pfadtrennzeichen abhängig vom Betriebssystem)
- Hinzugefügt: #PB_JSON_NoClear Unterstützung bei ExtractJSONStructure
- Hinzugefügt: #PB_Path_Winding Füllmodus beim VectorDrawing
- Hinzugefügt: DesktopResolutionX(), DesktopResolutionY(), DesktopScaledX(), DesktopScaledY(), DesktopUnscaledX(), DesktopUnscaledY()
- Hinzugefügt: ein optionaler 'Modus' Parameter für OpenConsole()
- Hinzugefügt: MaterialTextureAliases()
- Hinzugefügt: #PB_Vehicle_IsInContact, #PB_Vehicle_ContactPointX/Y/Z für GetVehicleAttribute()
- Hinzugefügt: #PB_Vehicle_ContactPointNormalX/Y/Z für GetVehicleAttribute()
- Hinzugefügt: #PB_Vehicle_CurrentSpeedKmHour, #PB_Vehicle_ForwardVectorX/Y/Z für GetVehicleAttribute()
- Hinzugefügt: #PB_Material_ProjectiveTexturing für SetMaterialAttribute()
- Hinzugefügt: ParticleScaleRate(), ParticleAngle(), CameraReflection()
- Hinzugefügt: BuildMeshLod(), MeshVertex(), CreateDataMesh()
- Hinzugefügt: EntityDirection(), EntityDirectionX(), EntityDirectionY(), EntityDirectionZ()
- Hinzugefügt: #PB_Local/#PB_Parent/#PB_World Unterstützung für ApplyEntityForce(), ApplyEntityImpulse(), ApplyEntityTorque() und ApplyEntityTorqueImpulse()

- Repariert: Einige Bugs im Compiler und den Bibliotheken

4. Februar 2018 : Version 5.62

- Repariert: Einige Bugs im Compiler und den Bibliotheken

7. Januar 2018 : Version 5.46 LTS

- Repariert: Einige Bugs im Compiler und den Bibliotheken

12. September 2017 : Version 5.61

- Repariert: Das Touchbar-Problem beim neuen MacBook Air und das DebugOutput-Problem auf Windows.
- Repariert: Viele Fehler behoben. Bemerkenswerte Bug-Fixes sind: Prototyp und Quad-Return waren fehlerhaft, MacBook Pro Absturz und OptionGadget unter Windows unterstützt jetzt die Tastatur.
- Aktualisiert: Das MacOS X-Paket ist nun eigenständig ("self-contained"), um kompatibel mit OSX Sierra zu sein.

- Aktualisiert: Diese Version ist mit neuen Zertifikaten signiert, um falsche positive (Antivirus) zu vermeiden.

10. August 2017 : Version 5.45 LTS

- Repariert: Das Touchbar-Problem beim neuen MacBook Air und das DebugOutput-Problem auf Windows.
- Repariert: Viele Fehler behoben. Bemerkenswerte Bug-Fixes sind: Prototyp und Quad-Return waren fehlerhaft, MacBook Pro Absturz und OptionGadget unter Windows unterstützt jetzt die Tastatur.
- Aktualisiert: Das MacOS X-Paket ist nun eigenständig ("self-contained"), um kompatibel mit OSX Sierra zu sein.

- Aktualisiert: Diese Version ist mit neuen Zertifikaten signiert, um falsche positive (Antivirus) zu vermeiden.

2. März 2017 : Version 5.60

- Hinzugefügt: GIF Decoder Support
- Hinzugefügt: Unterstützung für große Icons und Text in der ToolBar Bibliothek
- Hinzugefügt: SetImageFrame(), GetImageFrame(), ImageFrameCount(), AddImageFrame()
- Hinzugefügt: RemoveImageFrame(), SetImageFrameDelay(), GetImageFrameDelay()
- Hinzugefügt: UserAgent Unterstützung bei ReceiveHTTPMemory(), ReceiveHTTPFile() und GetHTTPHeader()
- Hinzugefügt: #PB_Http_NoRedirect Unterstützung bei GetHTTPHeader()
- Hinzugefügt: "Joe Doe <joe.doe@domain.com>" Email-Format Unterstützung bei SendMail()
- Hinzugefügt: HTTPProxy() Proxy-Unterstützung für Http-verwandte Befehle
- Hinzugefügt: Unterstützung für Kompressionslevel bei CreatePack() und CompressMemory()
- Hinzugefügt: ParticleAcceleration(), ParticleColorFader(), ParticleEmitterAngle()
- Hinzugefügt: #PB_Material_AlphaReject, #PB_Material_TAM und #PB_Material_EnvironmentMap Unterstützung für SetMaterialAttribute()
- Hinzugefügt: neuer optionaler Parameter 'Layer' bei SetMaterialAttribute()
- Hinzugefügt: Neue Orientierungsmodi für SetNodeAnimationKeyFrameRotation() und AddStaticGeometryEntity()
- Hinzugefügt: GetUserDirectory() um benutzerspezifische Verzeichnisse zu ermitteln
- Hinzugefügt: Mehr Flexibilität für Base64Decoder zum Umgang mit 'non-padded' Eingaben
- Hinzugefügt: Base64Encoder() und Base64Decoder(), die Strings als Eingabe/Ausgabe für einfachere Verwendung nutzen
- Hinzugefügt: Farb-Konstanten wie #Black, #Blue etc. für alle OS
- Hinzugefügt: Event(), um das aktuelle Ereignis zu erhalten (vor allem nützlich bei Callbacks)
- Hinzugefügt: #PB_Canvas_Container Unterstützung, um ein Container-Verhalten für Canvas zu erhalten
- Hinzugefügt: #PB_EventType_Resize Unterstützung für PanelGadget(), ContainerGadget(), CanvasGadget() und ScrollAreaGadget()
- Hinzugefügt: #PB_ListIcon_ColumnCount für GetGadgetAttribute() beim ListIconGadget(), um die Anzahl an Spalten zu ermitteln
- Hinzugefügt: #PB_All support bei RemoveGadgetColumn(), um alle Spalten zu entfernen
- Hinzugefügt: (IDE) Templates werden jetzt beim Erstellen gespeichert, um Verluste bei nicht korrekt geschlossener IDE zu vermeiden
- Hinzugefügt: (IDE) Sprung zu einer Prozedur klappt diese nun automatisch auf, wenn sie zusammengefaltet war
- Hinzugefügt: (IDE) neues spezifisches Popup-Menü für Datei-Reiter, um die Quellcode-Verwaltung zu vereinfachen
- Hinzugefügt: (IDE) Finde vorherigen Suchbegriff (Rückwärts-Suche)

- Geändert: Base64Encoder() in Base64EncoderBuffer() umbenannt
- Geändert: Base64Decoder() in Base64DecoderBuffer() umbenannt
- Geändert: 'define.b' Syntax zum Ändern des Standard-Typs entfernt, da dies schwer zu findende Bugs hervorrufen konnte.

19. Dezember 2016 : Version 5.51

- Aktualisiert: MacOS X Paket ist jetzt 'self-contained' (in sich selbst enthalten), um OSX Sierra kompatibel zu sein

- Repariert: Einige Bugs im Compiler und den Bibliotheken

19. November 2016 : Version 5.44 LTS

- Aktualisiert: Eine Bug-Fix Version des aktuellen "LTS"-Branches.
Diese behebt wichtige Linux-Probleme und bringt einen neuen Weg, um die App auf OS X zu installieren, um auch OSX Sierra zu entsprechen. Nun ist das ganze Purebasic-Verzeichnis in die PureBasic.app eingebettet. Wenn Sie daher die die Kommandozeile benutzen möchten, müssen Sie den Pfad PureBasic.app/MacOS/Content/Resources/compiler zum $PATH hinzufügen.

25. July 2016 : Version Version 5.43 LTS

- Aktualisiert: Die neue Version des "Zweigs" von PureBasic mit Langzeit-Unterstützung ("long-term support", ohne neue Funktionen etc.).
Alle Fixes der 5.50 sollten auch in dieser Version verfügbar sein.

25. Juli 2016 : Version 5.50

- Hinzugefügt: Vehicle Bibliothek zum einfachen Erstellen von 3D-Vehikeln mit Rädern
- Hinzugefügt: PickBody() zum einfachen Manipulieren eines 3D-Körpers mit der Maus
- Hinzugefügt: CreateTube(), CreateTorus(), CreateIcoSphere() und CreateCapsule()
- Hinzugefügt: #PB_Entity_PlaneBody und #PB_Entity_ConeBody Körpertypen
- Hinzugefügt: GenericJoint() zum Erstellen jeder Art von Gelenk/Verbindung
- Hinzugefügt: Begrenzungsrahmen-Größen-Unterstützung bei CreateEntityBody()
- Hinzugefügt: RegisterFontFile() zum einfachen Verwendung von benutzerdefinierten Zeichensätzen
- Hinzugefügt: PathLength(), PathPointX(), PathPointY(), PathPointAngle()
- Hinzugefügt: PathBoundsX(), PathBoundsY(), PathBoundsWidth(), PathBoundsHeight() um den Begrenzungsrahmen eines Pfads zu ermitteln
- Hinzugefügt: PathSegments(), AddPathSegments() zum Ermitteln/Setzen eines Pfads im Stringformat
- Hinzugefügt: DebuggerError(), DebuggerWarning(), CloseDebugOutput()
- Hinzugefügt: ResetStructure() zum Löschen und erneut Initialisierten eines Struktur-Puffers
- Hinzugefügt: UTF8() und Ascii() zum einfachen Erstellen von UTF8 und Ascii String-Puffern (müssen mit FreeMemory() freigegeben werden)
- Hinzugefügt: FormatNumber() um leicht wie Geld formatierte Zahlen zu erhalten
- Hinzugefügt: #StringConstant$ Syntax-Unterstützung, um die Adresse einer String-Konstante zu erhalten
- Hinzugefügt: #PB_MessageRequester_Info, #PB_MessageRequester_Error und #PB_MessageRequester_Warning für MessageRequester()

- Aktualisiert: SQLite Version 3.13.0

- Geändert: ParticleVelocity() um die aktuelle Geschwindigkeit zu unterstützen.

- Entfernt: ASCII-Modus für die interne PureBasic String-Darstellung, PureBasic ist jetzt rein Unicode.

1. März 2016 : Version 5.42 LTS

- Entfernt: 'Ereignisprozedur generieren' Option in den Einstellungen/Form
- Repariert: Einige Bugs im Compiler und den Bibliotheken

23. Dezember 2015 : Version 5.41 LTS

- Hinzugefügt: 'auto' Unterstützung für die innere Breite/Höhe einer ScrollArea in der Dialog Bibliothek

- Aktualisiert: neueste Assembler Versionen für Windows, Linux und OS X

- Repariert: französische Anleitung komplett korrigiert durch 'GG'
- Repariert: Einige Bugs im Compiler und den Bibliotheken

16. Oktober 2015 : Version 5.40 LTS

- Hinzugefügt: neue Vector 2D Bibliothek
-
Hinzugefügt: neue CGI Bibliothek mit Standard und FastCGI Unterstützung
-
Hinzugefügt: Zeichenketten (Literal-Strings) Escape-Unterstützung mit dem '~' Operator (z.B.: a$ = ~"Hello\nWorld\n")
-
Hinzugefügt: EscapeString()/UnescapeString() Funktionen, um Escape-Operationen auf jegliche Strings (Variablen etc.) zu erlauben
-
Hinzugefügt: EnumerationBinary zum automatischen Erstellen von Bitmasken-Aufzählungen
-
Hinzugefügt: Datenbank-Parameter Bindung zur Vereinfachung der Abfragen-Erstellung
-
Hinzugefügt: SetDatabaseBlob(), SetDatabaseFloat(), SetDatabaseDouble(), SetDatabaseLong()
-
Hinzugefügt: SetDatabaseQuad(), SetDatabaseString(), SetDatabaseNull()
-
Hinzugefügt: SHA2 und SHA3 (224/256/384/512-bit) Unterstützung bei der Cipher Bibliothek
-
Hinzugefügt: StringFingerprint()
-
Hinzugefügt: CRC32 Unterstützung für StartFingerprint()
-
Hinzugefügt: ReceiveHTTPMemory(), IsJoint()
-
Hinzugefügt: RefreshDialog() zur Neuberechnung der Abmessungen nach einer Text-Änderung oder ähnlich
-
Hinzugefügt: "Gruppe" XML-Attribut für das 'Option' Dialog Gadget, um explizit eine Gruppe anzugeben
-
Hinzugefügt: HTTPS und einfach Auth. Unterstützung für ReceiveHTTPFile() und GetHTTPHeaders()
-
Hinzugefügt: Auto-Weiterleitungs-Unterstützung für ReceiveHTTPFile() und ReceiveHTTPMemory()
-
Hinzugefügt: Asynchron-Modus für ReceiveHTTPFile() und ReceiveHTTPMemory()
-
Hinzugefügt: HTTPProgress(), AbortHTTP() und FinishHTTP() zum Überwachen des Asynchron-Modus
-
Hinzugefügt: HTTPS/TLS Unterstützung für SendMail()
-
Hinzugefügt: FlushPreferenceBuffers()
-
Hinzugefügt: CopyDebugOutput() um die Debug-Ausgabe programmgesteuert in die Zwischenablage zu kopieren
-
Hinzugefügt: 7z Archiv-Erstellung
-
Hinzugefügt: tar (gz und bzip2) Archiv-Unterstützung bei der Erstellung und beim Entpacken
-
Hinzugefügt: Vollständiger Pfad im IDE 'Letzte Dateien' Menü
-
Hinzugefügt: #PB_ProgressBar_Unknown für SetGadgetState() zum Anzeigen eines unbekannten Fortschritts
-
Hinzugefügt: #PB_UTF8/Ascii/Unicode Unterstützung bei ReadCharacter() und WriteCharacter()
-
Hinzugefügt: #PB_UTF8 Unterstützung bei URLEncoder() und URLDecoder (jetzt der Standard-Modus)
-
Hinzugefügt: Windows 8.1/10 und OS X 10.9/10/11 Unterstützung bei OSVersion()
-
Hinzugefügt: #PB_Editor_xxx Konstanten bei Verwendung der 'Version' Info auf Windows
-
Hinzugefügt: #PB_Program_Ascii/Unicode/UTF8 Unterstützung für RunProgram()
-
Hinzugefügt: linux/osx Style-Flags beim Kommandozeilen-Compiler auf Windows, um Cross-Plattform-Skripts zu vereinfachen
-
Hinzugefügt: #PB_File_SharedWrite Unterstützung bei ReadFile() und CreateFile()
-
Hinzugefügt: 'IMPORTLIST' Compiler-Interface, um alle vordefinierten API-Funktionen zu erhalten
-
Hinzugefügt: #Null$ spezielle String-Konstante, um einen echten Null-Wert auf einen String anzuwenden (um diesen komplett freizugeben). Diese kann auch für API-Funktionen verwendet werden, welche manchmal eine NULL anstelle einer String-Adresse akzeptieren.
-
Hinzugefügt: #Empty$ Konstante
-
Hinzugefügt: #PB_ByteLength Unterstützung bei MemoryStringLength()
-
Hinzugefügt: #PB_Ascii, #PB_UTF8 und #PB_Unicode Unterstützung bei Create/Open/ReadFile(), um den Standard Lese-/Schreibmodus festzulegen
-
Hinzugefügt: #PB_ByteLength Flag für PeekS() und #PB_UTF8 (nur)
-
Hinzugefügt: CreateCone(), CameraCustomParameter(), ResizeCamera()
-
Hinzugefügt: #PB_Entity_DisableContactResponse und #PB_Entity_EnableContactResponse für SetEntityAttribute()
-
Hinzugefügt: #PB_Entity_ConeBody, #PB_Entity_PlaneBody
-
Hinzugefügt: FreeEntityBody(), FreeTerrainBody()
-
Hinzugefügt: ApplyEntityTorque(), ApplyEntityTorqueImpulse()
-
Hinzugefügt: 'KollisionsGruppe' und 'KollisionsMaske' Parameter für RayCollide()
-
Hinzugefügt: Migrations-Hilfeseite, um eine Schritt-für-Schritt Anleitung für die Migration von altem zu neuem PureBasic zu haben.
-
Hinzugefügt: Einsteiger-Kapitel in Deutsch (Danke an André und Vera)

-
Aktualisiert: die Linux Printer Bibliothek, um natives GtkPrint anstelle von GnomePrint zu verwenden
-
Aktualisiert: den Windows Compiler auf VC++ 2013 für bessere Code-Generierung
-
Aktualisiert: SQLite auf 3.8.10.2

-
Repariert: Zip Archiv-Unterstützung
-
Repariert: Probleme mit dem Senden von Emails und HTTP-Anfragen
-
Repariert: 'CONSTANTLIST' Compiler-Interface, jetzt werden String-Konstanten als Escape-Strings zurückgegeben.

-
Geändert: Die Standard GTK Version ist jetzt GTK3 auf Linux. Ein gtk2 Subsystem wurde für Abwärtskompatibilität hinzugefügt.
-
Geändert: Das Standard String-Format für RunProgram() Read/Writestring ist jetzt UTF8 anstelle von Unicode
-
Geändert: Die Cipher Bibliothek, um modular zu sein (jetzt müssen UseMD5Fingerprint() und ähnliche Befehle verwendet werden).
-
Geändert: ExamineFingerprint() in StartFingerprint()
-
Geändert: NextFingerprint() in AddFingerprintBuffer()
-
Geändert: EntityPhysicBody() in CreateEntityBody()
-
Geändert: TerrainPhysicBody() in CreateTerrainBody()
-
Geändert: Der SendMail() 'Asynchron' Parameter wurde durch das #PB_Mail_Asynchronous Flag ersetzt.
-
Geändert: DLLImporter wurde entfernt und .pbl Dateien werden nicht mehr unterstützt.. Neue 'Import Library' Dateien können können mit Hilfe des '/IMPORT' Switchs vom pbcompiler erstellt werden.

-
Entfernt: RemovePackFile()
-
Entfernt: #PB_Packer_CompressedSize Unterstützung für ZIP und 7z Archive mit PackerEntrySize()
-
Entfernt: AvailableScreenMemory()

 

27. Oktober 2014 : Version 5.31

    - Repariert: Einige Bugs im Compiler und den Bibliotheken  

23. Juli 2014 : Version 5.30

    - Hinzugefügt: Neues "Problem" ("Issue") Werkzeug für die IDE, um einfach anhand der Kommentare To-Do/Problem-Listen zu erstellen.
    -
    Hinzugefügt: JSON-Bibliothek
    -
    Hinzugefügt: ParseXML(), ComposeXML(), InsertXMLArray/List/Map/Structure(), ExtractXMLArray/List/Map/Structure() zur XML-Bibliothek
    -
    Hinzugefügt: OpenGLGadget() mit Unterstützung für native OpenGL-Befehle und -Konstanten auf Windows, OSX und Linux
    -
    Hinzugefügt: ExamineRegularExpression() und zugehörige Befehle, um RegEx-Übereinstimmungen Schritt für Schritt zu verarbeiten (mit Unterstützung für Gruppierungen)
    -
    Hinzugefügt: ClipOutput(), UnclipOutput(), SetOrigin(), GetOriginX(), GetOriginY()
    -
    Hinzugefügt: GetWindowData(), SetWindowData()
    -
    Hinzugefügt: AllocateStructure(), FreeStructure()
    -
    Hinzugefügt: #PB_Default Unterstützung bei WindowBounds(), um die minimale/maximale Größe zurückzusetzen
    -
    Hinzugefügt: 'Format' Parameter bei Read/WriteProgramString(), WriteProgramStringN() und ReadProgramError()
    -
    Hinzugefügt: /PREPROCESS Compiler-Flag zum Erstellen eines einzigen großen Quellcodes, bei dem alle Makros, CompilerIf und Datei-Includes aufgelöst sind. Kann mit /COMMENTED kombiniert werden, um den originalen Quellcode auch mit Kommentaren zu erhalten.
    -
    Hinzugefügt: Optionaler '#Server' Parameter bei NetworkServerEvent(), um Ereignisse nur auf einem bestimmten Server zu überprüfen
    -
    Hinzugefügt: #PB_String_NoZero Flag Unterstützung bei PokeS(), um das Schreiben des abschließenden Null-Zeichens zu vermeiden
    -
    Hinzugefügt: #PB_Enumeration Unterstützung bei Defined()
    -
    Hinzugefügt: #PB_Explorer_HiddenFiles, um versteckte Dateien in den Explorer-Gadgets anzuzeigen
    -
    Hinzugefügt: Optionaler 'Typ' Parameter bei CreateBillboardGroup()
    -
    Hinzugefügt: BillboardGroupCommonDirection(), BillboardGroupCommonUpVector()
    -
    Hinzugefügt: #PB_Entity_MinVelocity und #PB_Entity_ForceVelocity bei SetEntityAttribute()
    -
    Hinzugefügt: SetMaterialAttribute() mit #PB_Material_DepthCheck und #PB_Material_DepthWrite Konstanten
    -
    Hinzugefügt: #PB_Material_DepthCheck Unterstützung bei GetMaterialAttribute().
    -
    Hinzugefügt: Engine3DStatus() mit diesen Konstanten: #PB_Engine3D_NbRenderedTriangles, #PB_Engine3D_NbRenderedBatches, #PB_Engine3D_CurrentFPS, #PB_Engine3D_MaximumFPS, #PB_Engine3D_MinimumFPS, #PB_Engine3D_AverageFPS, #PB_Engine3D_ResetFPS
    -
    Hinzugefügt: #PB_Absolute / #PB_Relative Unterstützung bei CameraDirectionX/Y/Z(), CameraX/Y/Z(), EntityX/Y/Z(), LightX/Y/Z(), LightDirectionX/Y/Z(), BillBoardGroupX/Y/Z(), NodeX/Y/Z(), ParticleEmitterX/Y/Z() und FetchOrientation()
    -
    Hinzugefügt: ParticleSpeedFactor(), DisableParticleEmitter()
    -
    Hinzugefügt: GetEntityCollisionMask(), GetEntityCollisionGroup(), SetEntityCollisionFilter()
    -
    Hinzugefügt: WaterHeight(), FreeWater()
    -
    Hinzugefügt: Vollständig Unicode-kompatible IDE
    -
    Hinzugefügt: Hervorheben wiederholter Vorkommen des gerade ausgewählten Worts in der IDE
    -
    Hinzugefügt: Editier-Modus für reinen Text, um Nicht-PB Dateien in der IDE zu bearbeiten
    -
    Hinzugefügt: 'Probleme' ("Issues") IDE-Werkzeug, um TODO/FIXME Markierungen innerhalb des Codes zu sammeln und anzuzeigen
    -
    Hinzugefügt: Strg+E und Strg+Shift+E Tastaturkürzel, um Kommentare in einem ausgewählten Code-Block auszurichten bzw. zu verschieben
    -
    Hinzugefügt: Strg+M und Strg+Shift+M Tastaturkürzel, um den aktuellen Code-Block auszuwählen (wiederholte Tastendrücke selektieren den nächsten Code-Block)
    -
    Hinzugefügt: Popup-Menü bei der IDE Fehlerliste für Lösch-/Kopier-Operationen
    -
    Hinzugefügt: %HOME und %PROJECT bei den IDE-Werkzeug Kommandozeilen-Optionen, PB_TOOL_Project zu den verfügbaren Umgebungsvariablen hinzugefügt
    -
    Hinzugefügt: Automatische Code-Einrückung in der IDE kann Kommentare am Ende von Code-Zeilen ausrichten
    -
    Hinzugefügt: Auto-Vervollständigen merkt sich die letzte Auswahl beim Strukturen/Modul Auto-Vervollständigen
    -
    Hinzugefügt: Kontextsensitivität für aktuelle Module/Prozeduren bei der Anzeige von Variablen und Evaluierung von Ausdrücken im Debugger

    -
    Geändert: FormatXML() mit #PB_XML_ReFormat fügt für eine besser lesbare Ausgabe nicht länger Zeilenumbrüche innerhalb ein-zeiliger Elemente ein
    -
    Geändert: DeleteElement() gibt jetzt den Daten-Zeiger auf das neue aktuelle Element (sofern vorhanden) zurück
    -
    Geändert: SetXMLAttribute() um Zeilenumbrüche in Attributen zu akzeptieren (werden dann als Charakter-Objekte kodiert)
    -
    Geändert: Einen obligatorischen "Name" Parameter bei CreateXMLNode() hinzugefügt, da einige Parser diesen zum Zeitpunkt der Knoten-Erstellung benötigen
    -
    Geändert: Der Weg, wie (X)IncludeFile und IncludeBinary arbeiten: diese sind jetzt relativ zur Datei, welche diese Befehle beinhalten (was einfacher zu handhaben ist)
    -
    Geändert: #PB_Event_SizeWindow und #PB_Event_MoveWindow arbeiten nicht mehr in Echtzeit auf Windows, verwenden Sie BindEvent() um Echtzeit-Aktualisierungen zu erhalten. Dies sollte hässliches Flimmern bei Echtzeit-Größenänderungen auf Windows beseitigen.
    -
    Geändert: DataSection Sprungmarken innerhalb von Prozeduren sind jetzt lokale Sprungmarken.
    -
    Geändert: Der lokale ASM-Sprungmarken-Präfix wurde von "l_" in "ll_" geändert ("ll" für lokale Sprungmarken), um mögliche Konflikte mit Haupt-Sprungmarken zu vermeiden.
    -
    Geändert: #PB_LinkedList Konstante wurde für eine bessere Konsistenz in #PB_List umbenannt
    -
    Geändert: Den "Billboard" Parameter bei AddBillboard() entfernt, da dieser nicht verwendet wurde. Gibt jetzt den neuen Billboard-Index zurück.
    -
    Geändert: Scintilla auf Version 3.4.2 aktualisiert

    -
    Entfernt: MaterialDepthWrite() (ersetzt durch SetMaterialAttribute())
    -
    Entfernt: CountRenderedTriangles() und Engine3DFrameRate(), ersetzt durch Engine3DStatus()

 

17. März 2014 : Version 5.22 LTS
    - Repariert: Einige Bugs im Compiler und den Bibliotheken

 

20. November 2013 : Version 5.21 LTS

-- Geändert: 'REQUEST' in 'AUTO' für die automatische Berechnung der Mindestgröße eines Splitters (der alte Syntax wird weiterhin unterstützt)

-
Repariert: Einige Bugs im Compiler und den Bibliotheken

 

17. September 2013 : Version 5.20 LTS

    - Hinzugefügt: Module Unterstützung beim Compiler
    -
    Hinzugefügt: Runtime Bibliothek
    -
    Hinzugefügt: Dialog Bibliothek
    -
    Hinzugefügt: GTK3 Subsystem für Linux
    -
    Hinzugefügt: DirectX11 Subsystem für Windows (unterstützt derzeit noch nicht die 3D-Engine)
    -
    Hinzugefügt: Unterstützung für benannte Enumeration, um das Fortsetzen einer vorherigen Aufzählung zu ermöglichen
    -
    Hinzugefügt: JoystickName(), JoystickZ()
    -
    Hinzugefügt: Optionales #PB_Relative Flag bei JoystickX/Y/Z(), um genauere Werte zu erhalten
    -
    Hinzugefügt: Optionale Pad-Nummer bei JoystickX/Y/Z(), um komplexere Gamepads zu unterstützen
    -
    Hinzugefügt: ZoomSprite() akzeptiert jetzt #PB_Default als Breite/Höhe, um zur ursprünglichen Sprite-Größe zurückzukehren
    -
    Hinzugefügt: 'Farbe' und 'Intensiät' Parameter bei DisplayTransparentSprite()
    -
    Hinzugefügt: ClipSprite() unterstützt jetzt #PB_Default für individuelle Parameter
    -
    Hinzugefügt: #PB_Sprite_PixelCollision Flag bei CreateSprite(), LoadSprite(), um pixelgenaue Kollision zu aktivieren
    -
    Hinzugefügt: Zoom-Unterstützung bei SpritePixelCollision() und SpriteCollision()
    -
    Hinzugefügt: OpenGL Unterstützung bei SpriteBlending() (Warnung: es "wrappt" einfach den OpenGL-Modus, damit kann es sich anders verhalten als DirectX)
    -
    Hinzugefügt: 32-Bit Unterstützung bei SpriteOutput() für DX und OpenGL
    -
    Hinzugefügt: #PB_EventType_Focus und #PB_EventType_LostFocus Unterstützung beim EditorGadget()
    -
    Hinzugefügt: #PB_EventType_RightClick Unterstützung beim ListViewGadget()
    -
    Hinzugefügt: #PB_EventType_Change Unterstützung beim PanelGadget() und DateGadget()
    -
    Hinzugefügt: #PB_Prototype und #PB_Module Unterstützung bei Defined()
    -
    Hinzugefügt: Alle Init() Funktionen können problemlos mehr als einmal aufgerufen werden (wie InitSound(), InitNetwork() etc.)
    -
    Hinzugefügt: #PB_FileSystem_Force Unterstützung bei DeleteFile()
    -
    Hinzugefügt: #PB_FileSystem_NoExtension Unterstützung bei GetFilePart()
    -
    Hinzugefügt: Hintergrundfarbe Parameter bei CreateImage()
    -
    Hinzugefügt: #PB_Entity_NbSubEntities bei GetEntityAttribute()
    -
    Hinzugefügt: MeshIndexCount(), SetRenderQueue(), FetchEntityMaterial(), GetMeshData(), SetMeshData()
    -
    Hinzugefügt: CPUName(), Un/BindEvent(), Un/BindGadgetEvent(), Un/BindMenuEvent()
    -
    Hinzugefügt: Vorherige Stelle wird angezeigt, wenn eine Struktur, Interface, Prototype oder Prozedur doppelt deklariert wird.
    -
    Hinzugefügt: 2 Lizenz-Dateien, um beim Vertrieb von PB Programmen einfach die benötigten Informationen beizufügen (siehe Referenz-Dokumentation)
    -
    Hinzugefügt: Bool() wird nun bei der Kompilierung ausgewertet, wenn der ganze Ausdruck konstant ist
    -
    Hinzugefügt: Debugger-Check für SortStructuredList() und SortList(), um sicherzustellen, dass die angegebene Liste vom korrekten Typ ist
    -
    Hinzugefügt: Linux Executables, welche auf einer neuen Distribution erstellt wurden, sollten weiterhin auf einem älteren Linux funktionieren.
    -
    Hinzugefügt: #PB_EventType_FirstCustomValue für die Verwendung mit PostEvent()
    -
    Hinzugefügt: CameraFollow(), ExamineWorldCollisions(), NextWorldCollision(), FirstWorldCollisionEntity(), SecondWorldCollisionEntity()
    -
    Hinzugefügt: WorldCollisionContact(), WorldCollisionNormal(), WorldCollisionAppliedImpulse()
    -
    Hinzugefügt: BuildMeshTangents(), MeshVertexTangent(), CopyTexture()
    -
    Hinzugefügt: Pitch(), Roll(), Yaw()
    -
    Hinzugefügt: #PB_Gadget_RequiredSize Unterstützung für GadgetWidth/Height()
    -
    Hinzugefügt: #PB_Entity_LinearSleeping, #PB_Entity_AngularSleeping, #PB_Entity_DeactivationTime, #PB_Entity_IsActive,
    -
    Hinzugefügt: #PB_Entity_AngularVelocityX/Y/Z, #PB_Entity_ScaleX/Y/Z, #PB_Entity_AngularVelocity, #PB_Entity_HasContactResponse bei Get/SetEntityAttribute()

    -
    Optimiert: Pixel Sprite Kollisions-Routinen sind jetzt viel schneller mit DirectX
    -
    Optimiert: Weitere 'Peephole' Optimierungen bei der x64-Assembler Ausgabe
    -
    Optimiert: Schnellere Kompilierung bei großen Programmen
    -
    Optimiert: Linux Build-Server wurde aktualisiert - jetzt mit einem besseren GCC, der besseren Code produziert.

    -
    Geändert: SpinGadget() Ereignistypen sind jetzt #PB_EventType_Up und #PB_EventType_Down anstelle von -1 und 1.
    -
    Geändert: ZoomSprite3D() in ZoomSprite() umbenannt
    -
    Geändert: TransformSprite3D() in TransformSprite() umbenannt
    -
    Geändert: RotateSprite3D() in RotateSprite() umbenannt
    -
    Geändert: Sprite3DQuality() in SpriteQuality() umbenannt
    -
    Geändert: Sprite3DBlending() in SpriteBlending() umbenannt
    -
    Geändert: Die gesamte 'Module' Bibliothek in 'Music' umbenannt
    -
    Geändert: Frame3DGadget() in FrameGadget() umbenannt
    -
    Geändert: Frame3DGadget3D() in FrameGadget3D() umbenannt
    -
    Geändert: #PB_Shortcut_Prior in #PB_Shortcut_PageUp und #PB_Shortcut_Next in #PB_Shortcut_PageDown umbenannt
    -
    Geändert: Packer Plugin-Konstanten in #PB_PackerPlugin_XXX umbenannt
    -
    Geändert: RayCollide() gibt jetzt das kollidierende #Entity zurück

    -
    Aktualisiert: WebGadget() auf Windows benötigt nicht mehr die ATL.dll
    -
    Aktualisiert: zlib auf 1.2.8
    -
    Aktualisiert: pqlib (PostgreSQL) auf 9.2.4
    -
    Aktualisiert: ziplib auf 0.11.1
    -
    Aktualisiert: SCNotification Scintilla Struktur

    -
    Entfernt: Mozilla ActiveX Unterstützung beim WebGadget() auf Windows, da die letzte ActiveX Version viel zu alt ist (2005)
    -
    Entfernt: Sprite3D Bibliothek (verschmolzen mit der regulären Sprite Bibliothek)
    -
    Entfernt: Palette Bibliothek (veraltet)
    -
    Entfernt: RenderMovieFrame() und #PB_Movie_Rendered (veraltet)
    -
    Entfernt: DisplayTranslucentSprite() -> ersetzt mit dem 'Alpha' Parameter bei DisplayTransparentSprite()
    -
    Entfernt: DisplaySolidSprite() -> ersetzt mit dem 'Farbe' Parameter bei DisplayTransparentSprite()
    -
    Entfernt: DisplayRGBFilter() -> kann durch ein gezoomtes Sprite mit Farbe ersetzt werden
    -
    Entfernt: DisplayShadowSprite() -> kann durch DisplayTransparentSprite() mit einer Farbe ersetzt werden
    -
    Entfernt: StartSpecialFX(), StopSpecialFX(), DisplayAlphaSprite(), ChangeAlphaIntensity(), UseBuffer()
    -
    Entfernt: Carbon Subsystem auf OS X, es war zu alt um mit den neuen Bibliotheken verwendet zu werden

    -
    Repariert: Viele Bugs

 

19. März 2013 : Version 5.11

- Repariert: Einige Bugs im Compiler und den Bibliotheken

 

14. Februar 2013 : Version 5.10

- Hinzugefügt: Form-Designer ist jetzt in die IDE integriert !
-
Hinzugefügt: komplett überarbeitete Packer Bibliothek mit ZIP, BriefLZ, 7z (nur Entpacken), LZMA und JCALG1 (Windows x86 und nur UncompressMemory()) Unterstützung. JCALG1 Unterstützung wurde eingestellt. Archiv-Formate für BriefLZ wurden geändert.
-
Hinzugefügt: IPv6 Unterstützung bei der Network Bibliothek. Aktualisierte IPString(), MakeIPAddress(), GetClientIP(), IPAddressField(), ExamineIPAddress() und NextIPAddress(). #PB_Network_IPv6 Flag bei OpenConnection und CreateServer() hinzugefügt. FreeIP() für v6 IP hinzugefügt.
-
Hinzugefügt: System-Bibliothek: ComputerName(), UserName(), MemoryStatus(), CountCPUs()
-
Hinzugefügt: Zeilenfortsetzungs-Funktion, mit folgenden Operanden: ',' '|' '+' And Or XOr
-
Hinzugefügt: Vergleiche mit konstanten Strings werden jetzt zum Zeitpunkt des Kompilierens verarbeitet, was die Verwendung z.B. in CompilerIf ermöglicht.
-
Hinzugefügt: CocoaMessage() für OS X
-
Hinzugefügt: 'Syntax überprüfen' um den Code nur zu kompilieren, ohne ein Executable zu erstellen/zu starten (/CHECK Switch oder im IDE Compiler Menü)
-
Hinzugefügt: Array/List/Map Parameter Unterstützung bei Interface Methoden
-
Hinzugefügt: Unterstützung für dynamische Array/List/Map in Strukturen/Interfaces in Residents.
-
Hinzugefügt: Unterstützung für #PB_Character, #PB_Unicode, #PB_Ascii und #PB_Integer Flags bei FillMemory()
-
Hinzugefügt: #PB_RegularExpression_NoCase Unterstützung bei CreateRegularExpression()
-
Hinzugefügt: EncodeImage() mit PNG, JPEG und JPEG2000 Unterstützung
-
Hinzugefügt: #PB_Memory_NoClear Unterstützung bei Re/AllocateMemory()
-
Hinzugefügt: ImageFormat()
-
Hinzugefügt: #PB_Editor_WordWrap beim EditorGadget()
-
Hinzugefügt: Vergleich mit mehreren Zeichen bei StringField()
-
Hinzugefügt: AnzahlVorkommen Parameter bei ReplaceString()
-
Hinzugefügt: PostEvent(), EventData()
-
Hinzugefügt: Rückgabewert bei SetCurrentDirectory()
-
Hinzugefügt: #PB_String_NoCase Modus Parameter bei FindString()
-
Hinzugefügt: #PB_Preference_NoSpace und #PB_Preference_GroupSeparator Flags bei OpenPreferences() und CreatePreferences()
-
Hinzugefügt: DatabaseColumnIndex()
-
Hinzugefügt: #PB_Cipher_URL und #PB_Cipher_NoPadding bei Base64Encoder(), URL-Kompatibilität bei Base64Decoder() hinzugefügt
-
Hinzugefügt: SetGadgetItemImage() bei allen Gadgets, welche Bilder bei den Einträgen unterstützen
-
Hinzugefügt: #PB_Gadget_ScreenCoordinate und #PB_Gadget_WindowCoordinate Flag bei GadgetX/Y()
-
Hinzugefügt: #PB_File_SharedRead (kein Effekt auf Linux/OSX), #PB_File_SharedWrite (kein Effekt auf Linux/OSX), #PB_File_Append und #PB_File_NoBuffering bei OpenFile(), ReadFile() und CreateFile()
-
Hinzugefügt: #PB_Event_RightClick, #PB_Event_LeftClick und #PB_Event_LeftDoubleClick Ereignisse
-
Hinzugefügt: optionaler Titel-Parameter bei OpenConsole()
-
Hinzugefügt: #PB_ScrollArea_ScrollStep beim ScrollAreaGadget()
-
Hinzugefügt: #PB_Ignore bei ResizeImage()
-
Hinzugefügt: eine bestimmte IP an CreateNetworkServer() binden
-
Hinzugefügt: Timeout, LokaleIP$ und LokalerPort Parameter bei OpenNetworkConnection()
-
Hinzugefügt: #PB_NetworkEvent_Disconnect Unterstützung bei NetworkClientEvent()
-
Hinzugefügt: #PB_Unicode, #PB_Ascii und #PB_UTF8 Unterstützung bei SendNetworkString()
-
Hinzugefügt: #PB_String_MaximumLength Attribut bei StringGadget()
-
Hinzugefügt: #PB_Event_DeactivateWindow Unterstützung
-
Hinzugefügt: #PB_EventType_Change Unterstützung bei EditorGadget()
-
Hinzugefügt: #PB_Relative/#PB_Absolute Flag bei FileSeek()
-
Hinzugefügt: 'Offset' und 'Länge' Parameter bei SHA1/MD5/CRC32FileFingerprint()
-
Hinzugefügt: GetSoundPosition(), SetSoundPosition(), SoundLength(), PauseSound(), ResumeSound(), SoundStatus(), GetSoundFrequency()
-
Hinzugefügt: #PB_All Unterstützung bei SoundVolume()
-
Hinzugefügt: SetGadgetItemState() Unterstützung bei ExplorerListGadget()
-
Hinzugefügt: InputRequester schließen
-
Hinzugefügt: #PB_InputRequester_Password Flag bei InputRequester()
-
Hinzugefügt: optionaler Minimalwert bei Random()
-
Hinzugefügt: SetGadgetItemText() bei ListIconGadget(): Verwendung von Chr(10) wie bei AddGadgetItem()
-
Hinzugefügt: Stretch-Parameter bei OpenWindowedScreen() jetzt optional
-
Hinzugefügt: ScreenWidth(), ScreenHeight(), ScreenDepth()
-
Hinzugefügt: SMTP AUTH Unterstützung bei der Mail Bibliothek
-
Hinzugefügt: optionale Parameter bei RemoveMailRecipient(), Möglichkeit zum Entfernen aller Empfänger
-
Hinzugefügt: ReadString(#File [, Flags [, Länge]]) : Längen- und #PB_File_IgnoreEOL Unterstützung
-
Hinzugefügt: #PB_Window_InnerCoordinate Unterstützung bei WindowX/Y()
-
Hinzugefügt: #PB_Window_FrameCoordinate Unterstützung bei WindowWidth()/Height()
-
Hinzugefügt: #PB_Image_Raised Unterstützung beim ImageGadget()
-
Hinzugefügt: Unterstützung für FreeXXX(#PB_All) bei allen Freigeben-Befehlen
-
Hinzugefügt: Compiler-Kontansten: #PB_Compiler_LineNumbering, #PB_Compiler_InlineAssembly, #PB_Compiler_EnableExplicit
-
Hinzugefügt: Compiler-Kontansten: #PB_Compiler_ExecutableFormat (mit #PB_Compiler_DLL, #PB_Compiler_Console, #PB_Compiler_Executable)
-
Hinzugefügt: Compiler-Kontansten: #PB_Compiler_IsIncludeFile, #PB_Compiler_IsMainFile, #PB_Compiler_Filename (Dateiname ohne Pfad)
-
Hinzugefügt: Bool() Compiler-Operator. Boolesche Operationen ohne Bool() sind jetzt verboten.
-
Hinzugefügt: MacroExpandedCount internes Schlüsselwort
-
Hinzugefügt: UndefineMacro
-
Hinzugefügt: XIncludeFile berücksichtigt jetzt auch die Haupt-Datei, um doppeltes Einfügen zu vermeiden, wenn die Haupt-Datei von einer anderen Datei eingefügt ("included") wird
-
Hinzugefügt: TypeOf() für Variablen, Strukturen und Felder
-
Hinzugefügt: Defined(Sprungmarke, #PB_Label) Unterstützung
-
Hinzugefügt: CompilerElseIf
-
Hinzugefügt: lokale Sprungmarken
-
Hinzugefügt: Define verhält sich jetzt wie Global und akzeptiert Dim(), NewMap() und NewList() auf der gleichen Zeile
-
Hinzugefügt: Unterstützung des 'Align' Schlüsselworts bei Strukturen, mit einem speziellen #PB_Structure_AlignC Wert um das 'Padding' bei C-Strukturen zu imitieren
-
Hinzugefügt: Auto-Casting von numerischen Werten, wenn Strings beteiligt sind - erlaubt das Verketten von Strings und numerischen Konstanten
-
Hinzugefügt: 'CONSTANTLIST' beim Compiler Interface
-
Hinzugefügt: Aufzeichnen der Bearbeitungs-/Versionsgeschichte in der IDE um frühere Code-Zustände wiederherstellen zu können und zur Wiederherstellung nach einem Systemabsturz (siehe Datei -> Sitzungsgeschichte)
-
Hinzugefügt: AffectedDatabaseRows(), CheckDatabaseNull() bei der Database Bibliothek
-
Hinzugefügt: neue Text3D Bibliotheky
-
Hinzugefügt: optionaler Parameter 'Modus' bei allen ...Yaw/Roll/Pitch() Funktionen
-
Hinzugefügt: optionale 'Typ' und 'Modus' Parameter bei CreateMesh()
-
Hinzugefügt: RayCast(), MouseRayCast(), NormalX(), NormalY(), NormalZ()
-
Hinzugefügt: UpdateMesh(), EnableManualEntityBoneControl(), MoveEntityBone(), RotateEntityBone(), MeshIndex()
-
Hinzugefügt: optionaler Paramter 'Typ' bei AddSubMesh()
-
Hinzugefügt: 'Typ' Parameter bei FinishMesh()
-
Hinzugefügt: ScaleNode(), GetMaterialColor(), GetMaterialAttribute(), ConvertLocalToWorldPosition(), ConvertWorldToLocalPosition()
-
Hinzugefügt: MaterialCullingMode(), FetchOrientation(), SetOrientation(), GetX(), GetY(), GetZ(), GetW(), GetLightColor()
-
Hinzugefügt: AttachEntityObject(): Name des 'Bone' (Knochen) kann leer bleiben, womit das Objekt direkt zum Entity hinzugefügt wird

-
Geändert: SoundFrequency() in SetSoundFrequency() umbenannt
-
Geändert: AddMeshVertex() in MeshVertexPosition() umbenannt
-
Geändert: LightColor() in SetLightColor() umbenannt
-
Geändert: alle MaterialXXXXColor() entfernt, ersetzt durch SetMaterialColor()
-
Geändert: alle XXXXLocate() entfernt, ersetzt durch #PB_Absolute Flag bei den MoveXXXX() Befehlen
-
Geändert: ResizeEntity() entfernt, ersetzt durch #PB_Absolute Flag beim ScaleEntity() Befehl, ebenso bei ScaleNode() und ScaleText3D()
-
Geändert: #PB_Sort_<Type> ersetzt durch #PB_<Type>, um mögliche Fehler zu vermeiden
-
Geändert: Native Typen bei Zeigern (Pointern) sind nicht mehr erlaubt
-
Geändert: StrF/D(), Nullen werden jetzt automatisch entfernt, wenn keine Dezimalstellen angegeben werden

-
Aktualisiert: Update des OGRE Core auf 1.8.2
-
Aktualisiert: SQLite Version (3.7.15.2)
-
Aktualisiert: Einsteiger-Kapitel: neue Kapitel über dynamische Nummerierung und das Verwalten mehrerer Fensters hinzugefügt durch spikey

-
Entfernt: SendNetworkFile(), RecieveNetworkFile(), #PB_NetworkEvent_File, um mögliche Sicherheitslücke zu vermeiden
-
Entfernt: DirectX7 und NT4 Subsystem auf Windows
-
Entfernt: SDL Subsystem auf Linux
-
Entfernt: PowerPC Version auf OS X

-
Optimiert: FindString() ist jetzt fast doppelt so schnell

-
Repariert: viele Bugs

 

5. November 2012 : Version 5.00

- Hinzugefügt: Cocoa Support auf OS X (jetzt das Standard-Toolkit)
-
Hinzugefügt: 64-Bit Version von PureBasic für OS X
-
Hinzugefügt: Brandneuer Form-Designer, für Windows, Linux und OS X
-
Hinzugefügt: Carbon Subsystem für PowerPC und x86 Versionen von PureBasic
-
Hinzugefügt: Unterstützung für mehrdimensionale Arrays in Strukturen
-
Hinzugefügt: InitScintilla() auf Linux und OS X, um Kompilierungsprobleme zu vermeiden
-
Hinzugefügt: #PB_Window_NoActivate Flag bei OpenWindow() und HideWindow()
-
Hinzugefügt: #PB_EventType_RightClick Support beim ScintillaGadget()
-
Hinzugefügt: Favoriten-Auswahl im Explorer-Werkzeug (IDE)
-
Hinzugefügt: Trigger für selbsterstellte Tools, wenn eine neue Quellcode-Datei erstellt wird (IDE)
-
Hinzugefügt: SetWindowCallback() Support auf OS X, um Callback-Ereignisse zu haben
-
Hinzugefügt: teilweise Thread-Sicherheit bei GTK (Linux)
-
Hinzugefügt: SpritePixelCollision() Support auf OS X und Linux

-
Aktualisiert: Scintilla aktualisiert auf 3.2.2
-
Aktualisiert: Expat aktualisiert auf 2.1.0
-
Aktualisiert: libjpeg aktualisiert auf 8.0d
-
Aktualisiert: libpng aktualisiert auf 1.5.12
-
Aktualisiert: Ogre auf 1.8.0, bullet auf 2.80, hydrax auf 0.5.4, CEGUI auf 0.7.7
-
Aktualisiert: ModPlug lib aktualisiert auf 0.8.8.4
-
Aktualisiert: Verwendung von VC++ 2010 anstelle von VC++ 2005 zum Kompilieren der Windows Libraries (32-Bit und 64-Bit), resultierend in besser optimiertem Code
-
Aktualisiert: Französische Anleitung wurde großartig aktualisiert/verbessert, Danke an Jean R. VIALE.

-
Geändert: SetModulePosition() arbeitet jetzt in Millisekunden, nicht mehr in Pattern

-
Repariert: Viele Bugs

3D Engine:
-
Hinzugefügt: EntityAnimation Bibliothek
-
Hinzugefügt: NodeAnimation Bibliothek
-
Hinzugefügt: VertexAnimation Bibliothek
-
Hinzugefügt: Spline Bibliothek
-
Hinzugefügt: CG Tookit Support für die 3D engine (sowohl DirectX als auch OpenGL), mittels InitEngine3D()
-
Hinzugefügt: optionaler 'Modus' Parameter bei InitEngine3D()
-
Hinzugefügt: 'PickMask' Parameter bei MousePick() und CreateEntity()
-
Hinzugefügt: RenderWorld() gibt jetzt die 'ZeitSeitLetztemFrame' zurück, in Millisekunden
-
Hinzugefügt: SkyBox() und SkyDome() unterstützen jetzt Fog()
-
Hinzugefügt: 'Farbe' und 'TexturGröße' Parameter bei WorldShadows()
-
Hinzugefügt: #PB_World_UnderWater und #PB_World_WaterGodRays Flags bei CreateWater()
-
Hinzugefügt: RayPick(), CameraViewWidth(), CameraViewHeight(), CameraViewX(), CameraViewY(), CameraDirection()
-
Hinzugefügt: CameraDirectionX/Y/Z(), SetCameraFixedYawAxis()

-
Hinzugefügt: optionaler 'IsActive' Parameter zum Rendern auf die Textur bei CreateCamera()
-
Hinzugefügt: ScaleMaterial(), MaterialFog(), ReloadMaterial(), ResetMaterial(), NodeFixedYawAxis()
-
Hinzugefügt: optionaler 'TextureCoordinateIndex' Parameter bei AddMaterialLayer()
-
Hinzugefügt: #PB_Material_Anisotropic Support bei MaterialFilteringMode()
-
Hinzugefügt: Unterstützung für #PB_Default als #Material, um die Standard-Einstellungen für Materialien festzulegen.
-
Hinzugefügt: #PB_Material_Wireframe, #PB_Material_Point und #PB_Material_Solid bei MaterialShadingMode()
-
Hinzugefügt: SoundListenerLocate()
-
Hinzugefügt: optionale DirectionX/Y/Z Parameter bei NodeLookAt()
-
Hinzugefügt: optionaler 'Modus' Parameter bei MoveLight(), MoveEntity() und MoveNode()
-
Hinzugefügt: CreateTexture() arbeitet jetzt auch mit Alpha-Texturen
-
Hinzugefügt: #PB_Entity_Wireframe, #PB_Entity_Solid, #PB_Entity_Point und #PB_Entity_DisplaySkeleton bei EntityRenderMode()
-
Hinzugefügt: FreeEntityJoints(), AttachEntityObject(), DetachEntityObject(), EntityBoneX/Y/Z()
-
Hinzugefügt: EntityBonePitch(), EntityBoneRoll(), EntityBoneYaw(), EntityFixedYawAxis()
-
Hinzugefügt: DirectionX/Y/Z optionale Paramter bei EntityLookAt()
-
Hinzugefügt: EntityVelocity(), EntityAngularFactor(), EntityLinearFactor(), EntityCustomParameter(), EntityParentNode()
-
Hinzugefügt: EntityBoundingBoxX/Y/Z(), DisableEntityBody()
-
Hinzugefügt: #PB_Entity_VelocityX/Y/Z, #PB_Entity_MassCenterX/Y/Z, #PB_Entity_MaxVelocity bei Get/SetEntityAttribute()
-
Hinzugefügt: LightAttenuation(), LightX/Y/Z(), LightDirection(), LightDirectionX/Y/Z()
-
Hinzugefügt: RotateLight(), LightPitch(), LightYaw(), LightRoll()
-
Hinzugefügt: GetScriptParticle(), CreateRenderTexture(), UpdateRenderTexture(), SaveRenderTexture()
-
Hinzugefügt: CreateCubeMapTexture(), EntityCubeMapTexture()
-
Hinzugefügt: HideEffect() arbeitet jetzt auch mit "Ribbon" (Farbband)
-
Hinzugefügt: EffectID(), RibbonEffectWidth(), AttachRibbonEffect(), DetachRibbonEffect(), CreateLensFlareEffect(), LensFlareEffectColor()
-
Hinzugefügt: EnableHingeJointAngularMotor()
-
Hinzugefügt: Joint Parameter bei ConeTwistJoint(), HingeJoint(), PointJoint(), SliderJoint()
-
Hinzugefügt: #PB_HingeJoint_LowerLimit und #PB_HingeJoint_UpperLimit bei Get/SetJointAttribute()
-
Hinzugefügt: optionale 'Pitch', 'Yaw', 'Roll' Parameter bei AddStaticGeometryEntity()
-
Hinzugefügt: FreeTerrain(), SetupTerrains(), CreateTerrain(), TerrainPhysicBody(), DefineTerrainTile()
-
Hinzugefügt: AddTerrainTexture(), BuildTerrain(), TerrainLocate(), TerrainHeight(), TerrainTileHeightAtPosition()
-
Hinzugefügt: TerrainTilePointX/Y(), TerrainTileSize(), GetTerrainTileHeightAtPoint(), SetTerrainTileHeightAtPoint()
-
Hinzugefügt: UpdateTerrain(), TerrainTileLayerMapSize(), GetTerrainTileLayerBlend(), SetTerrainTileLayerBlend()
-
Hinzugefügt: UpdateTerrainTileLayerBlend(), TerrainMousePick(), SaveTerrain(), TerrainRenderMode()
-
Hinzugefügt: Sondertasten-Handling bei InputEvent3D()

-
Geändert: CameraLookAt() ändert nicht mehr die Richtung
-
Geändert: Attach/DetachNodeObject() - das 'Typ' Objekt entfernt
-
Geändert: Parameter 'Anfangsbreite' bei CreateRibbonEffect() entfernt

-
Entfernt: AnimateEntity() (ersetzt mit Start/StopEntityAnimation())
-
Entfernt: #PB_Entity_Wireframe, #PB_Entity_Point und #PB_Entity_Solid bei EntityRenderMode()
-
Entfernt: CheckEntityCollision(), NextWorldCollision(), FirstWorldCollisionEntity(), SecondWorldCollisionEntity()

 

22. Mai 2012 : Version 4.61

- Hinzugefügt: "Up-to-date" VisualC SDK für Windows zum Erstellen von PureLibraries
-
Hinzugefügt: Ressourcen-Support für Win9x
-
Hinzugefügt: Neues Einsteiger-Kapitel (PureBasic-Einführung) im Referenz-Handbuch

-
Aktualisiert: FASM Version (1.69.35)
-
Aktualisiert: SQLite Version (3.7.9)
-
Aktualisiert: PCRE Version (8.30)

-
Geändert: OpenGL Subsystem ist jetzt der Standard auf Linux (ein neues 'sdl' Subsystem wurde eingeführt)

-
Repariert: 3D-Beispiele für Linux
-
Repariert: WinAPI 64 Bit Residents (von Danilo)
-
Repariert: Eine ganze Reihe Bugs im Compiler und den Bibliotheken

 

7. November 2011 : Version 4.60

- Hinzugefügt: ein brandneuer Ordner mit '3D' Beispielen
-
Hinzugefügt: 'Joint' Bibliothek
-
Hinzugefügt: 'SpecialEffect' Bibliothek
-
Hinzugefügt: 'StaticGeometry' Bibliothek
-
Hinzugefügt: CameraPitch(), CameraRoll(), CameraYaw(), SwitchCamera()
-
Hinzugefügt: ApplyEntityForce(), ApplyEntityImpulse(), EntityPitch(), EntityRoll(), EntityYaw()
-
Hinzugefügt: GetEntityAttribute(), GetEntityMaterial(), SetEntityAttribute(), SetEntityMaterial()
-
Hinzugefügt: LightDiffuseColor(), SpotLightRange(), LightLookAt(), DisableLightShadows()
-
Hinzugefügt: MaterialDepthWrite(), MaterialSelfIlluminationColor(), MaterialShininess(), GetScriptMaterial()
-
Hinzugefügt: CreateLine3D(), CreateCube(), CreateSphere(), CreateCylinder(), CreatePlane()
-
Hinzugefügt: MeshVertexCount(), UpdateMeshBoundingBox(), MeshRadius(), AddMeshVertex()
-
Hinzugefügt: MeshVertexNormal(), MeshVertexColor(), AddSubMesh(), BuildMeshShadowVolume()
-
Hinzugefügt: MeshVertexTextureCoordinate(), AddMeshFace(), FinishMesh(), NormalizeMesh()
-
Hinzugefügt: SaveMesh(), SetMeshMaterial(), SubMeshCount(), TransformMesh()
-
Hinzugefügt: NodePitch(), NodeRoll(), NodeYaw(), GetScriptTexture(), TextureOutput()
-
Hinzugefügt: EntityCollide(), RayCollide
-
Hinzugefügt: OpenGL Renderer zur 3D-Bibliothek auf Windows, wenn das OpenGL Subsystem verwendet wird
-
Hinzugefügt: CanvasGadget(), CanvasOutput()
-
Hinzugefügt: SetGadgetItemData() für das PanelGadget
-
Hinzugefügt: MoveElement(), MergeLists(), SplitList()
-
Hinzugefügt: RandomizeList(), RandomizeArray(), DoubleClickTime()
-
Hinzugefügt: PushListPosition(), PopListPosition(), PushMapPosition(), PopMapPosition()
-
Hinzugefügt: ImageID Parameter zu OpenSubMenu()
-
Hinzugefügt: #PB_ListIcon_ThreeState und #PB_ListIcon_Inbetween
-
Hinzugefügt: #PB_Tree_ThreeState und #PB_Tree_Inbetween
-
Hinzugefügt: "Crossplattform" ComboBox Ereignisse
-
Hinzugefügt: 'DeclareC' Schlüsselwort zur Vervollständigung

-
Geändert: FindString() 'StartPosition' Parameter ist jetzt optional
-
Geändert: WebGadget verwendet jetzt das WebKitGtk auf Linux
-
Geändert: ContainerGadget mit #PB_Container_Borderless fügt jetzt keinen 2 Pixel breiten unsichtbaren Rand auf Linux mehr hinzu
-
Geändert: EntityPhysicBody(), CreateLight(), RenderWorld(), ShowGUI(), WorldShadows()
-
Geändert: EntityMaterial() in SetEntityMaterial()

-
Entfernt: Get/SetEntityMass(), Get/SetEntityFriction()
-
Entfernt: SetMeshData()

-
Repariert: Viele Bugs

IDE:
-
Hinzugefügt: IDE-Optionen für die Projekt-Erstellung per Kommandozeile
-
Hinzugefügt: Überwachen von Dateien auf Änderungen auf Disk, während sie in der IDE geöffnet sind
-
Hinzugefügt: eigene Datei-Panel Implementierung mit Drag & Drop, Dropdown Menü, Scrolling auch auf OSX
-
Hinzugefügt: Vergleichs-Tool für Verzeichnisse/Dateien
-
Hinzugefügt: Html Hilfe-Anzeiger für Linux/OSX
-
Hinzugefügt: Hilfe-Anzeiger im Werkzeug-Panel
-
Hinzugefügt: neues Farbauswahl-Tool ("Color-Picker")
-
Hinzugefügt: aktivierte Zeichensatz-Auswahl in der IDE für OSX
-
Hinzugefügt: Projekt-Panel merkt sich jetzt den Status aufgeklappter Knoten

Debugger:
-
Hinzugefügt: Maximierungs-Schalter bei allen Debugger-Fenstern
-
Hinzugefügt: Alle IsXxx() und XxxID() Funktionen zum Ausdrucks-Parser (für Daten-Haltepunkte)

 

8. September 2010 : Version 4.51

- Repariert: Eine ganze Reihe Bugs im Compiler und den Bibliotheken

7. Juni 2010 : Version 4.50
-
Hinzugefügt: Unterstützung für Array, List, Map innerhalb von Strukturen
-
Hinzugefügt: CopyList(), CopyMap(), CopyArray()
-
Hinzugefügt: FreeList(), FreeMap(), FreeArray()
-
Hinzugefügt: CopyStructure(), InitializeStructure()
-
Hinzugefügt: Lautstärke-Support bei PlaySound()
-
Hinzugefügt: Tiefe-Parameter bei SaveImage()
-
Hinzugefügt: ImageDepth() Flag, um die originale oder aktuelle Bildtiefe zu erhalten
-
Hinzugefügt: #PB_Image_Transparent Flag bei CreateImage()
-
Hinzugefügt: 32Bit Support beim TGA Bild-Decoder
-
Hinzugefügt: RoundBox(), AbortFTPFile(), RandomData()
-
Hinzugefügt: #PB_2DDrawing_AllChannels Modus bei DrawingMode()
-
Hinzugefügt: Image (Bild) Unterstützung bei ComboBoxGadget()
-
Hinzugefügt: Grafische Console-Funktionen auf Linux
-
Hinzugefügt: Unterstützung für große Dateien bei der 'File' Library auf Linux/OSX
-
Hinzugefügt: CryptRandom(), CryptRandomData(), OpenCryptRandom(), CloseCryptRandom()
-
Hinzugefügt: Viele Mathe-Funktionen: Exp(), ATan2(), Radian(), Degree(), [A]CosH(), [A]SinH(), [A]TanH(), IsNaN(), IsInfinity(), NaN(), Infinity(), Sign()
-
Hinzugefügt: 'Debugger' Library, um einige Debugger-Aktionen aus dem Code heraus kontrollieren zu können

-
Geändert: Die Image Library behandelt Bilder jetzt intern als 24Bit oder 32Bit (das Laden und Speichern funktioniert mit anderen Bit-Tiefen)

-
Repariert: So einige Bugs in den Libraries und im Compiler

IDE/Debugger:
-
Hinzugefügt: Schlüsselwort-Unterstreichung bei Break, Continue, ProcedureReturn
-
Hinzugefügt: StatusBar-Hilfe für Prototypen und Interfaces
-
Hinzugefügt: Schlüsselwort-abhängige Einrückung (Block-Modus ist weiterhin verfügbar)
-
Hinzugefügt: Option "Einrückung formatieren" im Bearbeiten-Menü
-
Hinzugefügt: Einrücknugs-Hilfslinien und Leerzeichen-Optionen
-
Hinzugefügt: Die Möglichkeit zur Auswahl mehrerer Compiler in den Compiler-Optionen
-
Hinzugefügt: Purifier-Werkzeug für den Debugger
-
Hinzugefügt: Vollständige Debugger-Kompatibilität zwischen allen OS und Prozessoren
-
Hinzugefügt: Netzwerk-Debuggen für den eigenständigen Debugger
-
Hinzugefügt: Daten-Haltepunkte beim Debugger
-
Hinzugefügt: Unterstützung für strukturierte Einträge in den 'Array/Listen/Map anzeigen' Registern der Variablenliste

-
Geändert: Die Array, Listen bzw. Map-Namen in der Variablenliste müssen nun mit "()" eingegeben werden, um ihre Elemente anzuzeigen.

1. Februar 2010 : Version 4.41
-
Repariert: Eine ganze Reihe Bugs in den Bibliotheken und im Compiler

1. Dezember 2009 : PureBasic V4.40 (alle OS)

- Hinzugefügt: Native Linux x64 Unterstützung
-
Hinzugefügt: Eingebaute Map Bibliothek für Hash-Tabellen
-
Hinzugefügt: 'Threaded' Schlüsselwort für Thread-lokale Variablen
-
Hinzugefügt: Struktur-Zuweisung kopiert die Struktur (a.point = b.point)
-
Hinzugefügt: ClearStructure()
-
Hinzugefügt: AESEncoder(), AESDecoder(), StartAESCipher(), AddCipherBuffer(), FinishCipher()
-
Hinzugefügt: Dylib Unterstützung für OS X
-
Hinzugefügt: Joystick Bibliothek für OS X
-
Hinzugefügt: Systray Bibliothek für OS X
-
Hinzugefügt: Trim/LTrim/RTrim() haben ein optionales zu kürzendes Zeichen erhalten
-
Hinzugefügt: #PB_Function, #PB_OSFunction, #PB_Map bei Defined()
-
Hinzugefügt: ReverseString(), InsertString(), RemoveString()
-
Hinzugefügt: Blob-Unterstützung bei Datenbanken
-
Hinzugefügt: UsePostgreSQLDatabase(): native PostgreSQL Unterstützung
-
Hinzugefügt: 'Peephole'-Optimierer bei den 64 Bit Versionen, um besseren Code zu produzieren
-
Hinzugefügt: '.a' (ascii) und '.u' (unicode) native Typen, um native vorzeichenlose Byte und Word bereitzustellen.
-
Hinzugefügt: FileBuffersSize() - #PB_Default Unterstützung ändert die Buffergröße für die nächsten zu öffnenden Dateien
-
Hinzugefügt: #PB_URL_Protocol bei Get/SetURLPart()
-
Hinzugefügt: #PB_Shadow_TextureAdditive
-
Hinzugefügt: FTPDirectoryEntryRaw(), FillMemory()
-
Hinzugefügt: Global, Protected, Threaded, Shared und Static akzeptieren jetzt einen Typ, um sich auf alle Standard Variablen-Deklarationen auszuwirken.
-
Hinzugefügt: AddWindowTimer(), RemoveWindowTimer(), EventTimer()
-
Hinzugefügt: #PB_Window_Tool zum Erstellen von 'Tool'-Fenstern
-
Hinzugefügt: ShortcutGadget(), StatusBarProgress()
-
Hinzugefügt: StatusBarImage() unterstützt jetzt normale Bilder (nicht nur Icons)
-
Hinzugefügt: #PB_Checkbox_ThreeState Flag zum Erstellen einer "3 Status"-Checkbox
-
Hinzugefügt: CreateImageMenu(), CreatePopupImageMenu() für OSX
-
Hinzugefügt: Vollständige Alpha-Kanal Unterstützung für alle GUI-Elemente, die Bilder darstellen
-
Hinzugefügt: Vollständige Alpha-Kanal Unterstützung für die Image Bibliothek
-
Hinzugefügt: Neue Zeichen-Modi für 2DDrawing in ImageOutput()
-
Hinzugefügt: LinearGradient(), BoxedGradient(), CircularGradient(), EllipsicalGradient(), ConicalGradient()
-
Hinzugefügt: CustomGradient(), GradientColor(), ResetGradientColors(), CustomFilterCallback()
-
Hinzugefügt: DrawAlphaImage() für alle Ausgabekanäle auf allen OS
-
Hinzugefügt: DrawAlphaImage() hat einen neuen Transparenz-Parameter und kann verwendet werden, um nicht-Alpha-Bilder teilweise transparent zu zeichnen
-
Hinzugefügt: QuickDraw Subsystem für WindowOutput() auf OSX
-
Hinzugefügt: Sprite/ScreenOutput für OpenGL (alle OS)
-
Hinzugefügt: DrawingFont() funktioniert für die SDL-Ausgabe
-
Hinzugefügt: OutputWidth(), OutputHeight(), OutputDepth() für 2DDrawing
-
Hinzugefügt: GrabDrawingImage(), DrawRotatedText(), RGBA(), Alpha(), AlphaBlend()
-
Hinzugefügt: #PB_PixelFormat_ReversedY - für Pixel-Buffer, die umgekehrt gespeichert sind (Windows ImageOutput oder OpenGl)
-
Hinzugefügt: #PB_OS_Windows_7, #PB_OS_MacOSX_10_6 bei OSVersion()

-
Aktualisiert: OGRE auf 1.6.2, sqlite 3.6.14.2, PCRE auf 7.9

-
Geändert: Call(C)Function(Fast) Parameter wurden geändert von 'Any' in 'Integer'.
-
Geändert: OpenScreen() akzeptiert jetzt FlipModus und RefreshRate
-
Geändert: FlipBuffers() unterstützt keinen optionalen Parameter mehr

-
Entfernt: #PB_Image_DisplayFormat ist jetzt "veraltet" (der Wert wurde auf 24 gesetzt, um standardmäßig 24Bit zu haben)
-
Entfernt: SetRefreshRate() wurde entfernt, der Parameter befindet sind jetzt in OpenScreen()

-
Repariert: Image-Decoder sind jetzt thread-sicher
-
Repariert: Eine ganze Reihe Bugs in den Bibliotheken und im Compiler

PureBasic IDE:
-
Hinzugefügt: Vollständige Projekt-Management
-
Hinzugefügt: Hervorheben passender Schlüsselwörter unter dem Cursor (gebunden an die Farbeinstellung zur Prüfung passender Klammern)
-
Hinzugefügt: Bearbeiten -> Gehe zum dazugehörenden Schlüsselwort
-
Hinzugefügt: PB_TOOL_Preferences Umgebungs-Variable für die IDE-Tools
-
Hinzugefügt: Themen-Management zum Anpassen der Menü-Icons
-
Hinzugefügt: Neues 'Silk' Thema basierend auf dem Icon-Set von Mark James
-
Hinzugefügt: 'AutoVervollständigen' überprüft auch indirekte Variablen-Deklarationen und respektiert den Zuständigkeitsbereich ("Scope")
-
Hinzugefügt: Automatisches Vervollständigen von Struktur-Einträgen

-
Geändert: Einstellungen für Codierung/Zeilenumbruch von den Compiler-Optionen in das Datei-Menü verschoben

PureBasic Debugger:
-
Optimiert: wesentlich verbesserte Geschwindigkeit beim Aktualisieren des Variablenanzeigers
-
Hinzugefügt: Fortschrittsanzeige, wenn die Aktualisierung des Variablenanzeigers länger dauert
-
Hinzugefügt: Möglichkeit zur Sortierung der Spalten im Variablenanzeiger (nur auf Windows)

 

3. Juni 2009 : PureBasic V4.31 (alle OS)

- Repariert: Viele Fehler des Compilers und der Bibliotheken

16. Dezember 2008 : PureBasic V4.30 (alle OS)
- Hinzugefügt: Vollständige 64 Bit Version von PureBasic (Windows)
- Hinzugefügt: MacOS X x86 Unterstützung
- Hinzugefügt: 'JPEG 2000' Bibliothek
- Hinzugefügt: 'Node' Bibliothek
- Hinzugefügt: 'Gadget3D' Bibliothek
- Hinzugefügt: 'Window3D' Bibliothek
- Hinzugefügt: 'Sound3D' Bibliothek
- Hinzugefügt: Vollständige Unicode-Unterstützung bei der Engine3D
- Hinzugefügt: MacOS X Unterstützung für die Engine3D
- Hinzugefügt: Absolute/relative Rotation bei allen Engine3D Rotate-Befehlen
- Hinzugefügt: Absolute Bewegung beim Engine3D physischen Körper
- Hinzugefügt: EntityID(), EntityLookAt()
- Hinzugefügt: CameraProjectionX(), CameraProjectionY(), WorldDebug(), Sun()
- Hinzugefügt: MousePick(), PointPick(), PickX/Y/Z(), CreateWater(), AntialiasingMode()
- Hinzugefügt: CatchModule(), ArraySize(), WindowBounds(), DesktopX(), DesktopY()
- Hinzugefügt: FinishDatabaseQuery(), DatabaseID()
- Hinzugefügt: CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore()
- Hinzugefügt: '.i' nativer Typ als 32/64 Bit Ganzzahlen-Größe
- Hinzugefügt: Read/WriteInteger(), Read/WritePreferenceInteger(), PeekI(), PokeI()
- Hinzugefügt: Sprachen-Unterstützung (Lokalisierung) beim Compiler und Debugger
- Hinzugefügt: Stil-Parameter bei FontRequester()
- Hinzugefügt: Unterstützung für 'And/Or' in CompilerIf Bedingungen
- Hinzugefügt: #PB_Event_MinimizeWindow, #PB_Event_MaximizeWindow, #PB_Event_RestoreWindow
- Hinzugefügt: #PB_Ignore Unterstützung bei AddStatusBarField()
- Hinzugefügt: #PB_Explorer_DisplayMode beim ExplorerListGadget()
- Hinzugefügt: Unterstützung für mehrere Joysticks
- Hinzugefügt: #PB_Compiler_FilePath Compiler-Konstante

- Verbessert: größere Überarbeitung der OnError Bibliothek (cross-plattform)
- Verbessert: InitScintilla(), Parameter ist jetzt optional
- Verbessert: Vollständige Neuprogrammierung des Debuggers zwecks Unterstützung der neuen Plattformen

- Optimiert: XML Bibliothek zum schnellen Verarbeiten sehr großer Dateien
- Optimiert: LinkedList Bibliothek zwecks effizienterer Verwendung des Speichers

- Geändert: 'Read' Schlüsselwort benötigt jetzt einen Typ (Read.l, Read.q, etc.), um Probleme mit der 64 Bit Migration zu vermeiden
- Geändert: CountList() in ListSize()
- Geändert: ClearGadgetItemList() in ClearGadgetItems()
- Geändert: CameraProjection() in CameraProjectionMode()
- Geändert: AddElement() und entsprechende Befehle geben jetzt einen Zeiger auf den Start der Daten zurück
- Geändert: ComboBoxGadget() Höhe ist jetzt die tatsächliche Gadget-Höhe
- Geändert: #Long, #Byte, #Word etc. in #PB_Long, #PB_Byte, #PB_Word etc. zwecks Konsistenz
- Geändert: RotateEntity(), RotateCamera() und RotateBillboard() x,y Rotations-Achsen
- Geändert: CameraFOV() Winkel von Bogenmaß in Grad
- Geändert: Array und LinkedList parameter in Prozeduren benötigen nun das 'Array' oder 'List' Schlüsselwort

- Entfernt: StrQ(), HexQ(), BinQ(), ValQ()
- Entfernt: ChangeListIconDisplay(), ersetzt durch ein Gadget-Attribut
- Entfernt: ButtonImageGadget() Rückwärts-Kompatibilität
- Entfernt: CreateGadgetList(), erfolgt jetzt bei OpenWindow() automatisch
- Entfernt: CopyTexture(), TextureOutput()
- Entfernt: CPU-Monitor aus der IDE entfernt, da alle OS die gleiche Funktionalität bieten
- Repariert: DX9 Subsystem auf Windows
- Repariert: Viele Fehler des Compilers und der Bibliotheken

23. Mai 2008 : PureBasic V4.20 (alle OS)
- Hinzugefügt: XML library
- Hinzugefügt: Mail Library
- Hinzugefügt: Ftp Library
- Hinzugefügt: RegularExpression Library
- Hinzugefügt: Http Library
- Hinzugefügt: SerialPort Library
- Hinzugefügt: FLAC Library
- Hinzugefügt: SQLite Library
- Hinzugefügt: DirectX 9 Subsystem
- Hinzugefügt: Sound Streaming für OGG und FLAC
- Hinzugefügt: #PB_Sound_MultiChannel Unterstützung für die Sound Library
- Hinzugefügt: CreateImageMenu(), CreatePopupImageMenu(), SHA1FingerPrint(), SHA1FileFingerPrint()
- Hinzugefügt: CRC32FileFingerprint(), ExamineMD5FingerPrint(), ExamineSHA1FingerPrint(),
- Hinzugefügt: NextFingerPrint(), FinishFingerPrint(), IsFingerPrint()
- Hinzugefügt: Hexadezimal- und Binärunterstützung für Val() und ValQ()
- Hinzugefügt: #PB_Compiler_Procedure Compiler Konstante
- Hinzugefügt: #PB_Round_Nearest für Round()
- Hinzugefügt: 'XOr' Unterstützung für 2DDrawing unter MacOS X
- Hinzugefügt: Neues Tool zur Programmanalyse im Debugger Menu - um zu beobachten, wie oft Zeilen ausgeführt werden
- Hinzugefügt: Der Debugger kann jetzt Ausdrücke auswerten (siehe Ausgabefenster des Debuggers)
- Hinzugefügt: Der Speicheranzeiger kann Ausdrücke als Start-/Endadresse annehmen
- Hinzugefügt: Ein "+" vor die Endadresse im Speicheranzeiger macht die Endadresse relativ zur Startadresse
- Hinzugefügt: Platzieren des Cursors über einer Variable im Code zeigt deren Wert an, während das Programm läuft
- Hinzugefügt: Auswählen eines komplexeren Ausdrucks und Platzieren des Cursors darüber wertet den Ausdruck aus und zeigt dessen Wert, wenn das Programm läuft

- Geändert: Der letzte Parameter von Mid() ist jetzt optional

- Optimiert: Geschwindigkeit des Compilers beim verarbeiten des Codes (bis zu 8x schneller)
- Optimiert: Alle Befehle profitieren vom Verwenden eines besseren C Compilers (nur unter Windows)

- Repariert: Viele Bugs im Compiler und den Bibliotheken

09. November 2007 : PureBasic V4.10 (alle OS)
- Hinzugefügt: XML library
- Hinzugefügt: Drag & Drop library
- Hinzugefügt: Vista Kompatibilität (voll kompatibel mit UAC), außer bei der Sprite Library (geplant für 4.20)
- Hinzugefügt: ModPlug Unterstützung für das Abspielen von Modulen (MIDAS entfernt)
- Hinzugefügt: ScintillaGadget(), TruncateFile()
- Hinzugefügt: EnableASM und DisableASM Compiler Direktiven
- Hinzugefügt: #PB_OS_Windows_Vista und #PB_OS_Windows_Server_2008 bei OSVersion()
- Hinzugefügt: Viele neue Features beim WebGadget()
- Hinzugefügt: Viele neue kleine Verbesserungen bei der IDE (neues Compiler Kommunikations-Protokoll, Vista fähig, Klammer-Markierung, schnelleres Einfärben etc.)
- Hinzugefügt: synchronisierte Veröffentlichung von Windows, Linux und MacOS X !

- Geändert: InitDatabase() in UseODBCDatabase()
- Geändert: Auf Windows werden die Einstellungen der IDE und der PB-Werkzeuge jetzt im Anwender "applicationdata" (Anwenderdaten) Ordner gespeichert

- Entfernt: Das SmartUpdate Tool wird in Zukunft nicht mehr unterstützt

- Repariert: viele Bugs bei den Befehlen und im Compiler

28. April 2007 : PureBasic V4.01 (Linux)
- Repariert: Alle Byteorder Probleme von 4.00
- Repariert: GetGadgetItemText() beim TreeGadget()
- Repariert: IDE crash beim Benutzen von Compile->Run

15. April 2007 : PureBasic V4.00 (Linux)
Da PureBasic 4 ein ziemlich großes Release ist - sowohl im Hinblick auf Änderungen als auch Verbesserungen, ist ein Dokument mit einer Übersicht aller Änderungen an den Library-Befehlen seit dem letzten stabilen Release verfügbar: klicken Sie
hier.

- Hinzugefügt: Native Unicode-Unterstützung
- Hinzugefügt: Unterstützung von Subsystems
- Hinzugefügt: Unbegrenzte Länge von Strings, sowohl im ASCII- als auch Unicode-Modus
- Hinzugefügt: Threadsicheres Befehlsset und Strings
- Hinzugefügt: Character Typ (.c)
- Hinzugefügt: Double Typ (.d)
- Hinzugefügt: Quad Typ (.q)
- Hinzugefügt: 'XOr' und 'Not' logische Operatoren
- Hinzugefügt: Fixed String Typ (String${#Anzahl})
- Hinzugefügt: Macro/EndMacro - einfacher und komplexer Modus
- Hinzugefügt: With/EndWith für saubereren Code
- Hinzugefügt: Möglichkeit der Zuweisung bei Static (ziemlich unbedeutend), Protected und Global: "Global a = 5"
- Hinzugefügt: Es ist jetzt möglich, eine verknüpfte Liste von Zeigern zu erstellen
- Hinzugefügt: Unterstützung für Global, Protected, Static und Shared Arrays und verknüpfte Listen: "Global NewList MyList.l()". NewList allein macht die Liste nicht mehr global.
- Hinzugefügt: #PB_Compiler_File, #PB_Compiler_Line, #PB_Compiler_Version, #PB_Compiler_Home, #PB_Compiler_Debugger, #PB_Compiler_ThreadSafe, #PB_Compiler_Unicode
- Hinzugefügt: CompilerError "Message" Direktive
- Hinzugefügt: @Procedure() und ?Label Unterstützung in Data.l Direktiven
- Hinzugefügt: Optionale Parameter für Prozeduren, Interface Methoden und Prototypes
- Hinzugefügt: /CONSTANT Test=Wert Switch zum Deklarieren von Konstanten auf der Compilerzeile
- Hinzugefügt: Swap Schlüsselwort zum schnellen Tauschen von 2 Variablen oder Elementen (Swap a,b).
- Hinzugefügt: Mehrfaches 'Case' für Select/EndSelect: Case 1, 2, 6 To 20
- Hinzugefügt: 'Prototype' Schlüsselwort zum einfachen Deklarieren von Funkionszeigern
- Hinzugefügt: 'ProcedureC' Schlüsselwort zum einfachen Deklarieren von cdecl Prozeduren
- Hinzugefügt: Procedure Parameter können jetzt den gleichen Namen wie eine globale Variable haben (werden automatisch geschützt)
- Hinzugefügt: EnableExplicit/DisableExplicit: Variablen müssen mittels Define, Global, Protected, Shared oder Static deklariert werden.
- Hinzugefügt: Defined(Name, Typ) Compiler-Funktion. Typ kann sein #PB_Constant, #PB_Variable, #PB_Array, #PB_LinkedList, #PB_Structure, #PB_Interface
- Hinzugefügt: ReDim für einfache und mehrdimensionale Arrays
- Hinzugefügt: Import/ImportC/EndImport zum Importieren von Funktionen und Variablen von externen .lib
- Hinzugefügt: Verknüpfte Listen und Arrays können jetzt als Prozedur-Parameter übergeben werden.
- Hinzugefügt: PseudoTypes: p-ascii, p-unicode und p-utf8
- Hinzugefügt: Assembler und Linker Fehler beim CLI-compiler werden jetzt direkt angezeigt
- Hinzugefügt: OpenGL Subsystem für Multimedia-Applikationen
- Hinzugefügt: Vollständige Alphakanal-Unterstützung für die Sprite3D Library (über PNG und TIFF)
- Hinzugefügt: Subsystem() Compiler-Direktive zur Überprüfung, ob ein Subsystem in Benutzung ist.
- Hinzugefügt: Exponenten-Form für Fließkomma-Konstanten: 123.5e-20
- Hinzugefügt: Aliasnamen für lokale Variablen werden bei der Verwendung von "raw" Assembler ('!') generiert, für einfacheres Verweisen darauf (in der Form p.v_variable)
- Hinzugefügt: 'Step over' und 'Step out' Features beim Debugger
- Hinzugefügt: Process Library
- Hinzugefügt: Erstellung von .so Bibliotheken

- Aktualisiert: Resident-Dateien unterstützen jetzt Quad, Double, Macros und Prototypes
- Aktualisiert: Viele Library Befehle
- Aktualisiert: OGRE Engine auf die 1.0.7 Version
- Aktualisiert: Die französische Dokumentation wurde stark verbessert.

- Optimiert: Schnelleres Mischen von numerischen Fließkomma und Literalen
- Optimiert: File Library komplett neu geschrieben und verwaltet jetzt einen Lese-/Schreib-Cache für sehr schnelle Performance.
- Optimiert: Prozeduren sind jetzt so klein wie möglich, was etwas Geschwindigkeitszuwachs geben sollte.

- Geändert: Wenn ein numerischer Parameter erwartet wird, ist es nicht mehr möglich, einen String zu übergeben.
- Geändert: 'DefType' umbenannt in 'Define'

- Repariert: Interne System-Funktionen zerstören nicht mehr reservierte Register.
- Repariert: Viele kleine/mittlere Angelegenheiten, die seit der letzten Version aufgetreten sind.

18. Dezember 2006 : PureBasic V4.02 (Windows)
- Repariert: Macro Probleme
- Repariert: LoadImage() mit Plugins im Unicode Modus
- Repariert: ExplorerListGadget() mit Dateien > 4Gb
- Repariert: ExaminePreferenceKeys() hat den ersten Key nicht ausgegeben
- Repariert: ExamineDirectory() hat Patterns nicht richtig verarbeitet
- Repariert: Einige Probleme mit IDE und Debugger
- Repariert: Eine Reihe Compilerbugs

01. November 2006 : PureBasic V4.01 (Windows)
- Geändert: CreateThread() gibt nicht mehr den OS-Handle zurück. (ThreadID() kann dazu benutzt werden)

- Repariert: Einige wichtige Quad und Unicode Probleme
- Repariert: Thread-Sicherer Modus machte in manchen Fällen Probleme
- Repariert: Genestete Compiler-Direktiven in Macros
- Repariert: GetFileDate() und DirectoryEntryDate() benutzen jetzt die lokale Zeitzone
- Repariert: OpenFileRequester() hatte Probleme mit zu vielen selektierten Dateien
- Repariert: Viele weitere bugs

08. Mai 2006 : PureBasic V4.00 (Windows)
Die inzwischen berühmte, hochgejubelte Version 4.00 von PureBasic ist da. Beurteilen Sie einfach selbst, es gibt eine Menge an neuen und "sexy" Features. Und es gibt auch eine ganze Reihe an Änderungen, da wir die Gelegenheit zum Bereinigen längere Zeit ausstehender Dinge wahrnahmen, indem wir das Befehlsset etwas überarbeitet haben, nur zum Besten. Schrecken Sie nicht zurück, es kann ein bisschen massiv aussehen, aber Sie werden sich immer noch heimisch fühlen, da sich absolut nichts an der Programmierlogik geändert hat. Um die an den Bibliotheken erfolgten Änderungen anzusehen, klicken Sie
hier. Viel Freude !

- Hinzugefügt: Native Unicode-Unterstützung
- Hinzugefügt: Unterstützung von Subsystems
- Hinzugefügt: Unbegrenzte Länge von Strings, sowohl im ASCII- als auch Unicode-Modus
- Hinzugefügt: Threadsicheres Befehlsset und Strings
- Hinzugefügt: Character Typ (.c)
- Hinzugefügt: Double Typ (.d)
- Hinzugefügt: Quad Typ (.q)
- Hinzugefügt: 'XOr' und 'Not' logische Operatoren
- Hinzugefügt: Fixed String Typ (String${#Anzahl})
- Hinzugefügt: Macro/EndMacro - einfacher und komplexer Modus
- Hinzugefügt: With/EndWith für saubereren Code
- Hinzugefügt: Möglichkeit der Zuweisung bei Static (ziemlich unbedeutend), Protected und Global: "Global a = 5"
- Hinzugefügt: Es ist jetzt möglich, eine verknüpfte Liste von Zeigern zu erstellen
- Hinzugefügt: Unterstützung für Global, Protected, Static und Shared Arrays und verknüpfte Listen: "Global NewList MyList.l()". NewList allein macht die Liste nicht mehr global.
- Hinzugefügt: #PB_Compiler_File, #PB_Compiler_Line, #PB_Compiler_Version, #PB_Compiler_Home, #PB_Compiler_Debugger, #PB_Compiler_ThreadSafe, #PB_Compiler_Unicode
- Hinzugefügt: CompilerError "Message" Direktive
- Hinzugefügt: @procedure()und ?Label Unterstützung in Data.l Direktiven
- Hinzugefügt: Optionale Parameter für Prozeduren, Interface Methoden und Prototypes
- Hinzugefügt: /CONSTANT Test=Wert Switch zum Deklarieren von Konstanten auf der Compilerzeile
- Hinzugefügt: Swap Schlüsselwort zum schnellen Tauschen von 2 Variablen oder Elementen (Swap a,b).
- Hinzugefügt: Mehrfaches 'Case' für Select/EndSelect: Case 1, 2, 6 To 20
- Hinzugefügt: 'Prototype' Schlüsselwort zum einfachen Deklarieren von Funkionszeigern
- Hinzugefügt: 'ProcedureC' Schlüsselwort zum einfachen Deklarieren von cdecl Prozeduren
- Hinzugefügt: Procedure Parameter können jetzt den gleichen Namen wie eine globale Variable haben (werden automatisch geschützt)
- Hinzugefügt: EnableExplicit/DisableExplicit: Variablen müssen mittels Define, Global, Protected, Shared oder Static deklariert werden.
- Hinzugefügt: Defined(Name, Typ) Compiler-Funktion. Typ kann sein #PB_Constant, #PB_Variable, #PB_Array, #PB_LinkedList, #PB_Structure, #PB_Interface
- Hinzugefügt: ReDim für einfache und mehrdimensionale Arrays
- Hinzugefügt: Import/ImportC/EndImport zum Importieren von Funktionen und Variablen von externen .lib
- Hinzugefügt: Verknüpfte Listen und Arrays können jetzt als Prozedur-Parameter übergeben werden.
- Hinzugefügt: /LINKER Flags zum Übergeben einer Befehlsdatei direkt an den Linker
- Hinzugefügt: PseudoTypes: p-ascii, p-unicode, p-variant, p-utf8 und p-bstr
- Hinzugefügt: Assembler und Linker Fehler beim CLI-compiler werden jetzt direkt angezeigt
- Hinzugefügt: OpenGL Subsystem für Multimedia-Applikationen (kann mit dem für NT4 kombiniert werden)
- Hinzugefügt: Vollständige Alphakanal-Unterstützung für die Sprite3D Library (über PNG und TIFF)
- Hinzugefügt: Subsystem() Compiler-Direktive zur Überprüfung, ob ein Subsystem in Benutzung ist.
- Hinzugefügt: Exponenten-Form für Fließkomma-Konstanten: 123.5e-20
- Hinzugefügt: Aliasnamen für lokale Variablen werden bei der Verwendung von "raw" Assembler ('!') generiert, für einfacheres Verweisen darauf (in der Form p.v_variable)
- Hinzugefügt: 'Step over' und 'Step out' Features beim Debugger
- Hinzugefügt: Process Library

- Aktualisiert: NT4 Unterstützung erfolgt jetzt durch Verwendung eines Subsystems (DirectX 3)
- Aktualisiert: Resident-Dateien unterstützen jetzt Quad, Double, Macros und Prototypes
- Aktualisiert: Viele Library Befehle
- Aktualisiert: OGRE Engine auf die 1.0.7 Version
- Aktualisiert: Die französische Dokumentation wurde stark verbessert.
- Aktualisiert: File Library unterstützt 64 Bit Dateien

- Optimiert: Kleinerer Executable-Footprint: 1,5 KB anstelle von 2,5 KB für das kleinste
- Optimiert: Schnelleres Mischen von numerischen Fließkomma und Literalen
- Optimiert: File Library komplett neu geschrieben und verwaltet jetzt einen Lese-/Schreib-Cache für sehr schnelle Performance.
- Optimiert: Prozeduren sind jetzt so klein wie möglich, was etwas Geschwindigkeitszuwachs geben sollte.

- Geändert: Console Library Befehle können jetzt vollständig umgeleitet werden (z.B. für CGI)
- Geändert: Wenn ein numerischer Parameter erwartet wird, ist es nicht mehr möglich, einen String zu übergeben.
- Geändert: Temporäre purebasic.exe Namen sind nicht mehr zufällig, da dies zu einer Verlangsamung mit einigen Firewalls führte.
- Geändert: 'DefType' umbenannt in 'Define'

- Repariert: Interne System-Funktionen zerstören nicht mehr reservierte Register.
- Repariert: Die Maus wird im "Windowed Modus" automatisch freigegeben, wenn das Fenster den Fokus verliert.
- Repariert: KeyboardInkey() behandelt jetzt Shift/Alt Änderungen korrekt.
- Repariert: IsScreenActive() arbeitet auch für den "Windowed Modus" korrekt.
- Repariert: Viele kleine/mittlere Angelegenheiten, die seit der letzten Version aufgetreten sind.

05. Oktober 2005 : PureBasic V3.94 (MacOS X - erste Version)
Sie ist endlich da! Sie ist das Ergebnis vieler Monate harter Arbeit und wir sind sehr glücklich, die OS X Version von PureBasic präsentieren zu können. Sie ist sehr vollständig, bietet native Unterstützung aller PureBasic Libraries und kann entweder über die Kommandozeile (für die Kommandozeilen-Freaks) oder über die mitgelieferte IDE verwendet werden. Es gibt sogar eine optionale Unterstützung für GTK 1 und 2, um "Look & Feel" (Aussehen und Handhabung) der Anwendung mit dieser API zu testen (zum Beispiel beim Portieren von OS X auf Linux). Zögern Sie nicht damit, diese Version auszuprobieren und berichten Sie auftretende Probleme hier:
http://forums.purebasic.com. Viel Spaß!

- Eingebaute native IDE und Debugger (eigenständig oder Konsole).
- Native OS X Unterstützung für GUI (Carbon), Sprites (OpenGL), Sounds und Movies (QuickTime).
- Sehr schnelle PowerPC Assembler Code-Generierung, welche ausgezeichnete Leistung und reduzierte Executable-Größe ermöglicht.
- Eingebaute OS X API Unterstützung (derzeit nur einige Funktionen).
- Die IDE und die Debugger sind vollständig in PureBasic geschrieben, was das Portierbarkeits-Konzept zwischen OS X, Windows und Linux beweist.
- Der größte Teil des PureBasic-Befehlssets wird unterstützt.

21. September 2005 : PureBasic V3.94 (Linux)
- Hinzugefügt: Brandneue IDE für GTK1.2 und GTK2 !
- Hinzugefügt: Mächtiger integrierter, eigenständiger und Konsolen-Debugger !
- Hinzugefügt: SoundPlugin und SoudPluginOGG Libraries
- Hinzugefügt: FillArea() Support sowohl für SDL als auch GTK
- Hinzugefügt: DrawingMode() Support für SDL (außer XOR)
- Hinzugefügt: #PB_ToolBar_Toggle, Get/SetToolBarButtonState()
- Hinzugefügt: Gleicher Zeichensatz wie Windows für die SDL Drawing-Befehle
- Hinzugefügt: DrawingImage() und Point() Support für GTK
- Hinzugefügt: DrawingImage() für SDL, einschließlich Zoom-Support
- Hinzugefügt: CallCFunction() und CallCFunctionFast()
- Hinzugefügt: Get/SetGadgetAttribute() Support für das ScrollAreaGadget()
- Hinzugefügt: ContainerGadget() Flags für 'Border' Support
- Hinzugefügt: #PB_Event_ActivateWindow
- Hinzugefügt: #PB_Splitter_First/SecondMinimumSize Support
- Hinzugefügt: #PB_Splitter_First/SecondFixed Support
- Hinzugefügt: CountTreeGadgetNodeItems() Support
- Hinzugefügt: Optionaler 'Position' Parameter für OpenTreeGadgetNode()
- Hinzugefügt: Optionaler 'Color' Parameter für ColorRequester()
- Hinzugefügt: PNG-Transparenz Support für Images (für Toolbar und Gadgets)
- Hinzugefügt: ParentID Support für OpenWindow()

- Geändert: *Warnung* CallFunction/Fast() ist nicht mehr CDecl-kompatibel (stattdessen CallCFunction)

- Optimiert: SDL und GTK 'Shared Libraries' werden nur noch bei Verwendung hinzugelinkt
- Optimiert: 2DDrawing ist kleiner und schneller
- Optimiert: ListViewGadget() komplett neu programmiert, um besser skalierbar zu sein

- Repariert: Zeichensatz-Management für GTK2 wurde überarbeitet
- Repariert: CallFunction() und CallFunctionFast akzeptierten nur 11 Argumente
- Repariert: Circle() und Ellipse() waren nicht richtig zentriert
- Repariert: GrabImage() und CopyImage() konnten bei einer ID > 9 fehlschlagen
- Repariert: RunProgram() beendete das Programm, wenn die Datei nicht gefunden wurde
- Repariert: PopupMenu() gab WindowEventID() nicht korrekt zurück
- Repariert: SetGadgetState() mit ListViewGadget() scrollte nicht
- Repariert: Mehrfacher Aufruf von CreateToolBar() konnte zu einem Abstutz führen
- Repariert: TrackBarGadget() Bug unter GTK2
- Repariert: Image-Probleme auf 16 Bit-Desktops
- Repariert: Refresh-Problem mit SetGadgetState() und ButtonImageGadget()
- Repariert: RemoveGadgetItem() arbeitete nicht mit ListIconGadget()
- Repariert: DesktopDepth() funktionierte nicht
- Repariert: EditorGadget() unterstützte kein Get/SetGadgetItemText(), CountGadgetItems(), ClearGadgetItemList()
- Repariert: Menü-Shortcuts gaben keine Ereignisse zurück
- Repariert: MenuItem() gab bei Verwendung eines falschen Kürzels eine GTK-Warnung aus
- Repariert: EventType() arbeitete nicht bei ListViewGadget()
- Repariert: Input() gab nur ein Zeichen zurück
- Repariert: ClipSprite() arbeitete nicht richtig
- Repariert: CatchSound() hatte nicht den optionalen Parameter
- Repariert: ReceiveNetworkFile() funktionierte nicht
- Repariert: NetworkServerEvent() sendete kein 'Verbindungsabbruch' Ereignis
- Repariert: userlibraries\ Verzeichnis funktionierte nicht
- Repariert: Pfeile werden jetzt angezeigt, wenn zu viele Panels vorhanden sind
- Repariert: Images verschwanden im TreeGadget()
- Repariert: #PB_Event_SizeWindow Ereignis ging manchmal verloren

16. August 2005 : PureBasic V3.94 (Windows)
- Hinzugefügt: Brandneue IDE und 3 Debugger (!)
- Hinzugefügt: Support für Ressourcen-Dateien beim Compiler und der IDE (/RESOURCE Compiler-Switch)
- Hinzugefügt: Unterstützung der Versionsangabe bei Executables und DLL (mittels Ressourcen)
- Hinzugefügt: Unterstützung für das #PB_Event_ActivateWindow Ereignis
- Hinzugefügt: #PB_Web_Mozilla Flag, um das Mozilla ActiveX beim WebGadget() zu nutzen
- Hinzugefügt: GetToolBarButtonState() und SetToolBarButtonState()
- Hinzugefügt: Vollständige Dokumentation für IDE und den Debugger

- Repariert: 32x32 Bitmaps im ListIconGadget() im Anzeigemodus für große Icons
- Repariert: OpenScreen()/CloseScreen() konnte fehlschlagen, wenn sprite3D verwendet wurde
- Repariert: MovieLength() und MovieInfo() arbeiteten unkorrekt mit dem WMV-Format (danke an Traumatic ;-)
- Repariert: ToolBar Deaktivieren-Bug, wenn Images und Icons mit XP-Skins gemischt wurden
- Repariert: Möglichen Absturz beim Schließen eines Fensters mit freigegebener Statusleiste oder ToolBar
- Repariert: ImageGadget() und ButtonImageGadget() konnten nicht mit AnimateWindow_() verwendet werden
- Repariert: ImageGadget() Bug bei der Verwendung von DisableGadget()
- Repariert: LineXY() gab den Speicher nicht richtig frei
- Repariert: Line() und LineXY() beeinflussten die DrawText() Position
- Repariert: SortList() konnte bei großen, bereits sortierten Listen abstürzen
- Repariert: SetMenuItemState() änderte nicht die Deaktivieren-Status

- Repariert: Mit #PB_Any erstellte editierbare Combobox behandelte TAB nicht korrekt
- Repariert: OpenFileRequester() schlug fehl, wenn der Standard-Dateiname nicht korrekt war
- Repariert: Compiler-Bug bei String-Verkettung und Prozeduren
- Repariert: Abgleichproblem in Prozeduren, was unter Umständen zum Fehlschlagen von API-Aufrufen führte

28. Februar 2005 : Version 3.93 (Windows)
- Hinzugefügt: SortStructuredArray(), SortList(), SortStructuredList()
- Hinzugefügt: bedingte Anweisungen beim LibraryMaker
- Hinzugefügt: KeyboardMode() (war nicht in der Anleitung)
- Hinzugefügt: Optionaler 'Farbe' Parameter bei ColorRequester() und FontRequester()
- Hinzugefügt: SetGadgetText() kann jetzt bei einem editierbaren ComboBoxGadget() verwendet werden
- Hinzugefügt: #PB_Default Support bei ClipSprite() zum Entfernen des Clippings
- Hinzugefügt: #PB_FileSystem_Force bei CopyDirectory()
- Hinzugefügt: #PB_OS_Windows_Server_2003 Support bei OSVersion()
- Hinzugefügt: Base64Decoder(), GetGadgetFont()
- Hinzugefügt: ResizeImage() unterstützt jetzt einen 'Modus' Parameter zur Auswahl des Größenänderungs-Algorithmus
- Hinzugefügt: Ereignis beim Verschieben oder Redimensionieren eines Splitters, wodurch die 'Childs' jetzt angepasst werden können
- Hinzugefügt: Echtzeit-Debugger-Check für Plot(x,y,Farbe) bei ScreenOutput() und SpriteOutput()
- Hinzugefügt: Debugger-Check bei DirectoryEntrySize/Name/Attributes()
- Hinzugefügt: IDE-Verbesserungen von Tinman

- Aktualisiert: Interface-Importer und DirectX9 Interfaces in den Residents (danke an Traumatic!)
- Aktualisiert: Verwendung von Kale's Icons für die IDE
- Aktualisiert: Französische Dokumentation mittels trasfract auf Rechtschreibfehler kontrolliert und überarbeitet

- Optimiert: Debugger-Modus ist kleiner und ermöglicht große strukturierte Variablen
- Optimiert: Misc Library aufgesplittet
- Optimiert: Schnellere Base64Encoder() Funktion
- Optimiert: Verbesserte Code-Generierung für Zuweisung und Verkettung von Strings

- Geändert: OffsetOf() Syntax, um zum SizeOf() zu passen (einheitlicher als vorher)

- Repariert: Ein Bug beim ImageGadget() mit aktiviertem XP-Skin und 32 Bit-Bitmaps
- Repariert: ExplorerListGadget() stellte .ico und .lnk Dateien nicht korrekt dar
- Repariert: ButtonImageGadget() verlor sein Bild unter manch seltenen Umständen mit XP-Skins
- Repariert: Kein 'Ding' (windows-Sound) mehr beim Klick auf den Vollbildschirm, wenn ExamineMouse() nicht verwendet wurde
- Repariert: Bei Verwendung von ALT+TAB bei einer Vollbildschirm-Anwendung wird das Icon korrekt dargestellt
- Repariert: Sprites werden jetzt korrekt wiederhergestellt, nach dem Zurückschalten vom Multitasking
- Repariert: CopyDirectory() modifizierte den Eingabestring unter manchen Umständen
- Repariert: ListIndex() war fehlerhaft unter manch seltenen Umständen
- Repariert: RemoveString() und CRC32FingerPrint() konnten nicht in Ausdrücken verwendet werden
- Repariert: SetGadgetItemText() war fehlerhaft in Verbindung mit dem ListView() Gadget
- Repariert: ExamineDirectory() mit einer nicht initialisierten String-Variable
- Repariert: CalendarGadget() Bug, wenn mehrere Kalender auf dem gleichen Fenster initialisiert wurden
- Repariert: RSet() gab in manch seltenen Situationen ein falsches Ergebnis zurück
- Repariert: CreateFile() schlug fehl bei versteckten Dateien
- Repariert: ZeroMemory_(), FillMemory_(), MoveMemory_() und CopyMemory_() wurden nicht erkannt
- Repariert: #PB_Event_MoveWindow wird jetzt korrekt erkannt
- Repariert: #PB_EventType_LostFocus wurde nicht gesendet, wenn 2 StringGadgets nebeneinander platziert waren.
- Repariert: Gadget's Tooltips wurden auf NT4 nicht korrekt dargestellt, wenn das Fenster immer obenauf war
- Repariert: OGG-Plugin funktionierte nicht mehr und manchmal wurden Songs abgeschnitten. Es ist jetzt auch schneller beim Dekodieren.
- Repariert: ResizeImage() verändert jetzt das Bild nicht mehr, wenn die gleichen Dimensionen verwendet werden.
- Repariert: TAB in einem EditorGadget() gibt den Fokus nicht mehr an andere Gadgets, sondern fügt ein TAB ein.
- Repariert: LCase() behandelte das deutsche Zeichen 'ß' nicht korrekt
- Repariert: SetGadgetState() arbeitete nicht korrekt beim OptionGadget()
- Repariert: Die Dimensionen der Codeanzeige vom Debugger werden jetzt gespeichert wie bei den anderen Debugger-Fenstern.
- Repariert: EditorGadget() bei der Verwendung von AddGadgetItem() mit leeren Strings und der -1 Position
- Repariert: SortArray() konnte bei großen und bereits sortierten Arrays abstürzen und jetzt auch thread-sicher
- Repariert: ReceiveNetworkFile() behandelte lange Dateinamen nicht korrekt
- Repariert: Darstellungsfehler bei ButtonImageGadget() und Toggle-Modus (mittels API)
- Repariert: SpriteWidth() und SpriteHeight() gaben falsche Werte zurück, wenn ClipSprite() verwendet wurde
- Repariert: MessageRequester() über einem Konsolenfenster schickte das Fenster in den Hintergrund
- Repariert: SetGadgetState() beim ListIconGadget() stahl den aktuellen Fokus
- Repariert: Base64Encoder() erzeugte manchmal eine falsche Ausgabe
- Repariert: Refresh-Probleme beim Frame3DGadget() mit #PB_Frame3D_Single/Double Flags
- Repariert: GDI-Ressourcen Leck beim ButtonImageGadget() und ImageGadget()
- Repariert: RotateSprite3D verwendete einen falschen Winkel
- Repariert: DisableMenuItem() arbeitete nicht mit #PB_Any
- Repariert: GadgetWidth() funktionierte nicht korrekt beim SpinGadget()
- Repariert: Date() gab ein falsches Ergebnis im Falle von 1970,1,1,0,0,0 zurück
- Repariert: CallFunctionFast() akzeptierte nur 17 Parameter anstelle von 20
- Repariert: OpenWindowedScreen() im AutoStretch-Modus verlor einige Pixel
- Repariert: Einige Refresh-Bugs beim PanelGadget()
- Repariert: Fehler bei transparenten Farben und 32 Bit-Screens sowie 'Texture' Sprites
- Repariert: Einige kleine Bugs in der IDE
- Repariert: Einige Compiler-Bugs (String-Verkettung, Interfaces in Prozeduren)

25. Januar 2005 : PureBasic V3.92 (Linux)
- Hinzugefügt: vollständige Runtime-Debugger Unterstützung mit einem einfachen Konsolen-Debugger
- Hinzugefügt: Neuer Library-Maker mit bedingten with bedingten Direktiven
- Hinzugefügt: DocMaker für Linux im SDK/
- Hinzugefügt: DynamicCPU, SSE, SSE2, 3DNOW, MMX Support für den Compiler
- Hinzugefügt: Allgemeine Subsytem-Unterstützung für den Compiler
- Hinzugefügt: GTK2+ Support (optional mittels Compiler-Switch: --subsytem gtk2)
- Hinzugefügt: Desktop Library
- Hinzugefügt: RemoveKeyboardShortcut(), GetGadgetAttribute(), SetGadgetAttribute()
- Hinzugefügt: GetGadgetItemAttribute(), SetGadgetItemAttribute()
- Hinzugefügt: CalendarGadget(), ExplorerTreeGadget(), ExplorerComboGadget()
- Hinzugefügt: MDIGadget(), DateGadget()
- Hinzugefügt: WebGadget() (ein Link von /usr/lib/libgtkmozembed.so muss noch erstellt werden)
- Hinzugefügt: UsePalette(), CreatePalette(), SetPaletteColor(), GetPaletteColor()
- Hinzugefügt: SwapElements(), IsFile(), DeleteDirectory()
- Hinzugefügt: OpenGadgetList(), CountString(), ActivateWindow()
- Hinzugefügt: ThreadPriority(), WaitThread()
- Hinzugefügt: CountLibraryFunctions(), ExamineLibraryFunctions(), NextLibraryFunction()
- Hinzugefügt: LibraryFunctionName(), LibraryFunctionAddress()
- Hinzugefügt: Standard Icon-Schalter für die Toolbar
- Hinzugefügt: Bikubische Interpolation bei ResizeImage()

- Aktualisiert: ExplorerListGadget() verwendet jetzt Icons

- Optimiert: LinkedLists, MemoryExtension und Misc (Libraries gesplittet)

- Repariert: SetGadgetFont() mit #PB_Default funktionierte nicht
- Repariert: Zeichensatzunterstützung für OptionGadget(), PanelGadget(), ExplorerListGadget()
- Repariert: GTK/GDK und SDL Strukturen in den Residents
- Repariert: RunProgram() konnte fehlschlagen, wenn keine Parameter angegeben waren
- Repariert: BMP-Decoder für Sprites
- Repariert: NetworkServerEvent() blockierte unter manchen Umständen
- Repariert: ResizeImage() funktionierte nicht
- Repariert: Speicherverlust bei SaveImage()
- Repariert: Ereignisse bei ExplorerListGadget() und ExplorerTreeGadget()
- Repariert: SpinGadget() vollständig neu programmiert, um 100% kompatibel mit Windows zu sein
- Repariert: Sound Befehle führen nicht mehr zu einem Absturz, wenn keine Soundkarte vorhanden ist
- Repariert: MessageRequester() und InputRequester() konnten X blockieren
- Repariert: CountGadgetItems() funktionierte nicht beim TreeGadget()
- Repariert: FormatDate() stürzte ab
- Repariert: ReplaceString() war fehlerhaft unter manchem Umständen
- Repariert: EventWindowID() funktionierte nicht mit Menü-Ereignissen
- Repariert: Der 3. Parameter von CatchSprite() war nicht optional
- Repariert: OpenFile() schlug fehl, wenn die Datei nicht existierte
- Repariert: ExamineDirectory() stürzte ab, wenn eine Null-String Variable verwendet wurde
- Repariert: Linker-Fehler bei Random(), PeekB()
- Repariert: HideGadget() und FreeGadget() bei einigen Gadgets
- Repariert: WindowX() und WindowY() gaben falsche Werte zurück
- Repariert: Open/SaveFileRequester() wenn der Dateiname direkt im Eingabefeld eingegeben wurde

25.10.2004 - PureBasic V3.92 (Windows)
- Hinzugefügt: CalendarGadget() und DateGadget(), Danke an Fr34k !
- Hinzugefügt: LibraryID(), SwapElements()
- Hinzugefügt: SaveSprite() hat jetzt einen optionalen 'Flags' Parameter und kann jetzt 8 Bit-Sprites/Screens speichern
- Hinzugefügt: Doppelklick auf den Fenster-Hintergrund generiert jetzt ein Ereignis (Danke an Rings)

- Optimiert: ListCount() und ListIndex() sind jetzt sehr schnell (sie durchlaufen jetzt nicht mehr jedes Element der Liste).

- Geändert: DeleteElement() geht jetzt immer zurück zum vorherigen Element (kann damit außerhalb der Liste liegen, wenn es das erste Element war), um voll kompatibel mit ForEach zu sein. Ein optionaler Flag wurde hinzugefügt, um die bisherige Verhaltensweise weiterhin zu ermöglichen.
- Geändert: Das aktuelle Verzeichnis der Anwendung wird von keinem der PureBasic-Befehle mehr berührt, um den Windows-Regeln zu entsprechen.

- Repariert: CloseWindow() Bug beim Verwenden des 'ParentWindow' OpenWindow() Parameters
- Repariert: IsSound() war nicht verfügbar im NT4 Modus
- Repariert: AddDate() konnte fehlschlagen, abhängig von der eingestellten Zeitzone des Computers.
- Repariert: Speicherleck mit verknüpften Listen, Arrays und lokalen Variablen, wenn eine Struktur verwendet wurde, die Strings enthielt.
- Repariert: SaveSprite() Standardwert für das Speichern von JPEG ist jetzt '7'.
- Repariert: DisplayPalette() schlug fehl auf XP-Systemen (erste und letzte Farbe blieb unverändert)
- Repariert: ImageGadget() unterstützt jetzt ToolTips und Bitmap/Icon "Live" Umschaltung
- Repariert: ImageButtonGadget() unterstützt jetzt "Skinning" und Bitmap/Icon "Live" Umschaltung
- Repariert: SetGadgetItemText() beim ListViewGadget() zerstörte die "Item-User-Daten"
- Repariert: CopyImage() schlug auf WinNT4 in einigen Konstellationen fehl
- Repariert: Ein Speicherleck in SendNetworkFile(). Es wird jetzt 1 bei Erfolg und 0 bei einem Fehler zurückgegeben.
- Repariert: StatusBarText() aktualisierte nicht die Statusleiste bei gesetztem 'Borderless' Flag
- Repariert: CatchImage() mit #PB_Any
- Repariert: der PNG-Decoder kann jetzt auch sicher mit korrupten PNG umgehen
- Repariert: der JPEG-Encoder mit Qualitätswerten kleiner als 3 konnte zu einem Crash führen
- Repariert: ein kleiner TreeGadget() Bug, wenn Häkchen-Boxen aktiviert waren
- Repariert: Packer Kompressionsroutine hatte Probleme mit manchen Dateien
- Repariert: OnError Library konnte nicht in DLL's verwendet werden (Danke an Rings)
- Repariert: die String-Verkettung war unter manchen Umständen falsch
- Repariert: der Compiler gab keinen Exit-Code ungleich null zurück, wenn ein Fehler auftrat
- Repariert: mehrere Compiler Bugs

16.07.2004 - PureBasic V3.91 (Linux)
- Hinzugefügt: #PB_Any für alle Libraries, die dies auch unter Windows unterstützen
- Hinzugefügt: Kompressions-Routine für die Packer Library
- Hinzugefügt: DisplayShadowSprite(), DisplayAlphaSprite(), ChangeAlphaIntensity()
- Hinzugefügt: IPString(), MakeIPAddress()
- Hinzugefügt: DirectoryEntryAttributes()
- Hinzugefügt: Set/GetWindowTitle()
- Hinzugefügt: 8 Bits BMP RLE Support für alle Image-relevanten Befehle
- Hinzugefügt: IsDatabase(), IsFile(), IsFont(), IsDirectory(), IsGadget(), IsImage(), IsLibrary(), IsMenu(), IsModule(), IsMovie(), IsPalette(), IsSprite(), IsSprite3D(), IsStatusBar(), IsSysTrayIcon(), IsToolBar(), IsWindow()

- Aktualisiert: Database Library

- Repariert: FileSize() welches nicht die richtigen Werte zurückgab
- Repariert: NextSelectedFile() damit dieses sich wie der Windows-Befehl verhält
- Repariert: OpenSubMenu()
- Repariert: ColorRequester() gab einen falschen Wert zurück
- Repariert: Box() Befehl, wenn dieser mit SpriteOutput() oder ScreenOutput() verwendet wurde
- Repariert: CatchSprite() dekodierte nicht alle BMP richtig
- Repariert: Linker-Bug wenn InitCDAudio() allein verwendet wurde
- Repariert: SpinGadget() zeigte einige GTK Warnungen
- Repariert: EditorGadget() wenn dieses in ein ContainerGadget() oder SplitterGadget() eingefügt wurde
- Repariert: Round() fehlte
- Repariert: DrawingBufferPixelFormat() welches einen falschen Wert zurückgab
- Repariert: PanelGadget(): GetGadgetState() und SetGadgetState() wurden nicht unterstützt
- Repariert: GadgetX(), GadgetY(), GadgetWidth() und GadgetHeight() für einige Gadgets
- Repariert: ResizeWindow()
- Repariert: ein Bug in WindowEvent()
- Repariert: #PB_EventType_Change und #PB_EventType_Focus für StringGadget() und ComboBoxGadget()
- Repariert: Event für PanelGadget()

04.07.2004 - PureBasic V3.91 (Windows)
- Hinzugefügt: Desktop Library
- Hinzugefügt: IsDatabase(), IsFile(), IsFont(), IsDirectory(), IsGadget(), IsImage(), IsLibrary(), IsMenu(), IsModule(), IsMovie(), IsPalette(), IsSprite(), IsSprite3D(), IsStatusBar(), IsSysTrayIcon(), IsToolBar(), IsWindow()
- Manifest-Datei (für XP Skins) wird jetzt in die Exe eingebunden
- LCC Ressourcen-Compiler und Linker wurden gegen PellesC ausgetauscht
- Hinzugefügt: 'Haupt-Source' Support in der IDE für Multi-Datei Projekte
- Hinzugefügt: Debugger-Überprüfung für Zugriff auf leere Listenelemente

- Geändert: WindowMouseX() und WindowMouseY() geben jetzt die Koordinaten innerhalb des Fenster-Clientbereichs zurück (DesktopMouseX() ersetzt das alte Verhalten).

- Repariert: AddDate() Bug
- Repariert: MDIGadget-Größenänderung, nachdem eine StatusBar nach der MDI-Erstellung hinzugefügt wurde
- Repariert: InputPathRequester() welcher unter einigen Umständen auf Win98 zu einem Crash führte
- Repariert: OpenWindowedScreen() Position, wenn dieser Bildschirm in ContainerGadgets verwendet wurde
- Repariert: Trim() in Ausdrücken
- Repariert: ein Crash, der manchmal am Ende des Programms auftrat, wenn OpenHelp() benutzt wurde
- Repariert: ein Bug in PlayMovie(), welcher das Movie auf einigen Konfigurationen versteckte
- Repariert: Compiler-Bug beim Zugriff auf ein tief verschachteltes Strukturen-Array.

12.04.2004 - PureBasic V3.90 (Windows)
- Hinzugefügt: #PB_Any Support (dynamische Nummerierung) für DataBase, File, Font, FileSystem, Gadget, Image, Library, Module, Movie, Palette, Sprite, Sprite3D, SysTray, ToolBar, StatusBar und Window
- Hinzugefügt: CountString(), KeyboardInkey(), GetWindowTitle(), SetWindowTitle(), ElapsedMilliseconds()
- Hinzugefügt: RemoveGadgetColumn(), SetGadgetAttribute(), GetGadgetAttribute(), SetGadgetItemAttribute(), GetGadgetItemAttribute()
- Hinzugefügt: MDIGadget() von Fr34k
- Hinzugefügt: VerticalBlank Support für FlipBuffers() (arbeitet ebenfalls im Fenstermodus 'Windowed')
- Hinzugefügt: 'Autosize' (automatische Größenanpassung) für StatusBar und ToolBar (keine Callbacks mehr nötig)
- Hinzugefügt: Neuer 'Size-Handler' von Fr34k, welcher automatische (Echtzeit-) Größenanpassung von Fenstern (mit #PB_Event_SizeWindow) ohne Callback ermöglicht !
- Hinzugefügt: Neuer optionaler 'z' Parameter bei TransformSprite3D()
- Hinzugefügt: Mehrere neue Flags beim SplitterGadget() für höhere Flexibilität
- Hinzugefügt: SetGadgetAttribute() Support für ScrollAreaGadget(), zum Anpassen der Größe des inneren Bereiches.
- Hinzugefügt: Joystick und Module Support für den NT4 Kompatibilitäts-Modus
- Hinzugefügt: Hexadezimale Anzeige, Löschen-Kopieren-Speichern der Debugger-Ausgabe und Speicherung der Fensterposition des Debuggers
- Hinzugefügt: Unterstützung für Icons mit verschiedener Tiefe beim Standard Programm-Icon
- Hinzugefügt: IDE-Features: Interface-Anzeiger, neuer MS SDK Support, Suchen in Dateien, Zeilennummerierung
- Hinzugefügt: 'Static' Schlüsselwort für lokale Variablen (in Prozeduren), welche ihren Wert behalten sollen
- Hinzugefügt: Aktuellste FAsm (Assembler) Version, welche eine kleine Geschwindigkeitsverbesserung mitbringt und einen Bug bei großen Sourcecodes beseitigt
- Hinzugefügt: QuickHelp Support in der Purebasic IDE für die meisten der API Funktionen !

- Geändert: kein #MemoryID und Flag bei AllocateMemory() mehr
- Geändert: CDAudioName() benötigt keine ID mehr, wie bereits in der Anleitung geschrieben.

- Libraries CDAudio, Database, File, Network, StatusBar und Systray gesplittet

- Entfernt: UpdateStatusBar(), UseMemory(), MemoryID()

- Repariert: Französische Dokumentation ist jetzt absolut aktuell
- Repariert: NT4 (DirectX 3) Support für die Sprite, Palette, Sound, Keyboard und Mouse Libraries
- Repariert: Bug in CreateSprite3D(), die Breite und Höhe war 1 Pixel größer
- Repariert: Bug bei SpritePixelCollision(), wenn das gleiche Sprite für Kollisionen verwendet wurde.
- Repariert: Bug im Debugger unter Win98 (das Anwendungsfenster war im Hintergrund)
- Repariert: OpenWindowedScreen() beachtete nicht die Menü-Höhe (sofern vorhanden)
- Repariert: bei IsFilename() fehlten einige Checks
- Repariert: Einige Bugs im Ausdruck-Parser des Compilers
- Repariert: SizeOf() bei der Verwendung mit erweiterten Strukturen
- Repariert: NewPrinterPage() Bug auf Win98
- Repariert: CloseScreen() bei der Verwendung mit der Sprite3D Library
- Repariert: Einige Pfad-Probleme bei der Verwendung des Compilers im Konsolenmodus
- Repariert: Alle Requester blockieren ('lock') jetzt alle geöffneten Fenster

01.01.2004 - PureBasic V3.81 (Linux) - Happy New Year !
- Hinzugefügt:
Sort Library
- Hinzugefügt:
Toolbar Library
- Hinzugefügt:
StatusBar Library
- Hinzugefügt:
Font Library
- Hinzugefügt: vollständiger 3D-Engine Support
- Hinzugefügt: $PUREBASIC_HOME Env Variable, zum Angeben des Installationspfades
- Hinzugefügt: ElapsedMilliseconds()
- Hinzugefügt: CatchSprite(), CreateSprite(), SpriteOutput() und ScreenOutput()
- Hinzugefügt: 2DDrawing Support für ScreenOutput() und SpriteOutput() mit sehr schnellem Direct-Videobuffer Zugriff
- Hinzugefügt: SplitterGadget(), ContainerGadget(), ScrollAreaGadget(), IPAddressGadget(), EditorGadget()
- Hinzugefügt: ScrollBarGadget(), SpinGadget(), TrackBarGadget(), HyperLinkGadget(), ExplorerListGadget()
- Hinzugefügt: GetGadgetItemState(), SetGadgetItemState(), GetGadgetItemText(), SetGadgetItemText()
- Hinzugefügt: BMP, JPEG, PNG, TIFF und TGA Decoder Support für LoadImage() und LoadSprite()
- Hinzugefügt: BMP, JPEG and PNG Encoder für SaveImage()
- Hinzugefügt: SaveImage(), CopyImage(), GrabImage()
- Hinzugefügt: CopySprite(), GrabSprite(), UseBuffer(), DisplayTranslucideSprite(), DisplayRGBFilter()
- Hinzugefügt: WindowID(#Window), WindowOutput()
- Hinzugefügt: PathRequester(), InputRequester()
- Hinzugefügt: DisableMenuItem(), GetMenuItemState(), SetMenuItemState(), MenuHeight()
- Hinzugefügt: CloseTreeGadgetNode(), UseGadgetList(), SetGadgetFont(), ButtonImageGadget()
- Hinzugefügt: DayOfYear(), SelectedFontStyle()
- Hinzugefügt: Support für XOR und ungefüllter Formen bei 2DDrawing
- Hinzugefügt: NextSelectedFileName()
- Hinzugefügt: StrU(), CopyFile()
- Hinzugefügt: Mustererkennung (Pattern-Matching) bei ExamineDirectory()

- Gadget Library gesplittet
- Sprite Library gesplittet

- Compiler aktualisiert auf v3.81 mit Enumeration, Interface, Modulo und mehr...

Dieses Update ist für alle registrierten Anwender frei erhältlich, senden Sie einfach eine Email an support@purebasic.com mit Ihren persönlichen Daten und Ihrer Registrierungsmail. Vielen Dank !

09.12.2003 - PureBasic V3.81 (Windows)
- Hinzugefügt: DatabaseUpdate(), DatabaseError()
- Hinzugefügt: Play/Stop/Resume/PauseMovie() Support für auf Sprites gerenderte Movies
- Hinzugefügt: 'Extends' Support für 'Structure'
- Hinzugefügt: Icon-Support und Echtzeit Image-'Resize' für DrawImage()
- Hinzugefügt: 2, 16 und 256 Farben BMP-Support für Catch/LoadSprite()
- Hinzugefügt: #PB_Default Support für DrawingFont()
- Hinzugefügt: Japanisch-Unterstützung für die Gadget Library, Editor und Visual Designer
- Hinzugefügt: Exzellentes SmartUpdate Tool von fr34k zum schnellen Updaten jeder PureBasic Version
- Hinzugefügt: Neueste Version des Visual Designers von Berikco

- Optimiert: ExplorerGadgets sind jetzt beim Einlesen von Verzeichnissen 5x schneller

- Geändert: Sprungmarken ("Labels") sind NICHT mehr "case-sensitive" (achten nicht auf Groß-/Kleinschreibung)
- Geändert: Standard-Qualität für SaveImage() und JPEG-Plugin ist jetzt '7'
- Geändert: InitModule() und InitPalette() benötigen die 'Maximum'-Parameter nicht mehr
- Geändert: Verhalten von PlayMovie() bei gerenderten Movies wurde geändert

- Repariert: ein Speicherleck bei auf Sprites gerenderten Movies
- Repariert: Requester-Befehle konnten andere Applikationen blockieren, wenn kein Fenster geöffnet war
- Repariert: einige Interface Definitionen waren in den Residents falsch
- Repariert: String-Konstanten mit mehreren Konstanten-Elementen
- Repariert: KeyboardReleased(#PB_Key_All) funktionierte nicht
- Repariert: Compiler-Bug mit Interface in Prozeduren und mit String-Rückgaben
- Repariert: ProcedureDLL Bug, wenn ein String als Rückgabetyp definiert war
- Repariert: CopySprite() arbeitete nicht mit Alpha-Sprites
- Repariert: Bug im Compiler-Optimierer mit Bytes und Words in einigen sehr seltenen Fällen
- Repariert: JPEG und TIFF Decoder-Bug in seltenen Situationen
- Repariert: kleine EditorGadget() und SpinGadget() Bugs

06.10.2003 - PureBasic V3.80 (Windows)
- Hinzugefügt: ExplorerComboBoxGadget()
- Hinzugefügt: CameraProjection(), CameraBackColor() und CameraRange()
- Hinzugefügt: Den Modulo Operator: '%'
- Hinzugefügt: ForEach Befehl zum schnellen Durchlaufen von verknüpften Listen
- Hinzugefügt: Interface/EndInterface zur Unterstützung von Objekt-Funktionsaufrufen! Ja, COM und DX Objekte sind jetzt nativ in PureBasic verfügbar...
- Hinzugefügt: Große Resident-Dateien mit allen Windows/DirectX Interfaces, fertig zur Benutzung !
- Hinzugefügt: Break und Continue zum Modifizieren des Schleifenablaufs
- Hinzugefügt: Enumeration/EndEnumeration zum schnellen Deklarieren einer Vielzahl aufeinanderfolgender Konstanten
- Hinzugefügt: OffsetOf() zum Ermitteln des Offsets eines Struktur oder eines Interface Felds
- Hinzugefügt: SizeOf() unterstützt jetzt Variablen und Interfaces
- Hinzugefügt: Interface-, Float- und String-Konstanten Unterstützung zum 'Resident' Dateiformat
- Hinzugefügt: Qualitäts-Support bei SaveImage() und dem JPEG Encoder
- Hinzugefügt: MessageRequester() 'Flags' ist jetzt ein optionaler Parameter
- Hinzugefügt: Die Syntaxeinfärbung im Editor und der Strukturen-Anzeiger wurden stark verbessert

- Optimiert: viele Abhängigkeiten von OGRE entfernt, resultierend in einer kleineren Engine3D.DLL

- Geändert: Konstanten sind jetzt wieder echte Konstanten (benutzen Sie Enumeration, um dynamische Konstanten zu erhalten)

- Repariert: ASM-Register Anzeige im Debugger
- Repariert: IncludePath Probleme mit IncludeBinary
- Repariert: Benutzung von TAB innerhalb eines editierbaren ComboBoxGadget() war nicht möglich
- Repariert: DeleteDirectory() schlug fehl mit einem "Read-only" Verzeichnis im 'Force' Modus
- Repariert: TGA-Decoder Bug bei Top/Down und RLE Bildern
- Repariert: Möglicher 'Lock' in den AddPackFile() und PackMemory() Routinen
- Repariert: die Strukturen-Größe, wenn eine Struktur sehr groß war (über 32000 Bytes)
- Repariert: Int(): ein negativer Wert konnte falsche Ergebnisse produzieren
- Repariert: ein LinkedList Problem, wenn diese innerhalb und außerhalb einer Prozedur benutzt wurde
- Repariert: Line() und LineXY() zeichneten nicht den letzten Punkt
- Repariert: Debugger überprüft: InitEngine3D()
- Repariert: Ein Bug in TextLength(), wenn ein leerer String benutzt wurde
- Repariert: Bug bei ProcedureReturn, wenn es in einem 'Select String$' Ausdruck verwendet wurde
- Repariert: Sounds waren auf 50 begrenzt, wenn der Debugger aktiviert war
- Repariert: ClipSprite() wurde nicht unterstützt von DisplayAlphaSprite(), DisplayShowSprite(), DisplaySolidSprite() und DisplayTranslucideSprite()
- Repariert: Ein reserviertes Schlüsselwort wie 'Data' konnte nicht in einer Struktur benutzt werden
- Repariert: CreatePack(), SaveImage() und SaveSprite() arbeiteten nicht mit sehr langen Dateinamen
- Repariert: Inkey() hielt den Programmablauf an
- Repariert: FileSize() gab einen falschen Wert für Stammverzeichnisse (Root) auf Win9x System zurück
- Repariert: Ein Editor-Bug, welcher ein Vertauschen der Panels verursachte

14.07.2003 - PureBasic V3.72 (Windows)
- Geändert: SelectedFilePattern() und Open/SaveFileRequester Patternindex basiert jetzt auf '0' anstelle auf '1'. Achtung !
- Geändert: ListIndex() basiert jetzt auf '0' anstelle auf '1'. Achtung !

- Aktualisiert: Editor: Update bei Finden/Ersetzen, ein '*' markiert jetzt eine geänderte Datei
- Aktualisiert: Toolbar Library wurde gesplittet und optimiert
- Aktualisiert: alle fehlenden Library Quickhelps (im Statusbar des Editors)

- Repariert: ParseDate() wenn keine Trennzeichen im Datum benutzt wurden
- Repariert: ResizeImage() besitzt jetzt eine höhere Qualität beim Größe verändern
- Repariert: verschiedene Gadget-Ereignis Probleme (Splitter, Panel)
- Repariert: PNG und JPEG Decoder in einigen seltenen Fällen
- Repariert: den Namen verschiedener Funktionen (OnError Library)
- Repariert: verschiedene Compiler Bugs

07.06.2003 - PureBasic V3.70 (Windows)
- Hinzugefügt: Terrain Library
- Hinzugefügt: Billboard Library
- Hinzugefügt: Entity Library
- Hinzugefügt: Material Library
- Hinzugefügt: Particle Library
- Hinzugefügt: OnError Library
- Hinzugefügt: CameraLookAt(), CameraRenderMode(), CameraFOV(), Engine3DFrameRate(), CountRenderedTriangles()
- Hinzugefügt: CreateMesh(), SetMeshData()
- Hinzugefügt: ExamineLibraryFunctions(), NextLibraryFunction(), LibraryFunctionName(), LibraryFunctionAddress()
- Hinzugefügt: IsFunctionEntry(), CallCFunction(), CallCFunctionFast()
- Hinzugefügt: RenderMovieFrame(): Ja, Sie können ein Movie auf einem Sprite oder einem Bildschirm abspielen !
- Hinzugefügt: OpenGadgetList(), ScrollBarGadget(), ScrollAreaGadget(), SplitterGadget()
- Hinzugefügt: HyperLinkGadget(), ContainerGadget(), EditorGadget()
- Hinzugefügt: TreeGadgetItemNumber(), ExplorerListGadget(), ExplorerTreeGadget()
- Hinzugefügt: #PB_FontRequester_Effects Flag für den FontRequester()
- Hinzugefügt: PanelGadget() wurde vollständig neu geschrieben und ist jetzt XP Theme fähig
- Hinzugefügt: TreeGadget() wurde neu geschrieben zur Unterstützung von dynamischen Einträgen (Hinzufügen, Entfernen...)
- Hinzugefügt: AddGadgetItem() unterstützt jetzt Bilder für das PanelGadget()
- Hinzugefügt: 'ParentID' optionaler Parameter bei OpenWindow()
- Hinzugefügt: CDecl Support für PureFunctions und Prozeduren ('ProcedureCDLL' und 'DeclareCDLL' Schlüsselwörter hinzugefügt)
- Hinzugefügt: End [ExitCode] optionaler Parameter
- Hinzugefügt: Präzisere Fehlermeldungen für Assembler und Linker Fehler
- Hinzugefügt: /LINENUMBERING Compiler-Switch
- Hinzugefügt: Vollständiger Debugger-Support für die 3D-Engine
- Hinzugefügt: ComboBox Support für GetGadgetItemText() und SetGadgetItemText()
- Hinzugefügt: Viele neue Funktionen beim Visual Designer, einschließlich Tab-Reihenfolge, Zeichensatz-Auswahl, neue Gadgets und mehr...

- Geändert: Mesh Library, eine neue Entity Library eingeführt (für flexiblere Kontrolle)
- Geändert: ClosePanelGadget() in CloseGadgetList()
- Geändert: Inline Assembler Sprungmarken sind jetzt l_label anstelle von pLabel

- Movie Library gesplittet und optimiert

- Repariert: SpriteCollision() und SpritePixelCollision() war um 1 Pixel falsch
- Repariert: Ergebnis-Code von CopyDirectory war in manchen Fällen falsch
- Repariert: StrF(): wenn Dezimalstellen angegeben werden, rundet es korrekt
- Repariert: Verschiedene Debugger Warn-Meldungen fehlten
- Repariert: Fließkommazahlen und Ganzzahlen wurden in manchen Fällen schlecht vermischt

25.03.2003 - PureBasic V3.62 (Windows)
- Entfernt: FakeEndSelect

- Repariert: Einige Compiler Bugs
- Repariert: Kleiner Bug im PNG Encoder und Decoder
- Repariert: ProcedureReturn innerhalb Select/EndSelect
- Repariert: Array Zuweisung, wenn kein Speicher verfügbar war
- Repariert: Int(): fehlerhaft seit v3.60
- Repariert: Val(): akzeptiert jetzt alle in BASIC gültigen Formen
- Repariert: AddPackFile() Problem mit manchen Dateien
- Repariert: RunProgram() mit sehr langen Pfaden

19.03.2003 - PureBasic V3.61 (Windows)
- Repariert: Schwerwiegende Compiler Bugs (Arrays)
- Repariert: Schwerwiegender MD5FileFingerprint() Bug
- Repariert: Syntax-Highlighting für Funktionen/Prozeduren und Alt+V Tastenkürzel
- Repariert: 2 Bugs im Visual Designer
- Repariert: Laden von Sprite und Image-Plugin (JPEG, PNG) im 16 Bit Modus
- Repariert: XOR Inline-Asm Schlüsselwort wurde nicht mehr erkannt
- Repariert: TGA Decoder konnte einige Dateien nicht laden

17.03.2003 - PureBasic V3.60 (Windows)
- Hinzugefügt: Mächtiger Visual Designer, zum einfachen Erstellen von graphischen Anwendungen
- Hinzugefügt: Viele neue Optimierungen im Compiler-Kernel, welche in schnellerem/kleinerem Code resultieren (insbesondere beim Umgang mit Arrays und strukturierten Variablen)
- Hinzugefügt: Native JPEG, TIFF, PNG und TGA Image/Sprite Decoder mittels Plugin
- Hinzugefügt: Native JPEG und PNG Image/Sprite Encoder mittels Plugin
- Hinzugefügt: Native OGG Sound Decoder mittels Plugin
- Hinzugefügt: AvailableScreenMemory(), SelectedFilePattern(), DefaultPrinter()
- Hinzugefügt: Flags für LoadFont() zum Aktivieren von kursiv, fett und weiteren
- Hinzugefügt: Multi-Source Support für den Debugger (Include-Dateien)
- Hinzugefügt: Array-Überlauf Debugger Überprüfung
- Hinzugefügt: Data-Read-Überlauf Debugger Überprüfung
- Hinzugefügt: Icon-Support für CatchImage()
- Hinzugefügt: optionaler MMX, 3DNOW, SSE und SSE2 Support, mit Autoselect-Modus (zum automatischen Auswählen der richtigen Routine während der Laufzeit, abhängig vom Prozessor).
- Hinzugefügt: DLL-Importer Tool im Library SDK

- Gesplitted: Font, Gadget und Window Libraries, für kleinere Executable (Danke an Danilo)

- Entfernt: CatchJPEGSPrite() und LoadJPEGSprite() (ersetzt durch Plugins)

- Verbesserung des PureBasic Library-Formats (neues komprimiertes Format)
- Verbesserung des Inline-ASM, akzeptiert jetzt FPU Opcode
- Verbesserung des Editors: Doppelklick auf (X)IncludeFile öffnet die Datei, Inline-Hilfe arbeitet bei allen Schlüsselwörtern (If/EndIf...), ASM-Syntax Einfärbung, Inline-Hilfe für ASM

- Geändert: SetGadgetFont() verwendet jetzt 2 Parameter, um Änderung des Zeichensatzes während der Laufzeit zu ermöglichen

- Repariert: SortArray() beim Sortieren von Strings im Groß-/Kleinschreibungs-unabhängigen Modus
- Repariert: RunProgram() Befehl mit 3 Argumenten
- Repariert: ImageOutput() Problem mit Windows 98
- Repariert: das 16Bit-Sprite Darstellungsproblem mit einigen alten Grafikkarten, welche intern 15 Bit verwenden
- Repariert: einige Bugs im Compiler

10.02.2003 - PureBasic V3.50 (Linux)
- Hinzugefügt:
Date Library
- Hinzugefügt:
Joystick Library
- Hinzugefügt:
Library Library
- Hinzugefügt:
Packer Library (nur Dekomprimieren)
- Hinzugefügt: #PB_Compiler_OS und #PB_Compiler_Date
- Hinzugefügt: WriteFloat(), ReadFloat(), RunProgram()
- Hinzugefügt: Base64Encoder(), MD5FileFingerPrint(), CRC32FingerPrint()
- Hinzugefügt: PeekF(), PokeF(), ProgramParameter(), OSVersion()
- Hinzugefügt: RSet(), LSet(), RemoveString(), Bin(), StringField()

- Aktualisiert: Compiler-Kernel auf v3.50 (einschließlich Fasm)
- Aktualisiert: Resident-Datei
- Aktualisiert: Dokumentation

- Loc() und Lof() repariert, wenn keine aktuelle Datei geöffnet ist

13.01.2003 - PureBasic V3.51 (Windows)
- Französische Dokumentation für v3.51 aktualisiert

- Einige Bugs im Compiler repariert und die Ausgabe ein wenig optimiert
- IPString() und IPAddressField() repariert (waren in umgedrehter Reihenfolge)
- InputRequester() repariert und durch Hinzufügen von Tastaturunterstützung verbessert
- ReadPreferenceLong/String/Float() repariert, um Schlüsselwörter mit Leerzeichen zu akzeptieren
- MouseButton "Beep"-Problem im Fullscreen-Modus repariert
- Date() und ParseDate() repariert, wenn ein ungültiges Datum angegeben wurde
- "XP-Theme" Problem des Editors repariert
- ProcedureBrowser des Editors repariert (Danke an Dominique und Plouf)
- OpenWindow() Dimension repariert, wenn kein Flag angegeben wurde

- Gosub/Return Check entfernt, welcher in v3.50 eingeführt wurde (aus Flexibilitätsgründen)

06.01.2003 - PureBasic V3.50 - (Windows) :
- Hinzugefügt: Engine3D Library: Add3DArchive(), AmbientColor(), Fog(), InitEngine3D(), LoadWord(), RenderWorld(), SkyBox(), SkyDome()
- Hinzugefügt: Camera Library: CameraLocate(), CameraX(), CameraY(), CameraZ(), CreateCamera(), FreeCamera(), MoveCamera(), RotateCamera()
- Hinzugefügt: Light Library: CopyLight(), CreateLight(), FreeLight(), HideLight(), LightColor(), LightLocate(), LightSpecularColor(), MoveLight()
- Hinzugefügt: Mesh Library: CopyMesh(), FreeMesh(), GetMeshAnimationTime(), MeshAnimation(), MeshAnimationLength(), MeshLocate(), MeshTexture(), MeshX(), MeshY(), MeshZ(), MoveMesh(), ResizeMesh(), RotateMesh(), ScaleMesh(), SetMeshAnimationTime()
- Hinzugefügt: Texture Library: CopyTexture(), CreateTexture(), FreeTexture(), LoadTexture(), TextureHeight(), TextureID(), TextureOutput(), TextureWidth()
- Hinzugefügt: WriteFloat(), ReadFloat(), MouseLocate(), MD5FileFingerprint()
- Hinzugefügt: STDCALL und ALLE Flags zu den PureLibraries. Siehe in die SDK Dokumentation für mehr Informationen
- Hinzugefügt: TreeGadget Checkbox-Unterstützung bei GetGadgetItemState()
- Hinzugefügt: SetGadgetState() arbeitet jetzt bei ButtonImageGadget()

- Aktualisiert: CallFunction() und CallFunctionFast(): Fließkommazahlen können direkt übergeben werden
- Aktualisiert: SetStatusBarText() 'Aussehen' Parameter ist jetzt optional
- Aktualisiert: Frame3DGadget() 'Flags' Parameter ist jetzt optional

- Optimiert: CallFunctionFast() (2x schneller)
- Optimiert: die Code-Generierung: Chr(#Konstante) wird jetzt Buchstaben-String berücksichtigt und einige Geschwindigkeitssteigerungen

- Geändert: den Assembler (FASM), resultiert in einen besser optimierten Code (PB-Editor ist 6 KB kleiner zum Beispiel)
- Geändert: LSet() durch RSet() und RSet() durch LSet() (waren vertauscht im Vergleich zu normalen Basic-Funktionen)
- Geändert: OpenTreeGadgetNode() und CloseTreeGadgetNode() (jetzt mit einem Parameter)
- Geändert: ReleaseMouse() erwartet jetzt einen Parameter

- Repariert: den Spiele Maus-Support im "Windowed"-Modus (konnte zu einer Computer-Blockierung führen)
- Repariert: SelectElement() arbeitete falsch bei der Übergabe von -1..
- Repariert: TreeGadget() bei mehrfacher Benutzung auf dem gleichen Fenster
- Repariert: SaveImage() mit 16Bit- und 8Bit-Desktops
- Repariert: RSet() mit 2 Argumenten
- Repariert: ein kleiner Bug in ParseDate()
- Repariert: AddPackFile() und AddPackMemory(): Buffer-Überlauf in einigen seltenen Situationen
- Repariert: OpenFileRequester() mit dem Mehrfachselektions-Modus (MultiSelection)
- Repariert: ein blöder Bug beim Benutzen vieler Bilder in den Gadget-Einträgen (TreeGadget, ListIconGadget...)
- Repariert: Cipher Library

09.10.2002 - PureBasic V3.40 (Windows) :
- Geändert: Struktur-Namen sind nicht mehr "case sensitive" (Groß- und Kleinschreibung wurde bisher unterschieden), da dies einen schwierig zu findenden Bug verursachen konnte

- Hinzugefügt: Date Library: Date(), Year(), Month(), Day(), DayOfWeek(), DayOfYear(), Hour(), Minute(), Second(), FormatDate(), AddDate(), ParseDate()
- Hinzugefügt: Hostname(), ExamineIPAddresses(), NextIPAddress(), IPString()
- Hinzugefügt: LSet(), RSet(), Bin(), RemoveString(), StringField()
- Hinzugefügt: ModuleVolume(), OSVersion(), WaitThread()
- Hinzugefügt: CopyDirectory(), DeleteDirectory(), IsFilename()
- Hinzugefügt: NextSelectedFileName(), InputRequester()
- Hinzugefügt: DrawingBuffer(), DrawingBufferPixelFormat(), DrawingBufferPitch(), FillArea()
- Hinzugefügt: #PB_Compiler_Date, #PB_Compiler_OS als eingebaute Compiler-Konstanten

- "Splitted" Libs: FileSystem, StringExtension, Date

- Updated: RunProgram() hat jetzt einen optionalen ArbeitsVerzeichnis$ Parameter
- Updated: SetGadgetFont(#PB_Font_Default) geht jetzt zurück zum Standard-Zeichensatz
- Updated: OpenWindow() akzeptiert jetzt 2 neue Flags: #PB_Window_WindowCentered und #PB_Window_ScreenCentered
- Updated: GetGadgetItemText() und SetGadgetItemText() arbeiten jetzt mit TreeGadget()
- Updated: ReplaceString hat jetzt einen optionalen 'StartPosition' Parameter
- Updated: SetGadgetState() kann zusammen mit ImageGadget() benutzt werden, um das aktuelle Bild zu ändern
- Updated: 'Level' Flag hinzugefügt bei PackMemory(), AddPackFile() und AddPackMemory() für schnellere Komprimierung
- Updated: beim Erstellen einer DLL, AttachProcess(), DetachProcess(), AttachThread() und DetachThread() müssen einen 'Instanz' Parameter haben
- Updated: keine '_' beim Erstellen einer DLL mehr

- Repariert: Debugger Problem in der FileSystem Library
- Repariert: ReadPreferenceLong() und ReadPreferenceFloat()
- Repariert: SpriteOutput() Bug beim Benutzen von Plot()
- Repariert: CDAudioTrackLength(): der letzte Track gab immer 0 zurück...
- Repariert: OpenWindowedScreen(): falsche BottomOffset und RightOffset Werte
- Repariert: GetPathPart(), GetFilePart() und GetExtensionPart()
- Repariert: SetGadgetText() beim Benutzen mit ComboBox und einem leeren String (löscht den ComboBox Inhalt)
- Repariert: SetClipboardText(), benutzt jetzt das TEXT anstelle des OEM Formats.
- Repariert: der Compiler warnte nicht, wenn eine "globale" Variable in den Prozedur-Parametern benutzt wurde.
- Repariert: Compiler Bugs im InlineASM : 'MOV eax, "String"' und 'MOV eax, #CONSTANT' wurden schlecht kompiliert.
- Repariert: Compiler Bug beim Benutzen negativer Fließkomma-Konstanten
- Repariert: Compiler Bug beim Benutzen von Fließkomma-Operationen mit API-Funktionen
- Repariert: Compiler Bug beim Vergleichen von Strings mit numerischen Werten (jetzt verboten)
- Repariert: Compiler Bug beim Benutzen von INCLUDEBINARY in DataSection
- Repariert: Compiler Bug wenn DECLARE und PROCEDURE nicht übereinstimmten (es wurden keine Fehlermeldungen generiert)
- Repariert: Compiler Bug wenn DEBUG in Prozeduren mit String-Operationen benutzt wurde

- Editor verbessert (mehrere Dateien, Prozeduren-Browser, Zusatz-Tools und mehr...) und den Sourcecode veröffentlicht... Dankeschön an Danilo !