ODBC Driver for HubSpot

Build 23.0.8839


General Changes

  • Added CUD support for PostalEmails and Communications tables.
  • Added PostalEmailProperties and CommunicationProperties tables, which are used to retrieve all HubSpot and user defined properties for the two objects.
  • Added the HasUniqueValue column in the following tables: CompanyProperties, ContactProperties, DealProperties and TicketProperties.
  • Added server-side support for AssociatedContactId and Status columns in Threads table.
  • Added a new associations, ProductsToDealsAssociations.
  • Adding CompanyPropertiesHistory, ContactPropertiesHistory, DealPropertiesHistory, and TicketPropertiesHistory as four new tables to the HubSpotV3 schema.
  • Adding two new tables PostalEmails and Communications.

  • Removed Archived column from the following tables: EngagementsTasks, EngagementsEmails, EngagementsMeetings, EngagementsCalls and EngagementsNotes
  • The ROUND function doesn't accept the negative precision values anymore.

  • The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
  • The return type of the ABS function will be consistent with the parameter value type.
  • Added QuotePropertiesFile, ProductPropertiesFile, LineItemPropertiesFile, FeedbackSubmissionPropertiesFile, TaskPropertiesFile, EmailPropertiesFile, MeetingPropertiesFile, CallPropertiesFile, NotePropertiesFile, GoalPropertiesFile connection properties, used to specify the properties to dynamically retrieve from API, either through a file or a comma-separated list of string values.
  • Added QuoteProperties, ProductProperties, LineItemProperties, FeedbackSubmissionProperties, TaskProperties, EmailProperties, MeetingProperties, CallProperties, NoteProperties tables in schema HubSpotV3 and ProductProperties, LineItemProperties tables in schema HubSpot, used to retrieve the properties of the object from the APi.
  • Added SelectedExternalOptionsAggregate as a column in the Forms table for the HubSpot schema. This field includes information on the default lifecycle stage which categorizes your contacts and companies while providing context about where they are in your sales and marketing processes.
  • Added Goals and GoalProperties views for HubSpotV3 and HubSpotV4 schema, which are used to access Goals API endpoints.
  • Removed columns: DeletedAt, IsArchived for tables: BlogPosts, Pages

  • Added columns: ArchivedAt, ArchivedInDashboard for tables: BlogPosts, Pages
  • Removed the Task table as a result of the Calender API deprecation.
  • Added the new sys_lastresultinfo system table.
  • Added new HubSpotV4 schema, used to access v4 endpoints.
  • Added CompanyPropertiesHistory, ContactPropertiesHistory, DealPropertiesHistory, TicketPropertieshistory as part of HubSpotV4 schema.
  • Added Category column for the Associations tables.
  • Added support for SELECT, INSERT, DELETE support for v4 endpoints of Associations tables.

  • Changed the endpoint for getting Associations data from v4 to v3 for Associations tables.

  • Removed CompanyPropertiesHistory, ContactPropertiesHistory, DealPropertiesHistory, TicketPropertieshistory from HubSpotV3 schema. These tables can be accessed through HubSpotV4 schema.
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
  • Added Threads as a table to the HubSpotV3 schema. Threads is used to retrieve a group of related messages in the inbox. It requires conversations.read and conversations.write as scopes.
  • Added ThreadMessages as a view to the HubSpotV3 schema. ThreadMessages is used to retrieve the message history of a thread. It requires conversations.read as scope and ThreadId to be specified.
  • Added Files as a view to the HubSpotV3 schema. Files is used to search through files in the file manager. The view does not display hidden or archived files, and requires files or files.ui_hidden.read as a scope.
  • Added Folders as a view to the HubSpotV3 schema. Folder is used to search for folders. The view does not contain hidden or archived folders, and requires files or files.ui_hidden.read as a scope.
  • Added DownloadFile as a stored procedure to the HubSpotV3 schema. DownloadFile can be used to download a public or private file from HubSpot.
  • Added the Default column to the sys_procedureparameters table.
  • Added SELECT support for the Associations V4 API and retrieving multiple associations (HubSpot and User-defined, one to many and many to one) between all object types in the HubSpotV3 schema.
  • Added two new columns to all Associations tables TypeId and TypeName.
  • Added two new columns to the AssociationsTypes view, Label and Category.
  • Updated embedded JRE to jre8u345-b01 (Linux x64 / MacOS x64) and jre-17.0.5+8 (MacOS aarch64).
  • Added the IsPath column to the sys_procedureparameters table.
  • Added the AssociationsTypes table in the HubSpotV3 schema, which can be used to retrieve all available association types between a pair of CRM objects to be used in INSERT statements and similar.
  • Added Id and Object Type filters for all Associations type tables in the HubSpotV3 schema (supports ExpandAssociations=true and ExpandAssociations=false).
  • In the EmailCampaigns table, the data type for 'Id' was changed from 'long' to 'string'.
  • In the EmailCampaignEvents view, the data type for 'CampaignId' was chagned from 'long' to 'string'.
  • In the ContactFormSubmissions view, the data type for 'PageId' was changed from 'string' to 'long'.
  • In the DealStages view, the data type for DealId was changed from 'string' to 'long'.
  • Added binary and encoded content output support for CreateSchema (HubSpot and HubSpotV3 schema). Added FileStream as an input and FileData as an output.

  • For the HubSpot schema, the UploadFile stored procedure will use /filemanager/api/v3/files/upload as its destination endpoint. Hidden files can no longer be created, and a new 'Access' input must be set.
  • For the HubSpotV3 schema, the UploadFile stored procedure will use /files/v3/files as its destination endpoint.
  • Added binary input support for UploadFile (HubSpot and HubSpotV3 schema). Added Content as an input.
  • Support for the API key has been removed since Hubspot will sunset the API key on 11/30/2022.
  • Updated VC++ redistributable Libraries to Microsoft Visual C++ 2015-2022 Redistributable 14.32
  • The installer now installs .NET 4.0 instead of .NET 2.0 during default installation when both are present.
  • Changed the default schema to HubSpotV3.
  • Changed the data type from integer to long for a number of mostly primary key columns due to the sizes of returned values potentially overflowing the maximum size for integer.
  • Impacted columns include: ContactLists.ListSize, CrmAssociations.DefinitionId, Engagements.PortalId, Engagements.OwnerId, Engagements.DurationMilliseconds, Engagements.CreatedBy, Engagements.ModifiedBy, LineItems.Id, MarketingEmails.MaxRssEntries, Products.Id, SocialMediaMessages.Clicks, SocialMediaMessages.CreatedBy, SocialMediaMessages.UpdatedBy, Workflows.ContactListIdsCompleted, Workflows.ContactListIdsEnrolled, Workflows.ContactListIdsFailed, Workflows.ContactListIdsSucceeded, Contacts.VID, ContactsInList.VID, AnalyticsBreakdowns.Contacts, AnalyticsBreakdowns.Customers, AnalyticsBreakdowns.Leads, AnalyticsBreakdowns.MarketingQualifiedLeads, AnalyticsBreakdowns.Opportunities, AnalyticsBreakdowns.RawViews, AnalyticsBreakdowns.SalesQualifiedLeads, AnalyticsBreakdowns.Subscribers, AnalyticsBreakdowns.Visitors, AnalyticsBreakdowns.Visits, AnalyticsContents.Contacts, AnalyticsContents.CtaViews, AnalyticsContents.Entrances, AnalyticsContents.Exits, AnalyticsContents.Leads, AnalyticsContents.PageBounces, AnalyticsContents.PageTime, AnalyticsContents.RawViews, AnalyticsContents.Submissions, AnalyticsEventCompletions.Completions, AnalyticsForms.Completions, AnalyticsForms.FormViews, AnalyticsForms.Installs, AnalyticsForms.Interactions, AnalyticsForms.Submissions, AnalyticsForms.Visibles, AnalyticsSessions.Desktop, AnalyticsSessions.DirectTraffic, AnalyticsSessions.EmailMarketing, AnalyticsSessions.Mobile, AnalyticsSessions.OrganicSearch, AnalyticsSessions.OtherCampaigns, AnalyticsSessions.Others, AnalyticsSessions.PaidSearch, AnalyticsSessions.Referrals, AnalyticsSessions.SocialMedia, AnalyticsSocialAssists.RawViews, AnalyticsViews.Id, AnalyticsViews.CreatorId, AnalyticsViews.UpdaterId, BlogAuthors.UserId, Blogs.PostsPerListingPage, Blogs.PostsPerRSSFeed, ContactFormSubmissions.ContactVID, ContactFormSubmissions.PortalId, ContactIdentityProfiles.ContactVID, ContactPropertiesHistory.VID, EcommerceSyncErrors.PortalId, EngagementScheduledTasks.PortalId, Files.Size, Owners.OwnerId, Tasks.PortalId
  • Added support for 6 new tables with full CRUD Support:
    • EngagementsCalls
    • EngagementsTasks
    • EngagementsNotes
    • EngagementsMeetings
    • EngagementsCalls
    • Forms
  • Added support for transactions.
  • Updated the default scopes to conform to HubSpot API's changes. Note that you can control what scopes to use by using the connection properties OAuthRequiredScopes and OAuthOptionalScopes. More information can be found here: https://developers.hubspot.com/docs/api/oauth/contacts-scope-migration
  • Added extra columns for Dimension, Hierarchy and OLAPType to sys_tablecolumns for OLAP properties.
  • Added the hidden connection property ShowListMemberships, which defaults to true. If set to false, current list memberships will not be fetched for the contact.
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
  • You can now update the "Additional email addresses" column from the Contacts table.
  • Added the KeySeq column to the sys_foreignkeys table.
  • Added the new sys_primarykeys system table.
  • Added support for the table FeedbackSubmissions. It is similar to Companies, Contacts, Deals etc.
  • Added support for the Array data type for the input parameters in stored procedures.
  • Updated the Literal Function Names for relative date/datetime functions. Previously, relative date/datetime functions resolved to a different value when used in the projection as opposed to the predicate. For example: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly, the two LAST_MONTH() methods would resolve to different datetimes. Now, they will match.
  • As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
  • Exposed the InitiateOAuth connection property.
  • Added support for the JAVA_HOME setting in the configuration file.
  • We have made some improvements to attempt to automatically handle instances where the url would be exceeded due to selecting too many columns in the HubSpotV3 schema. In HubSpot, we must request individual fields when retrieving data via url parameters. This may result in an exception stating that the url length is exceeded when too many fields are selected in cases where you have a lot of custom fields. To handle this, we will instead automatically split the query up into smaller requests and perform a join on the table in the background to retrieve all the selected columns.
  • Added support for the DeleteFile store procedure. It may be used to delete a file and its related objects.
  • Added the SqlMaxColumnNameLen connection property.
  • Added support for handling client side formulas during insert / update. For example: UPDATE Table SET Col1 = CONCAT(Col1, " - ", Col2) WHERE Col2 LIKE 'A%'
  • Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
  • Non-conditional updates between two columns is now available to all drivers. For example: UPDATE Table SET Col1=Col2
  • Reduced the length to 255 for varchar primary key and foreign key columns.

  • Updated index naming convention to avoid duplicates.
  • Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
  • ODBC Drivers on Linux and Mac now depend on the JRE, which brings improved stability and performance.
  • Added support to expose the custom object associations tables for custom objects with available associations to other object types. The custom object associations tables are exposed in the format {CustomObjectPluralLabel}Associations.
  • The standard object association tables will now return the ids for the associated custom object type records. For example, a query to the ContactAssociations table will also include the Ids of the associated custom object records if any apart from the standard ones.
  • Added the ExpandAssociations connection property (default=false). If true, the driver will expose one associations table for each association between two HubSpot object types (ex. CompaniesToContactsAssociations, ContactsToDealsAssociations, DealsToLineitemsAssociations, etc.). Each of these tables will return the Id pairs of the associated records from the two object types.
  • Added support for Insert and Delete operations to the CustomObjectAssociations which can be used to add and remove associations between a custom object type and other object types (custom or standard objects).
  • Removed the ProductAssociations table as the Products object doesn't currently support any associations apart from LineItems. LineItems includes the Product Id as a foreign key to the Products table.
  • Added UploadFile stored procedure which uses the HubSpot V3 API and allows you to upload files to the Hubspot file manager.
  • Support for Creating, Updating and Deleting Custom Hubspot Objects (tables) and Properties (columns) via the stored procedures: CreateCustomObject, CreateCustomProperty, UpdateCustomObject, UpdateCustomProperty, DeleteCustomObject, DeleteCustomProperty.
  • Support to expose as tables the dynamically retrieved Custom Objects.
  • Added views: CustomObjects, CustomObjectProperties, CustomObjectAssociations, which provide detailed information on the available Custom Objects.

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839