Onify Helix 2.0.0

⚠️

This release contains breaking changes. Review the Breaking Changes sections under each package below before upgrading.

For more information about Helix, please see: Helix App README

helix-app

  • Features

    • Authentication Overhaul: SSO authentication flow has been migrated into the Helix app itself, using an nginx reverse proxy

      • Added internal login page at /helix/login (also configurable via HELIX_LOGIN_URL)
      • Added logout functionality
      • Added backward compatibility for legacy SSO and API proxy configurations
      • See proxy migration guide for details on transitioning from the legacy setup
    • Configuration System Overhaul: Complete redesign of how configuration files are loaded and managed

      • Simplified Environment Variables: Removed all ***_ORG_PATH variables from environment configuration
      • Intelligent Configuration Merging: Configuration files now use smart merging instead of simple overrides, maintaining your customizations while incorporating framework updates. The name field serves as the default unique identifier for merge operations
      • Multi-Config Support: Enhanced support for loading multiple configuration files by declaring semicolon-separated paths in .env variables
        • Files are loaded with increasing precedence from left to right
        • Example: VITE_HELIX_SETTINGS_PATH="./config/settings.org.yml;./config/settings.yml"
        • Refer to .env.example for complete configuration examples
      • Layout Configuration: Introduces new layouts[.org].yml configuration file for defining application layouts
      • Default Layout Setting: Adds default_layout property to settings.yml that references layout definitions from the layouts configuration file
    • Admin Pages: Comprehensive new admin interface pages

      • Connectors: Index, datasource file, pipelines, purge, reader, script, and transform management pages
      • Datasources: REST, SQL, and LDAP datasource management pages with form components
      • Items: Admin items management page with a form component
      • Processes: BPMN viewer, code view dialogs, and delete action with confirmation
      • Resources: Multi-format file browser and viewer
      • All admin pages previously available in the legacy app are now fully implemented in Helix
    • Workspace Page: New extensibility slots

      • header and description slots for custom content injection
      • bulletinsTerm query support for filtering bulletins
  • Improvements

    • BPMN render error handling with user-friendly feedback
    • Markdown content is now sanitized before rendering
    • Code editor component has improved error handling

helix-components

  • Features

    • h-step-count: New component for displaying step counts
    • Bulletin Theming: Bulletin button colors and hover state are now fully themeable via themepack
    • Form Components: New set of ready-to-use form field components for building consistent forms
      • h-form-text, h-form-textarea, h-form-password, h-form-select, h-form-autocomplete, h-form-combobox
      • h-form-date-picker, h-form-otp-input, h-form-switch, h-form-code-editor
      • h-form-field — generic wrapper for custom form controls; h-form-label — standalone label
  • Improvements

    • Theme colors now propagate correctly inside dialogs opened via h-dialog
    • h-process-state styling improvements
  • Breaking Changes

    • Component Rename: h-item-card-resolver has been renamed to h-item-card-template for better clarity and consistency
      • Update all references in your templates and imports
      - <h-item-card-resolver />
      + <h-item-card-template />

helix-core

  • Features

    • useHDefaults: New composable for resolving component prop defaults — supports global, contextual, and deeply nested defaults via the theme configuration

      • Defaults cascade through the component tree with unlimited nesting depth
      • Priority order is configurable: theme can override inline props, or vice versa
      • Auto-injects app-level defaults context — no manual provider setup required
    • useHBulletin: New bulletinsTerm prop for filtering bulletins by term

  • Improvements

    • use-format-date-time composable is now more flexible with localeTransforms support
    • Theme inheritance reliability improvements

helix-themes

  • Features

    • New theme color tokens for bulletin buttons, process state, stepper items, and more
    • Extended theming surface for fine-grained color control

helix-tests

  • New Package: @onify/helix-tests — shared testing infrastructure for Helix projects

    • Playwright support with shared fixtures and helpers
    • CLI with --grep / --grep-invert options for selective test execution
  • Testing

    • Unit tests implemented for helix-components and helix-core using Vitest
    • E2E tests implemented for helix-app and helix-pages using Playwright, covering authentication flows, admin pages, and core page interactions

helix-tools

  • Improvements
    • Path resolution fixes for generate-theme-packs utility
    • Paths resolver fix for pages.yml config