Our MBS JSON class called JSONMBS got a bit aged in the last years. Time for a rewrite and over the last months, we got that on the way. To make a compelling offer to our clients for using this class, it has include a few key things:
Although we swap the underlaying library, we have to keep the same interface so existing code using JSONMBS continues to work. And we need to do same behaviors as much as possible.
We need to keep performance at great levels, especially when JSONItem caught up in Xoxo 2021 Release 1. Since we have to go through the Plugin SDK interface, we are slower in some cases due to that extra layer. In other cases we can be more efficient and avoid calls and do things quicker. Performance should be in general the same and exact results depend on what operations are used in the benchmark code.
Since you may use JSONItem, we need to be compatible, so you can easily switch to our class. That means we have to copy the JSONItem public interface in both API 1 and API 2. That is why we get both Value() and ValueAt(). You can choose whatever name you prefer since they are all connected to the same methods internally.
We like to add great new features like JSON Path Queries, Search & Replace and flatten & unflatten. If you know XML queries, you may like the JSON queries:
- Query(Path as string, Options as Integer = 0) as JSONMBS
- Search(Path as string) as JSONMBS
- Replace(Path as string, NewValue as Variant) as JSONMBS
- Flatten(value as JSONMBS) as JSONMBS
- Unflatten(value as JSONMBS) as JSONMBS
(more)
You may know Xojo Cloud as an easy way to deploy Web 1 and 2 applications to the web. A Xojo Cloud plan is just $49 per month for the smallest level and it is very comfortable. Just make your Xojo project, set Cloud as build target and click the deploy button. If you have no time to manage your own VPS, this is the most convenient way to run Xojo web apps. The second most comfortable way is probably using Lifeboat from Strawberry Software to manage your apps on your own VPS, e.g. an Amazon EC2 instance.
When we updated OpenSSL recently in version 23.2, we accidentally broke the compatibility to the linux used on Xojo Cloud, which seems to be current CentOS 7.9. Sorry if you are affected. This is fixed for 23.5pr1 and future releases. Of course Xojo Cloud may update someday to a newer version of Linux, like a current Ubuntu.
For the time being, the following plugin parts (out of about 500) may not load on CentOS due to library dependencies to newer C/C++ versions:
We also got a feature request to upgrade the Linux Cloud Servers to a newer version: Issue 74230.
Please don't hesitate to contact us if you have questions or need assistance.
PS: Please note that the use of 32-bit Intel Linux version of MBS Xojo Plugins is deprecated. 32-bit for ARM is still working fine of course as well as all the 64-bit targets.

New in this prerelease of the 23.5 plugins:
- Improved UUIDMBS.randomUUID to be a bit more random.
- Rewrote JSONMBS class.
- Added Query, Search and Replace functions for JSONMBS class.
- Added Flatten and Unflatten functions for JSONMBS class.
- Added Search to JSONMBS class class to perform JMESPath queries in Xojo.
- Changed SQLConnectionMBS class, so you can load Actual Tech ODBC drivers directly without using iODBC.
- Added RowsAffected property to SQLConnectionMBS and SQLDatabaseMBS classes.
- Fixed OpenSSL to not depend on GLIBC_2.25, so you can use our plugin on CentOS 7 again and on Xojo Cloud.
- Enabled fortified source checks for libc on Linux.
- Updated DynaPDF to version 4.0.78.230.
- Added kgfSkaleAnnotIcons constant for DynaPDFMBS class.
- Updated CURL to version 8.3.0.
- Updated to Xcode 15.0.
- Added iterators to DynaPDF with new DynaPDFIteratorMBS class.
- Added Operator_Convert to DynaPDFAnnotationMBS and DynaPDFAnnotationExMBS to convert between them.
- Fixed FolderItem.PhysicalFileTotalLengthMBS function for Windows to report block size.
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or
from DropBox.
Or ask us to be added to our shared DropBox folder.
Just seven months left until we start our MBS Xojo Developer Conference in Andernach, Germany. We know it is still early, but we already got a few speaker proposals and already the first 10 registrations from five different countries: 🇩🇪, 🇳🇱, 🇬🇧, 🇺🇸, and 🇫🇷.
Please join us 25th and 26th April 2024 in Andernach, Germany for a great Xojo developer conference. You may consider to arrive 24th April to join the evening reception in the hotel. Or even arrive earlier to join our Xojo training day. And if you come from far away, how about staying longer and do a bit of sight seeing with the group on Tuesday?
In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 23.4.
MongoDB
Also in this release we have something new for MongoDB. We updated our SSL support for our MongoDB plugin. We switched to using OpenSSL as the transport encryption for the MongoDB library for macOS and iOS. The SSLLibrary function tells you which SSL library is in use. You can use MongoSSLOptionsMBS class to specify SSL options in addition to putting them into the connection string. To check about possible reasons for connection problems, we got a new trace logging functionality with Trace property in MongoClientMBS class. And by regularly calling ping method you can check whether the connection is alive and keep it open.
CURL
For the classes CURLMBS, CURLNMBS and CURLSMBS we have 2 new methods each. When we work with URLs, we mostly need the absolute URL. The new method ProcessRelativeURL now offers us the possibility to convert a relative URL into an absolute URL by additionally specifying the base URL.
With the second new method RemoveAll we can remove all curl handlers at once. So that we don't have to take the way over a loop with RemoveCURL. This makes our work easier and the code remains clearer.
(more)
When you do things in your business, it is very important to have automated checks. A process needs to check if the previous process did the right thing. Because whatever can go wrong, will eventually go wrong and then you add a new check.
Today we added a check to our newsletter sending to make sure the text file for the announcement is from the current month. This hopefully avoids us sending out over 1000 emails with the old text the next time. Sorry, if you got one of these announcement newsletters with the wrong announcement.
Recently we got a new check when packing the plugins to check if the version number in the plugin file is the current version. Because it happened before, that the build machine failed and didn't copy over a new version. We also check that plugin files have a minimum file size and the linker didn't abort for some reason. The same script checks if all the plugins are from the same day to avoid missing to build one of them.
(more)
Nickenich, Germany - (September 12th, 2023) -- MonkeyBread Software today is pleased to announce MBS Xojo Plugins 23.4 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. MBS Xojo Plugins have been updated and now includes over 3000 classes and 80,000 documented features, and the versatile plugins have gained more new functions:
We updated our SSL support for our MongoDB plugin. We switched to using OpenSSL as the transport encryption for the MongoDB library for macOS and iOS. The SSLLibrary function tells you which SSL library is in use. You can use MongoSSLOptionsMBS class to specify SSL options in addition to putting them into the connection string. To check about possible reasons for connection problems, we got a new trace logging functionality with Trace property in MongoClientMBS class. And by regularly calling ping method you can check whether the connection is alive and keep it open.
For macOS we got a new NSSplitViewControlMBS control and the related NSSplitViewMBS class to get the native split control into Xojo. You can customize the splitter and decide between horizontal and vertical layout.
For Windows we rewrote the WindowsPowerStateMBS class. It got a couple of new methods to register for receiving various events about battery capacity change, lid switch change, power source change and suspend/resume events for the mobile computer. The Bluetooth LE classes got updated to support pairing with new WindowsDeviceInformationPairingMBS class. The WebView2ControlMBS control has new methods to map virtual host names to local folders.
For iOS we enabled the use of Midi features using MidiClientMBS class. We updated NSTextListMBS class to work on iOS and improved NSMutableAttributedStringMBS class.
We got new Base32 encoding and decoding functions, the ProcessRelativeURL method for CURLSMBS class can help to expand relative URLs and we include the BugreporterKit with the examples. The SerialPortMBS class can open paths to special devices like pipes.
Finally we updated ChartDirector to version 7.1, curl to 8.2.1, DynaPDF to 4.0.77.228, SQLAPI to 5.2.5 and SQLite to version 3.43.1.
See release notes for a complete list of changes.

New in this prerelease of the 23.4 plugins:
- Updated SQLAPI to version 5.2.5.
- Added new properties for PHPickerConfiguration class.
- Added audio constants to VLCInstanceMBS class.
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or
from DropBox.
Or ask us to be added to our shared DropBox folder.
The
OmegaBundle offer will end in about five days.

Omegabundle for Xojo 2023 is a collection of the most useful tool sets, add-ons, digital books and components for use with Xojo Inc's Xojo development environment. If purchased separately and not including any additional offers, the total cost would be over $4166.94. Omegabundle for Xojo 2023 costs $499.99.
Xojo is an award-winning, cross-platform development tool for the Desktop (macOS, Windows, Linux), Web, iOS (iPad/iPhone) and Raspberry Pi. With Xojo, you can create native applications by using drag-and-drop to build your user interface and then one straight-forward programming language to enable the functionality. Xojo is powerful and modern, yet easy to use and learn.
Learn more at
omegabundle.net , see
what is included and
order here.
About 16 years ago we started the development of our
MBS Xojo DynaPDF Plugin.
After a year of development, the plugin was released to the public on 1st Sep 2007 with MBS Plugin 7.6pr1.
This plugin has been a big success for us and provides the PDF engine to thousands of Xojo applications around the world. Based on user feedback we got a lot of functions over the years like the raster engine, PDF/A conversion and ZUGFeRD support.
Please make sure you try the plugin, make it part of your toolbox and start to enjoy all the PDF features you can add to your application.

The September/October (21.5) issue of xDev Magazine is now available. Here's a quick preview of what's inside:
Long Memories by Marc Zeedar
Bad bugs can stick in the memories of your users for a long, long time. No matter how much you test, bugs can still slip through, however, so Marc has some ideas on how to minimize their impact and create a more positive experience.
Syncing Dropbox by Marc Zeedar
Dropbox suddenly decided to stop syncing on Marc's old Mac, ruining a crucial part of his workflow. Naturally, he turned to Xojo to create his own crazy workaround.
Rasp Pi Electronic Fun Part 3 by Eugene Dakin
I2C electronics communication is a popular standard that allows many that many controllers, sensors, and remotes connect to a Raspberry Pi board. In this issue's project, Eugene shows how to set up a MPL3115A2 barometric sensor.
Creating a Photomosaic by Marc Zeedar
Have you ever seen a photo that is made up of thousands of tiny pictures? That's a photomosaic, where photos replace the pixels in the larger image. For some reason Marc thought that would be easy to make in Xojo.
Plus: Topics such as Xojo 2023R2, charting, Windows PDFs, database joins and views, and more!

New in this prerelease of the 23.4 plugins:
- Improved FindField in DynaPDFMBS class to better find a field in a group.
- Added OpenPath method to SerialPortMBS class.
- Fixed a bug in setting SQLNumericMBS values with floating numbers, caused by a bug fix in version 23.3. Values showed up as zero incorrectly.
- Fixed HighlightOnAllPages method in DynaPDFMBS class to pass color correctly.
- Updated DynaPDF to version 4.0.77.228.
- Added kif2SkipDPartData flag for DynaPDFMBS class.
- Added DeleteDPartNode method to DynaPDFMBS class.
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or
from DropBox.
Or ask us to be added to our shared DropBox folder.
Today I want to show you how you can easily create a bar chart, using MBS Xojo ChartDirector Plugin in a canvas in your Xojo application.
In our case we want to show a statistic about the favorite colors of the Germans.
Here is the data we want to display
blue |
red |
green |
black |
yellow |
white |
gray |
brown |
purple |
orange |
40% |
19% |
18% |
16% |
11% |
8% |
7% |
7% |
6% |
6% |
For this we first create three different arrays. An array that contains the individual values and a matching array with the labels. For the values we have to make sure that they are in an array of type double, otherwise they cannot be used later. Last but not least we create an array in which we define the colors. In our case we have specified the color values in hexadecimal.
(more)
For next release we add the NSSplitViewControlMBS to our Xojo plugins with the attached NSSplitViewMBS class.
(more)
This year the vendors for
OmegaBundle got a different idea on how to do the bundle. Instead of running a bundle for $399 USD for two months including 2 extension weeks, we switch to a different way of running the bundle:
- 2 months in July and August we offer the bundle for $399 USD.
- An extension in early September for about 10 days with a $499 USD price tag.
We tell you the price hike in advance to encourage everyone to make the purchase before September for the lower price. When the price goes up, the bundle is basically over. Only if you are very desperate to get the products in the bundle for that price, you make a purchase in September.
Check out what is inside
OmegaBundle:
Featured Products

New in this prerelease of the 23.4 plugins:
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or
from DropBox.
Or ask us to be added to our shared DropBox folder.
I am coming to Atlanta in early October and I may organize a casual get-together with Xojo developers.
Something like a meet-up for dinner in a restaurant to talk about Xojo.
But I’d be welcome to ideas.
I made a survey with doodle to find a date:
Survey to find a date
We previously had
several meetings in Atlanta as well as a Xojo conference in 2011 (See report in XDevMag 9.4).
Xojo Inc. announced a sale for the next few days:
All Xojo new licenses and renewals, along with upgrades and third party extras are on sale through 11:59PM CT Thursday, August 24th.
Buy now!
Keeping your license current gives you access to what’s coming and also gives you immediate access to all of the exciting new features and improvements we had added lately, like:
- Android (Beta)
- Dark Mode for web apps and Linux
- DesktopXAMLContainer
- PDFViewer control for iOS
- Chart Control for Desktop and iOS
- Debugger Variable Filter
- Code Editor Duplicate Line and Swap Line
- Build apps for Linux ARM64
- WYSIWYG display of WebListBox in Layout Editor
- Project load times are significantly shorter for large projects
- Build apps for Windows ARM
- PDF Encryption
- iOS on-device debugging
- … and much more
(more)

New in this prerelease of the 23.4 plugins:
- Fixed typo in names for EDSModule.kEdsTonigEffect* constants, now kEdsToningEffect*.
- Added ProcessRelativeURL method to CURLSMBS class.
- Added BugreporterKit to examples for 23.4 release.
Download:
monkeybreadsoftware.de/xojo/download/plugin/Prerelease/ or
from DropBox.
Or ask us to be added to our shared DropBox folder.
Advanced Software Engineering Ltd announced their version 7.1 of ChartDirector for C++. This update adds support for the Qt Quick/QML framework, which is not of interest for Xojo developers. But we got a couple of bug fixes:
- ChartDirector crashed if a MultiPagePDF object is with no page at all.
- Candlestick were not drawn correctly in SVG if the open and close prices are the same. (This only affects SVG output.)
- ContourLayer image map was incorrect if swapXY was used.
- If a ContourLayer or SurfaceChart included tooltips and they are put inside a MultiChart, the code did crash when attempting to display the tooltip.
- Could not load certain JPEG images.
- The BaseChart.setOutputOptions in C++ may not handle the last option correctly if the option list is not terminated by a semi-colon. This is in conflict with the documentation that mentions the list of options should be delimited by semi-colons and the last semi-colon is optional.
- In lowess curve fitting, if there was a large number of data points with a very small smoothing factor, the points at the boundaries (the first and last few points) may not have fit very well in some cases. This is not noticeable by looking at the entire curve, but is noticeable when zoom into the first and last few points by using a high zoom factor.
- In a SurfaceChart, if surface projection was used and the interpolation for the x and y direction were different, the code may crash.
- In macOS, if ChartDirector needed to resize an externally provided image (eg. an icon to be used on the chart), in some cases the resized icon may have contained "noise".
- On a chart, if there were both continuous image map (the image map for contour and surface charts with differ pixel by pixel) and regular image maps (the image maps for all other objects) and they overlap, the imageMapHandler may have handled the z-order of these maps incorrectly.
- Discrete Heat Map parameter substitution was not correct for the zIndex and extra field (which are indexed by the zIndex) if the x and y arrays are provided.
All customers with a current license for our MBS Xojo ChartDirector Plugin with expiration date in September 2023 or later will get this update with the 23.4 release and enjoy the bug fixes. You can get a license included with OmegaBundle 2023.