Skip to content

Suprnova v4.2.1

Choose a tag to compare

@eas4ai eas4ai released this 17 Oct 02:30
· 491 commits to main since this release

Added

  • Add a source to a preset's Content-Security-Policy (#156).
    SecurityHeaders::csp_source(directive, source) and
    ContentSecurityPolicy::with_source(directive, source) add one source to a
    directive of the policy from_env selected, keeping the preset, its
    report-only mode and its reporting origins. A directive the policy leaves
    out starts from the sources it falls back to. An application that allows an
    analytics host in connect-src no longer copies the preset's policy string.
  • Stream hooks in every Inertia kit. New React, Vue and Svelte applications
    get frontend/src/lib/stream/, Suprnova's own client for the responses
    HttpResponse::stream_bytes, stream_json and event_stream send:
    useStream, useJsonStream, useEventStream and useJsonEventStream, with
    the names, options and results of Laravel's stream packages. They send the
    CSRF token from the root template's meta tag or the XSRF-TOKEN cookie, and
    cancel their request when the component unmounts. An existing application
    can copy the two files from a new scaffold of its kit.

Fixed

  • View::share reaches the Inertia root template (#157). The root
    template rendered without the data shared with every view, so a value
    shared with View::share or View::share_for_request never reached it,
    where Laravel's shared data reaches app.blade.php. It now reads them with
    Askama's value filter, as other views do:
    {% if let Ok(domain) = "plausible_domain"|value::<String> %}. Keep such a
    read inside the if let unless every deployment shares the value, since a
    missing value fails the render.