Die Geschichte ist nur auf Englisch verfügbar.
Please read the history bottom-up. Note that the history might list some
features that were implemented in beta versions and removed later but are
still mentioned here. This history is a log of the programmer so that he
can look up what has been done/tried/modified. Things that were implemented
and removed later are marked with [VOID].
Version 2.0 (29-Apr-23)
- Change: Updated documentation
- Change: Updated inbuilt CA certificates to the latest ones from Mozilla (January 10th, 2023)
- New [macOS]: Added build for the macOS ARM64 platform which is supported since Hollywood 10
- New [Linux/x64]: Added separate build for OpenSSL 3 for use with more recent Linux distros
- Fix: Memory access fault when SFTP authentification failed (reported by Petteri Valli)
- Fix [Android]: curl's verbose output is now visible in LogCat
- New [Android]: libssh2 is now supported on Android as well which makes it possible to use the SCP and
SFTP protocols (among others) with hURL
- Change [Amiga]: hURL uses the system's root CA certificates now (MOSSYS:Data/SSL/curl-ca-bundle.crt on
MorphOS and AmiSSL:Certs on the other platforms)
- New: Added easy:Upkeep() method to perform connection upkeep checks
- New: Added support for curl's MIME interface; this supersedes the old form interface which is still
supported by hURL; use easy:MIME() to create a new MIME object and then you can use the following
methods to work with the MIME object: mime:AddPart(), mime:Easy(), mime:Free(), mimepart:Subparts(),
mimepart:Data(), mimepart:FileData(), mimepart:Headers(), mimepart:Name(), mimepart:Filename(),
mimepart:Type() mimepart:Encoder(), mimepart:Free(); after you have initialized your MIME object, you
can pass it to #CURLOPT_MIMEPOST
- New: Added support for curl's URL interface; you can use hurl.URL() to construct a URL object and
then use the following methods to configure the URL object: url:SetFragment(), url:SetHost()
url:SetOptions(), url:SetPassword(), url:SetPath(), url:SetPort(), url:SetQuery(), url:SetScheme(),
url:SetURL(), url:SetUser(), url:SetZoneID(), url:GetFragment(), url:GetHost(), url:GetOptions(),
url:GetPassword(), url:GetPath(), url:GetPort(), url:GetQuery(), url:GetScheme(), url:GetURL(),
url:GetUser(), url:GetZoneID(), url:Dup(), url:Free(); after you have initialized your URL object
you can pass it to #CURLOPT_CURLU
- New: Added #CURLINFO_TOTAL_TIME_T, #CURLINFO_NAMELOOKUP_TIME_T, #CURLINFO_CONNECT_TIME_T,
#CURLINFO_PRETRANSFER_TIME_T, #CURLINFO_STARTTRANSFER_TIME_T, #CURLINFO_REDIRECT_TIME_T,
#CURLINFO_APPCONNECT_TIME_T, #CURLINFO_RETRY_AFTER, #CURLINFO_EFFECTIVE_METHOD, #CURLINFO_PROXY_ERROR,
#CURLINFO_REFERER, #CURLINFO_CAINFO, #CURLINFO_CAPATH for use with easy:GetInfo()
- New: Added support for #CURLMOPT_MAX_CONCURRENT_STREAMS for multi objects
- New: Added support for #CURLOPT_SSH_COMPRESSION, #CURLOPT_TIMEVALUE_LARGE, #CURLOPT_MAXAGE_CONN,
#CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, #CURLOPT_HAPROXYPROTOCOL, #CURLOPT_DNS_SHUFFLE_ADDRESSES,
#CURLOPT_TLS13_CIPHERS, #CURLOPT_DISALLOW_USERNAME_IN_URL, #CURLOPT_DOH_URL, #CURLOPT_UPLOAD_BUFFERSIZE,
#CURLOPT_UPKEEP_INTERVAL_MS, #CURLOPT_HTTP09_ALLOWED, #CURLOPT_ALTSVC_CTRL, #CURLOPT_ALTSVC,
#CURLOPT_SASL_AUTHZID, #CURLOPT_MAIL_RCPT_ALLOWFAILS, #CURLOPT_SSLCERT_BLOB, #CURLOPT_SSLKEY_BLOB,
#CURLOPT_PROXY_SSLCERT_BLOB, #CURLOPT_PROXY_SSLKEY_BLOB, #CURLOPT_ISSUERCERT_BLOB,
#CURLOPT_PROXY_ISSUERCERT, #CURLOPT_PROXY_ISSUERCERT_BLOB, #CURLOPT_SSL_EC_CURVES, #CURLOPT_HSTS_CTRL,
#CURLOPT_HSTS, #CURLOPT_AWS_SIGV4, #CURLOPT_DOH_SSL_VERIFYPEER, #CURLOPT_DOH_SSL_VERIFYHOST,
#CURLOPT_DOH_SSL_VERIFYSTATUS, #CURLOPT_CAINFO_BLOB, #CURLOPT_PROXYINFO_CAINFO_BLOB,
#CURLOPT_MAXLIFETIME_CONN, #CURLOPT_MIME_OPTIONS, #CURLOPT_PROTOCOLS_STR, #CURLOPT_REDIR_PROTOCOLS_STR,
#CURLOPT_WS_OPTIONS, #CURLOPT_CA_CACHE_TIMEOUT, #CURLOPT_QUICK_EXIT, #CURLOPT_MIMEPOST, #CURLOPT_CURLU,
#CURLOPT_RESOLVER_START_FUNCTION, #CURLOPT_TRAILERFUNCTION, #CURLOPT_HSTSREADFUNCTION,
#CURLOPT_HSTSWRITEFUNCTION, #CURLOPT_PREREQFUNCTION, #CURLOPT_SSH_HOSTKEYFUNCTION; you can set/unset
these options either using the generic easy:SetOpt() and easy:UnsetOpt() methods or using the specific
methods like easy:SetOpt_SSH_Compression() or by passing the options in the argument table when creating
easy handles using hurl.Easy()
- New [AROS]: Added AROS version of hURL; this requires AmiSSL4 because AmiSSL5 isn't available on AROS yet
- New [OS3/OS4]: hURL uses AmiSSL 5 instead of AmiSSL 4 now
- New: Updated to curl 8.0.1 and libssh2 1.10.0
- Change [MorphOS]: hURL on MorphOS doesn't use AmiSSL any longer but MorphOS' native implementation of
OpenSSL 3 (openssl3.library); this means that hURL requires MorphOS 3.16 or better now
- Fix: DownloadFile()'s "PostType" tag wasn't supported by hURL (reported by Petteri Valli)
- Fix: The "Encoded" tag of the DownloadFile() and UploadFile() commands wasn't handled correctly by hURL
(reported by Petteri Valli)
- Fix: The "Fail404" tag of DownloadFile() was ignored by hURL (reported by Anbjorn Myren)
Version 1.2 (20-Nov-21)
- Change: Updated documentation
- Change: Updated inbuilt CA certificates to the latest ones from Mozilla (October 26th, 2021)
- New: Added some examples for doing some common jobs using the lowlevel interface
- New [x64-linux/arm-linux]: Added separate builds for OpenSSL 1.1.1 for use on newer Linux versions
that don't come with OpenSSL 1.0.2 any longer (reported by Niels Schapke)
- New [Doc]: Added examples for #CURLOPT_HTTPHEADER, #CURLOPT_READFUNCTION and #CURLOPT_WRITEFUNCTION
(requested by Michael Rupp)
- New: Added support for Hollywood 9.0's new custom protocol interface; this means that Hollywood's
DownloadFile() and UploadFile() commands will now support for all protocols that hURL supports as
well; this should make things much easier for beginners who are struggling to get started with
using hURL's functions directly
Version 1.1 (21-Dec-20)
- Change: Updated documentation
- Change: Amiga installer will now also copy the plugins for all platforms to Hollywood's linker plugins
directory so that they can be easily linked to executables (suggested by kas1e)
- Change: Updated inbuilt CA certificates to the latest ones from Mozilla (December 8th, 2020)
- New: multi:InfoRead() returns a fourth value now; this return value will contain the easy handle
that has previously been added to the multi handle (requested by Amile)
- New: Added support for SFTP and SCP; although hURL 1.0 claimed those to be supported they didn't
work because hURL was compiled without libssh2; hURL 1.1 now contains libssh2 so SFTP and SCP will
work as well (reported by Petteri Valli)
- Fix: All options of type CURLOPT_XXX_LARGE (e.g. CURLOPT_RESUME_FROM_LARGE) were broken on pretty
much all platforms except 64-bit Windows (reported by Petteri Valli)
- Fix [MorphOS]: Fixed hURL to be compatible with the 68k version of AmiSSL (reported by Juan Carlos
Herran Martin and Petteri Valli)
Version 1.0 (31-Mar-19)
- First Release