Вышла финальная версия PureBasic 6.10
- Added: WebView library to easily create HTML/CSS based UI - Added: Full rework of the date library to handle years from 1601 to 9999 - Added: Skeleton library to create custom skeleton to a mesh - Added: SvgVectorOutput() and PdfVectorOutput() for all OS - Added: DPI-Aware support for OS X - Added: ExamineDraggedItems(), NextDraggedItem() and DraggedItemIndex() for Drag'n'drop - Added: GetGadgetItemText() support for ExplorerTreeGadget() - Added: CompareStructure(), CompareArray(), CompareList() and CompareMap() functions - Added: CustomSortList() and CustomSortArray() functions to Sort library - Added: CatchPack(), PackEntryDate() - Added: CreatePasswordHash() and VerifyPasswordHash() functions (BCrypt algorithm) - Added: DeriveCipherKey() to create a cipher key from a password (PBKDF2 algorithm) - Added: DateUTC() to get the date in UTC time - Added: ConvertDate(Date, #PB_Date_LocalTime/#PB_Date_UTC) to convert the date between UTC and localtime - Added: ScaleEntityBone(), MeshDirectAdd() and #PB_Mesh_Direct mode support to CreateMesh() - Added: AddPackDirectory(#Packer, PackedDirectoryName$) for empty directory - Added: UseDialogWebGadget(), UseDialogOpenGLGadget(), UseDialogScintillaGadget() to avoid big lib dependency by default when using dialogs. - Added: NbMaxChannels parameter for InitSound(). Range from 1 to 254. - Added: 'Encoding' optional parameter to OpenPreference() to handle properly UTF-8 files without BOM - Added: Parent window support to all requesters - Added: WebGadget based on Edge component with the #PB_Web_Edge constant (Windows only) - Added: Localhost binding for InitFastCGI() - Added: SystrayIconMenu() to automatically display a menu when clicking on the icon - Added: ListIconGaget() column alignment support - Added: Runtime warning if CreateThread() is used without ThreadSafe mode - Added: GadgetItemID() support for PanelGadget() (Windows only) - Added: #PB_Preference_NoBOM flag for CreatePreference() to create UTF-8 preference files without BOM - Added: #PB_Cipher_HMAC flag to fingerprint functions - Added: #PB_2DDrawing_NativeText support for DrawingMode() - Added: #PB_PixelFormat_NoAlpha for DrawingBufferFormat() - Added: #PB_EventType_ColumnClick for ListIconGadget() - Added: #PB_String_EscapeJSON support to EscapeString() and UnescapeString(). - Added: #PB_Menu_SysTrayLook support to have better looking popup menu when used with SysTray (Windows only) - Added: #PB_EventType_Refresh support for ExplorerListGadget() (Window only) - Added: Case-insensitive subsystem support on Linux - Added: --listfunctions/constants/interfaces and --querystructure support to Windows compiler. - Updated: Unicode filename support for Windows compiler - Updated: Libvlc instead of the old xine lib on Linux to play movies - Updated: Reworked the Sound and Music library to use MiniAudio on Windows, OS X and Linux (SDL dependency is no more requiered for sounds on Linux). - Updated: SQLite version to 3.45.0 - Updated: Toolchain on Windows now use VisualStudio 2022 and new MSVCRT for faster PureBasic programs and easier external libs integration. - Updated: Minimum version for Linux x86 is now Debian 12 - Updated: Minimum version for Raspberry is now Debian 12 based PI OS - Changed: TextWidth(), TextHeight(), DrawText() and DrawRotatedText() now use double for X, Y coordinates. - Changed: Scintilla is now linked statically on Windows (distributing the scintilla.dll along your executable isn't needed anymore) - Changed: the SysTray lib on Linux now use AppIndicator to support modern Linux distro in GTK3 - Changed: deprecated DESFingerprint() function - use the new CreatePasswordHash() instead. - Changed: ListSize() and MapSize() now properly return -1 if the list or map is freed. - Removed: --listpath on Linux/OSX (use --output to specify the output file) - Removed: Windows XP support. Minimum supported Windows version for created executables is now Windows Vista. - Removed: Some very old deprecated functions.