Release Notes

What changed, release by release.

New features, enhancements, bugfixes and upgrade notes for every Structr release.

Current stable release
Structr 7.0.0September 22, 2026
Quality releaseReleased March 27, 2026

Structr 6.3.0

Structr 6.3.0 is a quality-focused release that builds on the foundation of 6.2.0 with significant UI refinements, improved configuration tooling, security hardening, and a broad set of bugfixes. Highlights include a revamped dialog and configuration UI, a new predicate.any function, deployment export boundaries for folder subtrees, improved mail function error handling, and continued documentation improvements.

New Features

predicate.any Function

  • New predicate function predicate.any for flexible matching logic in queries, complementing existing predicate functions

Deployment Export Folder Boundaries

  • Folder subtrees can now be excluded from deployment exports, giving developers fine-grained control over what gets exported

Cron Expression Descriptions

  • The configuration UI now displays human-readable descriptions of cron expressions, making scheduled task configuration more transparent

Experimental Annotations

  • New experimental annotation support with documentation output, allowing features to be marked and tracked as experimental

TRACE Verb Blocking

  • HTTP TRACE verb is now blocked at container level for improved security posture

Enhancements

Configuration UI

  • Servlets and services sorted by name for easier navigation
  • Long descriptions now displayed correctly
  • Nicer input popup for adding new configuration keys
  • Multiple visual inconsistencies fixed
  • Information about list item separators and service restart hints added to relevant settings
  • HTTP rate limit increased to 1000 to avoid stale browser connections

User Interface

  • Custom dialog styles for file-editor, run-method, schema, and CRUD dialogs
  • Hover activated on tabs in widget-editor
  • Responsive general tab that adapts to container size
  • Search input fixed in CRUD dialog popups
  • Dropdown placement fixed for show conditions in one-column mode
  • Missing classes added to show/hide condition example dropdown
  • Bold font removed from properties table keys for cleaner appearance
  • Dialog height scoped to widget dialog only

Schema and Data

  • “Rebuild Index” dropdowns now split node/relationship types into custom and built-in sections
  • In-dialog warning when composite uniqueness constraint is violated during object creation
  • Uniqueness flags disabled for function properties (where they don’t apply)
  • Hover titles added to direct attribute header columns

Flow Editor

  • Prevented NPE when flows don’t return values
  • Updated JavaScript calls to work properly when Structr doesn’t run in the default path
  • Updated keybindings for better macOS compatibility
  • Removed outdated flow editor HTML files

Timer Function

  • Pause and clear actions added to timer
  • Start made idempotent
  • Switched to System.nanoTime() for higher precision

Mail Functions

  • Developers can now catch exceptions from sendPlaintextMail and sendHtmlMail instead of exceptions being silently swallowed
  • Updated documentation for mailSend

Other

  • base64decode now throws proper exceptions when the scripting engine supports exception handling
  • Prevent duplicate global search results when pressing Enter after typing
  • Page.path updated to a function property ('/' + page.name), replacing the old static property while preserving linkable functionality
  • Removed outdated “Disable automatic page preview reload” localStorage flag
  • Prevented automatic refresh of preview when center pane is refreshed (only on actual page element edits)
  • Function properties no longer cache values when caching is disabled
  • Prevented JS error when fetching notion property by rerouting to actual attribute
  • Removed impossible/unused show- and hideConditions from pages.json in deployment export
  • Removed counter code for already-removed counter functions
  • Removed deprecated REST console

Bugfixes

Core

  • Fixed function properties caching their values even when caching was disabled
  • Fixed indexing of function properties with type hint “Date” where null could be returned
  • Prevented HTML content in global search results from breaking the UI
  • Added database feature detection for TypePredicateExpressions to enable global search in Neo4j versions before 5.9

OAuth

  • Fixed creation of absolute URLs for OAuth redirect flow
  • Removed duplicate application root path from OAuth redirect call
  • Changed default user endpoint for Azure OAuth provider back to the OIDC endpoint with better logging for missing credential keys

Files and Pages

  • Added missing name HTML property and included it in the _html view
  • Fixed typo in view definition

Deployment

  • Show long description correctly in config UI

Documentation

  • Updated documentation for predicate.sort and predicate.any
  • Added more detail to the “pause” action for timer() function
  • Added documentation for the default upload folder setting
  • Updated widget help text in the widget popup for improved readability
  • Continued improvements across multiple documentation articles

Infrastructure

  • Fixed release creation pipeline commands for GitLab package registry
  • UI tests updated and screenshots refreshed
  • Removed unused settings and fixed spelling in configuration

Upgrade Notes

  • Recommended for all Structr 6.2.x users
  • The REST console has been removed from the UI
  • Page.path is now a function property - review any code that writes to Page.path directly
  • The HTTP rate limit default has been increased to 1000
  • base64decode now throws exceptions instead of failing silently - update error handling if needed
  • The Azure OAuth default user endpoint has changed back to the OIDC endpoint - verify your Azure OAuth configuration after upgrading
  • See the migration guide for general Structr 6.x upgrade information