Skip to content

9.0.0-beta.3

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 May 07:42
· 243 commits to main since this release
8f662d9

@comet/admin@9.0.0-beta.3

Major Changes

  • 3c81ff0: Remove hasClearableContent prop from ClearInputAdornment

    The component now always renders when included in the component tree. Callers should conditionally render the component instead of passing the hasClearableContent prop.

    Migration:

    Before:

    <ClearInputAdornment position="end" hasClearableContent={Boolean(value)} onClick={() => onChange("")} />

    After:

    {
        value && <ClearInputAdornment position="end" onClick={() => onChange("")} />;
    }

Patch Changes

  • cabba53: Fix DataGridPagination page information not pluralizing "items"

    The default message for comet.dataGridPagination.pageInformation used a fixed plural form, forcing translations to follow the same shape. In languages with distinct singular/plural forms, this produced an incorrect result when itemsTotal === 1. The default message now uses ICU plural syntax so translators can branch on count.

    Projects that maintain their own translation of comet.dataGridPagination.pageInformation should update it to use plural with one and other branches.

@comet/admin-generator@9.0.0-beta.3

Minor Changes

  • f1e6145: Add initialPageSize option to GridConfig for the Admin Generator. When set, the value is passed as pageSize to useDataGridRemote in the generated DataGrid code.

@comet/cms-admin@9.0.0-beta.3

Minor Changes

  • dc8f29c: Add SitePreviewAction to DocumentInterface

    Allows overriding the site preview button in the page tree row actions on a per-document-type basis. When set, the provided component replaces the default preview RowActionsItem, enabling custom preview URL construction (e.g., using additional GraphQL queries or scope data).

    Example

    import { RowActionsItem } from "@comet/admin";
    import { Preview } from "@comet/admin-icons";
    import { type DocumentInterface, openSitePreviewWindow, type SitePreviewActionProps } from "@comet/cms-admin";
    
    function PageSitePreviewAction({ pageTreeNode }: SitePreviewActionProps) {
        // Use hooks to construct a custom preview URL
        const previewPath = useCustomPreviewPath(pageTreeNode);
    
        return (
            <RowActionsItem
                icon={<Preview />}
                disabled={!previewPath}
                onClick={() => {
                    if (previewPath) {
                        openSitePreviewWindow(previewPath, "/custom-root");
                    }
                }}
            >
                Open preview
            </RowActionsItem>
        );
    }
    
    export const Page: DocumentInterface = {
        // ...
        SitePreviewAction: PageSitePreviewAction,
    };
  • 71dce06: Make DataGrid columns in DAM sortable

    Make Name, Type/Format, Info, Creation, and Latest Change columns in the FolderDataGrid sortable via column header clicks, using the standard muiGridSortToGql pattern from generated grids. Remove the separate Sort dropdown from the toolbar. Sort state is now stored in URL params instead of localStorage.

Patch Changes

  • 1475f4a: Hide selective actions of DAM more actions menu in ChooseDamFileDialog

  • 8a93124: Fix hideContextMenu not hiding the context menu column in the DAM DataGrid

    The visibility flag was applied to a no-longer-existing contextMenu column id; the column had been renamed to actions. The flag now targets the correct column.

  • f29b2d7: Deprecate ChooseFileDialog export

    ChooseFileDialog was renamed to ChooseDamFileDialog

  • 4729b3f: Prevent links in the TableBlock RTE cell preview from opening when editing a cell

    Double-clicking a cell to edit it would open any link in the preview.
    Pointer events are now disabled on the preview, while text selection still works.

@comet/api-generator@9.0.0-beta.3

Minor Changes

  • dd51208: Update TypeScript compilation target to ES2023 and lib to ES2023 to match the required Node.js v22

Patch Changes

  • 8642996: Fix MODULE_NOT_FOUND errors caused by extensionless deep imports of @nestjs/graphql internals. @nestjs/graphql 13.3.0 tightened its exports map so that the "./*": "./*" pattern no longer maps to .js automatically. All deep imports of @nestjs/graphql internals now use explicit .js extensions.

@comet/brevo-api@9.0.0-beta.3

Major Changes

  • 77a371e: Prevent importing dev dependencies in the API

    Add import/no-extraneous-dependencies rule with devDependencies restriction to the NestJS ESLint config, preventing accidental imports of dev-only packages in production source files. Dev dependencies may only be imported in test files.

    Fix @comet/brevo-api to correctly declare @nestjs/graphql, graphql, graphql-scalars, lodash.isequal, and uuid as dependencies/peerDependencies instead of devDependencies, since they are imported in source code.

Minor Changes

  • dd51208: Update TypeScript compilation target to ES2023 and lib to ES2023 to match the required Node.js v22

@comet/cms-api@9.0.0-beta.3

Major Changes

  • 0e7d7e9: Import blob storage backends dynamically

    BlobStorageAzureConfig, BlobStorageAzureStorage, BlobStorageFileConfig, and BlobStorageFileStorage are no longer exported from @comet/cms-api as they are now loaded dynamically based on the configured driver. Only the relevant backend class is imported, which avoids loading unused optional dependencies (e.g., @azure/storage-blob or aws-sdk).

  • 962a320: Remove importDamFileByDownload mutation

  • 2ea835c: Rename RedirectSourceTypeValues to RedirectSourceType

Minor Changes

  • a50793a: Add listFiles method to BlobStorageBackendService

  • cac2b3b: Add fullText query support for PageTree (pageTreeFullTextSearch query)

    to enable add a fullText column for a PageTree document (Page or others):

      @Index({ type: "fulltext" })
      @Property<Page>({ nullable: true, type: new FullTextType(), onUpdate: (page) => blockToMikroOrmFullText(page.content) })
      searchableContent?: string;
    

    and enable fullText option for PageTreeModule

  • dd51208: Update TypeScript compilation target to ES2023 and lib to ES2023 to match the required Node.js v22

Patch Changes

  • f6a2932: Fix MODULE_NOT_FOUND errors caused by extensionless deep imports of @nestjs/graphql internals. @nestjs/graphql 13.3.0 tightened its exports map so that the "./*": "./*" pattern no longer maps to .js automatically. All deep imports of @nestjs/graphql internals now use explicit .js extensions.
  • 71dce06: Support sorting folders by size (child count) in FoldersService
  • 802b0b8: Remove sharp dependency by parsing the dominant color directly from the 1x1 PNG produced by imgproxy
  • 8bf0e5b: Remove unused ts-morph dependency
  • 8722deb: Upgrade file-type dependency from v16 to v21

@comet/cli@9.0.0-beta.3

Minor Changes

  • 9746947: install-agent-skills: also install skills from agentic-plugin/skills/

    In addition to the existing skills/ directory, the command now installs skills from agentic-plugin/skills/. This allows shipping agent skills as part of a Claude Code plugin (with a .claude-plugin/plugin.json manifest) without losing the ability to install them via install-agent-skills.

    Both directories are also fetched (via git sparse checkout) when consuming external repos listed in agent-skills.json. skills/ keeps priority over agentic-plugin/skills/.

Patch Changes

  • 560a8f2: Cache getSiteConfigs and op read calls to avoid redundant execution

    When a template contains multiple placeholders for the same environment, getSiteConfigs(env) and op read were called repeatedly with identical arguments. Both are now cached per invocation so each unique env and each unique op:// URI is resolved only once.

@comet/eslint-config@9.0.0-beta.3

Major Changes

  • 23a09c2: Add curly ESLint rule to enforce braces for control statements

    This rule requires braces around the body of all control statements (if, else, for, while, etc.) to improve code readability and reduce diff size when adding statements.

  • 1f903b6: Enable @typescript-eslint/no-import-type-side-effects rule

  • 77a371e: Prevent importing dev dependencies in the API

    Add import/no-extraneous-dependencies rule with devDependencies restriction to the NestJS ESLint config, preventing accidental imports of dev-only packages in production source files. Dev dependencies may only be imported in test files.

    Fix @comet/brevo-api to correctly declare @nestjs/graphql, graphql, graphql-scalars, lodash.isequal, and uuid as dependencies/peerDependencies instead of devDependencies, since they are imported in source code.

Patch Changes

  • c57e54e: Allow console.info and console.debug in the no-console ESLint rule

@comet/mail-react@9.0.0-beta.3

Minor Changes

  • 92a475f: MjmlWrapper now applies the themes content background color by default when used within a ThemeProvider or MjmlMailRoot

Patch Changes

  • 92a475f: Fix MjmlSection overriding MjmlWrapper's background

    When rendered inside a custom MjmlWrapper, MjmlSection no longer applies its theme-default backgroundColor, so the wrapper's background is now visible through its sections. An explicit backgroundColor prop on MjmlSection still takes precedence. Sections rendered outside of a wrapper continue to receive the theme default as before.

@comet/site-react@9.0.0-beta.3

Patch Changes

  • e125c84: Use OnetrustActiveGroups instead of ConsentIntegrationData in useOneTrustCookieApi

    ConsentIntegrationData is used for OneTrust's internal logging and can be null, which caused useOneTrustCookieApi to crash. As recommended by OneTrust support, window.OnetrustActiveGroups is used instead, as it is always available when the consent banner is implemented.