diff --git a/CHANGELOG.md b/CHANGELOG.md
index faa4afb..9335fd5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,10 +2,14 @@
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
-## 4.0.1 (UNRELEASED)
+## 4.1.0 (09/23/2026)
+#### Feature Changes
+- [https://github.com/Crim/pardot-java-client/issues/108](Issue-108) Salesforce SSO: Add support for Client Credentials Flow, Thanks for the contribution [FlipWarthog](https://github.com/FlipWarthog)!
+
#### Internal Dependency Updates
-- Upgraded Jackson from version 2.11.4 to 2.13.2.
+- Upgraded Jackson from version 2.11.4 to 2.22.2.
- Upgraded slf4j from version 1.7.30 to 1.7.36.
+- Upgraded log4j2 from version 2.17.2 to 2.26.1 (used by tests only).
## 4.0.0 (06/03/2021)
@@ -208,4 +212,4 @@ the library prior to October 31st 2018.
- Add support for List and ListMembership API endpoints.
## 0.1.0 (08/15/2017)
-- Initial release!
\ No newline at end of file
+- Initial release!
diff --git a/README.md b/README.md
index b62be56..81f222a 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ This client library is released on Maven Central. Add a new dependency to your
com.darksci
pardot-api-client
- 4.0.0
+ 4.1.0
```
@@ -50,6 +50,17 @@ final ConfigurationBuilder configuration = Configuration.newBuilder()
"YourPardotBusinessUnitId"
);
+/*
+ * If you want to use the client_credentials authentication flow:
+ */
+Configuration.newBuilder()
+ // This configures the client using the 'Client Credentials' authentication flow.
+ .withSsoLogin(
+ "YourConnectedAppClientId",
+ "YourConnectedAppClientSecret",
+ "YourPardotBusinessUnitId"
+ );
+
/*
* Alternatively, if you want to use the authorization_code authentication flow,
* you can configure the client using a previously acquired refresh_token:
@@ -284,6 +295,7 @@ user friendly Plain Old Java Objects (POJOs).
[Crim](https://github.com/crim)
[LoRez](https://github.com/lorez)
[dai-00](https://github.com/dai-00)
+[FlipWarthog](https://github.com/FlipWarthog)
## Releasing
Steps for performing a release:
diff --git a/pom.xml b/pom.xml
index 7314faf..7aa9751 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.darksci
pardot-api-client
- 4.0.1
+ 4.1.0
jar
@@ -47,7 +47,7 @@
UTF-8
- 2.13.2
+ 2.22.2
4.13.2
@@ -58,7 +58,7 @@
8.29
- 2.17.2
+ 2.26.1
1.7.36
@@ -363,4 +363,4 @@
-
\ No newline at end of file
+
diff --git a/src/main/java/com/darksci/pardot/api/parser/JacksonFactory.java b/src/main/java/com/darksci/pardot/api/parser/JacksonFactory.java
index c971f14..4a83577 100644
--- a/src/main/java/com/darksci/pardot/api/parser/JacksonFactory.java
+++ b/src/main/java/com/darksci/pardot/api/parser/JacksonFactory.java
@@ -20,7 +20,7 @@
import com.darksci.pardot.api.parser.prospect.ProspectCustomFieldDeserializer;
import com.darksci.pardot.api.response.customfield.ProspectCustomFieldValue;
import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.PropertyNamingStrategy;
+import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.json.JsonMapper;
import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
@@ -73,7 +73,7 @@ public static XmlMapper newInstance() {
// Configure it
mapper
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
- .setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
+ .setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE)
.registerModule(new JodaModule())
.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));