- Add
Accept-Encodingheader ("identity" by default) - Include
Content-TypeandContent-Lengthfor GET requests with non-emptyBody - Allow async timeouts >60 seconds
- Update
UrlEncodebehavior to target different encoding RFCs based onUrlEncodingMode - Add
UrlEncodingModewith support forStrict,Form,Query,Cookie, andPath UrlEncodingMode.StrictUrlEncodinguses RFC 3986 and is the defaultUrlEncodingMode.FormUrlEncodinguses HTML5 form url-encoding and is used withWebFormat.FormUrlEncodedUrlEncodingMode.QueryUrlEncodinguses subset ofStrictandFormfor default querystring encodingUrlEncodingMode.CookieUrlEncodinguses RFC 6265UrlEncodingMode.PathUrlEncodinguses "pchar" from RFC 3986 and is the default- Update VBA-JSON to v2.2.2
- 4.1.1 Adjust
CookieUrlEncodingmode to match value encoding in RFC 6265 (rather than name encoding) - 4.1.2 Compatibility with 64-bit Mac
- 4.1.3 Mac bugfix for % encoding
- 4.1.4 Fix compilation issues for 64-bit Mac
- 4.1.5 Update VBA-JSON to v2.3.0 (fixes JSON slowdown on Windows)
- 4.1.6 Fix libc bug in Mac 16.21.1
Major Changes:
- Mac Support!
- General VBA support (no Excel-specific code)
- Custom formatters
- Automatic proxy detection
- Windows authentication
- Switch to
WinHttpRequest(Windows' modern web library) - General API cleanup and bugfixes
- 4.0.1 cURL escape parameters in authenticators, url-encode UrlSegments, and add
SetHeader - 4.0.2 Add
Base64Decode - 4.0.3 Fix out-of-date workbooks
- 4.0.4 Move
Application.OnTimetoWebAsyncWrapperand add dislaimer that it's Excel-only - 4.0.5 Fix incorrect regional guard in ParseNumber in VBA-JSON (upgrade to v1.0.1)
- 4.0.6 Resolve 64-bit compilation issues in VBA-JSON
- 4.0.7 Handle resolve error when offline as timeout and add
EnableCustomFormattingflag forApplication.Runissues - 4.0.8 Fix a critical bug that caused Excel to crash if an error was thrown with AutoProxy
- 4.0.9 Add VBA-Dictionary to installer and fix
AddBodyParameterbug in 64-bit Excel - 4.0.10 Fix
SysAllocStringbug for 32-bit Excel - 4.0.11 Fix extract header bug in
DigestAuthenticator - 4.0.12 Fix revocation check bug for
Insecure,Splitbug in credentials, and fix Example workbook - 4.0.13 Fix 100 Continue bug for Mac, fix regional issues for url-encoded numbers and dates
- 4.0.14 Fix cached Body issue with AddBodyParameter
- 4.0.15 Fix cookie decoding issue
- 4.0.16 Add Access support to installer and fix installer bugs (long paths on Mac, check if files exist, password protected)
- 4.0.17 Add
FollowRedirectsand follow redirects by default, convert stored body to Variant, fix multiple 100 Continue bug - 4.0.18 Add
VBA.RandomizetoCreateNonceand addTodoistAuthenticator - 4.0.19 Fix installer and update VBA-JSON to v1.0.3
- 4.0.20 Update VBA-JSON to v2.0.1 (Note: Breaking change in VBA-JSON, Solidus is no longer escaped by default)
- 4.0.21 Fix
vbCrLfissue in Excel for Mac 2016 and namespace internal method calls - 4.0.22 Add
Request.UserAgent, sort OAuth1 querystring parameters, fixUrlEncodeissues, andWebClienttweaks
Breaking Changes:
- Excel-REST is now VBA-Web and all classes/modules have been renamed
ExecuteAsyncis Window-only and has been moved toWebAsyncWrapper{format}UrlSegment is no longer automatically replaced- Many methods removed, renamed, or moved (see the Upgrade Guide for a detailed breakdown)
- Add
Request.RequestFormat,Request.ResponseFormat, andRequest.Acceptfor setting separate request and response formats (e.g. form-urlencoded request with json response) - Add
LogRequestandLogResponsefor better logging detail (enable withRestHelpers.EnableLogging = True) - Allow headers and content-type to be set in authenticator
BeforeExecute - 3.1.1 Fix importing class incorrectly as module bug
- 3.1.2 Add XML and plain text formats
- 3.1.3 Fix hard dependency for XML
- 3.1.4 Fix logging in
PrepareProxyForHttpRequest
- Add
Client.GetJSONandClient.PostJSONhelpers to GET and POST JSON without setting up request - Add
AfterExecutetoIAuthenticator(Breaking change, all IAuthenticators must implement this new method) - 3.0.1 Add
DigestAuthenticator, new helpers, and cleanup - 3.0.2 Switch timeout to
Longand removeRestClientBase(out of sync with v3) - 3.0.3 Update OAuth1, deprecate
IncludeCacheBreaker, update True/False formatting to lowercase, add LinkedIn example - 3.0.4 Fix formatting of parameters with spaces for OAuth1 and add logging
- 3.0.5 Allow Array and Collection for Body in
Request.AddBodyandClient.PostJSON - 3.0.6 Convert Empty to
nullfor json - 3.0.7 Add
install.batscript for easy installation and upgrade
- Add
form-urlencodedformat and helpers - Combine Body + Parameters and Querystring + Parameters with priority given to Body or Querystring, respectively
- Add cookies support with
Request.AddCookie(key, value)andResponse.Cookies - 2.2.1 Add
Response.Headerscollection of response headers
- Add Microsoft Scripting Runtime dependency (for Dictionary support)
- Add
RestClient.SetProxyfor use in proxy environments - 2.1.1 Use
Valfor number parsing in locale-dependent settings - 2.1.2 Add raw binary
BodytoRestResponsefor handling files (thanks @berkus) - 2.1.3 Bugfixes and refactor
- Remove JSONLib dependency (merged with RestHelpers)
- Add RestClientBase for future use with extension for single-client applications
- Add build scripts for import/export
- New specs and bugfixes
- 2.0.1 Handle duplicate keys when parsing json
- 2.0.2 Add Content-Length header and 408 status code for timeout
- Integrate Excel-TDD to fully test Excel-REST library
- Handle timeouts for sync and async requests
- Remove reference dependencies and use CreateObject instead
- Add cachebreaker as querystring param only
- Add Join helpers to resolve double-slash issue between base and resource url
- Only add "?" for querystring if querystring will be created and "?" isn't present
- Only put parameters in body if there are parameters
- Add async support