This is the first public beta of the heavily bug fixed v3.93 so feel free to get it and test it as much as you can as lot of code have been changed. If you report a bug, be sure it's a bug, don't make us cry for nothing

Code: Select all
- Added: SortStructuredArray(), SortList(), SortStructuredList()
- Added: Conditional directives to LibraryMaker
- Added: KeyboardMode() (wasn't in the doc)
- Added: Optional 'Color' parameter for ColorRequester() and FontRequester()
- Added: SetGadgetText() can now be used on an editable ComboBoxGadget()
- Added: #PB_Default support to ClipSprite() to remove the clipping
- Added: Base64Decoder()
- Added: Event when a splitter is moved or resized so the children can be agenced
- Added: Realtime debugger check for Plot(x,y,Color) with ScreenOutput() and SpriteOutput()
- Added: Debugger check to DirectoryEntrySize/Name/Attributes()
- Added: IDE enhancements by Tinman
- Optimized: Debugger mode is smaller and allow big structured variables
- Optimized: Splitted Misc library
- Optimized: Faster Base64Encoder() function
- Optimized: Better code generation for string assignement and concatenation
- Fixed: A bug in ImageGadget() with XP skin activated and 32 bits bitmaps
- Fixed: ExplorerListGadget() didn't displayed .ico and .lnk files correctly
- Fixed: ButtonImageGadget() was loosing its picture in rare case with XP skins
- Fixed: No more 'ding' (windows sound) on click in fullscreen when ExamineMouse() wasn't used
- Fixed: When using ALT+TAB with a fullscreen application, the icon is correctly displayed
- Fixed: Sprites are now correctly restored when switching back from multitask
- Fixed: CopyDirectory() modified the input string in some case
- Fixed: ListIndex() was broken in some rare cases
- Fixed: RemoveString() and CRC32FingerPrint() couldn't be used in expressions
- Fixed: SetGadgetItemText() was broken for ListView() gadget
- Fixed: ExamineDirectory() with an uninitialized string variable
- Fixed: CalendarGadget() bug when multiple calendars were initialized on the same window
- Fixed: RSet() returned wrong result in some rare cases
- Fixed: CreateFile() failed on hidden files
- Fixed: ZeroMemory_(), FillMemory_(), MoveMemory_() and CopyMemory_() wasn't recognized
- Fixed: #PB_Event_MoveWindow is now correctly recognized
- Fixed: #PB_EventType_LostFocus wasn't sent if 2 stringgadgets were side by side.
- Fixed: Gadget's tooltips wasn't correctly displayed on NT4 when the window was always on top
- Fixed: OGG Plugin wasn't working anymore and sometimes songs were cut. It's also faster to decode.
- Fixed: ResizeImage() doesn't change the image anymore if the same dimensions are used.
- Fixed: TAB in an EditorGadget() doesn't give the focus to others gadgets anymore but insert a Tab
- Fixed: LCase() didn't handled the 'ß' german character correctly
- Fixed: SetGadgetState() wasn't working correctly for OptionGadget()
- Fixed: Debugger's code listing window dimensions are now saved like other windows
- Fixed: EditorGadget() while using AddGadgetItem() with blank strings and -1 position
- Fixed: SortArray() could crash on big already sorted arrays and is now thread safe
- Fixed: ReceiveNetworkFile() didn't handle long filename correctly
- Fixed: Display issues with ButtonImageGadget() and toogle mode (with API)
- Fixed: SpriteWidth() and SpriteHeight() returned wrong values when ClipSprite() was used
- Fixed: MessageRequester() over a console window sent the console window to the back
- Fixed: SetGadgetState() for ListIconGadget() stealed the current focus
- Fixed: Base64Encoder() produced wrong output sometimes
- Fixed: Refresh problem with Frame3DGadget() and #PB_Frame3D_Single/Double flags
- Fixed: GDI resource leak in ButtonImageGadget() and ImageGadget()
- Fixed: RotateSprite3D was using a wrong angle
- Fixed: DisableMenuItem() didn't work with #PB_Any
- Fixed: GadgetWidth() didn't work correctly for SpinGadget()
- Fixed: Several compiler bugs (string concatenation, interfaces in procedures)
Have fun !

The Purebasic team.