
We had an idea on the weekend. If we mark more classes to be console unsafe, they are skipped for pre-compilation for console and web projects. The IDE has less items to take care about. So we went through the class list and identified over 300 classes, which you may usually not use in console projects. For example you may not need NSView, NSPanel, Photos, File Dialogs, GameKit, SceneKit or DiscRecording classes in your web projects.
Once this change is made the precompiled plugin data files are now 12 MB smaller and recompilation takes about 30 seconds less time here in our tests.
Another optimization is to split MacCG plugin. This plugin part produces the biggest cache file, so splitting it reduces the footprint for you if you don't need QuartzCore classes and you can leave away the new MacCI plugin.
Please try next pre-release plugins soon and let us know whether you miss a class for a console or web project. And of course let us know whether this helps you.

New in this prerelease of the 20.4 plugins:
- Added annotationViews function to MKMapViewMBS class.
- Added NilObjectException check for WKWebViewMBS.LoadData for nil passed for data parameter.
- Rewrote HotkeyMBS class for Windows to use official API. May prevent from duplicate registration and a hotkey processed in FileMaker is no longer passed to other apps.
- Added FontWeight, FontStyle, FontStretch and FontFamily properties for GMImageMBS class.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Today Xojo Inc. released the new version of
Xojo 2020r1. It brings a lot of new features like Web 2.x,
PDFDocument and more.
With Web 2.0 Xojo Inc. navigated itself in a corner as they promised 2020r1 to ship with Web 2, but that was not ready in spring for a release. Now we have August and Web 2 is in an usable state and Xojo Inc. decided it is time to release and for you time to try! If you ever run a big project, you know the 80/20 split. The first 80% of a project often take 20% of the time, but the last 20% take 80% of the time. As expected the fine tuning of Web 2 took longer than expected.
For Web 2, this is the new shinny and cool Web development framework. Supporting responsive designs, modern looks, a lot of new controls, themes and it comes with a much improved file uploader. Please try it. Maybe do a test project to learn how it works and what you can do. It's brand new, so you may want to report bugs quickly and hope for a fix in r2 later this year.
But Web 2.0 not yet complete. Major things like a WebToolbar and WebStyle editors are not yet there. A few things are missing like sheet and palette dialogs, web animator and control sets. Some controls like the WebCanvas, WebMapView and WebLocation may need a refreshment. Before you consider to convert any project from Web 1 to 2 APIs, be aware that you have to change a lot of names for the new API 2.x naming as well as events and there is no way back. If you have a project to be delivered this year, please keep using Web 1 in Xojo 2019. For any project starting now for delivery later next year, you can try and start with Web 2 right away, report bugs and then deliver in spring with using 2021r1, because until then, a lot of bug fixes and enhancements will come for Web 2.
For desktop and console apps, there are a ton of enhancements and bug fixes. The linux folks will enjoy building Windows 64-bit apps on Linux. Or when debugging Windows 64-bit, the debugger now better finds the right line to show for a break on exception.
Let us look on bigger news like the
HTMLViewer using WebKit 2 on macOS. If you use MBS Plugin with the HTMLViewer, please change code to use
WKWebViewMBS class for enhancements to it. Older
WebViewMBS class is now gone for Xojo 2020r1 as it won't be of any use. For some projects, please stay with Xojo 2019 if you need some specific feature not available on WebKit 2!
There is a new
PDFDocument class. Written in pure Xojo code, it can generate PDF Files with using graphics class to draw. It has a lot of limits, but may be good as a starting point for the average Xojo developer. If you need more, you can use our classes in the
MBS Xojo DynaPDF Plugin, where we also have graphics class support, too. And DynaPDF Starter is included with
OmegaBundle 2020, so get it now. If you need importing PDF pages and place them, please consider an upgrade to DynaPDF Lite (for import) or Pro (for rendering or placement).
What is gone in Xojo 2020? I hardly expect anyone to miss the 32-bit macOS support and that is now gone. As Xojo runs on macOS 10.10 and newer only and 64-bit macOS was introduced in 10.7 there is no use for building 32-bit anymore.
Please try the new version, report all the issues you see via Feedback app and we look forward to one of the next releases to come with the bug fixes you need.
Recommended MBS Plugin version for Xojo 2020r1 is 20.2 or newer as in that version we applied the newer plugin SDK for our plugins.
See also blog entry from Bob Keeney:
Xojo 2020 Release 1 @ BKeeney Briefs

New in this prerelease of the 20.4 plugins:
- Added WindowsStoreSKUMBS and WindowsStorePurchasePropertiesMBS classes.
- Updated DynaPDF to version 4.0.41.117.
- Updated CURL to version 7.72.0.
- Added kcfNone constant for DynaPDFMBS class.
- Added GetInfoEffectiveMethod and GetInfoRetryAfter methods to CURLSMBS class.
- Added SupportsUnicode, zstdVersionNumber, zstdVersion, and SupportsZSTD to CURLSVersionMBS class.
- Added ZPL function to GMImageMBS class.
- Added ArrayItems function to JSONMBS class.
- Added clone parameter for ArrayItem function in JSONMBS class.
- Updated to Xcode 9.6.
- If you pass picture as value for SQL parameter, we now convert to PNG MemoryBlock internally.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
Get the top developer tools and third party components for the Xojo cross-platform development platform at a huge savings until 31st
July August 2020.
Omegabundle for Xojo 2020 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 $3,711.00. Omegabundle for Xojo 2020 costs $399.
Buy now on the Paradigma Software store.
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.
(more)

Just eight months till the
XDC 2021 in London, England. Tickets are still available for $750 USD till 1st October 2020 instead of $950 later.
This conference was cancelled due to new rules for quarantine when entering the United Kingdom.
It will be held
April 21-23, 2021 March 30-April 1st, 2022 in London, England at the
Holiday Inn Bloomsbury. This conferences is the best place to meet Xojo developers from around the world in real live, make contacts, present yourself as expert and learn what is new in Xojo. Tickets are available in the
Xojo store and if you bring your partner, you can order an extra guest ticket for the dinner events.
Check out the
conference highlights video if you want to see what it's like - or ask one of the many attendees from the forum!
Wether you are full or part time Xojo developer, this is your chance to learn all about the Web 2.0 framework, the Android progress and what's new in the Xojo world.
To get there, please use public transportation. The piccadilly line brings you right from Heathrow Airport to Russell Square Station, just next to the hotel. That trip should cost about 3 £ and you may just pay by tap in/out with your NFC enabled credit card or phone. Otherwise buy an Oyster card and load money on it if you don't have such a card. If you come by Eurostar train through the tunnel from France, you can exit Pancras station and just walk to the hotel. Otherwise take one station via subway to Russell Square Station. That station is right behind the hotel block.
See you soon there!
PS: We hope COVID-19 is mostly done by April 2021. As Geoff Perlman, CEO of Xojo Inc., said in a recent hangout event, in case of cancellation that would be end of the year and everyone is refunded. So you can sign up and book flights early in January.

As you may know we have
StoreKit APIs for macOS in
MBS Xojo Plugins for years to do in-app purchases. A similar API exists for Windows for the Windows Store from Microsoft.
For next
MBS Xojo Plugins we include classes for the Windows Store:
For example to query trial status, you could initialize the
WindowsStoreContextMBS class, query the app license and check the trial flag there. To start an in-app purchase you simply pick a product or SKU and run RequestPurchaseAsync method to show the GUI and later get a method called with results.
To learn more about how the Windows Store API works, please check
Microsoft's documentation and our
Xojo forum thread.
Please do not hesitate to contact us with questions and let us know if you need another method to do some task.

Recently a client complained that an old plugin wouldn't work with last version. We try to make our plugins as much as possible forward and backward compatible. You can use our latest plugins with FileMaker 7 or newer and Xojo 2006r4 and newer. But you probably use a newer version from this or last year, right?
While we do have clients successfully use 10 year old MBS Plugins with old license keys, that is usually an exception. In the last years we had a few breaking points:
For example applications had to move to
64-bit. FileMaker 14 and Xojo 2017r3 needed 64-bit code for plugins and everyone had to update their plugins. Currently MacOS with 32-bit is dead, most Linux distributions are now 64-bit only for servers and Microsoft fades out 32-bit versions of Windows.
We had a breaking point with
Xojo 2016r2, which added new keywords to the language. As we used those keywords in the function and parameter names, the plugin had to be adjusted. Same for changes for API 2.0, GTK 3 or updated plugin SDKs, which forced users to upgrade. And when Xojo moves to WebKit 2, our HTMLViewer extensions may need newer plugins, too. See
version table.
For
FileMaker we had a breaking point with version 16 on macOS where Claris redid the web viewer control to use WebKit 2. For Windows this point will come later in 2021 (?) with the move to Chromium based Edge browser for the web viewer. All our
WebView functions will need a rewrite then.
If you use anything related to the
Internet, there were breaking points, too. All websites and services like SMTP for sending emails now need TLS v1.2. So all the older code, which did only SSL v3 or TLS 1.0/1.1 broke at some point. But we had TLS v1.2 support in for a lot of years, so that should not have hurt you. But you probably use TLS v1.2 exclusively now as anything older is not acceptable under GDPR.
The next breaking point is coming soon: For Macs the CPU will change to
Apple Silicon, an ARM64 based architecture. That means once again all developers and users will have to upgrade to current versions of the software to benefit from the new computers they buy.
The
conclusion?
Only if you stay current and keep licenses up to date, you can enjoy the latest versions of the software with the latest features on a moving target. And all the software you use need active development with someone taking care. Which usually requires you to keep funding them with regularly paying for updates or getting a subscription. Our plugins are not different in this regard.
If your license lapsed and you are not eligible for update pricing, maybe you want to get the license in November with Black Friday promotion.
PS: In Germany we have a temporary VAT rate change this year and some people had to come back to us to help change the software for this.

New in this prerelease of the 20.4 plugins:
- Added WindowsStoreContextMBS and related classes for Windows Store.
- Split MBS Xojo Win Plugin and created new WinFrameworks plugin.
- Added cameraDeviceDidEnableAccessRestriction and cameraDeviceDidRemoveAccessRestriction events to ImageCaptureEventsMBS class.
- Updated SQLite to version 3.33.0. This includes decimal extension now.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
We built already the
MBS Xojo ChartDirector Plugin and the
MBS Xojo DynaPDF Plugin for Apple Silicon with the new Mac ARM-64bit target. All customers with a valid license at point of release should be able to enjoy the updated plugins once Xojo is released with Apple Silicon support itself.

ChartDirector is our solution for Xojo to create professional charts:
- 29 types of charts including gantt, box-wisker and 3D charts
- Per developer royalty free license for macOS, Windows and Linux
- Full Unicode support
- No external DLLs
- One year of free updates
- Create vector graphics as PDF and SVG files.
- Export chart as PNG, JPEG, GIF, WMP and BMP.
- Track cursor movements with a dynamic layer.
- Use custom fonts.
Included in
OmegaBundle 2020, so grab your copy there.

New in this prerelease of the 20.4 plugins:
- Added support to WinDataObjectMBS class to receive email attachments with email messages from Outlook.
- Updated ChartDirector for Visual Studio 2019.
- Updated GraphicsMagick library to version 1.3.35.
- Fixed bug in error handling for ApplyOptions in PNGReaderMBS class.
- Updated bzip2 library to version 1.0.8.
- Updated pcre library to version 8.44.
- Updated jpeg library to version 9d.
- Updated jpeg-turbo library to version 2.0.5.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
Im Xojo Forum organisiert Tomas Jakobs ein virtuelles Xojo Treffen.
Siehe Blog Post
Ein erster Termin steht fest: Freitag Abend, 07.08.2020, 18 Uhr CET
Vielleicht hat ja der ein oder andere Deutschsprachige Xojo Anwender Lust mit zu machen?
Bitte vorher gerne im Forum vorbeischauen für die aktuelle URL und falls sich der Termin verschiebt.
Die Teilnahme läuft via Jitsi und Sie können bequem per Browser teilnehmen.

New in this prerelease of the 20.4 plugins:
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
For years we build the DLLs for Windows with Visual Studio 2008 for our plugins. The reason we didn't upgrade for a long time was Windows XP. But now we can skip that behind and move to a newer Visual Studio version. Now the minimum is Windows 7 and we relay on the universal runtime. That is a newer version of the Visual Studio Runtime since Visual Studio 2015, which is automatically installed on Windows 10 and used by FileMaker Pro and Xojo.
See
Windows App Requirements in Xojo blog and
Windows Universal Runtime in Xojo developer guide.
If Windows update didn't install it for you, you can install it manually. The installers are included with the FileMaker or Xojo download, but you can also load it on the
Microsoft website as redistributable installers.
By switching from a 10 year old compiler to current one, we gain a lot of new features, so we hope to extend our plugins in the next months with a couple of new Windows based features.
There is a
little new feature in Visual Studio 2019, which reduces the space needed for the metadata used for exception handling. But that causes an extra dependency to VCRuntime140_1.dll, which is new since 2019. But as that DLL may be missing on client computer, we disable this feature. This removes the dependency and allows us to relay on the DLLs you already need to have. If FileMaker Pro or your Xojo application runs, the plugin should also load just fine.
For developers the dependency is for __CxxFrameHandler4 function in VCRuntime140_1.dll. You can disable it by using -d2FH4- as a compiler option and -d2:-FH4- for linker option. Also it looks like you have to not use std::nothrow as that also depends on that DLL.
The important thing: Please try one of the pre-releases soon and let us know if you see anything not working. We'll try ourselves 100s of example projects, but you can help to try a few more things.
PS: The
MBS Xojo XMP Plugin may have the VCRuntime140_1.dll dependency as we can't build it without currently.