PureBasic 5.10 - Granted wishes release - is out !

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

PureBasic 5.10 - Granted wishes release - is out !

Post by Fred »

Hi there,

This version is a special one, as we have reviewed the 3700 feature wishes topics to implement them. It tooks quite some time, but as you can see
it will bring enhancements in every domains, including the compiler, libs, 3D and the IDE ! Warning, some changes are breaking backward compatibility,
but most should be easy to migrate (except the new packer commands which will requiers some work). We are really excited with the change log:

Code: Select all

- Added: Form designer is now integrated to the IDE !
- Added: Fully reworked Packer library with ZIP, BriefLZ, 7z (unpacker only) and LZMA support. JCALG1 support has been dropped. Archives formats for BriefLZ have been changed.
- Added: IPv6 support to the network library. Updated IPString(), MakeIPAddress(), GetClientIP(), IPAddressField(), ExamineIPAddress() and NextIPAddress(). 
- Added #PB_Network_IPv6 flag to OpenConnection and CreateServer(). Added FreeIP() for v6 IP
- Added: System library: ComputerName(), UserName(), MemoryStatus(), CountCPUs()
- Added: Line continuation feature, with the following operands: ',' '|' '+' And Or Xor (for now, the IDE hasn't be upgraded to display quickhelp/parenthesis correctly on multiline)
- Added: Constant string comparisons are now handled at compile time, allowing use in CompilerIf for example.
- Added: CocoaMessage() for OS X
- Added: 'Check syntax' to only compile the code without build/running an executable (/CHECK switch or in the IDE compîler menu)
- Added: Array/List/Map parameter support to Interface methods
- Added: Support for dynamic array/list/map support in structure/interface in Residents.
- Added: #PB_Character, #PB_Unicode, #PB_Ascii and #PB_Integer flag support to FillMemory()
- Added: #PB_RegularExpression_NoCase support to CreateRegularExpression()
- Added: EncodeImage() with PNG, JPEG and JPEG2000 support
- Added: #PB_Memory_NoClear support to Re/AllocateMemory()
- Added: ImageFormat(#Image). If created with CreateImage/GrabImage(), will return 0.
- Added: #PB_Editor_WordWrap to EditorGadget()
- Added: Multicharacter comparison in StringField()
- Added: NbOccurences parameter for ReplaceString()
- Added: PostEvent(), EventData()
- Added: return value to SetCurrentDirectory()
- Added: #PB_String_NoCase mode parameter to FindString()
- Added: #PB_Preference_NoSpace and #PB_Preference_GroupSeparator flags for OpenPreferences() and CreatePreferences()
- Added: DatabaseColumnIndex()
- Added: #PB_Cipher_URL and #PB_Cipher_NoPadding for Base64Encoder(), added URL compatibility to Base64Decoder()
- Added: SetGadgetItemImage() for all gadget supporting item gadget image
- Added: #PB_Gadget_ScreenCoordinate and #PB_Gadget_WindowCoordinate flag for GadgetX/Y()
- Added: #PB_File_SharedRead (no effect on Linux/OSX), #PB_File_SharedWrite (no effect on Linux/OSX), #PB_File_Append and #PB_File_NoBuffering for OpenFile(), ReadFile() and CreateFile()
- Added: #PB_Event_RightClick, #PB_Event_LeftClick and #PB_Event_LeftDoubleClick events
- Added: Optional title parameter to OpenConsole()
- Added: #PB_ScrollArea_ScrollStep added for ScrollAreaGadget()
- Added: #PB_Ignore for ResizeImage()
- Added: Bind a specific IP to CreateNetworkServer()
- Added: Timeout, LocalIP$ and LocalPort parameter to OpenNetworkConnection()
- Added: #PB_NetworkEvent_Disconnect support for NetworkClientEvent()
- Added: #PB_Unicode, #PB_Ascii and #PB_UTF8 support to SendNetworkString()
- Added: #PB_String_MaximumLength attribute for StringGadget()
- Added: #PB_Event_DeactivateWindow support
- Added: #PB_EventType_Change support for EditorGadget()
- Added: #PB_Relative/#PB_Absolute flag for FileSeek()
- Added: 'Offset' and 'Length' parameters to SHA1/MD5/CRC32FileFingerprint()
- Added: GetSoundPosition(), SetSoundPosition(), SoundLength(), PauseSound(), ResumeSound(), SoundStatus()
- Added: #PB_All support for SoundVolume()
- Added: SetGadgetItemState() support for ExplorerListGadget()
- Added: #PB_Event_TimeOut
- Added: InputRequester add close
- Added: InputRequester() added #PB_InputRequester_Password flag
- Added: Random() added optional mininmum value
- Added: SetGadgetItemText() for ListIconGadget(): handling of chr(10) as in AddGadgetItem()
- Added: made OpenWindowedScreen() stretch parameters optionals
- Added: ScreenWidth(), ScreenHeight(), ScreenDepth()
- Added: SMTP AUTH support to mail library
- Added: optional parameters to RemoveMailRecipient(), ability to remove all recipients
- Added: ReadString(#File [, Flags [, Length]]) : length and #PB_File_IgnoreEOL support
- Added: #PB_Window_InnerCoordinate support to WindowX/Y()
- Added: #PB_Window_FrameCoordinate support to WindowWidth()/Height()
- Added: #PB_Image_Raised support to ImageGadget()
- Added: Support for FreeXXX(#PB_All) for all free commands
- Added: Compiler Constants: #PB_Compiler_LineNumbering, #PB_Compiler_InlineAssembly, #PB_Compiler_EnableExplicit
- Added: Compiler Constants: #PB_Compiler_ExecutableFormat (with #PB_Compiler_DLL, #PB_Compiler_Console, #PB_Compiler_Executable)
- Added: Compiler Constant: #PB_Compiler_IsIncludeFile, #PB_Compiler_IsMainFile, #PB_Compiler_Filename (filename without path)
- Added: Bool() compiler operator. Boolean operations are now forbidden without Bool().
- Added: MacroExpandedCount internal keyword
- Added: UndefineMacro
- Added: Now XIncludeFile also take in account the main file, to avoid double inclusion if the main file is included from another file.
- Added: TypeOf() for variable, structure and fields
- Added: Defined(Label, #PB_Label) support
- Added: CompilerElseIf
- Added: Local labels
- Added: Define now behave like Global and accept Dim(), NewMap() and NewList() on the same line
- Added: 'Align' keyword support for structure, with a special #PB_Structure_AlignC value to mimic C structures padding
- Added: autocast of numeric values when string are involved, allowing to concatenate string and numeric in constants
- Added: 'CONSTANTLIST' to Compiler interface
- Added: editing history recording in the IDE to recover previous code states and for crash recovery (see File -> Session History)
- Added: AffectedDatabaseRows(), IsDatabaseNull() to database library
- Added: new Text3D library
- Added: 'Mode' optional parameter to all ...Yaw/Roll/Pitch() functions
- Added: 'Type' and 'Mode' optional parameter to CreateMesh()
- Added: RayCast(), MouseRayCast(), NormalX(), NormalY(), NormalZ()
- Added: UpdateMesh(), EnableManualEntityBoneControl(), MoveEntityBone(), RotateEntityBone()
- Added: 'Type' optional parameter to AddSubMesh()
- Added: 'Type' parameter to FinishMesh()
- Added: ScaleNode(), GetMaterialColor(), GetMaterialAttribute(), ConvertLocalToWorldPosition(), ConvertWorldToLocalPosition()
- Added: MaterialCullingMode(), FetchOrientation(), SetOrientation(), GetX(), GetY(), GetZ(), GetW(), GetLightColor()
- Added: AddEntityObject(): bone name can be empty, so the object is added directly to the entity

- Changed: renamed AddMeshVertex() to MeshVertexPosition()
- Changed: renamed LightColor() to SetLightColor()
- Changed: removed all MaterialXXXXColor() replaced by SetMaterialColor()
- Changed: removed all XXXXLocate() replaced by #PB_Absolute flag for MoveXXXX() commands
- Changed: replaced #PB_Sort_<Type> with #PB_<Type> to avoid possible errors
- Changed: disallow native type for pointers
- Changed: StrF/D(), trailing zeros are now automatically removed if no decimals are specified

- Updated: OGRE core has been updated to 1.8.2

- Removed: SendNetworkFile(), RecieveNetworkFile(), #PB_NetworkEvent_File to avoid possible security hole
- Removed: DirectX7 and NT4 subsystem on Windows
- Removed: SDL subsystem on Linux
- Removed: PowerPC version for OS X

- Optimized: FindString() is up to twice as fast

- Bug fix: DatabaseError() is now cleared properly
We are working on the doc, but in the meantime we need you to test all these new feature to have rock-solid 5.10 final !
If some commands aren't obvious to use, feel free to post your question in coding section, we will try to answer them quickly.
There is some new 3D examples in the examples/3d folder to demonstrate the new features.

Grab it while it's hot, we hope you will enjoy the new version and we wish you a merry xmas !

The Fantaisie Software Team.
MachineCode
Addict
Addict
Posts: 1482
Joined: Tue Feb 22, 2011 1:16 pm

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by MachineCode »

Holy crap! :shock: Thanks Fred! :D
Microsoft Visual Basic only lasted 7 short years: 1991 to 1998.
PureBasic: Born in 1998 and still going strong to this very day!
User avatar
Shield
Addict
Addict
Posts: 1021
Joined: Fri Jan 21, 2011 8:25 am
Location: 'stralia!
Contact:

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by Shield »

Sounds pretty f*cking awesome. :D
Finally some great compiler / language changes!
Image
Blog: Why Does It Suck? (http://whydoesitsuck.com/)
"You can disagree with me as much as you want, but during this talk, by definition, anybody who disagrees is stupid and ugly."
- Linus Torvalds
eesau
Enthusiast
Enthusiast
Posts: 589
Joined: Fri Apr 27, 2007 12:38 pm
Location: Finland

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by eesau »

Damn! Christmas came early! :)
MrMat
Enthusiast
Enthusiast
Posts: 762
Joined: Sun Sep 05, 2004 6:27 am
Location: England

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by MrMat »

Woah! Thanks! :D
Mat
LuCiFeR[SD]
666
666
Posts: 1033
Joined: Mon Sep 01, 2003 2:33 pm

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by LuCiFeR[SD] »

I think I just had a "Crisis" (any of you who watch the UK version of Top Gear will understand!) haha

Thanks very much purebasic team for all your hard work and commitment :) Merry apocalypse day hehe
User avatar
blueb
Addict
Addict
Posts: 1044
Joined: Sat Apr 26, 2003 2:15 pm
Location: Cuernavaca, Mexico

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by blueb »

Woo 8)

Just typing that list is quite an effort... imagine the
work that went into this.

Time to find the donate button :mrgreen:

--Bob
- It was too lonely at the top.

System : PB 6.10 LTS (x64) and Win Pro 11 (x64)
Hardware: AMD Ryzen 9 5900X w/64 gigs Ram, AMD RX 6950 XT Graphics w/16gigs Mem
moogle
Enthusiast
Enthusiast
Posts: 372
Joined: Tue Feb 14, 2006 9:27 pm
Location: London, UK

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by moogle »

THis is a bloody awesome update! Those network functions have been waiting for those updates since 3.94 :D
Image
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5353
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by Kwai chang caine »

Like usually i have not all understand, but i have see the long list, and for the first time since several years, i'm really happy to this precious adding 8)

Code: Select all

Line continuation feature, with the following operands: ',' '|' '+' And Or Xor 
#PB_Compiler_DLL, #PB_Compiler_Console, #PB_Compiler_Executable
Multicharacter comparison in StringField()
So for the first time since the beginning, i want thank you a lot for this great christmas present 8)
I go immediately under my christmas tree, for see my big present :shock:

Today i waiting for the end of the world...and it's another great event who come in my life :mrgreen:
I hope i have more than one day for use my return of the line :lol: :lol:
So before the end, i want when even make to you a big kiss :mrgreen:

Again thanks FRED for all this great adding !!!
ImageThe happiness is a road...
Not a destination
User avatar
DoubleDutch
Addict
Addict
Posts: 3219
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by DoubleDutch »

Wow! Thanks! Merry Christmas! :D
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
User avatar
Zebuddi123
Enthusiast
Enthusiast
Posts: 794
Joined: Wed Feb 01, 2012 3:30 pm
Location: Nottinghamshire UK
Contact:

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by Zebuddi123 »

Thank you Fred & Team :D Merry Xmas & Happy New Year

Zebuddi. :D
malleo, caput, bang. Ego, comprehendunt in tempore
luciano
Enthusiast
Enthusiast
Posts: 151
Joined: Wed Mar 09, 2011 8:25 pm

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by luciano »

Thanks to all the team for this beautiful Christmas present :D
Olby
Enthusiast
Enthusiast
Posts: 461
Joined: Mon Jan 12, 2009 10:33 am
Contact:

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by Olby »

Wow! This is one hell of an update! Can't wait to try them all new commands out... Happy Christmas to you all. Now where is that "Donate" button...
Intel Core i7 Quad 2.3 Ghz, 8GB RAM, GeForce GT 630M 2GB, Windows 10 (x64)
User avatar
DoubleDutch
Addict
Addict
Posts: 3219
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by DoubleDutch »

Could you add 'JCALG1' decode support for Windows x86 for at least a transitional amount of time, this is for backward compatibility with existing data files?
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
User_Russian
Addict
Addict
Posts: 1443
Joined: Wed Nov 12, 2008 5:01 pm
Location: Russia

Re: PureBasic 5.10 - Granted wishes release - is out !

Post by User_Russian »

A lot of new and necessary opportunities.
Thank you very much, Fred.
Post Reply