fix(deps): update dependency hubspot-api-client to v12#3582
fix(deps): update dependency hubspot-api-client to v12#3582renovate[bot] wants to merge 1 commit intomasterfrom
Conversation
|
44b0749 to
7e30140
Compare
2f25361 to
e9e691c
Compare
e9e691c to
3451e2d
Compare
47404df to
19d8284
Compare
c89616e to
6dc583d
Compare
pyproject.toml
Outdated
| google-api-python-client = "2.190.0" | ||
| google-auth = "1.35.0" | ||
| hubspot-api-client = "^6.1.0" | ||
| hubspot-api-client = "^12.0.0" |
There was a problem hiding this comment.
Bug: The upgrade to hubspot-api-client="^12.0.0" conflicts with the mitol-django-hubspot-api dependency, which requires version 6.1.0. This will cause a dependency resolution failure.
Severity: CRITICAL
Suggested Fix
Resolve the dependency conflict. This can be done by either finding a version of mitol-django-hubspot-api that is compatible with hubspot-api-client@v12.0.0 or by downgrading the hubspot-api-client version to one that is compatible with the currently pinned mitol-django-hubspot-api.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: pyproject.toml#L39
Potential issue: The `pyproject.toml` file specifies an upgrade for `hubspot-api-client`
to version `^12.0.0`. However, another dependency, `mitol-django-hubspot-api` at version
`2023.12.19`, has a strict requirement for `hubspot-api-client = "6.1.0"`. This creates
a direct conflict that will cause dependency resolution tools like Poetry to fail. The
application will not be able to be deployed or run because the dependencies cannot be
installed as specified. This conflict must be resolved before the code can be used.
eb47d6e to
22bcaee
Compare
pyproject.toml
Outdated
| google-api-python-client = "2.190.0" | ||
| google-auth = "1.35.0" | ||
| hubspot-api-client = "^6.1.0" | ||
| hubspot-api-client = "^12.0.0" |
There was a problem hiding this comment.
Bug: The upgrade to hubspot-api-client v12.0.0 changes method signatures. Calls to crm.objects.batch_api.create() and update() using positional arguments will fail as the new version expects keyword arguments.
Severity: CRITICAL
Suggested Fix
Update the calls to crm.objects.batch_api.create() and crm.objects.batch_api.update() in hubspot_xpro/tasks.py to use keyword arguments as required by v12.0.0 of the hubspot-api-client. For example, change create(hubspot_type, batch_input) to create(batch_input_simple_public_object_input=batch_input). Also, update the corresponding mocks in the test files to match the new signature.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: pyproject.toml#L39
Potential issue: After upgrading `hubspot-api-client` to v12.0.0, the method signatures
for batch operations have changed. Functions like `crm.objects.batch_api.create()` and
`crm.objects.batch_api.update()` in `hubspot_xpro/tasks.py` are called with positional
arguments. However, the v12 API expects these calls to use a keyword argument, such as
`batch_input_simple_public_object_input=...`. This mismatch will lead to a `TypeError`
at runtime when these batch synchronization tasks are executed, causing them to fail.
The existing tests do not catch this because they mock the API using the old, incorrect
signature.
84d9352 to
87b36bf
Compare
f0006ed to
ce5f6d8
Compare
| "google-api-python-client==2.190.0", | ||
| "google-auth==1.35.0", | ||
| "hubspot-api-client>=6.1.0,<7", | ||
| "hubspot-api-client>=12,<13", |
There was a problem hiding this comment.
Bug: The update to hubspot-api-python v12 may introduce breaking changes. The class BatchInputSimplePublicObjectInput might have been renamed or removed, which is not reflected in the code.
Severity: HIGH
Suggested Fix
Before merging, verify the correct class name for BatchInputSimplePublicObjectInput in hubspot-api-python v12. Update the import and usage in hubspot_xpro/tasks.py to the new class name if it has changed. The code change should accompany the dependency version bump.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: pyproject.toml#L38
Potential issue: The `hubspot-api-python` library is being upgraded from v6 to v12, a
major version jump known to include breaking changes. Specifically, classes like
`BatchInputSimplePublicObjectInputForCreate` were renamed. While it's not confirmed if
the `BatchInputSimplePublicObjectInput` class used in `hubspot_xpro/tasks.py` was also
renamed or removed, this is a high-risk change. If the class no longer exists as
imported, it will cause an `ImportError` on application startup or an `AttributeError`
at runtime when batch operations are executed. The existing tests mock the HubSpot API
and would not detect this issue.
97d97c2 to
833483e
Compare
833483e to
2c93c03
Compare
This PR contains the following updates:
>=6.1.0,<7→>=12,<13Release Notes
HubSpot/hubspot-api-python (hubspot-api-client)
v12.0.0Compare Source
v11.1.0Compare Source
v11.0.0v10.0.0v9.0.0Automation Actions client
automation.actions.definitions_api.create()method to acceptpublic_action_definition_egginstead ofextension_action_definition_inputand returnedPublicActionDefinitioninsteadExtensionActionDefinition.automation.actions.definitions_api.get_by_id()method to returnPublicActionDefinitioninstead ofExtensionActionDefinition.automation.actions.definitions_api.get_page()method to returnCollectionResponsePublicActionDefinitionForwardPaginginstead ofCollectionResponseExtensionActionDefinitionForwardPaging.automation.actions.definitions_api.update()method to acceptpublic_action_definition_patchinstead ofextension_action_definition_patchand returnedPublicActionDefinitioninsteadExtensionActionDefinition.automation.actions.functions_api.create_or_replace()method to returnPublicActionFunctionIdentifierinstead ofActionFunctionIdentifier.automation.actions.functions_api.create_or_replace_by_function_type()method to returnPublicActionFunctionIdentifierinstead ofActionFunctionIdentifier.automation.actions.functions_api.get_by_function_type()method to returnPublicActionFunctioninstead ofActionFunction.automation.actions.functions_api.get_by_id()method to returnPublicActionFunctioninstead ofActionFunction.automation.actions.functions_api.get_page()method to returnCollectionResponsePublicActionFunctionIdentifierNoPaginginstead ofCollectionResponseActionFunctionIdentifierNoPaging.automation.actions.revisions_api.get_by_id()method to returnPublicActionRevisioninstead ofActionRevision.automation.actions.revisions_api.get_page()method to returnCollectionResponsePublicActionRevisionForwardPaginginstead ofCollectionResponseActionRevisionForwardPaging.POST_ACTION_EXECUTIONtoautomation.actions.models.PublicActionFunctionIdentifierandautomation.actions.models.PublicActionFunction.automation_field_typetoautomation.actions.models.InputFieldDefinition.automation.actions.models.OutputFieldDefinition.automation.actions.models.PublicExecutionTranslationRule.automation.actions.models.FieldTypeDefinition:{ "help_text": "str", "referenced_object_type": "str", "name": "str", "options": "list[Option]", "description": "str", "external_options_reference_type": "str", "label": "str", "type": "str", "field_type": "str", "options_url": "str", "external_options": "bool", }CMS clients
attach_to_lang_group(),detach_from_lang_group()andupdate_langs()methods of all Api clients(cms.blogs.authors.blog_authors_api,cms.blogs.blog_posts.blog_posts_apiandcms.blogs.tags.blog_tags_api) returnNoneinstead ofError._propertytocms.blogs.authors.blog_authors_api.get_by_id()andcms.blogs.authors.blog_authors_api.get_page().cms.source_code.content_api.get()method tocms.source_code.content_api.download().cms.source_code.content_api.replace()method tocms.source_code.content_api.create_or_update().hashtocms.source_code.models.AssetFileMetadata.propertiestocms.source_code.metadata_api.get().CRM Associations and Objects clients
categoryfromErrorCategorytostringincrm.associations.models.StandardError.crm.associations.v4.schema.definitions_api.delete()method tocrm.associations.v4.schema.definitions_api.archive().object_idandcrm.associations.v4.basic_api.to_object_idincrm.associations.v4.basic_api.archive(),crm.associations.v4.basic_api.create()andcrm.associations.v4.basic_api.create_default()methods frominttostring.object_idincrm.associations.v4.basic_api.get_page()method frominttostring.to_object_idandfrom_object_idincrm.associations.v4.models.LabelsBetweenObjectPairtostring.to_object_idincrm.associations.v4.models.MultiAssociatedObjectWithLabeltostring.categoryinErrorCategorytostringincrm.associations.v4.models.StandardError.errorsincrm.associations.v4.models.BatchResponsePublicDefaultAssociationfromStandardError1[]toStandardError[].inverse_labeltocrm.associations.v4.models.PublicAssociationDefinitionCreateRequestandcrm.associations.v4.models.PublicAssociationDefinitionUpdateRequest.crm.time_line.events_api.create_batch()method to returnNoneinstedBatchResponseTimelineEventResponse.categoryfromErrorCategorytostringincrm.time_line.models.StandardError.crm.objects.associations_api.postal_mailtopostal_mail_idincrm.objects.postal_mail.basic_api().afterfrominttostringin all CRM modelsPublicObjectSearchRequest.id_propertyin all CRM modelsSimplePublicObjectBatchInput.CRM Extensions client
crm.extinsions.cards_api.archive()method from(app_id, card_id)to(card_id, app_id).crm.extinsions.cards_api.create()method to returnPublicCardResponseinsteadCardResponse.crm.extinsions.cards_api.get_all()method to returnPublicCardListResponseinsteadCardListResponse.crm.extinsions.cards_api.get_by_id()method from(app_id, card_id)to(card_id, app_id)and method returnPublicCardResponseinsteadCardResponse.crm.extinsions.cards_api.update()method from(app_id, card_id, card_patch_request)to(card_id, app_id, card_patch_request)and method returnPublicCardResponseinsteadCardResponse.serverless_functionandcard_typetocrm.extinsions.models.CardFetchBodyandcrm.extinsions.models.CardFetchBodyPatch.audit_historytocrm.extinsions.models.PublicCardResponse.marketing_eventstocrm.extinsions.models.CardObjectTypeBody.developer_hapikeytocrm.extinsions.videoconferencing.settings_api.fetch_accounts_uritocrm.extinsions.videoconferencing.models.ExternalSettings.CRM Extensions Accounting Apisas deprecated.CRM clients
import_templateandimport_sourceparams tocrm.imports.models.PublicImportResponse.crm.lists.memberships_api()tocrm.lists.list_app_membership_api().crm.lists.lists_api()tocrm.lists.list_app_api().list_idandlist_ids: list[]frominttostringin all methods of apicrm.lists.list_app_api().list_id,request_body: list[]andsource_list_idfrominttostringin all methods of apicrm.lists.list_app_membership_api().crm.lists.memberships_api.add_remove()tocrm.lists.list_app_membership_api.add_and_remove().crm.lists.models.CollectionResponseLongtocrm.lists.models.CollectionResponseJoinTimeAndRecordId.results: list[int]toresults: list[JoinTimeAndRecordId]incrm.lists.models.CollectionResponseJoinTimeAndRecordId.list_id,business_unit_id,subscription_ids: list[],email_id,app_id,updated_by_id,rtype: list[],record_ids_to_remove: list[],record_ids_to_add: list[],record_ids_removed: list[],records_ids_added: list[]andrecord_ids_missing: list[]frominttostringin allcrm.lists.modelsin which these parameters are present.validate_deal_stage_usages_before_deletetocrm.pipelines.pipelines_api.archive(),crm.pipelines.pipelines_api.replace()andcrm.pipelines.pipelines_api.update()methods.write_permissionsparam tocrm.pipelines.models.PipelineStage.descriptionparam tocrm.schemas.models.ObjectTypeDefinitionPatch.option_sort_strategy,show_currency_symbol,form_field,referenced_object_type,text_display_hint,searchable_in_global_searchand
number_display_hinttocrm.schemas.models.ObjectTypePropertyCreate.Marketing client
archive(),create(),do_cancel(),get_by_id(),replace()andupdate()frommarketing.events.marketing_events_external_api()tomarketing.events.basic_api.do_upsert()frommarketing.events.marketing_events_external_api()tomarketing.events.batch_api().archive_batch()toarchive()frommarketing.events.marketing_events_external_api.archive_batch()tomarketing.events.batch_api.archive().do_email_upsert_by_id()anddo_upsert_by_id()frommarketing.events.marketing_events_external_api()tomarketing.events.subscriber_state_changes().marketing.events.settings_external_api()tomarketing.events.settings_api().is_large_valuetomarketing.events.models.PropertyValue.categoryfromErrorCategorytostringinmarketing.events.models.StandardError.lifecycle_stagestomarketing.forms.models.HubSpotFormConfiguration.legal_consent_optionsfromobjecttoHubSpotFormDefinitionAllOfLegalConsentOptionsin allmarketing.forms.modelswhere parameter exists.field_typeparameter, now defaults topayment_link_radioinsteadfileinDependentFieldDependentFieldinmarketing.forms.models.marketing.forms.models.HubSpotFormDefinitionPatchRequestLegalConsentOptionstomarketing.forms.models.HubSpotFormDefinitionAllOfLegalConsentOptions.othertoallowed_valuesinmarketing.forms.models.Events, Files and OAuth clients
files.filestofiles.files.files_api.get_metadata().expires_attofiles.models.Fileandfiles.models.FileUpdateInput.categoryfromErrorCategorytostringinfiles.models.StandardError.index_table_name,index_table_name,object_property_propname,property_propnameandidtoget_page()method.events.send_api.behavioral_events_tracking_api()toevents.send_api.custom_event_data_api().prevtoevents.models.Paging.scope_to_scope_group_pks, trial_scopes, trial_scope_to_scope_group_pksfromoauth.models.AccessTokenInfoResponse.Client APIs
crm.extensions.calling.recording_settings_apiAPI.crm.companies.gdpr_apiAPI.crm.deals.gdpr_apiAPI.crm.objects.line_items.gdpr_apiAPI.crm.objects.calls.gdpr_apiAPI.crm.objects.communications.gdpr_apiAPI.crm.objects.emails.gdpr_apiAPI.crm.objects.feedback_submissions.gdpr_apiAPI.crm.objects.meetings.gdpr_apiAPI.crm.objects.notes.gdpr_apiAPI.crm.objects.postal_mail.gdpr_apiAPI.crm.objects.tasks.gdpr_apiAPI.crm.objects.products.gdpr_apiAPI.crm.objects.quotes.gdpr_apiAPI.crm.objects.tickets.gdpr_apiAPI.crm.line_items.gdpr_apiAPI.marketing.events.basic_apiAPI.marketing.events.batch_apiAPI.marketing.events.subscriber_state_changes_apiAPI.v8.2.1Updated
PublicUsermodel insettings.users.models:super_admin: boolean.send_welcome_email: boolean.v8.2.0Compare Source
v8.1.1v8.1.0v8.0.0Compare Source
v7.5.0Compare Source
Added
crm.propertiesAPI clientv7.4.0Compare Source
Added
crm.associations.v4API clientcrm.imports.public_imports_apiAPI clientcrm.extensions.cards.sample_response_apiAPI clientfetch_allfuncFixed
auth.oauth.refresh_tokens_api.archive_refresh_tokenmethodv7.3.1Compare Source
Added
Fixed
crm.associations.types_apiv7.3.0Compare Source
Added
Deprecated
v7.2.2Compare Source
v7.2.1Compare Source
v7.2.0Compare Source
Added
v7.1.0Compare Source
Changed
Fixed
v7.0.0Compare Source
Changed (Breaking changes)
Configuration
📅 Schedule: Branch creation - "every weekend" in timezone US/Eastern, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.