Leap 0.10.18

The login, forgot-password, reset-password and 2FA screens share one scaffold.

Date

In this release

  • The login, forgot-password, reset-password and 2FA screens share one scaffold.
  • CSS tokens replace repeated literals.
  • The AI image pipeline lives in one trait.
  • Repeated snippets became shared helpers.
  • Resource::translatable() resolves itself.
  • Saving no longer asks the database three times whether pivots changed
  • A permission only grants when it is strictly true.
  • Uploaded SVGs are sanitized.
  • Destructive filemanager operations re-validate their paths.
  • The JSON read-only field escapes its values.
  • Disabling e-mail 2FA always checks permission.
  • Logging with a string context no longer crashes when another module is active.
  • Upload size config accepts lowercase suffixes.
  • A module priority of 0 is honoured.
  • AI replies wrapped in prose decode reliably.
  • The disable-2FA and delete-passkey buttons are red again.
  • Debug leftovers removed.
  • A slug only has to be unique among its siblings.
  • Only a root page can claim the reserved "/" slug.

The full entry in the changelog