PureBasic 6.10 LTS is out !

Developed or developing a new product in PureBasic? Tell the world about it.
Fred
Administrator
Administrator
Posts: 16686
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

PureBasic 6.10 LTS is out !

Post by Fred »

Hello everyone !

2024-03-27: Final version is out ! Thanks a lot to everyone for the feedback, we are very proud of this new PureBasic release which paves the way for the future with an up-to-date Windows build chain. Special thanks to Freak who did an awesome job on updating some libraries and provide more consistent commandset accross the supported OS ! A massive work has also been done to fix old bugs and we will continue this way until most of them are squashed. Stay tuned !

2024-03-22: beta 9 is out for testing, it will be hopefully the last beta before final ! It brings the following changes and bug fixes:

Code: Select all

Optimized: SoundVolume() and MusicVolume() changed from integer to float so fractional values are accepted for better precision.
Changed: removed 'link.exe' from the Windows package and went back to 'polink.exe' (link.exe is not freely redistrituable). If 'link.exe' is found on the PATH it will still be used to have a bit smaller executables.
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.

2024-03-13: beta 8 is out for testing ! It brings the following new features and bug fixes:

Code: Select all

Added: New skeleton library create custom skeleton to a mesh
Added: ScaleEntityBone(), MeshDirectAdd() and #PB_Mesh_Direct mode support to CreateMesh()
Added: #PB_2DDrawing_NativeText support for Windows
Optimized: The IDE on Windows is now compiled with the C backend to have faster and smaller executable
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.

2024-03-02: beta 7 is ready to test with even more bug fixes and some new stuff:

Code: Select all

Added: #PB_2DDrawing_NativeText support for DrawingMode()
Added: #PB_PixelFormat_NoAlpha for DrawingBufferFormat()
Added: ExamineDraggedItems(), NextDraggedItem() and DraggedItemIndex() for Drag'n'drop
Added: GetGadgetItemText() support for ExplorerTreeGadget() 
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.

2024-02-10: beta 6 is out ! Mostly a bug fix release, with some addition for the WebViewGadget() and WebGadget() on Windows

Code: Select all

Added: #PB_WebView_ICoreController attribute support WebGaget() and WebViewGadget()
Added: All ICoreWebView2 interfaces and constants as residents, thanks to Justin (Windows)
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.


2024-02-04: beta 5 is ready to test. It mainly brings a new DPI Aware mode for OS X (the IDE tabs on OS X shouldn't be blurry anymore on retina display, yeah !) and the usual bugs fixes. Don't hesitate to test it and we are close to the final release.

Code: Select all

Added: DPI-Aware support for OS X
Added: GetGadgetFont(#PB_Default) support on OSX to get the system gadget font 
Added: Documentation is up-to-date now for all new commands (english only)
2024-01-27: beta 4 is out don't hesitate to test it ! Changes:

Code: Select all

Added: #PB_WebView_Debug flag to WebViewGadget() to enable debugging
Added: most of the new english documentation

Renamed: WebViewEvaluateScript() to WebViewExecuteScript()

Removed: Some very old deprecated functions.
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.



2024-01-19: beta 3 released, focused on bug fixes and improvements:

Code: Select all

Added: NbMaxChannels parameter for InitSound(). Range from 1 to 254.

Changed: WebViewGadget(): SetGadgetText() now open an URI like WebGadget() and added SetGadgetItemText() with #PB_Web_HtmlCode

Updated: Switched for MiniAudio for Windows as well, so all platform should behave exactly the same now. It use WASAPI on Windows by default for best sound quality.
Updated: Reworked the Music library to use MiniAudio as backend.
Updated: SQLite version to 3.45.0
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.

2024-01-12: beta 2 released, focused on bug fixes and improvements:

Code: Select all

Added: UseDialogWebGadget() to avoid WebGadget dependencies by default when using dialogs.

Updated: Unicode file support for Windows compiler
Updated: Used libvlc instead of the old xine lib on Linux to play movies
Updated: Reworked the Sound library to use MiniAudio on OS X and Linux (SDL dependency is no more requiered for sounds on Linux).
Bugfixes for this version:This list was created automatically. All updated bug threads from the date of the last final version have been determined.



We were hard at work to be able to release this new beta of PureBasic so you could play with it during Xmas if you have some holidays 8). It was meant to be a medium sized release, but Fr34k decided to weight in and added a lot of commands, so it's now officially a big release ! Check for yourself:

Code: Select all

Added: WebViewGadget(), BindWebViewCallback(), UnbindWebViewCallback(), WebViewEvaluateScript() (Windows, OSX, GTK3)
Added: CompareStructure(), CompareArray(), CompareList() and CompareMap() functions
Added: CustomSortList() and CustomSortArray() functions to Sort library
Added: CatchPack(), PackEntryDate()
Added: #PB_Cipher_HMAC flag to fingerprint functions
Added: CreatePasswordHash() and VerifyPasswordHash() functions (BCrypt algorithm)
Added: DeriveCipherKey() to create a cipher key from a password (PBKDF2 algorithm)
Added: SvgVectorOutput() for all OS
Added: PdfVectorOutput() for all OS
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: AddPackDirectory(#Packer, PackedDirectoryName$) for empty directory
Added: UseDialogOpenGLGadget() to avoid opengl dependencies by default when using dialogs.
Added: UseDialogScintillaGadget() to avoid big lib dependency by default when using dialogs.
Added: Case-insensitive subsystem support on Linux
Added: 'Encoding' optional parameter to OpenPreference() to handle properly UTF-8 files without BOM
Added: '#PB_Preference_NoBOM' flags for CreatePreference() to create UTF-8 preference files without BOM
Added: --listfunctions/constants/interfaces and --querystructure support to Windows compiler.
Added: #PB_EventType_ColumnClick for ListIconGadget()
Added: #PB_String_EscapeJSON support to EscapeString() and UnescapeString().
Added: Parent window support to all requesters
Added: runtime warning if CreateThread() is used without ThreadSafe mode
Added: #PB_EventType_Refresh support for ExplorerListGadget() (Window only)
Added: GadgetItemID() support for PanelGadget() (Windows only)
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

Updated: Toolchain on Windows now use VisualStudio 2022 and new MSVCRT for faster PureBasic programs and easier external libs integration.
Updated: Date library for full 64bit support (new range is year 1601 to 9999)
Updated: Minimum version for Linux x86 is now Debian 12
Updated: Minimum version for Raspberry is now Debian 12 based PI OS

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.

Removed: --listpath on Linux/OSX (now use --output to specify the output file)
Removed: Windows XP support. Minimum supported version is now Windows Vista.
As planed, we dropped the Windows XP support so we can now easily include cutting edge libraries like WebView and remove a lot of patches all accross the code base. Here is a small WebView example to get you started.

Code: Select all

  
Html$ =  ~"<button id=\"increment\">Tap me</button>\n"+
~"<div>You tapped <span id=\"count\">0</span> time(s).</div>\n"+
~"<button id=\"compute\">Compute</button>\n"+
~"<div>Result of computation: <span id=\"compute-result\">0</span></div>\n"+
~"<script>\n"+
~"  const [incrementElement, countElement, computeElement, "+
~"computeResultElement] =\n"+
~"    document.querySelectorAll(\"#increment, #count, #compute, "+
~"#compute-result\");\n"+
~"  document.addEventListener(\"DOMContentLoaded\", () => {\n"+
~"    incrementElement.addEventListener(\"click\", () => {\n"+
~"      window.increment().then(result => {\n"+
~"        countElement.textContent = result.count;\n"+
~"      });\n"+
~"    });\n"+
~"    computeElement.addEventListener(\"click\", () => {\n"+
~"      computeElement.disabled = true;\n"+
~"      window.compute(6, 7).then(result => {\n"+
~"        computeResultElement.textContent = result;\n"+
~"        computeElement.disabled = false;\n"+
~"      });\n"+
~"    });\n"+
~"  });\n"+
~"</script>";
    

Procedure IncrementJS(Json$)
  Static i
  Debug "IncrementJS "+Json$
  i+1
  ProcedureReturn UTF8(~"{ \"count\": "+Str(i)+ "}")
EndProcedure


Procedure ComputeJS(Json$)
  Debug "ComputeJS "+Json$
  ProcedureReturn UTF8(~"150")
EndProcedure


OpenWindow(0, 100, 100, 400, 400, "Hello", #PB_Window_SystemMenu)

WebViewGadget(0, 0, 0, 400, 400)
SetGadgetText(0, Html$)
  
BindWebViewCallback(0, "increment", @IncrementJS())
BindWebViewCallback(0, "compute", @ComputeJS())

Repeat 
  Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
More examples for new functions can be found here:
https://www.purebasic.fr/english/viewto ... 71#p613171

Have Fun !

The Fantaisie Software Team
normeus
Enthusiast
Enthusiast
Posts: 415
Joined: Fri Apr 20, 2012 8:09 pm
Contact:

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by normeus »

Thank YOU!!!
[edit] I dislike xmas, but being the first post today, allowed me to let you guys know, There is a PAYPAL Button which you can click and donate to the PureBasic team! :D
I believe in Santa now! :D [/edit]
Last edited by normeus on Sat Dec 23, 2023 1:51 am, edited 1 time in total.
google Translate;Makes my jokes fall flat- Fait mes blagues tombent à plat- Machte meine Witze verpuffen- Eh cumpari ci vo sunari
User avatar
skywalk
Addict
Addict
Posts: 4000
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by skywalk »

Merry Christmas!

This beats many of my gifts!
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
Oso
Enthusiast
Enthusiast
Posts: 595
Joined: Wed Jul 20, 2022 10:09 am

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by Oso »

Merry Christmas Fred and colleagues. And thank you to all in the team for your dedication. It's great to see PureBasic forging ahead with features like these. :wink:
User avatar
J. Baker
Addict
Addict
Posts: 2178
Joined: Sun Apr 27, 2003 8:12 am
Location: USA
Contact:

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by J. Baker »

Thanks and Merry Christmas! :D
www.posemotion.com

PureBasic Tools for OS X: PureMonitor, plist Tool, Data Maker & App Chef

Mac: 10.13.6 / 1.4GHz Core 2 Duo / 2GB DDR3 / Nvidia 320M
PC: Win 7 / AMD 64 4000+ / 3GB DDR / Nvidia 720GT


Even the vine knows it surroundings but the man with eyes does not.
User avatar
useful
Enthusiast
Enthusiast
Posts: 369
Joined: Fri Jul 19, 2013 7:36 am

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by useful »

It's time to rename yourself to magic software :D
Dawn will come inevitably.
User avatar
the.weavster
Addict
Addict
Posts: 1537
Joined: Thu Jul 03, 2003 6:53 pm
Location: England

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by the.weavster »

Image
Quin
Enthusiast
Enthusiast
Posts: 322
Joined: Thu Mar 31, 2022 7:03 pm
Location: United States
Contact:

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by Quin »

Thanks so much Fred and team, and merry Christmas!
PB v5.40/6.10, Windows 10 64-bit.
16-core AMD Ryzen 9 5950X, 128 GB DDR5.
User avatar
GG
Enthusiast
Enthusiast
Posts: 258
Joined: Tue Jul 26, 2005 12:02 pm
Location: Lieusaint (77), France

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by GG »

Merry Xmas to the community, and thanks Fantaisie Software for this beta !
Last edited by GG on Fri Dec 22, 2023 7:45 pm, edited 1 time in total.
Purebasic 6.04 64 bits - Windows 11 Pro 64 bits 23H2
Bitblazer
Enthusiast
Enthusiast
Posts: 736
Joined: Mon Apr 10, 2017 6:17 pm
Location: Germany
Contact:

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by Bitblazer »

Thanks for the beta and all your work and happy celebrations to all.
User avatar
Mijikai
Addict
Addict
Posts: 1360
Joined: Sun Sep 11, 2016 2:17 pm

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by Mijikai »

@Fred and Team
Thank you & Happy Holidays :D
User avatar
the.weavster
Addict
Addict
Posts: 1537
Joined: Thu Jul 03, 2003 6:53 pm
Location: England

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by the.weavster »

Your WebViewGadget demo above on MX Linux ...

I'm getting Invalid Memory Access on the line:

Code: Select all

BindWebViewCallback(0, "increment", @IncrementJS())
:(

I seem to have all the dependencies listed in the INSTALL script. ( I also have my own wrapper for WebView compiled as libwebview.so on the same PC and that works so I don't think it's a missing dependency ).
User avatar
Kiffi
Addict
Addict
Posts: 1358
Joined: Tue Mar 02, 2004 1:20 pm
Location: Amphibios 9

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by Kiffi »

Fred wrote: Fri Dec 22, 2023 6:14 pm

Code: Select all

...
WebViewGadget(0, 0, 0, 400, 400)
SetGadgetText(0, Html$)
...
In my opinion, the SetGadgetText() command has been mixed up here(?):

SetGadgetText() -> change the current URL.
SetGadgetItemText() -> Change the html code in the gadget with #PB_Web_HtmlCode as 'Item'.
Hygge
User avatar
STARGÅTE
Addict
Addict
Posts: 2089
Joined: Thu Jan 10, 2008 1:30 pm
Location: Germany, Glienicke
Contact:

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by STARGÅTE »

Many thanks Fred. I'm very happy about the new functions. CustomSortList() :shock: .
However, did I something wrong or are there no documentations for the new function in the beta version?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Lizard - Script language for symbolic calculations and moreTypeface - Sprite-based font include/module
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4663
Joined: Sun Apr 12, 2009 6:27 am

Re: PureBasic 6.10 beta 1 - Xmas Release - is out !

Post by RASHAD »

If that version 6.10
I wonder what version 7.0 will be :D
Egypt my love
Post Reply