Skyve 9.1.1 released

This release of Skyve contains man bug fixes and introduces the ability to be able to draw and markup images in the system. This release also fixes restoring of backups between Skyve 8 and Skyve 9 applications and adds support for Cloudflare Turnstile as an alternative captcha provider to Google Recaptcha.

Image markup

Skyve now supports the ability to draw and markup images in the system, allowing users an easy ability to annotate images. This feature is available for content images. When viewing a content image, a new button is available to markup the image. This will open an SVG editor that allows users to draw on the image. The markup is stored separately from the image so that it can be edited over time. The thumbnail system will burn the markup into the image so that the rest of Skyve treats it like a regular image. Each markup edit creates a new AttachmentContent so that changes can be discarded by the Cancel button in the view. Old unreferenced markup will be collected by the content garbage collector in due course. Content images can now be clicked to display the image in a new tab. There is a special _nm request parameter that can be sent to /content that will serve the content without markup. Any text in the markup is also indexed by the content indexer.

The video below demonstrates this in use.

Image editing controls within Skyve 9.1.1

Cloudflare Turnstile support

Cloudflare Turnstile is now available as an alternative captcha provider to Google Recaptcha. Turnstile is a service from Cloudflare that provides a captcha challenge to users when it detects suspicious activity. Turnstile is a good alternative to Recaptcha for users who are concerned about privacy and data collection.

In Skyve applications, captcha challenges are presented during registration and password reset. The captcha provider can be configured in the application's startup properties. By not selecting a captcha provider, no captcha will be presented to users.

 
Cloudflare Turnstile captcha during registration

Cloudflare Turnstile Captcha during new user registration

 

Slider widget

The slider widget has always been present in desktop mode, but is now available in responsive mode. The slider widget is a great way to allow users to select a value from a range of values. The slider widget can be configured to have a minimum and maximum value, specify the number of discrete values and the rounding precision.

slider in responsive mode

Slider in responsive mode

slider in desktop mode

Slider in desktop mode

View

  • add the ability to perform markup editing to Skyve content images
  • adjust Ecuador menu width and menu item padding
  • make wheel of death glass pane more transparent

Responsive Renderer

  • add slider widget
  • fix Geometry Picker type not being respected

Desktop Renderer

  • fix DynamicImages on zoomed in views
  • fix recursive SC data source generation for self-referencing query definitions.

MetaData/Repository

  • ensure that plain floating point and no engineering notation is used for Decimal.toString()
  • clear the second and millisecond date components on DateTime default constructor
  • add convenience methods for session-scoped repositories to DefaultRepository
  • fix concurrent modification of repository delegates at startup

Behaviour

  • include H2 Spatial relations from H2GIS
  • fix Skyve 8 Backup / Skyve 9 Restore incompatibility
  • fix schema truncate from JDBC table metadata
  • fix Table metadata case-sensitive key problem during restore from backup
  • allow a ListModel menu item to refer to a transient document with a list model
  • refactor the RDBMSDynamicPersistenceListModel extension points to allow for constructor chaining, postConstruct() and setBean() state establishment points
  • update assemble to use the customer name for test classes again
  • protect against NPE from no persistence on thread at session destroy time
  • do not perform access control on an in-line chart model

Security

  • add Cloudflare Turnstile as a captcha option and no captcha as an option

Admin

  • disable auditing of recaptcha keys in admin Startup
  • add sensitivity to keys in admin Startup
  • fix BizPort importing multi-module documents

Notes for Upgrading

To upgrade your Skyve project to this version, change the Skyve version in your pom.xml to 9.1.1 and perform an assemble.

If you are upgrading from a version older than 9.0.0, please see the previous release notes and also apply those changes.

See the complete upgrade instructions on GitHub.

Add Turnstile API keys

Captcha API keys should be defined per-server in the application's override json file, however they can be included in the main application json for on-premise deployments.

// API Settings
    "api": {
        "googleRecaptchaSiteKey": null,
        "googleRecaptchaSecretKey": null,
        "cloudflareTurnstileSiteKey": null,
        "cloudflareTurnstileSecretKey": null
    },