Skip to content

8.15.0

Choose a tag to compare

@github-actions github-actions released this 18 Feb 11:57
823f1a0

@comet/admin@8.15.0

Minor Changes

  • 39a9bb0: Add support for non-paginated apis in useDataGridExcelExport
  • 5b52998: Add tooltip for childless items in closed MainNavigation

Patch Changes

  • cc96333: Fix FinalForm to forward submissionErrors (return from submit handler) correctly
  • 180d1e3: Fix required validation for AsyncAutocompleteField with multiple select
  • f7b9de9: Fix DataGrid singleSelect filter height to prevent autocomplete values from being truncated
  • 0c2435a: Hide filesInfoText from FileSelect

@comet/admin-generator@8.15.0

Minor Changes

  • 82ff4c2: Form field boolean: use label as field label (before: checkbox label) and add new checkboxLabel option
  • 14f9ef0: Add support for <FormattedMessage /> in staticSelect values label
  • 39a9bb0: Make paging conditional in grid generation: only add paging args (offset, limit) and paging return (totalCount, nested nodes) when the GQL schema query returns a paginated type
  • cc96333: Add support for custom error responses in update and create mutation and show it in form as submission error

Patch Changes

  • 33ac500: Use the GraphQL schema scope type in generated grids when scope comes from context.
  • 47ed8cf: Only emit grid sort variables and helpers when the schema supports sorting.

@comet/cms-admin@8.15.0

Minor Changes

  • 9333e9c: Readd "Start impersonation" button to UserGrid

Patch Changes

  • 2bbb9c1: Fix scope not switching when impersonating a user

    Previously, the ContentScopeProvider blindly restored the scope from localStorage, which could redirect impersonated users to scopes they don't have access to.

    Now, the stored scope is validated against the user's allowed scopes before being applied. If the stored scope is not allowed, it is cleared from localStorage and the default scope is used instead.

    Additionally, the NODE_ENV guard on persisting the selected scope to localStorage is removed so scope persistence is also done locally again.

@comet/api-generator@8.15.0

Minor Changes

  • cc96333: Add support for custom error responses in update and create mutation and show it in form as submission error

  • 0b266f4: Add support for hooksService that allows injecting a custom service into update/create mutation for custom validation logic

    Usage example:

    export class ProductService implements CrudGeneratorHooksService {
        async validateCreateInput(input: ProductInput, options: { currentUser: CurrentUser, scope: Scope, args: { department: string } }): Promise<void> {
            //add custom validation logic here
        }
        async validateUpdateInput(input: ProductInput, options: { currentUser: CurrentUser, entity: Product }): Promise<void> {
            //add custom validation logic here
        }
    }
    
    @CrudGenerator({ .... hooksService: ProductService })
    class Products ...
    

@comet/brevo-api@8.15.0

Patch Changes

  • 317ca97: Fix email campaigns getting stuck in broken state when scheduled in the past
    • Replace @MinDate(new Date()) with @MinDate(() => new Date()) to evaluate validation at runtime instead of class definition time
    • Check actual campaign status from Brevo before blocking updates to past-scheduled campaigns
    • Only block updates if campaign has actually been sent (not just scheduled in the past)
    • Automatically sync local campaign state with Brevo's actual state

@comet/cli@8.15.0

Minor Changes

  • 7740f1e: Support 1Password references in site configs

    Allows referencing secrets stored in 1Password directly in the site config using the {{ op://... }} syntax. For example:

    export default ((env) => {
        return {
            // ,,,
            apiKey: `{{ op://example-project-prod/api-key/password }}`,
        };
    }) satisfies GetSiteConfig;

    They are then replaced with the actual values by inject-site-configs.