Geschichte

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

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

 

Inhalte der einzelnen PureBasic-Updates bzw. neuen Versionen:

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

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

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

- Repariert: Viele Bugs im Compiler und den Bibliotheken

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

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

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

- Repariert: viele Bugs bei den Befehlen und im Compiler

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Aktualisiert: ExplorerListGadget() verwendet jetzt Icons

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

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

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

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

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

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

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

- Aktualisiert: Database Library

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

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

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

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

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

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

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

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

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

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

- Gadget Library gesplittet
- Sprite Library gesplittet

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Movie Library gesplittet und optimiert

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- "Splitted" Libs: FileSystem, StringExtension, Date

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

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

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