Wijzigingen

Zoek in alle publieke release notes van MeldingsMonitor.

v3.40.1

2026-08-19

1 wijziging in deze release.

  • Verbeterd
    make Livewire temp disk opt-in; add CORS warnings

    Remove the implicit default that switched Livewire temporary uploads to the public disk when AWS_BUCKET is set, making LIVEWIRE_TEMPORARY_FILE_UPLOAD_DISK opt-in. This prevents browser upload failures when the bucket lacks CORS. Add explanatory comments in config/livewire.php and .env.example, and add a runtime warning in the AuditStorageUploads command that notifies when temporary uploads are configured to use the public disk and to ensure the bucket allows CORS (PUT + GET) for the app URL. Files changed: config/livewire.php, .env.example, app/Console/Commands/AuditStorageUploads.php

v3.40.0

2026-08-19

1 nieuwe functie in deze release.

  • Nieuwe functie
    add station activity audit trail

    Introduces a per-station activity log for settings, members, checklists, and PIN-based logins. Adds activity search UI, IP-block management, an audit-trail toggle, permanent block logging, persistent upload safety checks, and demo seeding controls. This improves traceability while hiding sensitive values and limiting logs to enabled stations.

v3.39.2

2026-08-19

1 wijziging in deze release.

  • Opgelost
    toon widget-headericonen weer op kazernescherm

    Blade partial deelde iconen niet met de parent view. Iconen staan nu in WidgetHeaderIcons helper met inline SVG.

v3.39.1

2026-08-19

1 wijziging in deze release.

  • Verbeterd
    docs: documenteer icon/font pakketten en ensure-packages bij updates

    mm-kiosk-ensure-packages.sh installeert unclutter, wtype en fontpakketten ook na git pull. README legt uit dat iconen server-side SVG zijn.

v3.39.0

2026-08-19

19 wijzigingen, waaronder 2 nieuwe functies.

  • Opgelost
    kiosk cursor verbergen en widget-iconen zonder webfonts

    Chromium draait op Pi Desktop via X11 met unclutter. Kazernescherm-widgeticonen gebruiken inline SVG i.p.v. emoji-fonts, en cursor:none op het display.

  • Opgelost
    bureaubladachtergrond permanent bij installatie instellen

    Achtergrond wordt eenmalig in pcmanfm, labwc en system defaults geschreven. Wallpaper-loops bij opstarten zijn verwijderd.

  • Opgelost
    achtergrond en cursor direct bij opstart kiosk

    Desktop-voorbereiding start nu vroeg via labwc autostart, system wallpaper alternative, en cursor:none op het QR-scherm.

  • Verbeterd
    docs: schone Pi 4B installatiehandleiding en WiFi-uitleg

    README beschrijft ethernet-first installatie, WiFi-alternatief via Imager, en bevestigt dat WiFi wijzigen via de webinterface blijft werken.

  • Nieuwe functie
    stel MeldingsMonitor bureaubladachtergrond in bij installatie

    De kiosk installeert een standaard achtergrond via pcmanfm op Pi Desktop en feh op Lite.

  • Opgelost
    verberg cursor en schakel vertaal-popup uit in kiosk

    unclutter en labwc HideCursor verbergen de muiscursor op Pi Desktop. Chromium vertaling is uitgeschakeld via flags en beheerd beleid.

  • Opgelost
    herstel browser-autostart op Pi OS Desktop

    XDG-autostart en systemd user service zijn terug, lock-wrapper faalt niet meer zonder XDG_RUNTIME_DIR, en lxsession-autostart gebruikt weer het juiste bestand.

  • Opgelost
    wit scherm en keyring-popup op Pi OS Desktop kiosk

    Chromium start nu correct op Wayland, keyring-popups zijn uitgeschakeld, en het setup-scherm toont duidelijke tekst naast de QR-code.

  • Nieuwe functie
    vereenvoudigde kiosk-installatie via gebruikers-autostart

    install.sh detecteert de ingelogde gebruiker en start Chromium via autostart en systemd user service. Geen aparte kiosk-gebruiker of lightdm-gedoe meer op Pi Desktop.

  • Opgelost
    gebruik martijn met openbox i.p.v. kiosk-gebruiker op Pi OS

    Raspberry Pi OS blijft martijn autologinen. De kiosk start nu Chromium via openbox en desktop-autostart voor die gebruiker, met mm-kiosk-apply-screen als een stap fix.

  • Opgelost
    lightdm autologin als kiosk i.p.v. martijn

    Raspberry Pi OS logde martijn in op LXDE waardoor Chromium niet startte. lightdm-configs worden nu overschreven en er is een fallback-autostart voor Pi-desktop.

  • Opgelost
    start Chromium via openbox-autostart op het scherm

    De browser startte niet betrouwbaar vanuit systemd. Chromium opent nu automatisch in de openbox-sessie van gebruiker kiosk, met fallback naar setup-scherm of kazernescherm-URL.

  • Opgelost
    herstel lightdm en X11 voor fysiek kiosk-scherm

    lightdm draaide zonder Xorg-sessie waardoor Chromium niet op het scherm verscheen. Nieuw fix-display script installeert en configureert de grafische stack.

  • Opgelost
    kiosk vereist actieve lightdm-sessie voor scherm

    Chromium startte niet als het apparaat alleen een tekstconsole toonde. Diagnosescript toegevoegd en installatie zet nu graphical.target als standaard.

  • Opgelost
    boot herstart provisioning-server niet meer onnodig

    mm-kiosk-boot.sh riep start-provisioning aan waardoor mm-kiosk-web opnieuw werd herstart of boot afbrak voordat het setup-scherm opende.

  • Opgelost
    setup-modus bij online ethernet zonder homepage

    De boot-logica was omgekeerd: met internet sprong het apparaat naar kiosk-modus terwijl het kazernescherm nog niet was gekoppeld. Daardoor herstartte mm-kiosk continu en viel de instellingenpagina weg.

  • Opgelost
    provisioning-server als aparte systemd-service

    De instellingenpagina viel weg doordat de webserver als los achtergrondproces draaide. mm-kiosk-web.service herstart automatisch. Noodscript mm-kiosk-set-homepage.sh toegevoegd voor setup zonder browser.

  • Opgelost
    provisioning-server herstart betrouwbaar na kiosk-update

    De instellingenpagina bleef een oude provisioning-server gebruiken na git pull. Updates stoppen nu altijd de oude server, WiFi-scans starten niet meer automatisch, en mm-kiosk-update.sh kopieert wijzigingen naar /opt.

  • Opgelost
    kiosk-setup werkt op ethernet-only Raspberry Pi's

    De instellingenpagina startte automatisch een WiFi-scan en kon daardoor onbereikbaar worden op apparaten zonder WiFi. WiFi wordt nu overgeslagen, de WiFi-sectie verborgen bij ethernet-only, en de provisioning-server herstart automatisch na een crash.

v3.38.3

2026-08-18

1 wijziging in deze release.

  • Verbeterd
    update announcements-view.blade.php

v3.38.2

2026-08-18

1 wijziging in deze release.

  • Verbeterd
    redirect icon routes to public storage URLs

v3.38.1

2026-08-18

1 wijziging in deze release.

  • Verbeterd
    update app.php

v3.38.0

2026-08-18

2 wijzigingen, waaronder 2 nieuwe functies.

  • Nieuwe functie
    add station icons and post-app incident views

    This change adds per-station icon uploads, canteen branding/favicon support, audience-feature landing updates, and post-app incident listings with detail modals. It also updates announcement active-period filtering, guest management safeguards, and activity UX for deleting recent consumptions.

  • Nieuwe functie
    add station-screen-kiosk tooling and provisioner

    Add a new tools/station-screen-kiosk package: installer scripts, systemd service, WiFi/AP provisioning, power settings, and a Flask-based provisioning web app with static UI (QR, WiFi scan/connect, config). Includes helper libs, tests, example config, README and publishing script to mirror as a standalone repo. Web dependencies added (Flask, qrcode). Intended for Raspberry Pi / Intel mini-PC kiosk setup to provision and run MeldingsMonitor display.

v3.37.1

2026-08-18

1 wijziging in deze release.

  • Verbeterd
    stream public storage via /bestanden route

    Add a PublicStorageController and route to stream allowed public files at /bestanden/{path} with cache headers. Refactor PublicStorageUrl to normalize paths, restrict allowed prefixes, verify existence and emit app URLs (urlFor/isAllowed). Update frontend/editor and post-app views to use the new streamed URLs and add Station::postAppFaviconUrl. Update and add tests to assert streaming behavior, favicon usage, security (no traversal/private files) and expectations for /bestanden URLs.

v3.37.0

2026-08-18

1 nieuwe functie in deze release.

  • Nieuwe functie
    introduce FilesystemDisk & post-app improvements

    Add FilesystemDisk abstraction and LivewireUploadedFile helpers to centralize safe storage access and uploaded-file handling (S3-safe existence checks, responses, store/delete helpers, mime/size fallbacks). Migrate controllers and Livewire components to use these helpers. Implement post-app features: month navigation and celebration items in the agenda, crews and members views, settings toggles, UI refinements, and station-screen/editor improvements. Move ticket attachment storing into TicketReply model. Update PublicStorageUrl normalization. Add/adjust comprehensive tests and unit tests for new behavior.

v3.36.0

2026-08-18

1 nieuwe functie in deze release.

  • Nieuwe functie
    add Post-app PWA and pin lockout service

    Implements the Post-app (PWA) feature and centralizes PIN lockout logic. Adds PostAppSession, StationPinLockoutService, middleware to configure session lifetime and set Dutch locale, new routes and controller actions for manifest/icon/install prompt, Livewire components and views (announcements, bulletin, roster, install prompt), and client JS for the install flow. Serves uploaded icons from public storage and refactors canteen controllers/models to use the new lockout service. Also updates help/subscription content, minor UI text, and expands tests to cover PWA flows, lockouts and icon handling.

v3.35.0

2026-08-18

1 nieuwe functie in deze release.

  • Nieuwe functie
    add isPostAppManageable; show Post-app links

    Introduce Station::isPostAppManageable() to centralize whether Post-app can be managed (true when station.post_app_enabled or owner has addon_post_app_stations). Replace direct checks with this method in StationDashboard, StationEditor (prop), and public navigation partial to conditionally show Post-app UI and shortcut. Add feature tests for sidebar visibility with and without the addon and import WorkspaceType in tests.

v3.34.0

2026-08-18

1 nieuwe functie in deze release.

  • Nieuwe functie
    introduce UserLicenseAssignmentCoordinator

    Extract license assignment, validation and apply logic into a new App\Services\UserLicenseAssignmentCoordinator and use it from LicenseAssignmentController and the Livewire LicenseManager. LicenseManager now holds reactive state (license/canteen/checklist/postApp ids and extra manager slots), loads initial assignment state, normalizes input and uses saveLicenseAssignments via wire:submit. Blade updated to use wire:model bindings, show loading state and form errors. Fixed ExtraManagerAddonAssignmentService validation that incorrectly blocked zero assignments. Added a Livewire integration test for post-app assignment. Co-authored-by: Copilot <[email protected]>

v3.33.0

2026-08-18

1 nieuwe functie in deze release.

  • Nieuwe functie
    introduce workspace licenses and UI rename

    Add per-workspace licensing: new StationLicenseAssignmentService, LicenseAssignmentController, LicenseManager Livewire component, and license-manager view plus route. Persist license state with migration add_license_enabled_to_stations_table and update Station model/factory. Enforce licensed limits (including disabling WhatsApp on unlicensed stations) via User and WorkspaceLimitService changes. Rename UI copy from “post/posten” to “workspace/workspaces” across many views and update subscription/manage flows (new manage page). Update addon services/messages, adjust Checkout/Addon controllers to use subscription.manage, and add/update tests for license assignment and subscriptions.

v3.32.0

2026-08-18

3 wijzigingen, waaronder 1 nieuwe functie.

  • Verbeterd
    remove station-specific UI from home dashboard

    Remove station selector, per-station open-issues tile and station panels from the Home Dashboard view and simplify layout (lg grid 4->3). Clean up duplicated icon cases. Update Dashboard tests to reflect a personal dashboard that does not render post-specific content and remove checklist-related test setup/assertions. Files changed: resources/views/livewire/dashboard/home-dashboard.blade.php and tests/Feature/DashboardTest.php.

  • Verbeterd
    update HomeDashboard.php
  • Nieuwe functie
    add admin workspace & post-app addon support

    Introduce an Admin workspace and a new Post-app addon. Adds WorkspaceType::Admin, middleware to auto-set admin workspace, and workspace switcher support (desktop/mobile) including UI changes. User model now exposes admin workspace in accessibleWorkspaces and activeWorkspaceIsAdmin. Adds Post-app settings in admin Settings (fields, validation, UI), Subscriptions handling (counts, togglePostApp, Stripe sync), and updates subscription views. Removes separate admin link from public sidebar. Includes tests for settings, subscriptions, workspace switching and middleware behavior.

v3.31.0

2026-08-18

1 nieuwe functie in deze release.

  • Nieuwe functie
    add Post-app feature with PIN auth and addons

    Implements a new 'Post-app' mobile app per station: adds PostAppController (session PIN auth, manifest, rate-limiting/IP block), PostAppAuthMiddleware, Livewire views/components (roster, agenda, bulletin, practice, more) and station management UI (PostAppSettings). Adds services: StationMemberContentService and PostAppAddonAssignmentService. Model and DB changes: Station fields/casts, icon handling and helper methods; User addon_post_app_stations and enforcePostAppLimits. Integrates addon management (AddonController, AddonManager view, routes) and public layout. Includes migrations and comprehensive feature tests.

v3.30.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add monthly nth-weekday roster mode

    Introduce a "weekday" month mode so rosters can occur on the Nth weekday of each month. Adds MonthWeekdayResolver service and a migration (month_mode, month_week, month_weekday). Updates StationDutyRoster to support the new fields and logic (period calculation, date ranges, indices), and adapts bulletin, schedule, email and WhatsApp services to respect the weekday mode. Livewire editor/views updated to configure/display the mode; factory updated. Tests added for monthly-weekday behavior and a bulletin edge case. This enables single-day monthly periods on a specific weekday and keeps notification/schedule logic consistent.

v3.29.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add owner preview mode for station screens

    Enable active preview mode for station screen owners via ?preview_mode=active. The incident service now checks ownership and applies preview data during both the initial screen render and poll responses, while the frontend includes the preview flag in polling requests and skips normal mode checks while preview mode is active. This also adds feature coverage for owner access and the non-owner guard.

v3.28.0

2026-08-17

2 wijzigingen, waaronder 1 nieuwe functie.

  • Verbeterd
    improve search, caching and feed lookback behavior

    Add caching for incident feed dropdowns (disciplines, safety regions, cities) and wrap Landing feed DB calls with reconnect handling. Enhance IncidentSearchService: introduce SEARCH_LOOKBACK_DAYS, enforce min/max fulltext lengths, add restrictToRecentWindow flag (default true), and implement a like-search fallback that limits columns for very long queries. Update SavedIncidents to opt out of recent-window restriction and LandingPageService to restrict feeds to FEED_LOOKBACK_DAYS. Add tests covering search behavior and landing feed lookback. These changes improve performance and search relevance.

  • Nieuwe functie
    granulaire module-rechten voor postbeheerders

    Postbeheerders krijgen per module aparte view/create/update/delete-rechten. Beheerders kunnen dit instellen via het beheerdersscherm; routes en policies handhaven de nieuwe rechten.

v3.27.2

2026-08-17

1 wijziging in deze release.

  • Verbeterd
    fix: DutyRoster and Bulletin

    Fix: DutyRoster and Bulletin

v3.27.1

2026-08-17

1 wijziging in deze release.

  • Verbeterd
    emit realtime-ready event and update blocked UI

    Dispatch a 'station-screen-realtime-ready' event from the realtime script so pages can connect when the script loads asynchronously. Make display pages and v2 poll code listen for that event (and fall back to window.load) before invoking initStationScreenRealtime. Revamp the blocked-concurrent screen: replace inline SVG with branded logo image, adjust styling, add a contextual hint, refresh and subscription actions, and use dynamic meta refresh based on SESSION_TTL_SECONDS. Update tests to assert the new event hook and the blocked-screen UI changes.

v3.27.0

2026-08-17

2 wijzigingen, waaronder 1 nieuwe functie.

  • Nieuwe functie
    support runtime Reverb config for station screens

    Allow runtime override for the Reverb websocket config used by station-screen realtime. Add resolveReverbConfig() and ensureEcho() in resources/js/station-screen-realtime.js to prefer window.stationScreenReverbConfig and fall back to build-time env vars; validate initStationScreenRealtime and return boolean. Inject runtime config from broadcasting.connections.reverb via a new Blade partial (partials/realtime-config) and include it in display-v2. Add a feature test asserting the runtime config is rendered.

  • Verbeterd
    persist station screen sessions

    Station screen sessions are now tracked via a stable cookie-backed session ID, so display pages and poll requests share the same identity across reloads and tabs. The controller registers the session before rendering and sets the session cookie on the response, while the poll API returns a blocked message when the concurrent display limit is reached. This also updates the help center text to document the new refresh behavior and concurrent display limits, and adds feature coverage for the shared session flow.

v3.26.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add concurrent station screen session limits

    Introduce concurrent display limits and realtime wake-up for station screens. Adds StationScreenSessionService (session header, registration, limits), StationScreenMatcher, StationScreenWakeUp event and NotifyMatchingStationScreens listener. StationScreenPollService enforces limits, sets POLL_INTERVAL_SECONDS=60, provides blocked payloads and cache forgetting, and records heartbeats. Adds realtime client (resources/js/station-screen-realtime.js), updates views to use the fixed poll interval and initialize realtime, and adds a blocked-concurrent view. Schema migration adds plan/user fields. Livewire, models and factories updated. Tests added/updated for matching, sessions, wake-up and API behavior.

v3.25.1

2026-08-17

1 wijziging in deze release.

  • Verbeterd
    extract StationScreen polling to service

    Introduce StationScreenPollService to build poll payloads, handle heartbeat throttling and short-term response caching. Refactor StationScreenIncidentController to delegate payload construction and return 403 when workspace-blocked. Add StationScreen model helpers (hasPersistedLayoutV2, layoutWidgetTypes, pollStationDataNeeds) and use CarbonInterface in display controller. Update migration to name the FK and drop it correctly in down(). Update and add tests for poll caching, heartbeat throttling, and layout v2/v1 station-data behavior; adjust Plan factory usage to include max_personal_station_screens.

v3.25.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add practice schedule (sessions & types) feature

    Introduce practice-schedule functionality: new models (StationPracticeSession, StationPracticeExerciseType), factories and migrations (create sessions & types, migrate legacy session fields), and relations on Station. Add Livewire components and views for listing and editing practice sessions, multi-assignee UI, and station management sections. Integrate practice sessions into station bulletins, PDFs and station-screen APIs/displays. Add routes, controller changes, bulletins practice_config, and tests covering UI and content builder. Also improve duty-roster week labels formatting and corresponding test. Includes UI/UX tweaks to navigation and public layout.

v3.24.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add duty-roster editor and fast-automation job

    Introduce a dedicated fast automations job and duty-roster management UI. Key changes: - Add ProcessFastAutomationsJob and dispatch it (critical queue) from IncidentController and Admin Livewire flows; keep EnrichIncidentJob for async enrichment. - Set EnrichIncidentJob and ProcessFastAutomationsJob to explicit queues and add queue names to config/.env.example. - Implement new Livewire DutyRosterEditor component, views, partials and routes for creating/editing duty rosters; refactor DutyRosterIndex to use the new editor and simplify logic. - Improve EmailHtml: prepareContent(), upgradeLegacyTables(), and button markup to be Outlook-friendly; update email layout and newsletter template CSS. - Add and update feature tests covering fast automation job, email output, and duty roster behaviors. These changes add a fast-path automation worker and a full UI for station duty rosters, plus email compatibility fixes and corresponding tests.

v3.23.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add newsletters, trusted devices & email helpers

    Introduce a full admin newsletter system (models, migrations, factories, seeder, Livewire editor/index, block renderer, jobs, services, controllers, routes, views, JS editor and tests). Add TrustedDevice support (model, migration, service, cookies, Fortify pipeline and UI checkbox) to allow skipping 2FA on trusted devices. Add EmailHtml helper and update email layout to email-safe table-based HTML and PNG logo; wire newsletter message stream settings and disable Zoho sync. Misc: session/env defaults, auth_devices config, webhook and unsubscribe endpoints, and numerous test updates.

v3.22.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add ticket attachment download endpoint

    Introduce TicketAttachmentController to stream attachments from public storage with Gate authorization and content-type header. Register route tickets.attachments.show and update TicketReplyAttachment::getUrl to return that route (remove PublicStorageUrl usage). Add feature tests covering owner, other user, admin access, missing-file 404, and content-type assertions.

v3.21.1

2026-08-17

1 wijziging in deze release.

  • Verbeterd
    handle Livewire uploaded files; add Workspaces help

    Add App\Support\LivewireUploadedFile to safely read temporary upload metadata and build attachment attributes. Update Livewire components and views to use the helper (and type TemporaryUploadedFile). Persist Livewire temporary uploads on the public disk (config change) for multi-instance setups. Add extensive 'Workspaces' help content and renumber categories in HelpArticleSeeder. Adjust admin layout to remove the Admin badge. Add unit tests for LivewireUploadedFile and extend HelpCenter tests; update assertions in DashboardTest accordingly.

v3.21.0

2026-08-17

1 nieuwe functie in deze release.

  • Nieuwe functie
    add Incident scopes and use in Livewire feeds

    Add Incident model scopes: occurredSince, forDisciplines and forSafetyRegions to allow efficient pivot-based filtering and time-bounded queries. Update Livewire components (IncidentFeed, LiveMap, HomeDashboard) to use these scopes and introduce LOOKBACK_DAYS for the live feed. Clean up User imports/type annotations in HomeDashboard. Update tests to use imported models, add coverage ensuring archived incidents are excluded by safety-region searches, and assert the generated SQL uses pivot tables (no safety_regions join). These changes improve query performance and prevent scanning old/archived incidents.

v3.20.2

2026-08-16

1 wijziging in deze release.

  • Verbeterd
    improve station stats aggregation and workspace switcher

    Refactor and enhance station daily aggregation and update workspace switcher UI/behaviour. - StationIncidentDailyStatisticsService: add ALL_CHUNK_DAYS, adjust lock duration for long runs, extract missing-date logic, repair stale zero-total rows when --all, refactor day persistence into persistDayStatistic, and tweak chunking behaviour for refresh/all runs. - AggregateIncidentDailyStatistics command: simplify loop, print informative and warning messages, remove progress bar. - WorkspaceSwitcher: add variant property, render desktop/mobile variants with keys; update blade to support responsive visibility and mobile placement. - UI tweaks: remove decorative screenshot from live page, adjust mobile sidebar overflow/spacing and navigation link padding/spacing. - Tests: add feature tests for SEO (no screenshot), station stats backfill of stale zero rows, and workspace switcher desktop/mobile behaviour.

v3.20.1

2026-08-16

1 wijziging in deze release.

  • Verbeterd
    adjust incident stats aggregation schedule

    The incident daily statistics job was running too frequently and was overlapping with itself. This change moves it to an hourly schedule and increases the overlap guard window so the aggregation runs more reliably without contention.

v3.20.0

2026-08-16

1 nieuwe functie in deze release.

  • Nieuwe functie
    add SEO image optimizer and optimize stats aggregation

    Introduce a new seo:optimize-images command and SeoImageOptimizer service to resize/convert/compress SEO images (with tests). Enhance incidents:aggregate-daily-statistics with a --station option, progress and station filtering. Rewrite StationIncidentDailyStatisticsService to aggregate ranges using grouped SQL (much fewer queries), add periodHasIncidents/has_incidents flag, and simplify live stats day handling. Adjust StationIncidentsService query/caching and capcode join logic. Update Blade views to auto-refresh when historical stats are being backfilled and measure screenshot dimensions. Update SEO image assets and add related tests.

v3.19.0

2026-08-16

1 nieuwe functie in deze release.

  • Nieuwe functie
    add SEO landing pages, assets and sitemap entries

v3.18.1

2026-08-16

1 wijziging in deze release.

  • Verbeterd
    optimize incident statistics backfill & charts

    Make daily statistics backfill more efficient and add weekly charting for long ranges. - AggregateIncidentDailyStatisticsJob now accepts an optional stationId, provides a uniqueId per job (global vs station) and is dispatched after response for throttled backfills. - IncidentStatisticsService and StationIncidentDailyStatisticsService throttle backfill dispatches via cache keys and use afterResponse. Station service dispatches per-station jobs. - computeLiveStatistics gains includeDayBreakdown flag to skip heavy per-day work when not needed. - StationIncidentsStatistics: add weekly-series builder for ranges >90 days and use CarbonInterface; view switches label to "week" for long ranges and chart labels handling adjusted. - Use simplePaginate in StationIncidentsIndex. - Tests updated to terminate the app to flush queued jobs and assert station-scoped job payloads.

v3.18.0

2026-08-16

1 nieuwe functie in deze release.

  • Nieuwe functie
    add station incident daily statistics

    Introduce per-station daily aggregation: add StationIncidentDailyStatistic model, factory and migration plus StationIncidentDailyStatisticsService to compute, store and backfill station-level daily statistics. Wire the new service into the aggregate command and job (add --refresh option) and update IncidentStatisticsService to support refresh behavior and includeToday handling. Update StationIncidentsService to read/store station stats, adjust caching and re-aggregate affected day when manual incidents change. Livewire components and views updated to use the new chart data and improve UX. Tests covering global and station-level aggregation, backfill/refresh behavior and Livewire interactions were added/updated.

v3.17.0

2026-08-16

1 nieuwe functie in deze release.

  • Nieuwe functie
    add station dashboard and incidents

    Introduces a dedicated station dashboard and a new station incident overview with filtering, summaries, and statistics. This adds manual incident creation for posts, keeps those records scoped to the station, and excludes them from automation/screen processing. It also updates workspace navigation to point users to the dashboard and includes feature coverage for the new flows.

v3.16.2

2026-08-16

1 wijziging in deze release.

  • Opgelost
    menu

    fixed issue mobile menu

v3.16.1

2026-08-15

1 wijziging in deze release.

  • Verbeterd
    disable workbox navigateFallback and update test

    Remove Workbox navigateFallback and its navigateFallbackDenylist from vite.config.js so the service worker no longer injects a global offline navigation fallback. Update the feature test to read the built service worker (public/build/sw.js), skip if missing, and assert it does not create handler bindings for offline/index pages. Files changed: vite.config.js, tests/Feature/OfflinePageTest.php.

v3.16.0

2026-08-15

1 nieuwe functie in deze release.

  • Nieuwe functie
    workspace-omgeving voor automatiseringen en kazerneschermen

    Scheidt persoonlijke en kazerne-resources met limieten, workspace-switcher en migratiecommando; voegt beheerdersrechten en handmatige checklist-meldingen toe; verwijdert landelijke oefenlocaties.

v3.15.1

2026-08-15

1 wijziging in deze release.

  • Verbeterd
    improve incident stats caching & serve offline page

    Add stable cache schema and safe cache serialization for incident statistics: include CACHE_SCHEMA, update cache key, store prepared arrays via prepareStatisticsForCache, and restore objects via hydrateStatisticsFromCache (with helpers to normalize/hydrate collections). Update getStatistics to read/hydrate cached arrays and to write prepared arrays, preserving backfill dispatch behavior. Change legacy /offline route to serve public/offline.html directly (with proper error handling). Update Vite config to precache '/offline'. Adjust tests to validate caching/hydration and offline behavior.

v3.15.0

2026-08-15

1 nieuwe functie in deze release.

  • Nieuwe functie
    add resilient Redis session failover support

    Introduce resilient session handling and failover cache configuration. - Add ResilientCacheSessionHandler to wrap a primary CacheBasedSessionHandler and fallback to an array-backed handler on transient infra failures. - Add ResilientStartSession middleware to fall back to an ephemeral array session when session store startup or saves fail. - Replace StartSession with ResilientStartSession in the web middleware group (bootstrap/app.php). - Configure AppServiceProvider to map a 'redis' default to a new 'redis-failover' store and extend the 'redis' session driver to use the resilient handler. - Add 'redis-failover' cache config and update serializable classes usage. - Add feature tests for session resilience and secure cache unserialization; update IncidentStatisticsService import to use Illuminate\Support\Carbon. These changes improve availability when Redis or other cache backends experience transient failures.

v3.14.1

2026-08-15

1 wijziging in deze release.

  • Verbeterd
    cap region lookback & display, cache region incidents

    Fix: Limit region incident lookback to 7 days and max display to 10, normalize legacy widget configs to days, and enforce these limits in layout builder, display views and server logic. Add short-lived caching for region incident ID queries and optimize DB filtering (pluck ids per day, use whereIn). Also add station API response caching in controller and adjust related UI inputs/JS. Tests updated to reflect behavior and ensure caching/limits work as expected.

v3.14.0

2026-08-15

2 wijzigingen, waaronder 1 nieuwe functie.

  • Verbeterd
    guard attachment URLs, add storage tests

    Only render attachment links when an attachment URL is available (blade). Import PublicStorageUrl and factory classes in two attachment models and tidy up unused imports/annotations. Add tests to cover PublicStorageUrl failing existence checks and to ensure station screen pages/API behave when logo or custom sound files are missing from public storage.

  • Nieuwe functie
    add S3 public storage & transient-failure handling

    Add PublicStorageUrl helper and TransientInfrastructureFailure detector; make the public disk use S3 when AWS_BUCKET is configured and add league/flysystem-aws-s3-v3 dependency; add Livewire config for temporary uploads and safe file preview handling in the StationScreen editor; update views and StationScreen model to consume public URLs; make incident and stats services resilient by retrying/reconnecting on transient DB/Redis failures and falling back from cache when needed; add tests for public storage, transient failures and editor uploads; tweak .env.example AWS defaults.

v3.13.0

2026-08-15

2 wijzigingen, waaronder 2 nieuwe functies.

  • Nieuwe functie
    add admin dashboard stats and nav badges

    Introduce AdminDashboardStatsService and AdminNavigationBadgeService to centralize and cache admin dashboard metrics and navigation badge counts. Refactor Livewire Dashboard to use the stats service and to cache Stripe revenue with a refresh/invalidaton flow. Register a view composer in AppServiceProvider to inject adminNavBadges into the admin layout; update Blade templates to use the injected counts. Ensure observers and Livewire flows call AdminNavigationBadgeService::forget on relevant model changes to invalidate caches. Add feature tests for badge counts, caching and invalidation, and adjust dashboard revenue tests.

  • Nieuwe functie
    add canteen IP blocks admin & landing fixes

    Add admin UI and Livewire manager for managing canteen IP blocks (route, views, Livewire component, factory, and tests). Extend CanteenIpBlock model with release() and clearTemporaryLockouts() to delete blocks and clear RateLimiter/Cache. Refactor LandingPageService to use cached count maps and more efficient exists-based queries, add getIncidentCount() and related helpers, and wire totalCount into controller/view. Add DB indexes for landing page queries via migration. Includes tests and small admin layout updates.

v3.12.0

2026-08-15

1 nieuwe functie in deze release.

  • Nieuwe functie
    add incident daily statistics aggregation

    Introduce daily aggregation for incidents to avoid expensive long-range live queries. Adds IncidentStatisticsService (caching, backfill, compute/merge logic), IncidentDailyStatistic model, factory and migration, AggregateIncidentDailyStatisticsJob and console command, and schedules the command. Refactors Livewire components to use the service and enable auto-polling when data is incomplete. Adds views tweaks and tests covering aggregation, backfill, clamping and rendering. This implements background precomputation of per-day totals/breakdowns and reduces heavy DB scans for long periods.

v3.11.0

2026-08-15

1 nieuwe functie in deze release.

  • Nieuwe functie
    add offline page and Reverb broadcasting config

    Add a static public/offline.html and redirect /offline -> /offline.html; update vite.config to precache and use /offline.html as navigate fallback. Switch default broadcast connection to Reverb and make broadcasting config read REVERB_HOST/PORT/SCHEME (compute useTLS). Change IncidentCreated/IncidentUpdated to implement ShouldBroadcastNow for immediate broadcasts. Add feature tests for broadcasting config and the offline page.

v3.10.53

2026-08-15

1 wijziging in deze release.

  • Verbeterd
    changelog tooling, dashboard caching & feed fixes

    Adds automated changelog release tooling and CI (workflow, husky hooks, scripts + tests), improves changelog parsing (details, heuristics, sanitization) and public output. Introduces NormalizesFeedFilters trait and updates Livewire components (HomeDashboard, IncidentFeed, StationScreens, Canteen, RegisterDrawer, IncidentDetails) to normalize filters, handle booleans, paginate, and support live incident prepending. Implements dashboard caching for latest incidents and global stats (DashboardIncidentStatsService), warms cache on IncidentCreated, and adjusts AppServiceProvider. Adds settings group caching, User helpers for accessible/owned stations, a migration for station_screens index, view tweaks, and many feature/tests to cover behavior and performance improvements.

v3.10.52

2026-06-30

1 wijziging(en) in deze release.

  • Verbeterd
    add ResolvesCanteenStation trait and heartbeat

v3.10.51

2026-06-22

1 wijziging(en) in deze release.

  • Verbeterd
    accept Relation queries in IncidentSearchService

v3.10.50

2026-06-09

1 wijziging(en) in deze release.

  • Verbeterd
    add incident search service and lazy panels

v3.10.49

2026-06-09

1 wijziging(en) in deze release.

  • Verbeterd
    keep settings_version stable on heartbeat

v3.10.48

2026-06-09

1 wijziging(en) in deze release.

  • Verbeterd
    defer pollable widgets and add loading placeholder

v3.10.47

2026-06-09

1 wijziging(en) in deze release.

  • Verbeterd
    station screens: RSS widgets, polling & caching

v3.10.46

2026-06-09

1 wijziging(en) in deze release.

  • Verbeterd
    station screens: services, safe iframes, polling

v3.10.45

2026-06-09

1 wijziging(en) in deze release.

  • Verbeterd
    persist sitemaps, prune stale files, add config

v3.10.44

2026-06-09

1 wijziging(en) in deze release.

  • Verbeterd
    use h2 for Cloudflare 5xx placeholder and add route

v3.10.43

2026-05-04

1 wijziging(en) in deze release.

  • Verbeterd
    add compact Cloudflare 5xx inline page + generator

v3.10.42

2026-05-04

1 wijziging(en) in deze release.

  • Verbeterd
    add Cloudflare 5xx host placeholder and styles

v3.10.41

2026-05-04

1 wijziging(en) in deze release.

  • Verbeterd
    improve Cloudflare 5xx page and add builder

v3.10.40

2026-05-04

1 wijziging(en) in deze release.

  • Verbeterd
    add Cloudflare 5xx page and service-worker rewrites

v3.10.39

2026-04-10

1 wijziging(en) in deze release.

  • Verbeterd
    retry and refresh station invitations on conflict

v3.10.38

2026-04-10

1 wijziging(en) in deze release.

  • Verbeterd
    remove verbose logs and update job handler call

v3.10.37

2026-04-10

1 wijziging(en) in deze release.

  • Verbeterd
    register service worker at /sw.js and add test

v3.10.36

2026-04-10

1 wijziging(en) in deze release.

  • Verbeterd
    replace extra_manager_enabled with slots

v3.10.35

2026-04-10

1 wijziging(en) in deze release.

  • Verbeterd
    add extra-manager slot accounting and canteen audio

v3.10.34

2026-04-10

1 wijziging(en) in deze release.

  • Verbeterd
    add station display unavailable handler and view

v3.10.33

2026-03-31

1 wijziging(en) in deze release.

  • Verbeterd
    add NL-Alert layer and station sound features

v3.10.32

2026-03-31

1 wijziging(en) in deze release.

  • Verbeterd
    add incident classifier and duty slot scoping

v3.10.31

2026-03-23

1 wijziging(en) in deze release.

  • Verbeterd
    widen email_templates.description to TEXT

v3.10.30

2026-03-23

1 wijziging(en) in deze release.

  • Verbeterd
    add station_managed_only, detail modal & PDFs

v3.10.29

2026-03-23

1 wijziging(en) in deze release.

  • Verbeterd
    add admin broadcast emails & catalog enhancements

v3.10.28

2026-03-20

1 wijziging(en) in deze release.

  • Verbeterd
    skip migration if table already exists

v3.10.27

2026-03-20

1 wijziging(en) in deze release.

  • Verbeterd
    add explicit index names and FK constraints

v3.10.26

2026-03-20

1 wijziging(en) in deze release.

  • Verbeterd
    remove practice location public key rotation

v3.10.25

2026-03-20

1 wijziging(en) in deze release.

  • Verbeterd
    add birthday calendar & jubilees PDF exports

v3.10.24

2026-03-20

1 wijziging(en) in deze release.

  • Verbeterd
    add practice locations management and sharing

v3.10.23

2026-03-19

1 wijziging(en) in deze release.

  • Verbeterd
    handle social login state; add agenda descriptions

v3.10.22

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    add member birthdays and jubilees to UI and bulletins

v3.10.21

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    add colored left border to incident items

v3.10.20

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    handle display URL parsing & refine grid sizing

v3.10.19

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    add portrait layout support and timer thresholds

v3.10.18

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    honor explicit widget arrays in layouts

v3.10.17

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    add KNMI fit mode for weather widget

v3.10.16

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    add active preview mode for station screens

v3.10.15

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    make iframe widgets fill and use flex layout

v3.10.14

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    notify user when screen migrates to V2

v3.10.13

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    scrollable widget modal; support show_date_time keys

v3.10.12

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    allow 1x1 widgets, add incident datetime toggle

v3.10.11

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    make station checklist group migration idempotent

v3.10.10

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    drop station_checklist_id and sort_order columns

v3.10.9

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    make station checklist migrations idempotent

v3.10.8

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    name indexes and add WhatsApp social link

v3.10.7

2026-03-17

1 wijziging(en) in deze release.

  • Verbeterd
    add bulletins, checklists, and screen v2 support

v3.10.6

2026-03-16

1 wijziging(en) in deze release.

  • Verbeterd
    add URL support to site notifications

v3.10.5

2026-03-13

1 wijziging(en) in deze release.

  • Verbeterd
    add deletion proposals, home dashboard & About

v3.10.4

2026-03-11

1 wijziging(en) in deze release.

  • Verbeterd
    add --force-payment-email option to backfill

v3.10.3

2026-03-11

1 wijziging(en) in deze release.

  • Verbeterd
    support multi-dispute chargeback recovery and emails

v3.10.2

2026-03-11

1 wijziging(en) in deze release.

  • Verbeterd
    fix: Add chargeback recovery and billing block flow

v3.10.1

2026-03-11

1 wijziging(en) in deze release.

  • Opgelost
    refactor release script; SW route & Hue UI

v3.10.0

2026-03-11

1 wijziging(en) in deze release.

  • Opgelost
    hue/signal settings layout

v3.9.0

2026-03-11

1 wijziging(en) in deze release.

  • Verbeterd
    prevent duplicate Hue restorations; UI & assets

v3.8.0

2026-03-09

1 wijziging(en) in deze release.

  • Verbeterd
    add WhatsApp sharing for canteen settlements

v3.7.0

2026-03-04

1 wijziging(en) in deze release.

  • Verbeterd
    add admin overviews: stations automations screens

v3.6.0

2026-03-04

1 wijziging(en) in deze release.

  • Verbeterd
    add optional Philips Hue call logging

v3.5.0

2026-03-04

1 wijziging(en) in deze release.

  • Verbeterd
    fIX Add Philips Hue bridge sync and capability handling

v3.4.0

2026-03-04

1 wijziging(en) in deze release.

  • Verbeterd
    add per-light Philips Hue signaling & tests

v3.3.0

2026-03-01

1 wijziging(en) in deze release.

  • Verbeterd
    add automation run/step logs and result type

v3.2.0

2026-02-26

1 wijziging(en) in deze release.

  • Verbeterd
    prevent duplicate changelog entries and bumps

v3.1.1

2026-02-26

1 wijziging(en) in deze release.

  • Verbeterd
    bump public changelog to v3.0.0 and anchor releases

v3.1.0

2026-02-26

1 wijziging(en) in deze release.

  • Nieuwe functie
    show profile link when Hue enabled but unlinked

v3.0.0

2026-02-26

1 wijziging(en) in deze release.

  • Nieuwe functie
    add changelog tooling and commit hooks

v0.0.0

2026-02-26

Startpunt voor geautomatiseerde publieke release notes.

Geen publieke wijzigingen voor deze release.

MeldingsMonitor
Inloggen
Vul je e-mailadres en wachtwoord in om in te loggen.
of
E-mailadres
Onthoud mij
Nog geen account?
MeldingsMonitor
Account aanmaken
Vul je gegevens in om een account aan te maken.
of
Naam
E-mailadres
Wachtwoord
Wachtwoord bevestigen
Ik wil de nieuwsbrief ontvangen Ontvang updates en nieuws over Meldingsmonitor per e-mail
Geen creditcard nodig
Altijd opzegbaar
Heb je al een account?
7 dagen gratis
WhatsApp bij meldingen
Hue lampen als alarm
Webhooks & Zapier
E-mail notificaties
Statistieken & inzichten
Live feed & kaart
Kazerneschermen met widgets
Dienstroosters & agenda
Kazernebulletin & mededelingen
Overleggen & checklisten
Postledenbeheer
Post-app voor leden

Bekijk alle functies voor dit gebruik →

Geen betaling vooraf · Altijd opzegbaar

Cookies

Wij gebruiken cookies om de werking van onze website te verbeteren en uw voorkeuren te onthouden. Door op "Accepteren" te klikken gaat u akkoord met ons gebruik van cookies. Lees meer in onze disclaimer en ons privacybeleid.