diff --git a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml
index b4986924a846..88815b9885d4 100644
--- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml
+++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml
@@ -917,7 +917,7 @@
- name: HubSpot
sourceDefinitionId: 36c891d9-4bd9-43ac-bad2-10e12756272c
dockerRepository: airbyte/source-hubspot
- dockerImageTag: 0.3.3
+ dockerImageTag: 0.3.4
documentationUrl: https://docs.airbyte.com/integrations/sources/hubspot
icon: hubspot.svg
sourceType: api
diff --git a/airbyte-config/init/src/main/resources/seed/source_specs.yaml b/airbyte-config/init/src/main/resources/seed/source_specs.yaml
index e070d65db9e2..471cd825eb5d 100644
--- a/airbyte-config/init/src/main/resources/seed/source_specs.yaml
+++ b/airbyte-config/init/src/main/resources/seed/source_specs.yaml
@@ -6799,7 +6799,7 @@
supportsNormalization: false
supportsDBT: false
supported_destination_sync_modes: []
-- dockerImage: "airbyte/source-hubspot:0.3.3"
+- dockerImage: "airbyte/source-hubspot:0.3.4"
spec:
documentationUrl: "https://docs.airbyte.com/integrations/sources/hubspot"
connectionSpecification:
diff --git a/airbyte-integrations/connectors/source-hubspot/Dockerfile b/airbyte-integrations/connectors/source-hubspot/Dockerfile
index 073a4cee81d0..66c9c9958820 100644
--- a/airbyte-integrations/connectors/source-hubspot/Dockerfile
+++ b/airbyte-integrations/connectors/source-hubspot/Dockerfile
@@ -34,5 +34,5 @@ COPY source_hubspot ./source_hubspot
ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py"
ENTRYPOINT ["python", "/airbyte/integration_code/main.py"]
-LABEL io.airbyte.version=0.3.3
+LABEL io.airbyte.version=0.3.4
LABEL io.airbyte.name=airbyte/source-hubspot
diff --git a/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml b/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml
index ac7c0ad235d1..e74bc527ca0f 100644
--- a/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml
+++ b/airbyte-integrations/connectors/source-hubspot/acceptance-test-config.yml
@@ -17,6 +17,8 @@ acceptance_tests:
discovery:
tests:
- config_path: secrets/config_oauth.json
+ backward_compatibility_tests_config:
+ disable_for_version: 0.3.3
basic_read:
tests:
- config_path: secrets/config_oauth.json
diff --git a/airbyte-integrations/connectors/source-hubspot/source_hubspot/schemas/email_events.json b/airbyte-integrations/connectors/source-hubspot/source_hubspot/schemas/email_events.json
index 9c67db956f2a..b6573f853fe8 100644
--- a/airbyte-integrations/connectors/source-hubspot/source_hubspot/schemas/email_events.json
+++ b/airbyte-integrations/connectors/source-hubspot/source_hubspot/schemas/email_events.json
@@ -36,10 +36,7 @@
"type": ["null", "string"]
},
"version": {
- "type": ["null", "array"],
- "items": {
- "type": ["null", "string"]
- }
+ "type": ["null", "string"]
}
}
},
diff --git a/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py b/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py
index 81ddcd155cbf..fa8b8092ccb0 100644
--- a/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py
+++ b/airbyte-integrations/connectors/source-hubspot/source_hubspot/streams.py
@@ -456,7 +456,7 @@ def _cast_value(cls, declared_field_types: List, field_name: str, field_value: A
if target_type_name == "number":
# do not cast numeric IDs into float, use integer instead
- target_type = int if field_name.endswith("_id") else target_type
+ target_type = int if field_value.isnumeric() else target_type
field_value = field_value.replace(",", "")
if target_type_name != "string" and field_value == "":
@@ -467,7 +467,7 @@ def _cast_value(cls, declared_field_types: List, field_name: str, field_value: A
try:
casted_value = target_type(field_value)
except ValueError:
- logger.exception(f"Could not cast `{field_value}` to `{target_type}`")
+ logger.exception(f"Could not cast in stream `{cls.__name__}` `{field_name}` {field_value=} to `{target_type}`")
return field_value
return casted_value
diff --git a/connectors.md b/connectors.md
index cd0712bf7471..0291c454b593 100644
--- a/connectors.md
+++ b/connectors.md
@@ -104,7 +104,7 @@
| **Harness** | | Source | farosai/airbyte-harness-source:0.1.23 | alpha | [link](https://docs.airbyte.com/integrations/sources/harness) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/airbyte-harness-source) | `6fe89830-d04d-401b-aad6-6552ffa5c4af` |
| **Harvest** | | Source | airbyte/source-harvest:0.1.16 | generally_available | [link](https://docs.airbyte.com/integrations/sources/harvest) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-harvest) | `fe2b4084-3386-4d3b-9ad6-308f61a6f1e6` |
| **Hellobaton** | | Source | airbyte/source-hellobaton:0.1.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/hellobaton) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-hellobaton) | `492b56d1-937c-462e-8076-21ad2031e784` |
-| **HubSpot** | | Source | airbyte/source-hubspot:0.3.3 | generally_available | [link](https://docs.airbyte.com/integrations/sources/hubspot) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-hubspot) | `36c891d9-4bd9-43ac-bad2-10e12756272c` |
+| **HubSpot** | | Source | airbyte/source-hubspot:0.3.4 | generally_available | [link](https://docs.airbyte.com/integrations/sources/hubspot) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-hubspot) | `36c891d9-4bd9-43ac-bad2-10e12756272c` |
| **Hubplanner** | | Source | airbyte/source-hubplanner:0.1.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/hubplanner) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-hubplanner) | `8097ceb9-383f-42f6-9f92-d3fd4bcc7689` |
| **IBM Db2** | | Source | airbyte/source-db2:0.1.19 | alpha | [link](https://docs.airbyte.com/integrations/sources/db2) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-db2) | `447e0381-3780-4b46-bb62-00a4e3c8b8e2` |
| **IP2Whois** | | Source | airbyte/source-ip2whois:0.1.0 | alpha | [link](https://docs.airbyte.com/integrations/sources/ip2whois) | [code](https://github.com/airbytehq/airbyte/tree/master/airbyte-integrations/connectors/source-ip2whois) | `f23b7b7c-d705-49a3-9042-09add3b104a5` |
diff --git a/docs/integrations/sources/hubspot.md b/docs/integrations/sources/hubspot.md
index 9cfe9ed3bb24..e928d13653d6 100644
--- a/docs/integrations/sources/hubspot.md
+++ b/docs/integrations/sources/hubspot.md
@@ -126,6 +126,7 @@ Now that you have set up the Hubspot source connector, check out the following H
| Version | Date | Pull Request | Subject |
|:--------|:-----------|:---------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------|
+| 0.3.4 | 2023-03-28 | [24641](https://github.com/airbytehq/airbyte/pull/24641) | Convert to int only numeric values |
| 0.3.3 | 2023-03-27 | [24591](https://github.com/airbytehq/airbyte/pull/24591) | Fix pagination for `marketing emails` stream |
| 0.3.2 | 2023-02-07 | [22479](https://github.com/airbytehq/airbyte/pull/22479) | Turn on default HttpAvailabilityStrategy |
| 0.3.1 | 2023-01-27 | [22009](https://github.com/airbytehq/airbyte/pull/22009) | Set `AvailabilityStrategy` for streams explicitly to `None` |