Release notes for MBS Xojo CURL Plugin

24.2 - 14th May 2024

  • Added deprecation marks to CURLNMBS and related classes.
  • Build CURLSMBS class with openssl, SecureChannel for Windows and SecureTransport for macOS, so you can decide which one to use.
  • Built curl with our Apple IDN implementation for CURL. see commit.
  • Improved progress reporting for CURLSMBS class.
  • Updated CURL to version 8.7.1.
  • Updated to Xcode 15.3.

24.1 - 12th March 2024

  • Fixed a problem with MacBase and CURL plugin loading on older macOS versions.
  • Improved CURLEmailMBS class to allow the creation of attachment only emails.
  • Improved documentation to better list constants. More in table views now.
  • Improved linking of linux libraries to do more stripping of unused code to save 33 MB in total.

24.0 - 16th January 2024

  • Added more properties to CURLEmailMBS class for debugger.
  • Fixed OpenMTInputFile method in CURLSMBS class to remove InputData first.
  • Fixed SetupAWS and SetupOAuth in CURLSMBS class to reset NoBody flag if new transfer is not head.
  • Updated CURL to version 8.5.0.
  • Updated openssl library to version 3.1.4.
  • Updated to Xcode 15.2.
  • Updated Visual Studio to version 2022.
  • Updated to Xcode 15.2.
  • Updated Visual Studio to version 2022.
  • Improvements for Xojo 2023r4.

MBS Xojo Plugins 23.5 - 7th November 2023

  • Updated CURL to version 8.4.0.
  • Fixed OpenSSL to not depend on GLIBC_2.25, so you can use our plugin on CentOS 7 again and on Xojo Cloud.

MBS Xojo Plugins 23.4 - 12th September 2023

  • Added ProcessRelativeURL method to CURLSMBS class.
  • Added RemoveAll method to CURLSMultiMBS class.
  • Updated curl to version 8.2.1.
  • Updated Plugin SDK to version 2023r2.

MBS Xojo Plugins 23.3 - 18th July 2023

  • Added tag property to CURLSMultiMBS and CURLSMBS classes.
  • Fixed CURLSMultiMBS class to set AutoPerform to true for shared instance.
  • Updated CURL library to version 8.1.2.
  • Updated openssl library to version 3.1.1.
  • Updated LibSSH to version 1.11.0.

MBS Xojo Plugins 23.2 - 9th May 2023

  • Added new methods to CURLSMultiMBS to make asynchronous transfers easier.
  • Changed default for OptionConnectionTimeout in CURLSMBS class to 10 seconds (unless you change it) to avoid long stalls in your application of 2 minutes when server is not reachable.
  • Enabled web socket support for curl for Windows.
  • Enabled zstd for curl library.
  • Updated curl to version 8.0.1.

MBS Xojo Plugins 23.1 - 7th March 2023

  • Added kHTTP_VERSION_3Only, kErrorLacksIDN and kFlagsPunyCode constants for CURL.
  • Updated CURL library to version 7.88.1.
  • Removed 32-bit plugin parts for macOS. We now require Xojo 2017r3 or newer to load plugins on macOS.

MBS Xojo Plugins 23.0 - 17th January 2023

  • Added WebSocket functions for MBS Xojo CURL Plugin.
  • Added CURLSWebSocketFrameMBS class.
  • Added DebugMessages and CollectDebugMessages properties to CURLSMBS class as the new names for DebugData and CollectDebugData. Old names stay valid, but get deprecated.
  • Added Headers and CollectDebugMessages properties to CURLSMBS class as the new names for HeaderData and CollectHeaderData. Old names stay valid, but get deprecated.
  • Added PATCH support for SetupAWS function in CURLSMBS class.
  • Added Protocols and FeatureNames to CURLSVersionMBS class.
  • Added WebSocketMeta, WebSocketReceive and WebSocketSend to CURLSMBS class.
  • Changed OptionConnectOnly to integer in CURLSMBS class.
  • Changed OutputData in CURLSMBS class and similar to raise OutOfBoundsException if data is too big (>2 GB) to fit into a string.
  • Deprecated GetInfoLastSocket property in CURLSMBS class in favor of GetInfoActiveSocket property.
  • Deprecated GetInfoProtocol property in CURLSMBS class.
  • Deprecated OptionProtocols for CURLSMBS class in favor of OptionProtocolsString.
  • Deprecated OptionPut for CURLSMBS class in favor of OptionUpload.
  • Deprecated OptionRedirProtocols for CURLSMBS class in favor of OptionRedirProtocolsString.
  • Deprecated OptionSocks5GSSAPIService, OptionSSLEnableNPN, OptionEGDSocket and OptionRandomFile properties in CURLSMBS class.
  • Fixed an issue for CURLSMBS class, where the LastError was not updated by Perform called on CURLSMultiMBS class.
  • Removed kSSLBackendAXTLS and kSSLBackendPolarSSL constants from CURLSSSLBackendMBS class.
  • Updated CURL library to version 7.87.0.
  • Added Linux 64-bit ARM plugins.

MBS Xojo Plugins 22.5 - 8th November 2022

  • Updated CURL to version 7.86.0.
  • Updated openssl to version 1.1.1s.
  • Updated Xcode to version 14.0.1.

MBS Xojo Plugins 22.4 - 6th September 2022

  • Added OptionMimeOptions, OptionMaxLifeTimeConnection and OptionSSHHostPublicKeySHA256 properties to CURLSMBS class.
  • Added zstd support for CURLSMBS class.
  • Removed kError_CONV_FAILED constant in CURLSMBS class.
  • Renamed OptionFTPResponseTimeout property to OptionServerResponseTimeout in CURLSMBS class. (old mame stays valid, but deprecated)
  • Updated CURL to version 7.85.0.
  • Fixed file path handling bug for Windows ARM affecting various functions.

MBS Xojo Plugins 22.3 - 12th July 2022

  • Added 64-bit Windows ARM plugin support.
  • Added GetInfoCAPath and GetInfoCAInfo methods to CURLSMBS class.
  • Updated CURL to version 7.84.0.

MBS Xojo Plugins 22.2 - 17th May 2022

  • Updated CURL to version 7.83.1.
  • Updated openssl to version 1.1.1n.

MBS Xojo Plugins 22.1 - 15th March 2022

  • Deprecated OptionSSLEngine and OptionSSLEngineDefault properties in CURLSMBS class since you don't need those ever.
  • Updated CURL to version 7.82.0.
  • Updated Xcode to version 13.2.1.

MBS Xojo Plugins 22.0 - 18th January 2022

  • Updated CURL to version 7.81.0.
  • Fixed a problem in email parser, which didn't get multi part right on Linux for MimeEmailMBS class.
  • Updated openssl to version 1.1.1l.

MBS Xojo Plugins 21.5 - 16th November 2021

  • Updated CURL library to version 7.79.1.
  • Updated plugin SDK for Xojo 2021r3.
  • Updated Xcode to version 13.1.

MBS Xojo Plugins 21.4 - 7th September 2021

  • Added thread pooling for Windows to be used for multi threaded methods.
  • Added HEAD as verb for SetupAWS and SetupOAuth functions in CURLSMBS class.
  • Changed CURLEmailMBS class to cache email source and not render it again each time you query it. And clear it when you change a property of the email.
  • Fixed OptionFileTime and OptionUnrestrictedAuth properties for CURLSMBS class.
  • Updated CURL library to version 7.78.0.
  • Changed CURL to use http as default protocol.
  • /UL>

    MBS Xojo Plugins 21.3 - 12th July 2021

    • Added AWSPresignURL function to CURLSMBS class.
    • Added OptionCAInfoBlob and OptionProxyCAInfoBlob properties to CURLSMBS class.
    • Changed CURL to fail if your URL does not contain a protocol specification.
    • Fixed a small memory leak in CURLCMBS class.
    • Updated curl library to version 7.77.0.
    • Updated Xcode to version 12.5.1.
    • Updated openssl library to version 1.1.1k.

    MBS Xojo Plugins 21.2 - 18th May 2021

    • Added GetInfoReferer, OptionDOHSSLVerifyStatus, OptionDOHSSLVerifyHost, OptionDOHSSLVerifyPeer to CURLSMBS class.
    • Added optional ContentTypeMethod as parameter for AddAttachment in CURLEmailMBS class.
    • Changed CURL classes to not print password for SFTP transfer in debug log. Left overs from debug session in 21.1 betas.
    • Fixed a problem in CURL with OptionSSLKeyBlob in CURLSMBS not working correctly.
    • Updated CURL library to version 7.76.1.
    • Updated Linux 64-bit build machine to Ubuntu 18.04. Plugin still compatible to Ubuntu 16 and CentOS 7.7.

    MBS Xojo Plugins 21.1 - 9th March 2021

    • Added extra line to CURL debug log to indicate the version of MBS Plugin, CURL library used and what OS is used. See DebugData property in CURLSMBS class.
    • Changed MaxTotalConnections in CURLSMultiMBS class to 4 as default. Avoids excessive connection counts unless you change it.
    • Fixed a problem with a crash in CURL with SFTP with empty password or username.
    • Updated CURL library to version 7.75.
    • Updated to Xcode 12.4.

    MBS Xojo Plugins 21.0 - 19th January 2021

    • Added plugins for iOS and Apple Silicon.
    • Updated curl to version 7.74.0.
    • Reduced usage of deprecated SDK functions.
    • Updated to Xcode 12.3.

    MBS Xojo Plugins 20.5 - 17th November 2020

    • Added DateTime property to CURLSFileInfoMBS class.
    • Added kError_Quic_Connect_Error and kError_HTTP3 constants and GetInfoProxyError method to CURLSMBS class.
    • Updated CURL library to version 7.73.0.
    • Updated OpenSSL to version 1.1.1h.
    • Reduced usage of deprecated SDK functions.
    • Updated to newer plugin SDK.

    MBS Xojo Plugins 20.4 - 15th September 2020

    • Added GetInfoEffectiveMethod and GetInfoRetryAfter methods to CURLSMBS class.
    • Added SupportsUnicode, zstdVersionNumber, zstdVersion, and SupportsZSTD to CURLSVersionMBS class.
    • Fixed SetupAWS and SetupOAuth in CURLSMBS class to set properties in the Xojo object, too.
    • Set CURLSMBS properties to default values of CURL for new objects.
    • Updated CURL to version 7.72.0.
    • Updated to Xcode 10.6.
    • Upgraded Visual Studio from 2008 to 2019 and rebuild everything. See blog post.

    MBS Xojo Plugins 20.3 - 21st July 2020

    • Added kSSLOption* constants to CURLSMBS class.
    • Rewrote UseSystemCertificates in CURLSMBS class to work better.
    • Updated CURL to version 7.71.1.
    • All MBS Xojo Plugins compile for Apple Silicon, so we are ready.
    • Upgraded examples to use 64-bit targets. This was made automatically to enable 64-bit targets, HiDPI and dark mode for all projects. Thanks to Arbed!

    MBS Xojo Plugins 20.2 - 12th May 2020

    • Added CAInfo and CAPath properties to CURLSVersionMBS class.
    • Added IDN support for MacOS with a pull request to CURL.
    • Changed CURL plugins for Linux to load libidn dynamically at runtime. If this works, you can use domain names in unicode characters.
    • Changed CURLEMailMBS class to not raise exception if you assign empty username and password.
    • Enabled SSPI, Kerberos 5 and SPNEGO for CURLSMBS class on Windows.
    • Updated CURL to version .
    • Updated plugin SDK to version for Xojo 2020r1
    • Changed LDAPMBS class to load ldap library on runtime for Linux and MacOS.

    MBS Xojo Plugins 20.1 - 10th March 2020

    • Updated CURL to version 7.69.0.

    MBS Xojo Plugins 20.0 - 14th January 2020

    • Changed OptionPostFields in CURLSMBS to free previous data directly instead of waiting for destructor.
    • Updated CURL library to version 7.67.0.
    • Changed LDAP loading code to load later on demand.
    • Updated Xcode to version 11.3.

    MBS Xojo Plugins 19.5 - 12th November 2019

    • Added path variants for CreateMTDebugOutputFile, CreateMTHeaderOutputFile, CreateMTOutputFile and OpenMTInputFile methods in CURLSMBS, CURLNMBS and CURLMBS classes.
    • Fixed an issue with CURL, which caused trouble with email sending (server response timeout).
    • Updated plugin SDK to version from Xojo 2019r2.

    MBS Xojo Plugins 19.4 - 17th September 2019

    • Added more properties to CURLSVersionMBS class.
    • Added NoSSL parameter for SetupAWS function in CURLSMBS class.
    • Added OptionSASLAuthZID property, kHTTP_VERSION_3 and kError_Auth_Error constants to CURLSMBS class.
    • Fixed a problem with loading LDAP.framework on Mac for use in CURL.
    • Updated CURL library to version 7.66.0.
    • Improvements for Xojo 2019r2.

    MBS Xojo Plugins 19.3 - 24th July 2019

    • Added OptionMaxAgeConn property for CURLSMBS class.
    • Added ZoneID property for CURLSURLMBS class.
    • Changed CURLSMultiMBS.AddCURL function to apply same default settings if needed as normal Perform in CURLSMBS.
    • Improved automatic CURL library loading on Linux to better find the library.
    • Updated CURL to version 7.65.3.

    MBS Xojo Plugins 19.2 - 21st May 2019

    • Added check for AddHeader in CURLEmailMBS class to make sure a double colon is included.
    • Fixed a problem with NTML authentication with CURL functions on Windows.
    • Fixed memory leak in CURLSURLMBS class.
    • Manually applied CURL fix: vauth/oauth2: Fix OAUTHBEARER token generation #3377
    • Manually applied NTML fix for CURL.
    • Updated CURL to version 7.64.1.
    • Updated to Xcode 10.2.

    MBS Xojo Plugins 19.1 - 12th March 2019

    • Manually applied CURL fix: vauth/oauth2: Fix OAUTHBEARER token generation #3377
    • Removed manifest information from CURL plugin which stated a runtime DLL is needed, which was wrong.
    • Updated CURL to version 7.64.0.

    MBS Xojo Plugins 19.0 - 22nd January 2019

    • Added CURLSMBS.FormClear method.
    • Added new mode to get CURLSFileInfoMBS objects for directory listing with MLSD option.
    • Added workaround for CURL IMAP change. UID URLs changed to MAILINDEX automatically.
    • Changed behavior for CURLSMBS class to only write data in debug log file, if DebugWithData property is set.
    • Fixed problem with CURL where output would still be written even if OptionNoBody is set to true.
    • Fixed year for CURLSFileInfoMBS being off by one sometimes.
    • Manually applied CURL fix: vauth/oauth2: Fix OAUTHBEARER token generation #3377 (for Mac)
    • Updated CURL to version 7.63.0.
    • Added links to blog articles from help.
    • Changed Linux compile to include function names for stack traces.
    • The MBS Plugin for Real Studio will be build on demand only.

    MBS Xojo Plugins 18.5 - 27th November 2018

    • Updated CURL to version 7.62.0.
    • Added CURLSURLMBS class.
    • Added CipherNames and DigestNames to SSH2SessionMBS and CURLSMBS classes.
    • Changed CURLEmailMBS to no longer turn TO to CC if you have several TOs.
    • Fixed problem with ? not encoded for email subject line.
    • Updated OpenSSL to version 1.1.1 for all targets.
    • Rebuild with Xcode 10. Minimum MacOS version is now 10.9.
    • Updated to Xcode 10.1.

    MBS Xojo Plugins 18.4 - 25th September 2018

    • Added CURLSMBS.DebugWithData property.
    • Added new query parameter for CURLSMBS.SetupAWS function.
    • Changed CURL functions to turn gzip decompression on by default and follow redirections.
    • Fixed CURLSMBS.FormAddFile to include file name.
    • Updated CURL to version 7.61.1.

    MBS Xojo Plugins 18.3 - 17th July 2018

    • Added CURLSMBS.SetupOAuth function.
    • Added kAUTH_Bearer, OptionDisableUserNameInURL, OptionProxyTLS13Ciphers and OptionTLS13Ciphers to CURLSMBS class.
    • Updated CURL to version 7.61.0.
    • Updated plugin SDK for 2018r2.

    MBS Xojo Plugins 18.2 - 22nd May 2018

    • Added AddMimePart and FinishMime methods to CURLSMBS class.
    • Added brotliVersion, brotliVersionNumber, iconvVersionNumber, libidnVersion, libsshVersion, SupportsBrotli, SupportsConv, SupportsGSSAPI, SupportsHTTPSProxy, SupportsKerberos5, SupportsMultiSSL, SupportsNTLMWB, SupportsPSL, SupportsTLSAUTHSRP and SupportsUnixSockets properties to CURLSVersionMBS class.
    • Added CURLSMBS.LasterrorText property.
    • Added CURLSMBS.Paused property.
    • Added CURLSMimePartMBS class.
    • Added CURLSSSLBackendMBS class.
    • Added GetInfoActiveSocket, GetInfoHTTPVersion, GetInfoProtocol, GetInfoProxySSLVerifyResult and GetInfoScheme methods to CURLSMBS.
    • Added OptionDNSShuffleAddresses and OptionHAProxyProtocol properties to CURLSMBS class.
    • Added over 50 more CURL options and a lot of constants.
    • Changed CollectOutputData, CollectHeaderData and CollectDebugData for CURLSMBS/CURLMBS/CURLNMBS to track if you set property and if you set to false, we ignore the data and do neither return error nor collect data. If never set, we may turn them to true, when you have no event and no file streaming.
    • Changed CURLSMBS to use less memory for storing properties.
    • Changed CURLSMBS.SetupAWS to no longer complain for empty path string as this is needed for AWS Translate.
    • Changed CURLSMultiMBS and other variants of it to have Pipelining be an integer property and added constants for it.
    • Reduced memory footprint of CURLSMBS.FormAddField method.
    • Updated CURL to version 7.60.0.
    • Updated to Xojo 2018r1 plugin SDK.

    MBS Xojo Plugins 18.1 - 6th March 2018

    • Changed CURLEmailMBS class to replace NULL characters with space in email texts to avoid truncation of texts.
    • Improved CURLEMailMBS class to not encode subject, email names or attachment names, if it contains no special characters in more cases by reducing the characters which trigger encoding.
    • Improved CURLSMBS.SetupAWS method to work better with Amazon S3 and also with Dell ECS.
    • Updated CURL library to version 7.58.1.

    MBS Xojo Plugins 18.0 - 23rd January 2018

    • Added IDN support for CURLSMBS and CURLNMBS classes on Windows Vista and newer. Does give error if you try it on older Windows XP.
    • Changed OptionCAINFO, OptionCAPATH, OptionCookieFile, OptionCookieJar, OptionIssuerCert, OptionNETRCFile, OptionRandomFile, OptionSSHPrivateKeyfile, OptionSSHPublicKeyfile, OptionSSLCert, OptionSSLKey for CURL to use always UTF-8 on Mac and to do the unicode transformation for decomposed characters to avoid trouble with special characters in file paths.
    • Fixed bug in CURL SetupAWS when wrong date was used.
    • Updated CURL library to version 7.57.0.
    • Fixed an issue with exception handling on 64-bit Linux introduced in 17.3.

    MBS Xojo Plugins 17.5 - 28th November 2017

    • Enabled P12 files for certificates in CURL for Windows.
    • Updated CURL library to version 7.56.1.

    MBS Xojo Plugins 17.4 - 26th September 2017

    • Changed CURL functions to explicit flush output files after Perform finished.
    • Fixed bug with CURL's GetInfoCookieList function.
    • Fixed plugin options for CURL to pass empty C string for empty Xojo string. This helps with OptionCookieFile = "" to use in memory cookie engine.
    • Modernized GetInfoCertInfo for newer CURL version.
    • Updated CURL Library to 7.55.1.
    • Changed Linux plugins to include build number in SONAME field so OS can distinguish different versions better.
    • Updated all GTK code to dynamically load GTK+ 3 for Xojo 2017r2 and GTK+ 2 for older versions.

    MBS Xojo Plugins 17.3 - 18th July 2017

    • Added FormData method for CURL classes, so you can query form data to be sent.
    • Disabled linux version script linker option.

    MBS Xojo Plugins 17.2 - 15th May 2017

    • Added CURL methods to send/receive data over sockets connected via CURL. Like TCPSocket class, but let CURL handle IPv6 or IPv4, SSL and proxy settings.
    • Added CURLSMBS.SetupAWS method for our Amazon S3 examples.
    • Added CURL functions to use system certificates on macOS and Windows.
    • Added constants for CURL for TLSv1.3 and HTTP/2.
    • Fixed a bug in CURLSMBS.SetupEmail on Windows when talking to CURLEmailMBS class.
    • Fixed a memory leak in CURLSMBS.SetupEmail method.
    • Fixed bug in CURLSMBS.SetupEmail function.
    • Removed PPC code.

    MBS Xojo Plugins 17.1 - 14th March 2017

    • Added CURLN* classes for using built-in CURL library with native SSL on Mac and Windows.
    • Split CURLEmail classes into own plugin part, so it can stay as CURLEmailMBS and used with all CURL variants.
    • Updated CURL library to version 7.53.1
    • Updated CURLMBS classes to match CURLSMBS classes.

    MBS Xojo Plugins 17.0 - 23rd January 2017

    • Changed plugin file names to include name of plugin and name of part.
    The biggest plugin in space...