In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 25.5.
Llama
We have added a brand new section to our plugins: Llama. With the help of llama cpp integration, you can now load a local large language model (LLM) in Xojo with just a few lines of code, create a context, and generate text—all on-device, with optional GPU acceleration. The article Using llama.cpp in Xojo shows you what is possible and how to get started. Feel free to take a closer look.
DynaPDF
We extend our DynaPDFParserMBS class to provide details on the content of a page. You can delete individual items on a PDF page, such as images or text pieces. We have various classes for the individual operators. For example the DynaPDFParserContentFontMBS class provides the details for a SetFont operation. You can have content operators with a float or integer values. Use the DynaPDFParserContentLineDashPatternMBS class for a SetLineDashPattern operation. Over time we will add more classes there.
JavaScript
We added a new class, some methods and properties in the Java Script topic. When running JavaScript with macOS, you can create a group of contexts with the JSContextGroupMBS class. Contexts in the same group may share and exchange JavaScript objects. With the new constructor in the JSContextMBS class, you can specify which group this context belongs to. If you want to query this information, the Group property from the same class is available to you.
Files
We have added one new method from the FolderItem class in the Files topic: The USBSerialNumberMBS method queries the USB serial number for a volume. We look up the USB device for the volume and then look up the serial number.
Var f As New FolderItem("/Volumes/USBStick", FolderItem.PathModes.Native)
Var n As String = f.DarwinVolumeNameMBS
Var u As String = f.USBSerialNumberMBS
Break
UUIDv7
In the UUIDMBS class, you will now find a shared method called UUIDv7. UUIDv7 is a version of Universally Unique Identifier that combines a Unix timestamp with random bits, allowing for both uniqueness and sortability in high-load databases and distributed systems. It is designed to improve performance and reduce the likelihood of ID collisions compared to previous UUID versions.
CURL
We have also included new functionalities for CURL in this release. With the NetworkChanged method from the CURLSMultiMBS class, we inform CURL about a network change so it can discard connections or DNS cache entries. We also have many new properties for querying data for multi-transfer. Please take a look at the properties TransfersAdded, TransfersCurrent, TransfersDone, TransfersPending, and TransfersRunning.
Stdin
The StdinMBS class is used to read information from the standard input. In this release, this class gets the new method AvailableCharacters. It queries the number of characters in the input buffer.
New functionalities for Mac
The MBS Xojo Plugins in version 25.5 offers some more new features for Mac users:

Foundation Models
AI is on everyone’s lips, and Apple has also built its own LLM into macOS 26 and iOS 26. You can now access this model with the MBS functions from the FoundationModels topic and use the LMM in your solutions. You could use the LLM to generate text based on keywords, summarize texts, edit tone to make some text sound more professional, or translate text. The article Use Foundation Models in Xojotells you the first steps and what you can do with it.
Animated Symbols
Use the NSSymbolEffectMBS class and subclasses to have animated symbols in the user interface. We have classes for transitions and effect options. For example, you can use the NSSymbolBounceEffectMBS class to apply the Bounce animation to symbol images. With the NSSymbolPulseEffectMBS class, you can apply a Pulse animation. This and much more is waiting for you in the subclasses of NSSymbolEffectMBS. Check it out.
Core Graphics
In this release, we have added a lot of new methods, shared methods, and properties for Core Graphics. We have made the changes in the CGImageSourceMBS and CGImageDestinationMBSclasses. Take a look and get to know the new features.
Hash and Encryption
We have added several new properties to the X509MBS class, allowing you to use the class for a X509 certificate even more effectively. For the PKeyMBS class, which deals with public and private keys, we have added the new shared method SignCertificate, which signs a certificate sign request to create a new certificate. Also new are the two methods for signing and verifying RSA digital signatures with PSS padding. Feel free to use the SignRSAPSS and VerifyRSAPSS methods from the OpenSSLMBS class to use RSA with PSS padding.
StoreKit
In the StoreKit2MBS class, we have two new methods called ShowManageSubscriptions. The showManageSubscriptions methods present a manage subscription sheet that is the same as what customers can view in their account settings in the App Store app or by choosing Settings > Apple Account > Subscriptions on an iOS or iPadOS device. The sheet displays the customer’s currently active subscription for your app and the options to view, upgrade, downgrade, or cancel their subscription. The difference between the two methods is that in one of them, we can also specify the subscription group identifier that the subscription belongs to.
QuickLook
We have also added a new method in the QuickLook area. The QLPreviewControllerMBS class now includes the new AddItem method. This method allows you to add an optional title for the item, which is different from the file name.
New functionalities for Windows
Also we offer new features for Windows users
WebView2
For WebView2, we have also added new properties for the WebView2ControlMBS and DesktopWebView2ControlMBS classes in this release. This allows you to query the full path of the profile directory with ProfilePath. You can also specify the path to the default download folder and query it again if necessary. To do this, use the DefaultDownloadFolderPath property. With the PreferredColorScheme property, you can query and set the color scheme. The color scheme for WebView2 UI includes dialogs, prompts, and menus by setting the media feature prefers-color-scheme. The default value for this is kPreferredColorSchemeAuto, which will follow whatever color scheme the OS is currently set to.
var web as WebView2ControlMBS // your web viewer
web.PreferredColorScheme = web.kPreferredColorSchemeDark
Yield
With the new Shared Property Yield from the WindowsPowerManagerMBS class, you can read and set whether to yield to other Xojo threads. If you set it to true, it allows other cooperative threads to run in the background. The WindowsOCREngineMBS, WindowsPDFDocumentMBS, and WindowsPDFPageMBS classes also have exactly this property.
New functionalities for Linux
Last but not least, we have added functionalities for Linux. We have added some methods in the WiringPi area. WiringPi is a way to use GPIO on Raspberry Pi. For example, you can now use the Board40Pin method from the WiringPiMBS class to check if the current Raspberry Pi model uses the 40-pin GPIO header. With MemorySize, you can query the memory sizes by specifying the index. Or initialize WiringPi using a specified pin numbering type. This and much more awaits you in this release.
We hope you will also find some interesting new features. We wish you a lot of fun with MBS Xojo Plugins version 25.5. If you have any Ideas for new cool features, need a license or have any questions, please contact us.