Insights into what moves us. Contributions from the Structr team and guests. The Structr Blog

Axel Morgner
04. January 2018
Announcement, Structr,

Happy New Year - Structr 2.3 released

Happy New Year to everyone! As stated in the last release blog post, 2017 was a blast. Not only did we make a big step towards the upcoming major release 3 of Structr, we were also able to close some interesting business opportunities.

And to start the new year right, we just released 2.3, filled with enhancements and bug fixes (for details, see below).

We’re still hiring!

Currently, we’re looking for motivated Frontend Developers, see


You can download the new release directly from


Here’s the (incomplete as always) change log of the 2.3 release:

  • Support for the bolt+routing:// protocol in the Bolt driver layer
  • Reconnect after database disconnect without errors
  • Support for inexact/wildcard String search with Cypher
  • Job scheduler to execute arbitrary scripts as backend jobs (with UI support)
  • Support for dynamic files as e-mail attachments
  • Improved logging, e.g. when non-indexed properties are used in queries
  • Reduced minimum heap space for systems with low memory
  • Support for (optional) parameters in global schema methods
  • Added detection for stale PID files to the start and docker script
New modules
  • Java parser module (still alpha/work-in-progress; uses GitHub’s JavaParser)
  • Translation (uses Google Translate web service)
  • Knowledge module to define a Thesaurus (still work-in-progress/alpha)
CSV/XML Import
  • Support for multi-line cells
  • Fixed CDATA import in XML importer
  • Extended tests
  • Improved CSV and XML import performance
  • Support schema modification via PUT/POST
  • Output nesting depth overwritable by request parameter
  • DirectoryWatchService: Mount external, periodically scanned file systems and manage custom metadata in Structr
  • Configurable file checksum/hash calculation with support for CRC32, MD5, SHA-1 and SHA-512
  • New built-in function to create ZIP archives in scripting context
  • Ignore unsupported thumbnail types
  • Decreased memory consumption for upload
  • Custom HTML tags
  • Custom HTML attributes
  • Allow String[] property to be used as a repeater data source
  • Built-in function jdbc() to connect to databases via JDBC
  • PUT() and DELETE() built-in functions
  • Extend to_graph_object function to support String[]
Backend UI
  • Improved dialogs: Edit Properties, Schema management
  • More online help texts
  • New UI for managing mail templates
  • New UI for Virtual Types
  • Configurable main menu
  • Allow text selection in popup messages even if a dialog is open
  • Feedback when automatically setting the ‘indexed’ flag
  • New properties are not set to ‘indexed’ by default
  • Websocket frames will update an HTTP session’s lastAccessedTime properly now