PureBasic Geschichte

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 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: SetWindowCallback() Unterstützung auf OS X. Verwenden Sie BindEvent() stattdessen.
- Entfernt: RemovePackFile()
- Entfernt: #PB_Packer_CompressedSize Unterstützung für ZIP und 7z Archive mit PackerEntrySize()
- Entfernt: AvailableScreenMemory()

27. Oktober 2014 : Version 5.24 LTS

- Repariert: Die neue LTS Version, welche die Bug-Fixes der brandneuen 5.31 Version enthält.

27. Oktober 2014 : Version 5.31

- Repariert: Einige Bugs im Compiler und den Bibliotheken

25. Juli 2014 : Version 5.23 LTS

- Repariert: Die neue LTS Version, welche die meisten der letzten Bug-Fixe beinhalten sollte (ohne die der neuen IDE, gelöst durch den neuen Unicode-Modus). Einige andere für die 5.30 verfügbare Fixes könnten fehlen, da wenn wir zu viele interne Dinge einer Bibliothek geändert haben, wir diese nicht in die alten "Branches" einfügen wollten. Daher keine aufregenden neuen Sachen, nur ein Stabilisierungs-Release.

23. Juli 2014 : Version 5.30

- Hinzugefügt: "Problem" ("Issue") IDE-Werkzeug, um TODO/FIXME-Markierungen innerhalb des Codes zu sammeln und anzuzeigen.
- 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: 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: UnPackMemory() -> ersetzt durch UnCompressMemory()
- 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

- ConstantColor "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()

21. 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 : Version 4.40

- 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(), EllipticalGradient(), 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 : Version 4.31

- Repariert: Viele Fehler des Compilers und der Bibliotheken

16. Dezember 2008 : Version 4.30

- 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: ChangeListIconGadgetDisplay(), 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 : Version 4.20

- 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

4. November 2007 : Version 4.10

- 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

18. Dezember 2006 : Version 4.02 (Fröhliche Weihnachten !)

- 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

1. November 2006 : Version 4.01

- 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

8. Mai 2006 : Version 4.00

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: /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.

- 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. Ebenso Unterstützung für 64 Bit Dateien.
- 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. zur Verwendung 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.

16. August 2005 : Version 3.94

- 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 die 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

- 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 ist 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 FrameGadget() mit #PB_Frame_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. Oktober 2004 : Version 3.92

- 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: CountList() 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: ButtonImageGadget() 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

4. Juli 2004 : Version 3.91

- Hinzugefügt: Desktop Library
- Hinzugefügt: IsDatabase(), IsFile(), IsFont(), IsDirectory(), IsGadget(), IsImage(), IsLibrary(), IsMenu(), IsModule(),
&nbsp IsMovie(), IsPalette(), IsSprite(), IsSprite3D(), IsStatusBar(), IsSysTrayIcon(), IsToolBar(), IsWindow()
- Hinzugefügt: Manifest-Datei (für XP Skins) wird jetzt in die Exe eingebunden
- 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).
- Geändert: LCC Ressourcen-Compiler und Linker wurden gegen PellesC ausgetauscht

- 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. April 2004 : Version 3.90

- Hinzugefügt: #PB_Any Support (dynamische Numerierung) für DataBase, File, Font, FileSystem, Gadget, Image, Library,
&nbspModule, 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.

- Optimiert: 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

9. Dezember 2003 : Version 3.81

- 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

6. Oktober 2003 : Version 3.80

- 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

13. Juli 2003 : Version 3.72

- 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

7. Juni 2003 : Version 3.70

- 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

- Optimiert: und gesplittet: Movie Library

- 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. März 2003 : Version 3.62

- 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. März 2003 : Version 3.61

- 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. März 2003 : Version 3.60

- 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

- Optimiert: und gesplittet: 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

13. Januar 2003 (Version 3.51)

- Aktualisiert: Französische Dokumentation für v3.51

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

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

6. Januar 2003 : Happy New Year ! (Version 3.50)

- 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(), LoadMesh(), 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 der PureLibraries. Siehe SDK Dokumentation für weitere Informationen.
- Hinzugefügt: TreeGadget Checkbox Unterstützung für 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: FrameGadget() '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

9. Oktober 2002 : Version 3.40

- 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

- Optimiert: "Splitted" Libs: FileSystem, StringExtension, Date

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

16. August 2002 : Version 3.30

Dies ist ein Release mit Bug-Fixes und zur Synchronisation mit der Linux-Version

- Hinzugefügt: HideMenu(), CreateSprite(), UseBuffer()
- Hinzugefügt: Französische Hilfe (vollständig übersetzt)

- Aktualisiert: SortArray() arbeitet jetzt auch mit Fließkommazahlen-Arrays
- Aktualisiert: LoadSprite(), GrabSprite(), CopySprite(), CatchSprite(), LoadJPEGSPrite(), CatchJPEGSprite() haben jetzt einen optionalen 'Modus' Parameter
- Aktualisiert: GetFilePart(), GetPathPart() und GetExtensionPart() entfernen jetzt die evtl. vorhandene Anführungszeichen (")
- Aktualisiert: SetGadgetItemState() und GetGadgetItemState() können jetzt den Status der Häkchen bei einem ListIconGadget() Eintrag setzen/ermitteln

- Repariert: SetClipboardText(): schlug in manchen Situation fehl
- Repariert: SpritePixelCollision(): schlug fehl, wenn die Sprites verschiedene Größen hatten
- Repariert: LoadJPEGSprite ignorierte den 'Modus' Parameter (war nachteilig für 3D Sprites)
- Repariert: Bug in AddGadgetItem() mit ListIconGadget()
- Repariert: PokeF() fehlte
- Repariert: MovieAudio(): falsche Lautstärke-Reglung (basiert jetzt auf Dezibels...)
- Repariert: ReleaseMouse() wurde nicht erkannt
- Repariert: 2DDrawing Bug (erneut...)
- Repariert: LoadSprite() schlug fehl mit 16 Bit und 32 Bit BMP.
- Repariert: GetGadgetText() wenn es zusammen mit einem editierbaren ComboBoxGadget() benutzt wurde
- Repariert: ReadByte() und ReadWord() (mit Long/Word Variablen)
- Repariert: FreeMenu(), GadgetX(), GadgetY()
- Repariert: DisplaySolidSprite() fehlte
- Repariert: Debug-Routine fehlte für GadgetID()
- Repariert: Bug beim Benutzen verschiedener Movies (Absturz am Programmende)
- Repariert: ResizeImage()
- Repariert: PreferenceGroup()
- Repariert: ExamineMouse() gab immer 0 zurück
- Repariert: PathRequester stürzte ab, wenn DefaultPath nicht initialisiert war
- Repariert: InitSprite3D() stürzte bei alleinigem Aufruf ab
- Repariert: Editor: ZoomSprite3D() wurde nicht hervorgehoben

9. Juni 2002 : Version 3.20

WARNUNG! Das Verhalten des Window Callbacks hat sich geändert und "locked" (blockiert) das Programm bei Benutzung einer entsprechenden Routine ! Seht die SetWindowCallback() Dokumentation für weitere Info.

- Hinzugefügt: Cipher Library: CRC32Fingerprint(), MD5Fingerprint(), DESFingerprint(), Base64Encoder()
- Hinzugefügt: AddKeyboardShortcut(), RemoveKeyboardShortcut(), SpinGadget(), WebGadget()
- Hinzugefügt: GetMenuItemState(), SetMenuItemState(), MenuHeight()
- Hinzugefügt: KeyboardReleased(), Trim(), Space()
- Hinzugefügt: SelectElement(), LineXY(), GetExtensionPart()
- Hinzugefügt: ! (XOR) und ~ (NOT) bitweise Operatoren
- Hinzugefügt: "Protected" BASIC Schlüsselwort
- Hinzugefügt: Shift+Tab Tastaturkürzel zum Rücksprung zum vorherigen Gadget
- Hinzugefügt: Debugger erkennt nun die Benutzung eines NULL Pointers und die Division durch 0.

- Optimiert: 2DDrawing, Keyboard, Mouse, Sound und Sprite Libraries (getrennte Einbindung der Befehle) !
- Optimiert: Plot() Befehl bei Benutznug mit ScreenOutput() ist jetzt 40 mal schneller (DirectX)

- Aktualisiert: PokeS() und PeekS() haben jetzt einen optionalen 'Länge' Parameter
- Aktualisiert: KeyboardPushed() kann jetzt #PB_Key_All als Parameter erhalten, für alle gedrückten Tasten
- Aktualisiert: FileSize() gibt jetzt -2 zurück, wenn die Datei ein Verzeichnis ist
- Aktualisiert: WindowID() kann einen optionalen #Window Parameter erhalten
- Aktualisiert: Alle Gadget Befehle haben jetzt einen optionalen 'Flags' Parameter, welcher die volle Kontrolle über deren Aussehen ermöglicht ! (Seht in die Gadget Dokumentation für weitere Informationen)
- Aktualisiert: Plot(), Line(), Box(), Circle(), Ellipse() haben jetzt einen optionalen 'Color' (Farb) Parameter.
- Aktualisiert: Beim Debugger wurden einige Bugs entfernt. Wenn ein Programm anhält oder der Debugger beendet wird, wird jetzt alles korrekt freigegeben. Dies leichteres Debuggen von "Fullscreen" Spielen, da der Bildschirm geschlossen wird, bevor der Fehler angezeigt wird.
- Aktualisiert: Debug-Routinen der Sprite Library.

- Geändert: StripLead() und StripTrail() in RTrim() und LTrim() umbenannt, für höhere Kompatibilität zu anderen BASIC Dialekten
- Geändert: NetworkClientEvent(), CloseNetworkConnection()
- Geändert: CreateToolBar(): 'WindowID' Parameter hinzugefügt
- Geändert: CreateMenu(): 'WindowID' Parameter hinzugefügt
- Geändert: NetworkClientEvent() und NetworkServerEvent(): keine 'String' Ereignisse mehr: "could be a possible exploit.."
- Geändert: OpenWindowedScreen() x,y Parameter beinhalten die Breite der oberen und linken Fensterränder.
- Geändert: ResizeWindow(), WindowWidth() und WindowHeight() benutzen jetzt die Breite/Höhe der inneren Fläche, um mit dem neuen OpenWindow() und der Skin-Unterstützung zu arbeiten

- Entfernt: AttachToolBar(), DetachToolBar(), AttachMenu(), ReceiveNetworkString()

- Repariert: FrameGadget() mit anderen vertieften und erhöhten Rahmen
- Repariert: ListViewGadget() Ereignisse
- Repariert: FileSize()
- Repariert: StopDrawing(), die Darstellung unter Win9x war nach häufigen Aufrufen fehlerhaft
- Repariert: Debugger Probleme...
- Repariert: AddGadgetItem() mit ListIconGadget() (-1 Position arbeitete nicht)
- Repariert: SpritePixelCollision() mit "clipped" Sprites
- Repariert: Möglicher Bug in Random()
- Repariert: SpritePixelCollision(), nur (0,0,0) transparente Farbe arbeitete
- Repariert: InitSprite(), InitSound(), InitPalette(), InitKeyboard() zeigten nicht mehr den Systemrequester an, wenn DirectX 7+ nicht gefunden wurde.
- Repariert: RemoveGadgetItem() und ClearGadgetItemList(), wenn sie zusammen mit PanelGadget() benutzt wurden
- Repariert: PathRequester() Standardpfad auf Win9x Systemen
- Repariert: @linkedlist() mit dem '.s' Typ gibt jetzt den korrekten Listenelement-Zeiger zurück (anstelle des String-Zeigers)
- Repariert: ReadPreferenceString() war in manchen Situationen fehlerhaft
- Repariert: Dokumentation: SaveImage(), ScreenID(), SelectedFontStyle() und SelectedFontColor() fehlten

6. Mai 2002 : Version 3.10

- Hinzugefügt: Preference Library: OpenPreferences(), CreatePreferences(), ReadPreferenceLong/Float/String(), WritePreferenceLong/Float/String(), PreferenceComment(), PreferenceGroup()
- Hinzugefügt: Windows XP Skinning Support (siehe 'Compiler-Optionen' Fenster)
- Hinzugefügt: GadgetX(), GadgetY(), GadgetWidth(), GadgetHeight(), GetGadgetItemState(), SetGadgetItemState(), GetGadgetItemText(), SetGadgetItemText(), CountGadgetItems(), TrackBarGadget(), IPAddressGadget()
- Hinzugefügt: HideWindow(), RandomSeed(), MakeIPAddress(), IPAddressField()
- Hinzugefügt: MouseWheel(), CatchSprite(), SaveSprite()
- Hinzugefügt: RotateSprite3D(), ZoomSprite3D(), TransformSprite3D(), Sprite3DQuality(), Sprite3DBlendingMode()
- Hinzugefügt: EventType(): Return/Änderungen/Fokus kann ermittelt werden bei StringGadget(), ComboBox() und anderen
- Hinzugefügt: CatchImage(), CreatePack(), ClosePack(), NextPackFile(), AddPackFile(), AddPackMemory(), PackFileSize(), OpenPack()
- Hinzugefügt: DirectoryEntrySize(), DirectoryEntryAttributes()
- Hinzugefügt: Volle Kompatibilität mit 'WindowBlinds' auf WinXP, welches möglicherweise den Event-Handler zerstörte !

- Optimiert: PureLibraries (Nur benutzte Befehle werden im Executable eingebunden) : Image, Misc2, GadgetExtension, Requester, Sprite3D, Memory, Packer

- Aktualisiert: CompareMemoryString(): einen optionalen 'Länge' Parameter hinzugefügt.
- Aktualisiert: DisplayPopupMenu(): (x,y) sind jetzt optional
- Aktualisiert: ResizeGadget(): die Übergabe von '-1' an eines der Argumente führt zu dessen Ignorierung (sehr nützlich für "resizeable" GUIs)
- Aktualisiert: GetGadgetText() und TextGadgetText() arbeiten jetzt zusammen mit TreeGadget() und ListIconGadget()
- Aktualisiert: AddGadgetItem() hat jetzt einen optionalen "Image" (Bild) Parameter.
- Aktualisiert: OpenWindow(): fügt jetzt die Größe der Fensterränder automatisch hinzu, um das "Skinning" Problem unter WinXP zu beheben
- Aktualisiert: FileSize() gibt jetzt die Größe für alle Dateien zurück, sogar für gesperrte ("locked") Dateien

- Entfernt: InitGadget(): wird nicht mehr benötigt.
- Entfernt: DoubleClick() und EventMouseButtons(): benutzen Sie stattdessen EventType()
- Entfernt: OpenDefaultConsole(): OpenConsole() stellt jetzt automatisch fest, ob sich das Programm im 'Console' oder 'Windows' Format befindet.
- Entfernt: AddListIconGadgetItem() und AddTreeGadgetItem(): AddGadgetItem() wird jetzt benutzt
- Entfernt: ExpandTreeGadgetItem() und TreeGadgetItemState(): Set/GetGadgetItemState() werden jetzt benutzt

- Repariert: Gadget Ereignisse (Events) für ComboBox, ListIcon und Systray.
- Repariert: Mögliche Speicherfehler mit Strings in besonderen Situationen
- Repariert: Possible bug when using Procedures as callbacks
- Repariert: Create3DSprite(): Größe war 1 Pixel kleiner
- Repariert: Jedes Fenster hat jetzt seine eigene private Klasse
- Repariert: PlaySound(): Debugger-Routine fehlte und kleine Störung am Ende des Abspielvorgangs
- Repariert: ResizeGadget() zusammen mit PanelGadget und einige "Refresh" Probleme
- Repariert: FindString() auf Win9x
- Repariert: ExamineDirectory() Bug auf Win9x
- Repariert: Module Library, das Abspielen sollte jetzt überall funktionieren
- Repariert: SetGadgetText() für ListViewGadget()
- Repariert: SelectedFontColor()
- Repariert: Blöder Bug bei DeleteElement()
- Repariert: NewList xxxx() alleine produzierte einen Linker Fehler
- Repariert: Bug beim Drucken von Bildern
- Repariert: Random() Befehl (nochmals !)
- Repariert: ResizeImage() auf Win9x
- Repariert: IncludeBinary Bug (bisher funktionierten nur absolute Pfade)
- Repariert: Editor: Tab wurde schlecht verarbeitet. Kleiner Farbfehler beim Einfügen.

4. April 2002 : Version 3.00

- Hinzugefügt: Library PureLibrary: OpenLibrary(), IsFunction(), CallFunction(), CloseLibrary()
- Hinzugefügt: Help PureLibrary: OpenHelp(), CloseHelp()
- Hinzugefügt: Clipboard PureLibrary: ClearClipboard(), GetClipboardText(), GetClipboardData(), SetClipboardData(), SetClipboardText()
- Hinzugefügt: ElseIf
- Hinzugefügt: Wenn eine Bedingung (If/While...) nicht vor ENDPROCEDURE abgeschlossen wurde, zeigt der Compiler eine Fehlermeldung.
- Hinzugefügt: ToolBarToolTip()
- Hinzugefügt: SpritePixelCollision()
- Hinzugefügt: Timer PureLibrary (Danke an Danilo): StartTimer(), EndTimer(), GetMinTimerResolution(), GetMaxTimerResolution()
- Hinzugefügt: ComDX PureLibrary (Danke an Danilo): CallCOM(), CallDX()
- Hinzugefügt: Printer PureLibrary: NewPrinterPage(), PrinterOutput(), PrintRequester(), StartPrinting(), StopPrinting(), PrinterPageWidth(), PrinterPageHeight()
- Hinzugefügt: Variable Befehls-Argumente für jede Funktion
- Hinzugefügt: Declare und DeclareDLL, um Prozeduren vor Ihrer eigentlichen (inhaltlichen) Defininierung zu deklarieren
- Hinzugefügt: CopyMemoryString(), MemoryStringLength(), CompareMemory(), ReAllocateMemory(), CompareMemoryString()
- Hinzugefügt: CopyImage(), ResizeImage(), GrabImage()
- Hinzugefügt: MovieStatus(), MovieLength()
- Hinzugefügt: SoundVolume(), SoundPan(), SoundFrequency(), CatchSound()
- Hinzugefügt: FirstDatabaseRow(), PreviousDatabaseRow()
- Hinzugefügt: CreatePalette(), GetPaletteColor(), SetPaletteColor(), UsePalette()
- Hinzugefügt: RGB(), ReplaceString(), StrU(), StrF(), ValF()
- Hinzugefügt: HideGadget(), GadgetID()
- Hinzugefügt: Niederländischer Catalog für den Editor

- Aktualisiert: Brandneue Library-Architektur, um NUR benötigte Befehle in das endgültige Executable einzubinden. Zur Zeit sind noch nicht alle Libraries soweit optimiert, um diese Funktion zu benutzen. Aber dies wird passieren, in naher Zukunft :). Außerdem benutzen alle Libraries das Standard STDCALL Format, somit gibt es keine umgekehrte Argumentreihenfolge mehr.. Alte Libraries sind jedoch weiterhin voll kompatibel.
- Aktualisiert: StopSound(): Die Übergabe von '-1' stoppt alle gerade abgespielten Sounds.
- Aktualisiert: PlaySound(): Der Flags Parameter ist jetzt optional.
- Aktualisiert: Sort(): es kann jetzt ein zu sortierender Bereich definiert werden (z.B.: von den Elementen 20 bis 50 eines Arrays).
- Aktualisiert: Resident Datei: #VK_xx Konstanten hinzugefügt, einige Strukturen repariert.

- Geändert: Intern werden die Parameter von Prozeduren jetzt in der richtigen Reihenfolge verarbeitet. Warnung: alle Callbacks müssen geändert werden, um dies zu berücksichtigen. Dies bedeutet auch, dass DLL Prozedur-Parameter in der richtigen Reihenfolge übergeben werden können.
- Geändert: InitSound() benötigt keinen "Maximum Sound" Parameter mehr.
- Geändert: Namensänderung von BackColour(), FrontColour() und TransparentSpriteColour() in BackColor(), FrontColor() und TransparentSpriteColor()

- Repariert: Compiler Absturz beim Verwenden von konstanten Strings, mehr Überprüfungen durch den Preprocessor
- Repariert: StartDrawing() Bugs
- Repariert: Random(), um bessere Zufallszahlen zu erhalten.
- Repariert: GetDatabaseString() beim Erhalten von Null-Werten
- Repariert: ExamineDirectory(): Fehler auf Win9x Systemen unter speziellen Umständen
- Repariert: Resident Problem. Jetzt werden Anwender-Residents geladen.
- Repariert: Editor Bug, welcher das Eingeben von speziellen Zeichen (oberhalb von 128 in der ASCII Tabelle) verhinderte und einige weitere Bugs.
- Repariert: FPU Bug, welcher das korrekte Arbeiten von OpenGL verhinderte.
- Repariert: 'Debug' Befehl: akzeptiert jetzt Fließkomma- und String-Funktionen ohne Probleme.

- Entfernt: Mr. Skunk PureLibraries, da einige fehlerhaft waren und wir nicht im Besitz der Sourcecodes sind, um diese zu reparieren.

24. Februar 2002 : Version 2.95

Hinweis: Dies ist eine "Bug-fix" Veröffentlichung vor dem Erscheinen der neuen 3.0. Nur sehr wenige Veränderungen.

- Hinzugefügt: HtmlHelp Support zur Suche in der Hilfe + anderen Goodies. Die alten HTML Dateien können gefahrlos gelöscht werden.

- Repariert: Compiler Bugs (Float Variablen innerhalb eines Structure Arrays, XIncludeFile, 'a' Konstanten unter manch seltenen Umständen, Bug bei Ausdrücken, Konstanten-Verdopplung und die Integration der Image Library beim Benutzen mit Sprites, Speicherverlust in String-Prozuduren)
- Repariert: LoadJPGSprite Bug
- Repariert: Editor Farben-Problem mit normalen Textfarben

27. Januar 2002 : Version 2.90

- Hinzugefügt: DLL Erstellung !
- Hinzugefügt: Konstanten können jetzt Strings oder Fließkomma (Float) sein.
- Hinzugefügt: Fehlersuche jetzt mit DebugLevel Befehlen innerhalb des Debugger-Fensters.
- Hinzugefügt: Italienische Editorsprachdatei von Yuri.

- Geändert: Variablen, Arrays, LinkedList und Konstanten sind jetzt "case insensitive".

- Repariert: PathRequester(), OpenFileRequester(), SaveFileRequester()
- Repariert: ExamineDirectory() kleiner Bug
- Repariert: GetDatabaseFloat()
- Repariert: Compiler Crash auf Windows NT4 Sp6a.

13. Januar 2002 : Version 2.82

- Hinzugefügt: PeekF(), PokeF()
- Hinzugefügt: Math Library: ACos(), ASin(), ATan(), Pow(), Log(), Log10(), Round(), Cos(), Sin(), Tan(), Abs(), Sqr(), Int()
- Hinzugefügt: SpriteOutput(): ermöglicht die Nutzung der 2DDrawing Befehle auf allen Sprites !
- Hinzugefügt: #PB_WindowInvisible

- Repariert: Compiler Bugs (a.l = Pow(), a = -16/Variable)
- Repariert: ein Bug in OpenDatabaseRequester(), welcher das Öffnen der Datenbank mit einigen ODBC Treibern (MySQL...) verhindert
- Repariert: FrontColour() Bug, welcher DX und ganze Systemcrashs verursachte...
- Repariert: SaveImage() speichert immer in 24 Bit anstelle von 32 Bit
- Repariert: ListViewGadget() benutzt jetzt die exakte Höhe des Gadgets, nicht mehr nur eine gerundete
- Repariert: SysTrayIconToolTip() verursacht keinen Crash mehr, wenn der angegebene Text länger als 64 Zeichen ist
- Repariert: ListIconGadget(): zerstört nicht mehr die Icons nach FreeGadget()
- Repariert: ChangeListIconGadgetDiplay(): Refresh erfolgt automatisch
- Repariert: Hintergrundfarbe der Fenster unter Windows XP

- Geändert: StrF(Zahl) in StrF(Zahl, Präzision)

01. Januar 2002 : Version 2.80 ("Happy New Year" - Veröffentlichung)

Compiler:
- Update: Compiler-Kernel von Grund auf neu programmiert: komplexe Ausdrücke sind möglich
- Update: Code-Ausgabe optimiert
- Hinzugefügt: /REASM Compiler Flag, um das Reassemblieren nach Modifizierungen zu ermöglichen.
- Hinzugefügt: Möglichkeit, Float Variablen bei API Aufrufen zu benutzen.
- Repariert: Float Support (Vergleiche, Prozeduren, Abs(), Sin() etc..)
- Repariert: alle bekannten Bugs

Libraries:
- Hinzugefügt: Sprite3D Library: Create3DSprite(), Display3DSprite(), Transform3DSprite(), Free3DSprite(), Start3D(), Stop3D()
- Hinzugefügt: SaveImage()
- Hinzugefügt: Debugger Routine für alle Befehle
- Repariert: ExamineDirectory()
- Repariert: OpenFile() (die Lese-Funktion arbeitete nicht)

Editor:
- Hinzugefügt: QuickHelp ("schnelle Hilfe") für die meisten Befehle
- Hinzugefügt: Direktaufruf von Prozeduren
- Hinzugefügt: Windows XP farbkompatibel und Support für Themen
- Repariert: blöder Bug beim Ersetzen

28. November 2001 : Version 2.70

- Hinzugefügt: ChangeSysTrayIcon(), SysTrayIconToolIip(), ExpandTreeGadgetItem(), TreeGadgetItemState()
- Hinzugefügt: DisableMenuItem(), GadgetToolTip(), StatusBarIcon()
- Hinzugefügt: UseGadgetList(), TransparentSpriteColor(), ClipSprite(), CopySprite(), GrabSprite()
- Hinzugefügt: ProgramParameter()
- Hinzugefügt: Thread Library
- Hinzugefügt: '!' Unterstützung, um "rohe" ASM Befehle in den Sourcecode einzufügen (werden direkt durch NAsm verarbeitet)
- Hinzugefügt: Multilevel (100) Undo/Redo im Editor
- Hinzugefügt: Farbiger Syntax beim Einfügen (Jaa ;-)

- Update: StatusBarText(): 2 Flags für das Ausrichten (Zentriert & Rechts)
- Update: ReadData() gibt jetzt die Anzahl gelesener Bytes zurück
- Update: Der Debugger ist jetzt ein Thread mit hoher Priorität (viel besser einsetzbar)

- Geändert: PlaySound(), einen Flag für fortwährendes Abspielen (Looping) hinzugefügt
- Geändert: SetStatusBarText() -> StatusBarText()
- Geändert: InitSprite(): den Sprite Parameter entfernt

- Repariert: DatabaseQuery(), GetPathPart(), LoadSprite() (kann jetzt Sprites beliebiger Größe laden)
- Repariert: CloseScreen(): kann jetzt zwischen Vollbild- (Fullscreen) und Fenstermodus (Windowed) ohne Probleme umschalten. Cool.
- Repariert: Compiler Bugs (MultiArray in Prozeduren, Einlesen von Daten in Prozeduren)
- Repariert: Flickering im Editor

5. November 2001 : Version 2.60

- Hinzugefügt: CopyMemory(), CatchJPEGSprite(), LoadJPEGSprite(), WindowMouseX(), WindowMouseY()
- Hinzugefügt: MovieSeek(), MovieInfo(), DrawImage(), ScreenOutput(), WindowOutput(), ImageOutput(), CreateImage()
- Hinzugefügt: Database Library
- Hinzugefügt: Packer Library
- Hinzugefügt: Console Library (von Sylvain)
- Hinzugefügt: Möglichkeit, die 2DDrawing Library direkt auf Bildschirmen von Spielen zu nutzen
- Hinzugefügt: XOR und Fill/Outline Modus für die 2D Drawing Funktionen
- Hinzugefügt: -1 Feature bei FreeMemory(), um alle Bänke mit einem Aufruf freizugeben.
- Hinzugefügt: Neue Flags bei RunProgram(): synchrones Starten und Möglichkeit das gestartete Programm zu verstecken.
- Hinzugefügt: Mächtiger ASM-Monitor im Debugger (in einer Basic Sprache !)
- Hinzugefügt: Variablen-Anzeiger im Debugger

- Geändert: Alle alten MemoryBank Funktionen umbenannt.
- Geändert: ReadMemory() und WriteMemory() umbenannt -> ReadData(), WriteData() (für bessere Logik zusammen mit anderen Befehlen)
- Geändert: Das Purebasic Library Format (siehe das SDK für weitere Informationen)
- Geändert: DrawingOutput() wurde umbenannt in StartDrawing() und benötigt keine WindowID() mehr (stattdessen WindowOutput(), ScreenOutput() oder ImageOutput()
- Geändert: Eof() benutzt jetzt einen Parameter..

- Repariert: StopModule() (den #Module Parameter entfernt)
- Repariert: Einen kleinen Compiler Bug
- Repariert: PlayMovie()
- Repariert: Debugger während dem Benutzen von ASM Befehlen in PureBasic
- Repariert: Clipboard EINFÜGEN innerhalb des Editors verändert nicht mehr den Zeichensatz des Editors

23. September 2001 : Version 2.50

- Hinzugefügt: Mouse Library
- Hinzugefügt: Movie Library
- Hinzugefügt: Sort Library
- Hinzugefügt: Procedure Adresse (@procedurename())
- Hinzugefügt: Unterstützung für das 'Console' Executable Format
- Hinzugefügt: DisplayTranslucideSprite(), DisplayAlphaSprite(), DisplayShadowSprite(), DisplayRGBFilter(), ChangeAlphaIntensity(), ClearScreen(), OpenWindowedScreen(), DisplaySolidSprite(), CloseScreen(), SetFrameRate(), IsScreenActive(), StartSpecialFX(), StopSpecialFX(), ResizeGadget(), JoystickAxisX(), JoystickAxisY(), ChangeGamma(), SetWindowCallback(), Red(), Green(), Blue()

- Änderung bei LoadSprite()
- Änderung bei DisplayPalette (Screen-Argument entfernt)
- Änderung bei ExamineJoystick()
- Änderung bei OpenScreen (Text$ Parameter hinzugefügt)
- Änderung bei FontRequester (anfänglicher Fontname und -größe hinzugefügt)
- Änderung bei FrameGadget (Stil-Flag für Rahmen hinzugefügt)

- Repariert: Große Fehler in den DirectX Routinen (Sprite, Keyboard, Movie) bereinigt. Jetzt laufen alle sehr gut im Multitasking !
- Repariert: Icon-Support für ToolBar und Image Library
- Repariert: SelectedFontName()
- Repariert: ClearGadgetItemList(), wenn es zusammen mit TreeGadget() benutzt wird
- Repariert: LoadFont() (falsche Y-Größe)

Editor:
- Hinzugefügt: optionales Autosave (automatisches Speichern) vor dem Compilieren
- Hinzugefügt: Unterstützung für beliebige Zeichensätze
- Hinzugefügt: Einschalten/Ausschalten der Syntax-Einfärbung
- Hinzugefügt: 2 neue Komponenten beim Einfärben: 'Normaler Text' und 'Prozeduren/Befehle'
- Hinzugefügt: Sprachen-, Zeichensatz- und Farbänderung in Echtzeit
- Hinzugefügt: neues 'About' Fenster, viel besser jetzt ;-)

- Aktualisiert: Ultra-schnelles Syntax-Highlighting beim Laden einer Sourcecode Datei
- Aktualisiert: Art des Syntax-Highlighting geändert (viel besser)

1. August 2001 : Version 2.40

- Hinzugefügt: Befehle für Data Unterstützung: Read, Restore, Data, DataSection, EndDataSection
- Hinzugefügt: Fließkomma-Zahlen Unterstützung (in einem frühen Status)
- Hinzugefügt: MemoryBank Library
- Hinzugefügt: StatusBar Library
- Hinzugefügt: Image Library
- Hinzugefügt: Systray Library
- Hinzugefügt: Viele neue Befehle:: EventlParam(), EventwParam(), ListIndex(), ListCount()
ChangeCurrentElement(), ToolBarImageButton(), EventMouseButton(), UseDirectory()
- Hinzugefügt: CreatePopupMenu() und DisplayPopupMenu()
- Hinzugefügt: TreeGadget(), ImageGadget(), ButtonImageGadget(), AddTreeGadgetItem()
- Hinzugefügt: ListIconGadget(), AddListIconGadgetItem(), ChangeListIconGadgetDisplay(), AddGadgetColumn()

- Änderung des Standard-Typs von 'Word' (16 Bit) in 'Long' (32 Bit)
- Änderung: WaitWindowEvent()/WindowEvent() geben jetzt alle Window Ereignisse zurück !
- Änderungen bei: ComboBoxGadget(), PanelGadget() und ListViewGadget()
- Änderung: ExamineDirectory() -> Anzahl hinzugefügt, um das Untersuchen mehrerer Verzeichnisse zur selben Zeit zu ermöglichen

- Repariert: CopyFile() (Überschreiben funktionierte nicht)
- Repariert: FrontColour() (Text-Farbe änderte sich nicht..)
- Repariert: GetGadgetState(), SetGadgetState() und RemoveGadgetItem() zur Unterstützung des PanelGadget

- Entfernt: InitWindow(), InitRequester(), InitToolBar(), InitFont(), InitFile() und InitMenu() (Initialisierung erfolgt jetzt automatisch)

17. Mai 2001 : Version 2.30

- Hinzugefügt: zum Editor: Drag & Drop auf dem Hauptfenster, automatische Registry Unterstützung für .pb Dateien, automatisches Einrücken, Tab/Shift+Tab um einen markierten Block einfach einzurücken.
- Hinzugefügt: Tonnen neuer Befehle: GetGadgetState(), SetGadgetState(), AddGadgetItem(), RemoveGadgetItem(), ClearGadgetItemList() PanelGadget(), ClosePanelGadget(), TextGadget(), SpritesCollision(), Delay(), OptionGadget(), FrameGadget() Loc(), PeekW/B(), PokeW/B(), GetPathPart(), GetFilePart(), RunProgram(), DoubleClick(), PathRequester()
- Hinzugefügt: 'Tab' Unterstützung zur Gadget Bibliothek.
- Hinzugefügt: Compiler-Anweisungen: CompilerIf/Else/Endif, CompilerSelect/Case/Default/EndSelect
- Hinzugefügt: CD-Audio Bibliothek
- Hinzugefügt: FileSystem Bibliothek
- Hinzugefügt: Einen eingebauten ICON-Linker (GoRC wird nicht mehr benötigt)

- Verbessert: Debugger (Schritt für Schritt / 'Step by Step' arbeitet jetzt perfekt)
- Verbessert: Optimierung der generierten Executable (kleiner und schneller)
- Verbessert: Vollständige Neuprogrammierung des Compiler Ausdruck-Prozessors-Kerns
- Verbessert: Compiler und Editor Größen reduziert (90 Kb anstelle 148 Kb und 33 Kb anstelle von 96 Kb)
- Verbessert: Tonnen kleiner Verbesserungen und Bug-Fixes, zu umfangreich alle einzeln aufzuführen

- Repariert: Einige garstige Bugs im Compiler beseitigt

- Änderung: LSR, LSR in die betreffenden << und >> geändert
- Änderung: AddComboBoxItem() und AddListViewItem() in das gemeinsame AddGadgetItem() geändert

25. März 2001 : Version 2.20

- Hinzugefügt: Debugger Laufzeit (Runtime) Unterstützung für alle Pure Bibliotheken. Ein Programm stürzt jetzt nicht mehr so einfach ab. Es ist jetzt viel einfacher, Bugs aufzuspüren !
- Hinzugefügt: NT4.0 Unterstützung bei den Multimedia Bibliotheken (Sprite, Palette, Sound & Keyboard), welches auch die Entwicklung von auf NT4.0 laufenden Spielen oder Multimedia-Anwendungen ermöglicht !
- Hinzugefügt: Einige neue Funktionen hinzugefügt: Lof(), ReadMemory(), WriteMemory(), PeekS(), PokeS(), NetworkClientEvent(), SetGadgetFont(), WaitWindowEvent(), FileSeek()
- Hinzugefügt: Eine brandneue Module Bibliothek hinzugefügt, die einfaches Abspielen von ProTracker, FastTracker oder ImpulseTracker Modulen ermöglicht.
- Hinzugefügt: Speichern von Projekteinstellungen für jede Datei (Executable Name, Compiler-Einstellungen etc...)
- Hinzugefügt: Einstellungs-Fenster zum einfachen Konfigurieren des Editors (Farbe, Standard-Verzeichnis etc..)
- Hinzugefügt: Mehrsprachen-Unterstützung (Englisch, Französisch und Deutsch) für den Editor
- Hinzugefügt: Icon (.ico) Unterstützung beim Erstellen eines Executable !
- Hinzugefügt: Win32 Hilfe-Support (beim Drücken von F1 über einer Windows-Funktion) hinzugefügt)

- Viele Bug-Fixes am Compiler, dieser ist jetzt viel zuverlässiger.
- Aktualisierung der Dokumentation

26 Februar 2001 : Version 2.10

- Hinzugefügt: Debugger, um sich einfach durch das Programm zu bewegen. Er hat folgende Features: Schritt für Schritt, Stop, Fortsetzen, Beenden (nützlich um eine Endlosschleife abzubrechen...) und er kann aufgerufen und kontrolliert werden über den Quellcode mit den folgenden Befehlen: CallDebugger, EnableDebugger, DisableDebugger
- Hinzugefügt: neue Befehle: ListViewGadget(), AddListViewItem(), GetGadgetText(), SetGadgetText(), SizeOf()
- Hinzugefügt: zum Editor: Mehrsprachigkeit (Fran zösisch, Deutsch, Englisch)
- Hinzugefügt: Microsoft Windows © Resident-Datei, welche alle Konstanten und Strukturen beinhaltet, welche für einfache OS Programmierung in PureBasic benötigt werden.

- Den Editor stark verbessert: kontext-sensitive Hilfe (F1 auf einem Schlüsselwort), Goto, Compiler Optionen, viel besseres Syntax-Highlightning, '.prefs' Einstellungsdatei

- Repariert: Eine Menge an Bugs, und die gesamte Stabilität verbessert

17. Dezember 2000 : Version 2.00 - Final release

- Bereinigung aller bekannten Bugs, die 2D Drawing Library hinzugefügt und einige wesentliche Verbesserungen

28. November 2000 : Version 2.00 PR 3

- Bereinigung der mit DirectX zusammenhängenden Fehler
- Eingebauter Editor (Syntax-Highlighting und direkter Zugriff auf den Compiler!)
- Hinzugefügt: 2 neue Bibliotheken (Requester und ToolBar)

12. November 2000 : Version 2.00 PR 2

- Vielzahl an Fehlern wurde bereinigt. Danke an alle Bug-Reporter :)
- Hinzugefügt: 6 neue Bibliotheken (Sprite, Joystick, Keyboard, Sound, Network und Palette)

22. Oktober 2000 : Version 2.00 PR 1

- Erstes öffentliches Release von PureBasic x86. Nur für Testzwecke.