See what has changed

Release Notes


Changes between 3.3.3 and 3.3.2
- Bugfix: Removes property from view sortOrders when the property is deleted
- Enhancement: Adds object id and type to title attribute of search results for related nodes search results in CRUD
- Feature: Deactivates code that prevents deletion of self-relationships.
- Bugfix: Better support for dynamic files in backend UI
- Feature: Allows builtin create_relationship() function to directly set attributes on the newly created relationship
- Bugfix: Allows searching in bigger files in CodeMirror
- Enhancement: Strip whitespace from method code
- Bugfix: Fixes directly addressed partials
- Feature: Adds two new function to de- and encode RFC 822 "text" token into/from mail-safe form as per RFC 2047
- Enhancement: File import ignores and logs thumbnail images
- Bugfix: Fixes preview rendering for templates with a repeater
- Enhancement: Improved logging, adds setting to control stacktrace logging in scripting
- Bugfix: Include related type in generated source code of NotionProperty
- Bugfix: Various flow issues
- Bugfix: Changes FlowTypeQuery to use proper input converters
- Bugfix: Changes FunctionProperty to be able to use appropriate database converters.
- Enhancement: Schema methods can now be called via scripting and REST
- Enhancement: Removes classes in favor of POM dependency
- Minor: Adds error code to schema reloading code
- Bugfix: Fix notion collection properties in data deployment
- Bugfix: CSS syntax highlighting in CodeMirror
- Enhancement: Updates CodeMirror to 5.48.0
- Bugfix: TypeQuery sort operations
- Bugfix: Fixes login dialog tabbing problem


Changes between 3.3.2 and 3.3.1
- Fixes unstable GraphQL test.
- Minor: Removes outdated configuration for StructrClassLoader class
- Feature: Adds new configuration setting which enables logging additional request information for javascript exceptions


Changes between 3.3.1 and 3.3.0
- Bugfix: Prevents notion properties from breaking the data deployment as they "look" like relationships from a property-info POV
- UI: Don't refresh server log if the textarea has focus
- Feature: Allow customization of server log output
- Feature: Display warning message(s) for missing source files in tree-based schema export
- Bugfix: Correctly set contentType for newly created elements
- Bugfix: Do not force trimming of localized values as it prevents intentional blank characters
- Adds new flows module, removes flows from api-builder module.
- Fix: Removes call to 'deep-open' the root dir in Contents area (lead to improper display of working dir in case of root dir).
- Changes path to the lib folder in the windows start.cmd script, so structr can be started from the root folder with bin/start.
- Implements save & load for mixed CSV import configuration.
- UI: Visually indicate finished jobs in auto-updating messageBuilders (change from blue to green)
- Bugfix: Updates pattern to extract module information from classpath (windows delimiter is ; instead of :)
- Merge branch 'master' of
- Fixes advanced CSV import for types w/o unique properties.
- Enhancement: Update Apache Commons Mail dependency from 1.4 to 1.5
- Enhancement: Adds support for RFC 4180 mode for CSV import. Note that in this mode the standards for delimiter and quote characters are hardcoded (comma, double quotes).
- Minor: Changes detection whether structr is already running to pgrep instead of relying on the pid-file. Also adds info command so we can use service structr info
- Adds Structr-Return-Details-For-Created-Objects HTTP header to return more details on created nodes in REST POST requests.
- Feature: Adds "delete all" button to crud
- Enhancement: Adds 'driver' parameter to jdbc() function.
- Minor: Make "Strict Quotes" option disabled by default in CSV importer
- Bugfix: Clear schema type cache for import dialog so it does not show duplicates
- Feature: Adds "Only show custom types" checkbox to CSV import dialog


Changes between 3.3.0 and 3.2.2

- New find() functionality: Boolean filters, range queries, paging and sorting
- Content-Length header for dynamic files and file downloads in HttpServlet
- Improvements in flow engine and editor: Support for cloning of flows, much faster flow loading times, new tree-shaped export format
- Lots of UI improvements: Storing UI parameters more reliable, new drop target for shared components, improved pager, improved Dashboard area, upgrade to latest jQuery version (3.3.1)
- Many UI bug fixes
- Enhancements in data deployment
- Deployment export supports null, false and empty values now
- '$' shortcut for `Structr` in scripting and console
- copy_permissions() function now allow overwriting of existing target node Security relationships
- Performance: Allow grouping grant/revoke commands for a node to reduce the number of database calls
- Upgrade Jetty to 9.4.18
- Support cloning of elements in the same page to a different parent even if the selected node has a nextSibling
- New security features: Configurable max. # of sessions, optional session invalidation on password change, optional clearing of all sessions on startup/shutdown
- Support for 'HttpOnly' cookie (configurable)
- Support for custom LDAP property to uniquely identify an object instead of dn
- New has_error() builtin function
- Enhanced transaction consistency in EntityWrapper
- Use platform defaults for Java heap parameters -Xms and -Xmx
- Better handling of non-Structr nodes
- Debian package can now run with openjdk-8-jdk-headless
- Improved cache invalidation for orphaned node instances
- Improvements for e-mail functionality: Properly decode filename of e-mail attachments, PDF type detection for attachments, password storage as encrypted string
- Performance improvements
- New support for volume and per-user licenses
- New support for encrypted string functionality
- Experimental feature "Analyze schema" removed
- First implementation of app store with categories and tiles (still hidden in this release)
- Editions removed in favor of modules
- Lots of comments in settings for auto-generating the support article for structr.conf
- Docker "latest" tag is now attached to latest release only.


Changes between 3.2.2 and 3.2.1
- Fixes GraphQL registration issue for inherited properties on nested collections
- Upgrade of graphql-java from version 7.0 to 12.0


Changes between 3.2.1 and 3.2.0
Changes between 3.2.0 and 3.2.1
- Minor enhancements and bug fixes
- Feature: Make preview for dynamic files optional
- No more stacktrace logging in HTML output
- Custom headers from config file in all servlet responses (with tests)
- New settings that allows to log the jetty ssl configuration on startup and to enable/disable SSL protocols and cipher suites
- Bugfix: Clear localization cache when all caches are flushed


Changes between 3.2.0 and 3.1.2
- Many bugfixes and improvements
- New server-side IMAP client and support for e-mail attachments and multipart e-mails
- Improved and extendend LDAP / Active Directory synchronization
- Support for multiple widget servers 
- Update to Font Awesome 4.7
- Performance improvements in Structr backend UI
- Use TestNG instead of JUnit to allow re-use of test classes and setups
- Optional export of schema methods and functions in individual files for better revision control support
- Optional inclusion of UUIDs in deployment export
- Improved message queue client implementations (Apache Kafka)
- Support for array properties 
- Support for X-FORWARDED-FOR HTTP header
- Search function in configuration editor
- New built-in functions: has_cache_value(), get_cache_value(), delete_cache_value(), get_relationship_types, set_response_code()
- Improved support for arbitrary objects (JSON etc.) in repeater elements
- Fixes deployment issues with Pages and DOMNodes and the hidden flag
- Store Structr Ui configuration data in the database instead of the file system
- Cypher query result is now identical to the actual Cypher result structure
- Move some vendor-dependent database queries to the driver level.
- Updated several dependencies to use the most recent versions


Changes between 3.1.2 and 3.1.1
- Fixes a bug with user self-registration


Changes between 3.1.1 and 3.1.0
- Minor bug fixing


Changes between 3.1.0 and 3.0.3
- Massive performance enhancement: True lazy result streaming from database
- Support lazy evaluation for custom Cypher calls
- Create and sync LDAP groups and users
- Support for HTTP PATCH
- OR conjunction in toplevel GraphQL queries
- Improved Code area
- Improved Contents area
- Improved Flow editor
- Better handling of array data types UI
- Enhanced config servlet, allows (most) services to start/stop/restart at runtime
- Flush caches after cypher write queries
- Improved security of remote Neo4j connections
- Changelog output to filesystem
- Improved Windows support
- Updated Jetty to latest version (9.4.13.v20181111)
- Support for DeepL as a translation provider
- Added debug() function for debug logging


Changes between 3.0.2 and 3.0.3
- Fixes bug related to HTTP PATCH
- Adds support for PATCH to resource access tab


Changes between 3.0.1 and 3.0.2
- Performance enhancement: Optional parallel JSON serialization
- New feature: Parallel flow processing and new elements: FlowFilter, FlowNotEmpty, FlowLog, FlowFirst
- New: Flows as data source for DOM element repeaters
- Upgrade to Neo4j Bolt 3.4.9 and Neo4j Java Driver 1.6.3
- Audit changelog is now written to configurable filesystem path
- New: `dontCache` flag also for files, evaluate `cacheForSeconds` for files
- Prevent non-indexable property values from being indexed
- New OAuth2 provider `Auth0` and improved StructrOAuthClient base implementation
- New HTTP verb: PATCH (with batched transactions of size 1000)
- Many UI improvements including new `custom` view
- Fixed bug related to indexing of function property values
- Other bug fixes


Changes between 3.0.0 and 3.0.1
- New: Windows MSI installer
- Minor enhancements and bug fixes


Changes between 3.0-rc1 and 3.0.0
- Minor enhancements and bug fixes


Changes between 2.3.8 and 3.0-rc1
- New: Fully dynamic schema
- New: GraphQL API
- New: Flow Engine and Editor 
- New: Support for multi-tenancy
- New: PDF module for server-side transformation of any HTML page into PDF
- New: Excel export module
- New: 2-Factor-Authentication with QR code generation
- New: Password rules and failed login counter
- New: Code area for simple code editing
- Upgrade to Neo4j 3.4.7 and Bolt Driver 1.5
- UI refresh
- Improved CSV import
- Improved Windows support
- Integrated ECMAScript engine updated to ES6 level
- Simple automatic schema layouting
- Messaging module support for Apache Kafka
- Support for custom HTML tags and attributes
- Type-based batching for XML import

Demo Time!

Interested in seeing Structr live in action? We're happy to show you around. Just tell us where and when.

Request a demo now!