diff --git a/CHANGELOG.md b/CHANGELOG.md index a375fb58..62126769 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# 4.1.0 + +- Update `UrlEncode` behavior to target different encoding RFCs based on `UrlEncodingMode` +- Add `UrlEncodingMode` with support for `Strict`, `Form`, `Query`, `Cookie`, and `Path` +- `UrlEncodingMode.StrictUrlEncoding` uses [RFC 3986](https://tools.ietf.org/html/rfc3986) and is the default +- `UrlEncodingMode.FormUrlEncoding` uses HTML5 form url-encoding and is used with `WebFormat.FormUrlEncoded` +- `UrlEncodingMode.QueryUrlEncoding` uses subset of `Strict` and `Form` for default querystring encoding +- `UrlEncodingMode.CookieUrlEncoding` uses [RFC 6265](https://tools.ietf.org/html/rfc6265) +- `UrlEncodingMode.PathUrlEncoding` uses "pchar" from [RFC 3986](https://tools.ietf.org/html/rfc3986) and is the default +- Update VBA-JSON to v2.2.2 + # 4.0.0 Major Changes: diff --git a/README.md b/README.md index c119d466..0b841366 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ VBA-Web (formerly Excel-REST) makes working with complex webservices and APIs ea Getting started --------------- -- Download the [latest release (v4.0.22)](https://github.com/VBA-tools/VBA-Web/releases) +- Download the [latest release (v4.1.0)](https://github.com/VBA-tools/VBA-Web/releases) - To install/upgrade in an existing file, use `VBA-Web - Installer.xlsm` - To start from scratch in Excel, `VBA-Web - Blank.xlsm` has everything setup and ready to go diff --git a/VBA-Web - Blank.xlsm b/VBA-Web - Blank.xlsm index f8e70720..c86ef43f 100644 Binary files a/VBA-Web - Blank.xlsm and b/VBA-Web - Blank.xlsm differ diff --git a/VBA-Web - Installer.xlsm b/VBA-Web - Installer.xlsm index cbc3b6a0..b3916b73 100644 Binary files a/VBA-Web - Installer.xlsm and b/VBA-Web - Installer.xlsm differ diff --git a/examples/VBA-Web - Example.xlsm b/examples/VBA-Web - Example.xlsm index 9d9cfcde..b5971d47 100644 Binary files a/examples/VBA-Web - Example.xlsm and b/examples/VBA-Web - Example.xlsm differ diff --git a/specs/VBA-Web - Specs - Async.xlsm b/specs/VBA-Web - Specs - Async.xlsm index 19ffbe80..ef4a8afb 100644 Binary files a/specs/VBA-Web - Specs - Async.xlsm and b/specs/VBA-Web - Specs - Async.xlsm differ diff --git a/specs/VBA-Web - Specs.xlsm b/specs/VBA-Web - Specs.xlsm index 8324f172..d9885be1 100644 Binary files a/specs/VBA-Web - Specs.xlsm and b/specs/VBA-Web - Specs.xlsm differ diff --git a/src/IWebAuthenticator.cls b/src/IWebAuthenticator.cls index 66585bb0..a3672a25 100644 --- a/src/IWebAuthenticator.cls +++ b/src/IWebAuthenticator.cls @@ -8,7 +8,7 @@ Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = True '' -' IWebAuthenticator v4.0.22 +' IWebAuthenticator v4.1.0 ' (c) Tim Hall - https://github.com/VBA-tools/VBA-Web ' ' Interface for creating authenticators for rest client diff --git a/src/WebAsyncWrapper.cls b/src/WebAsyncWrapper.cls index 9c83f20e..6a8a8561 100644 --- a/src/WebAsyncWrapper.cls +++ b/src/WebAsyncWrapper.cls @@ -8,7 +8,7 @@ Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = True '' -' WebAsyncWrapper v4.0.22 +' WebAsyncWrapper v4.1.0 ' (c) Tim Hall - https://github.com/VBA-tools/VBA-Web ' ' Wrapper WebClient and WebRequest that enables callback-style async requests diff --git a/src/WebClient.cls b/src/WebClient.cls index 450a11d9..8e029c27 100644 --- a/src/WebClient.cls +++ b/src/WebClient.cls @@ -8,7 +8,7 @@ Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = True '' -' WebClient v4.0.22 +' WebClient v4.1.0 ' (c) Tim Hall - https://github.com/VBA-tools/VBA-Web ' ' `WebClient` executes requests and handles response and is responsible for functionality shared between requests, @@ -283,7 +283,7 @@ Public Function Execute(Request As WebRequest) As WebResponse Else web_ErrorDetails = "(6: CURLE_COULDNT_RESOLVE_HOST)" End If - + Err.Raise 12007 + &H30000 + vbObjectError, "WebClient.Execute", "The server name or address could not be resolved " & web_ErrorDetails Case 7 ' 7 = CURLE_COULDNT_CONNECT diff --git a/src/WebHelpers.bas b/src/WebHelpers.bas index f97ba121..615ba131 100644 --- a/src/WebHelpers.bas +++ b/src/WebHelpers.bas @@ -1,6 +1,6 @@ Attribute VB_Name = "WebHelpers" '' -' WebHelpers v4.0.22 +' WebHelpers v4.1.0 ' (c) Tim Hall - https://github.com/VBA-tools/VBA-Web ' ' Contains general-purpose helpers that are used throughout VBA-Web. Includes: @@ -243,7 +243,7 @@ Private Declare Function web_fread Lib "libc.dylib" Alias "fread" (ByVal outStr Private Declare Function web_feof Lib "libc.dylib" Alias "feof" (ByVal File As Long) As Long #End If -Public Const WebUserAgent As String = "VBA-Web v4.0.22 (https://github.com/VBA-tools/VBA-Web)" +Public Const WebUserAgent As String = "VBA-Web v4.1.0 (https://github.com/VBA-tools/VBA-Web)" ' @internal Public Type ShellResult diff --git a/src/WebRequest.cls b/src/WebRequest.cls index 5a3e61d0..9fd3a399 100644 --- a/src/WebRequest.cls +++ b/src/WebRequest.cls @@ -8,7 +8,7 @@ Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = True '' -' WebRequest v4.0.22 +' WebRequest v4.1.0 ' (c) Tim Hall - https://github.com/VBA-tools/VBA-Web ' ' `WebRequest` is used to create detailed requests diff --git a/src/WebResponse.cls b/src/WebResponse.cls index 5781a496..ec4207c9 100644 --- a/src/WebResponse.cls +++ b/src/WebResponse.cls @@ -8,7 +8,7 @@ Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = True '' -' WebResponse v4.0.22 +' WebResponse v4.1.0 ' (c) Tim Hall - https://github.com/VBA-tools/VBA-Web ' ' Wrapper for http/cURL responses that includes parsed Data based on WebRequest.ResponseFormat.