HubSpot Developer Changelog

March 2023 Rollup

Written by Hannah Seligson | Mar 29, 2023 12:14:18 PM

March 2023 developer updates include theme-level module updates, SEO filter recommendations, new HubL variables, deprecation of the Gallery Default Module, sandboxes with unlimited resyncs of CRM object definitions, module and theme URL fields supporting a phone number and WhatsApp number, file expiration for the File Manager, and a new public API for Business Units.

You can now hide modules and sections in a theme or template to curate the list of modules and sections available to content creators. In a theme, you can hide default modules (not custom ones). In a template, you can hide both default and custom modules and sections. Hiding modules at the theme level is done through the theme.json, and hiding modules and sections at the template level is done in the template annotations. This feature is powerful for teams and marketplace providers that create alternatives to the default modules, or have modules that are designed to work with specific templates. Add this functionality to your themes and templates.

In the SEO tool, you can now export a filtered view of Recommendations. For example, a developer can select the role "Developer" to get SEO recommendations that require that set of skills. Enabling them to look efficiently at the SEO recommendations based on where they are most needed.

The following variables can now be used in addition to the methods described on "How to provide a good editor experience":

  • is_in_hs_app - returns true if content is rendered within the HubSpot app at all.

Editor variables:

  • is_in_global_content_editor - returns true if content is rendered within the global content editor.
  • is_in_theme_editor - returns true if the content is being rendered in the theme settings editor.
  • is_in_page_editor - returns true if rendered in the CMS page editor.
  • is_in_blog_post_editor - returns true if rendered in the blog post editor.
  • is_in_email_editor - returns true if rendered in the email editor.

Previewer variables:

  • is_in_previewer - returns true if content is rendered in a preview (not-editable) context.
  • is_in_theme_previewer - returns true if the content is being rendered in a theme preview experience.
  • is_in_template_previewer - returns true if the content is being rendered within an in-app template preview experience.
  • is_in_page_previewer - returns true if the content is being rendered within a page preview experience.
  • is_in_blog_post_previewer - returns true if the content is being rendered within a blog post preview experience.
  • is_in_email_previewer - returns true if the content is being rendered within an email preview experience.
  • is_in_module_previewer - returns true if the content is being rendered within an in-app module preview experience.

This enables you to use an if condition to check against any of these situations:

{% if is_in_page_editor %} Display something slightly different to make the editor experience better {% endif %}

Now that the new Image Grid, Image Slider, and Tabbed Card default modules have been released to all accounts, the existing Gallery Default Module can be deprecated. This effectively means that all users will no longer see the gallery module in the page editor, existing instances of the module on pages will not be affected, and the module can still be cloned.

New feature available to Sales and Service Enterprise users who enroll in the CRM Development Beta with Super Admin permission. Developers using the development sandboxes now have unlimited resyncs of CRM object definitions within development sandboxes. This feature will reduce the need to delete a sandbox and create a new one to trigger a 1-time sync for the CRM object definitions. 

Now, you can trigger unlimited resyncs in two different ways for your CRM object definitions:

  1. Set your development sandbox as the default in your terminal and execute the HubSpot CLI command: hs sandbox sync
  2. Click the new "Set up sync to sandbox" button on the "Development" tab within the Development sandbox UI within your HubSpot account for development sandboxes.

The URL field now has two new supported types: 

  • PHONE_NUMBER: Renders a text input field for a phone number. 
  • WHATSAPP_NUMBER: Renders a dropdown menu containing the account's connected WhatsApp numbers.

Files Expiration allows customers to indicate the duration that they'd like to make their file available for. At the expiration point, the file will then be moved to files trash automatically. Learn more about setting your files to expire on our knowledge base article.

The new public API for Business Units exposes Business Unit information such as name and logo metadata to be retrieved. This API only allows for GET requests. View more about the Business Unitus API on our developer documentation.

For developers, this means your modules are now usable within the content of blog posts.


  • The Marketplace module validation command has been updated, moving the testing to HubSpot servers. It will function the same, except now you need to be connected to the internet. This change will enable better automatic validation.
  • Bugfix: when using --account flag with hs upload an inaccurate error was being displayed.

Updates to Developer Projects commands

  • New command: hs sandbox sync - this command will sync the currently selected sandbox with its parent account. See documentation for details.
  • The Projects upload command will now include your package-lock.json file. This mitigates dependency updates on deploy.
  • hs project upload has been updated to show more details about the build process and the sub-components of your project.

To upgrade to the latest version run npm i -g @hubspot/cli@latest.

 

Discuss this rollup on our community post located here.