Changelog

Changelog

The latest changes, improvements, and fixes in FiveNet.
Latest

v2026.8.4

πŸš€ Features

  • (jobs) Paginate group item endpoints
  • (centrum) Remove splitpanes for nuxt ui Splitter components and add
  • (ci) Generate go test coverage, add action summary and pr comment
  • (dispatch) Add four-way centrum sidebar placement
  • (calendar) Add icon to calendar and entries

πŸ› Bug Fixes

  • (errors) Adjust error wrap to use dot instead of colon
  • (container) Install pkgconfig in node build step
  • (discord) Calendar reminder using wrong icon url for job props logos
  • (app) Improve superuser job toggle for collapsed sidebar
  • (discord) Update job logo filestore URL expectations
  • (sanitizer) Issue with oneof message sanitize calls
  • (jobs) Use itemslen instead of "manual" pagination update for group
  • (citizens) Add blocked label access level
  • Remove/replace db and acl subject FIXME comments
  • (documents) Block status toggle in editor if no perms
  • Lint issue and make demo text suffix for job activity entries
  • (demo) Improve demo system banner message format
  • (livemap) Layout popover spacing
  • (nats) Use different context for store start
  • (sync) Actually return marker created at date
  • (livemap) Markers transition time being wrong in style
  • (user) Remove user/char group column
  • (tests) Base data issue due to column removal
  • (demo) Duplicate calendar creation
  • (mailer) Settings signature insert query test
  • (nats) Ignore invalid subscription on cancel/stop
  • (tracker) Using user group column in test query
  • (tracker) Manager test case
  • (tests) Intermittent issue in nats test

v2026.8.3

πŸš€ Features

  • (demo) Generate demo calendar + entries

πŸ› Bug Fixes

  • (tiptap) Add map and penaltycalculator blocks to text diff render
  • (app) Cleanup activity feed diff legend and diff colors
  • (auth) System message banner missing from auth pages
  • (auth) Attempt to add padding to auth pages
  • (demo) Increase demo entries
  • (calendar) Show empty calendar in favor of no data block

v2026.8.2

πŸš€ Features

  • (demo) Create role for lowest job grade
  • (overview) Add quick access bar with pinning context menu
  • Add bw/gray fivenet logo variant
  • (jobs) Hide group selectors without list permission
  • (calendar) Rework ui to be more sleek heavily inspired by Nuxt UI's

πŸ› Bug Fixes

  • Version in VERSION file
  • Pkg version
  • Remove v2026.8.2 version from changelog
  • Use fontsource for local font loading
  • App config default perms methods label issue
  • Cleanup unnamed logger usage and debug info formatting
  • Improve banner display by adding padding to root of dashboardpanels
  • Cleanup error page info
  • Banner not appearing again when system message doesn't have
  • (tiptap) Search and replace extension type issue
  • Apply padding-bottom to all UDashboardPanel main pages/components
  • Add imagemagick as utility for image handling
  • Rename bottom offset css vars and cleanup CardElement type
  • (demo,perms) Reload RBAC cache after demo data seeding
  • (auth) Forgot password not requiring a fully registered account
  • (demo) Seed rbac test issue due to rng not initialized
  • (config) Switch system banner to sha256
  • (ui) Tighten shared modal and overview spacing
  • (auth) Standardize auth errors and add failure audit metadata
  • (tracker) Make refresh user location test deterministic
  • Cleanup hero bg usage and rework about and licenses pages
  • (jobs) Rename jobspolicy pkg to groupspolicy
  • (channels) Update helm chart version

v2026.8.1

πŸš€ Features

  • Split ManageLabels jobs labels API
  • (documents) Record workflow cron stats
  • (cron) Report cron run metrics
  • (cron) Add more attributes to cron handlers
  • (demo) Enable and set system banner message with crendetials
  • Add cron job prometheus metrics
  • Use tiptap new decorations api for SearchAndReplace extension
  • (tests) Clone MySQL test DBs from shared seed schema
  • (jobs) Start work on groups api
  • (jobs) Add group access control
  • (jobs) Use user selectors in listings
  • (jobs) Redesign group details ui screens
  • (access) Add typed object access wrappers
  • (jobs) Gate group mutations by group view access
  • (access) Wire typed access into remaining services
  • (jobs) Refresh group access editor and list ui
  • (jobs) Add group policy enforcement
  • (jobs) Add cron job to recount group members every 5 minutes

πŸ› Bug Fixes

  • (centrum) Adjust un-/assigned dispatch status handling
  • (jobs) Colleages labels stats not checking user job
  • (jobs) Add tree map graph style for label stats
  • Clean up initializations in app.vue by using plugins
  • (tracker) Keep dispatcher state in sync
  • (centrum) Sync job mappings on KV updates
  • (centrum) Add coverage for KV job mapping changes
  • (tracker) Tracker missing comments about behavior and centrum tests
  • (centrum) Decouple unit assignment cache updates from DB transaction
  • (centrum) Resync unit membership and dispatch state
  • Update readme badges
  • Run golangci-lint fix
  • (centrum) Test issues
  • (tracker) Manager test setup
  • Tracker interface issue in tracker tests
  • (centrum) Show coords in dispatch create/update slideover
  • (tests) Add missing fivenet_user_jobs initial data
  • (centrum) Fix settings bug causing test failures
  • Disable attr jobs when N/A value is sent
  • Go test failures and archive/restore group acl issue
  • (jobs) User group selection/search filter
  • (ui) Restore SelectMenu attrs and static items fallback
  • (tests) Dbmanager context issue during cleanup
  • (jobs) Preserve conduct filters and exclude stale group members
  • (tests) Parallel issues with dbmanager
  • (jobs) Handle archived group detail reads and read-only state
  • (jobs) Seed default access when creating groups
  • (jobs) Authorize qualification IDs in group rules
  • (jobs) Ensure job groups feature migrations are run

βš™οΈ Miscellaneous Tasks

  • Nix flake update + switch to staging-next-26.05

v2026.8.0

πŸš€ Features

  • Use nuxt ui for livemap context menu
  • Add drag'n'drop document template ordering
  • Use genric rank logic to reduce duplicated code
  • (auth) Use PinInput for registration token input
  • (audit) Add account id column
  • (livemap) Add debug info to settings drawer
  • Add get user props sync api endpoint

πŸ› Bug Fixes

  • Centrum dispatch activity feed and improve color polyfills
  • Amber color usage and polyfills colors
  • Improve color palette change funcs
  • Marker unit text color
  • (templates) Hide approval task add button in view when disabled
  • Testdata base data issue caused by templates ordering change
  • Documents base test data
  • (livemap) Heatmap perms check missing causing perm denied
  • Heatmap livemap error for good and improve server auth errors
  • Postcss plugin imported assets warning
  • Small ui/ux cleanups and improve stream msg var naming
  • (input) Show/hide hours:minutes in input date range based on width
  • (audit) Skip sync service calls authed by api token
  • Audit log correct user_job column as well
  • (audit) Use auth kind as consideration for skipping log
  • Add shellcheck to flake.nix
  • (audit) Null user job in audit if empty
  • Livemap own marker and empty phone number handling
  • (livemap) Prevent user marker stream stalls
  • (livemap) Using wrong jobs list for visibility checks
  • (lint) Assert equal vs true usage

v2026.7.3

πŸš€ Features

  • (sync) Add user dispatch auto-close RPC

πŸ› Bug Fixes

  • Css color var issue and circle radius sizing
  • (marker) Perms check for editing public markers
  • Sync api marker creation missing job label and improve public
  • Run linters and formatters
  • (livemap) Store markers tests

v2026.7.2

πŸš€ Features

  • (vehicles) Add wanted activity backend
  • (vehicles) Add activity feed UI
  • (sync) Add EndActiveJobTimeclocks api method
  • (laws) Notify clients on laws changes

πŸ› Bug Fixes

  • (sync) Use job names for job grade syncing
  • (mailer) Thread list refs issue
  • (mailer) Thread list and page param issue
  • (filestore) Use alias tags for Jet scans
  • (vehicles) Cleanup activity feed style and safe job info enrich entries
  • Timeclock query issues
  • Better-sqlite3 build issues
  • (timeclock) Cleanup sorting and list
  • (dbsync) Normalize user jobs from jobs list
  • (auth) Restore account session without reopening websocket on refresh
  • (notifications) Avoid empty job subjects
  • (auth) Add session restore regression test
  • (jobs) Align timeclock test with query shape
  • (cookies) Use 1970 expires time value and use utc time
  • Job select menu not being full width
  • (sync) Phone_number and more correctly set to null on insert
  • (centrum) Dispatchers job not checked in cleanup logic
  • (grpc) Gracefully handle context canceled in streams
  • (streams) Treat canceled NATS-backed streams as clean shutdowns
  • (demo) Block until base data has been seeded
  • (demo) Refresh jobs when demo data generation is done
  • (auth) Hide chooseCharacter error on restore by account token only
  • Drawers having 2 close buttons due to nuxt ui changes
  • Version info being different between backend and frontend
  • (query) Reduce line length of fk constraints
  • Cleanup utils package
  • Law page ref undefined issue by updating nuxt
  • (laws) Law hint not spaced properly with the description
  • (sync) Updating hashes before data send was successful
  • (oauth2) Move account token helpers out of generated package
  • (auth) Revalidate current route after permission refresh
  • Cleanup padding/margin for Data*Block components
  • (colors) Improve polyfill colors and use buttons for design color
  • App utils color tests

v2026.7.1

πŸš€ Features

  • (livemap) Add circle blink controls
  • (sync) Add marker activity sync
  • Support public livemap markers
  • (config) Add setup_complete bootstrap state and setup redirect flow
  • (config) Introduce first-time setup wizard
  • (setup) Centralize client config sync after setup
  • (notifications) Account-first stream with char-scope upgrade
  • (notifications) Add send test notification sub command
  • (fabric) Add more shapes to editor
  • (jobs) Add conduct entry restore permission
  • (editor) Add spoiler details support
  • Add new tailwindcss 4.2 colors

πŸ› Bug Fixes

  • Jobs id resolver
  • Remove group field from users select
  • Storage metrics ttl timeout and log messages
  • Use more proto setters
  • (documents) Reference and relation creation handling for edit access
  • (oauth2) Add oauth2 provider name limit and cleanup logs
  • File list preview image not re-rendering on changes
  • Nats store/stream registration issue in userinfo usage in tests
  • (livemap) Move events logic to store and add DeleteMarker sync api
  • (livemap) Improve marker public cleanup and creator handling
  • (sync) Add missing protovalidate required field flags for sync api
  • (livemap) Update cache for sync-created markers
  • (livemap) Keep public marker updates visible for allowed jobs
  • (livemap) Make circle blink overlay non-interactive
  • (perms) Frontend generating aliased permissions
  • (config) Properly reload app config on first-time setup
  • (protoc) Add tests to frontend permify generator
  • Change app config update order in first-time setup
  • (auth) Validate config-admin with live account state
  • Add icons to error page buttons
  • Add description text to stats page app config toggle
  • (completor) Allow CompleteJobs with account token only
  • Use label for default perm entries
  • (grpcws) Clear stale char auth for account-only notifications
  • (grpcws) Clear char token on account-only reauth
  • (grpcws) Auth scope for account-only switches
  • (websocket) Prevent stale auth and stream frame replay
  • (grpcws) Keep tokenless reauth and clean up websocket tests
  • (grpcws) Improve handling of cancel frames in the current system
  • (notifications) Unread count var name on client side
  • Add analyze dir to .gitignore
  • Cleanup jobprops logo sql condition and click event handlers
  • (auth) Restore char session state on reload
  • Add Unwrap to errswrap pkg
  • Correct set user token + activeChar order
  • Auth superuser test issue
  • Keep account-only RPCs tokenless while preserving character restore
  • Skip websocket token reauth until connected
  • (auth) Bind restored character tokens to selected character
  • Refine backend error wrapping
  • Refine frontend gRPC error handling
  • Conduct list auto refresh not working
  • Re-order settings page items
  • (app) Configure bundled Nuxt UI icons
  • (notifications) Preserve durable stream consumers
  • (testdata) Sql foreign key import issues and missing doc fields
  • (grpcws) Add websocket status to error logs
  • Add new colors as rgb to css polyfills
  • Remove unused culori js package
  • Pin vue to 3.5.40 to fix nuxt vitest issue
  • Js linter complaint

v2026.7.0

πŸš€ Features

  • Handle and notify on user primary job and groups changes
  • Split superuser access into two based on account groups
  • Switch logout page design to use auth card design

πŸ› Bug Fixes

  • Make jobs id and job_id for grades optional
  • Centrum dispatchers cleanup and protogetter linter
  • Notification provider reliability and lint issues
  • Display notification when user job/grade changed
  • Add missing fallback to unemployed job when user has no jobs
  • (notifications) Restore original job on superuser revocation
  • Only clean up user data once
  • Cron list template type issues
  • Improve config admin access separation
  • (auth) Refresh config-admin state on account group changes
  • Update helm chart in channels.json
  • Demo delete jobs query on start

v2026.6.3

πŸš€ Features

  • Switch to subject based access control
  • (documents) Add required access helper
  • (wiki) Add drag'n'drop to page reorder list
  • Switch to UEmpty for DataNoDataBlock component

πŸ› Bug Fixes

  • (calendar) Issues with access control to entries
  • (calendar) Max length of calendar and entry description fields
  • (sanitizer) Unescpae sanitized strings by default
  • (cookies) Go back to same site none header
  • (livemap) Issues with async/dynamic icons not showing on hide
  • (livemap) User icon missing
  • (livemap) User marker icon issue with sizing
  • (wki) Index page containing debug output
  • (ui) Cleanup and deduplicate code
  • (calendar) Improve discord reminders code
  • Notifications issues and fx DI opts
  • Some query table alias issues
  • (editor) Required access ui changes
  • (access) Cleanup and fix subject-based access control
  • (sql) Make gen-sql
  • New access type not used everywhere yet
  • Documents update issue caused by get query using wrong condition
  • Continue cleanup and acl fixes
  • Tests and add more methods to stores
  • Cleanup documents store and nil issues
  • Required missing from input fields of document request drawer
  • (calendar) Discord reminder setting test issue
  • (document) Transfer relations + references on owner change
  • (acl) Deny condition in sql based visibility backend
  • (citizens) Get user label condition issue
  • (documents) Add soft-delete to stamps
  • (calendar) Add pagination to sidebar calendar list
  • Job props retrieval issues
  • General table alias issues
  • Switch German Lexikon to Wiki
  • (queries) Table alias issues for sql INSERT, UPDATE and DELETE
  • Add clear accounts groups for accounts sync
  • (calendar) Query table aliases issue
  • (calendar) Update query using wrong table alias
  • More queries using wrong table alias
  • Doc approval task decidedTask var not correctly assigned for given
  • (calendar) List calendar entries private entries missing
  • (calendar) Correct entry access filtering
  • (calendar) Show deleted icon for deleted entries
  • Visibility CTE handling in calendar and qualification queries
  • (qualifications) Requests and results issues
  • (citizens) Labels job column cte alias issue
  • Timeclock query
  • (timeclock) Column naming issues
  • More insert/update/delete queries using aliased tables
  • Cleanup centrum housekeeper code and fix accounts retrieval for
  • (accounts) User accounts mapping issues
  • Phone number blur when streamer mode is enabled
  • Cleanup discord calendar reminder embed and use job logo if
  • (documents) Allow edit if user has access but no permission
  • (jobs) Add id to jobs and job_id to job_grades
  • Update accounts sync example for groups in esx

🏭 Refactor

  • Extract store query methods from services

v2026.6.2

πŸš€ Features

  • (editor) Add fullscreen modal for images in document view
  • (wiki) Add rank-based page ordering
  • (wiki) Reuse shared client helpers
  • (wiki) Change MovePage to be a standalone permission

πŸ› Bug Fixes

  • (livemap) Satelite -> satelitte typo
  • (discord) Custom error for expired discord token
  • (docs) De-duplicate screenshot for readme
  • (mailer) Private email creation and confirm leave issues with new
  • (calendar) Description not using content message and no default access being set for calendar
  • (calendar) Access level for entry deletion not being EDIT
  • (calendar) Hide all day label for birthdays
  • Livemap satelite -> satelitte issue and calendar description
  • (editor) Image height/width + align handling in node
  • (centrum) Dispatch sidebar always being shown
  • (i18n) German calendar translation
  • (calendar) Recurring entries query logic
  • (sanitizer) Tiptap image test case
  • (calendar) Use separate occurence version for rsvp logic
  • Cleanup some type issues and add shortucts
  • (discord) Add helper to check error
  • (calendar) Recurrence version missing from query
  • File fomatting
  • Address some golangci-linit complaints
  • (wiki) Keep active page highlighted
  • Linter complaints
  • Wiki page view ui permission checks
  • (documents) Stats not returning results for other jobs
  • (calendar) Cal/entry deletion not closing view slideover
  • Update limiter templates to include wiki reoder page permission
  • Update zxcvbn-ts to v4.1.0

v2026.6.1

πŸš€ Features

  • Add shared unsaved-changes handling
  • Add polyline support for livemap markers
  • Validate list/search requests using composable and form state
  • (tiptap) Add map block embeds
  • Add map location block extension to editor
  • Use beforeunload event to block refresh for unsaved changes
  • (calendar) Add birthday system calendars
  • (calendar) Support birthday occurrences in ui
  • (documents) Add menu with predefined times as the reminder button
  • (calendar) Finish calendar recurring appointments and discord

πŸ› Bug Fixes

  • Use typed string list in backend code where possible
  • (frontend) Add typed frontend permission attributes
  • Add missing name attribute to UFormFields
  • UseFormSearchValidation issue for nested proxy in objects
  • Wrong import path for maker creat/update dialog
  • Adjut vscode settings to prefer non-relative import paths
  • Ts lint issues
  • Mapblock vitest case
  • Livemap background color issue
  • General UI and transport cleanup
  • Lint issue and MapBlock test
  • Update html and tiptap sanitizer for new extensions
  • Go fmt files and use assert/require for new calendar tests
  • Improve mapblock inline behavior
  • Change birthday default color
  • (calendar) Cleanup birthday entry view
  • (calendar) Handle birthday occurrences and legacy system kinds
  • (calendar) Summary list missing entry icon
  • (calendar) Reorganize calendar components
  • (calendar) Remove unused code path
  • Improve tiptap empty check and tiptap to text
  • Gosec warning
  • Run discord calendar reminders as standalone loop and not cronjob

v2026.6.0

πŸš€ Features

  • Add basic private discord message handler to bot and add i18n
  • Add more buttons for table edit popover in tiptap editor
  • Add image removal to file list modal
  • Add proper file limit logic to filestore
  • Split job colleague labels into separate page and fix labels not
  • Add creator filter for dispatches archive and add repeated proto
  • Add enum defined only validation where missing from proto files
  • Add centrum units reorder api and ui
  • Add dispatcher removal button and highlight current user
  • Add no dispatches list to dispatch center
  • Add citizen labels sorting
  • Add job selection to documents stats
  • (re-)store dispatch center pane sizes
  • Detect and filter content type of uploaded files
  • Introduce re-useable DraggablHandle and ReorderButtons components
  • (livemap) Add rectangle and polygon marker proto types
  • (livemap) Add interactive marker geometry editing on map
  • Add laws sort_order column and re-gen sql and proto
  • Add laws order sort_order ui handling
  • Add maker search drawer to livemap
  • Color document activity icons for approval entries

πŸ› Bug Fixes

  • Add limits to most UPDATE and DELETE queries
  • Some perm translations and autocomplete change in nuxt/ui 4.8.0
  • Update config example comments
  • Upsert stamps call issues
  • Continue documents stamps work
  • Improve discord private message text
  • Tiptap editor files not giving file limit feedback
  • Sql query tests caused by jet paranthesis changes
  • Tiptap image removal when image doesn't exist in editor
  • Add action successful notification to file removal in file list
  • Consistently use stretchr/testify/assert and require packages for
  • Duplicate SetUserProps perm in citizens.LabelsService
  • Penalty calculator view difference between html and tiptap json
  • Remove case_count metric from documents
  • Input time picker and remove delete penalty calculator button from
  • Qualifications labels sync creating label without color
  • Doc stats generation tests
  • Jobs stats returning empty list
  • Jobs colleagues stats average vacation
  • Use minimum release age to 1 day
  • Remove exclude flag from git describe calls
  • Centralize user locale logic in a composable
  • App config penalty calculator max leeway validation issue
  • Client config json field name for stats page setting
  • Cleanup http server and improve iconify proxy request building
  • Run golangci-lint --fix
  • Add more created_at columns and check int size in reorder units api
  • Unit list ordering
  • Unit list sorting
  • Update sortOrder in client centrum store
  • Type issue due to job labels order -> sortOrder
  • Icon select menu performance and other general issues
  • "conflicting" citizens labels permission and cleanup components
  • Colleagues list cards labels list overflowing
  • Citizen labels access table naming
  • Some dispatch center automatic statuses not having creator job and
  • Dispatch list card view created at time badge
  • Debug output in dispatch list card view
  • Centrum -> dispatch pages rename issue
  • OnBeforeRouteLeave handler for centrum/dispatch pages
  • Centrum to dispatch rename
  • Cleanup some ui and status creation issues for dispatch center
  • Ensure own job's doc categories on top of completor results
  • Dispatch center unit icon/color usage
  • Remove debug output from centrum store
  • Improve filestore upload filter error handling on client-side
  • Remove dispatcher perm check in dispatcher drawer
  • Documents stats categories not being returned correctly
  • Replace table header buttons with generic component
  • Add go vscode extension to recommendations
  • Remove old excluded tables from gen-sql
  • Cleanup kong command handling logic
  • Convert stats backfill query to use go-jet tables
  • Check edit access to livemap marker
  • Jobs colleagues labels query issue
  • Improve document approval status logic and badge

v2026.5.1

πŸš€ Features

  • Add log to stderr option
  • Remove custom code in favor of packages
  • Rework permissions structure and views
  • Add citizen labels housekeeper logic and feed entry
  • Add self update command to fivenet binary
  • Rework InputDate* and add dedicated InputTimePicker component
  • Add typed string-list permission references
  • Add soft-delete accounts and laws with updated service contracts
  • Improve citizen label access handling and UI
  • Apply lifecycle hook updates and assorted UI fixes

πŸ› Bug Fixes

  • Rename completor citizen label into citizens labels service
  • Adjust hero pattern background color and remove gradient
  • Rbac test data
  • Node lint issues
  • Auth flow test issues
  • Superuser perms test for non-existing permissions
  • Golangci-lint complaints
  • Label expiration not being inserted for citizen labels
  • Setting and retrieving citizen labels
  • Update .gitignore
  • Input duration picker test
  • Remove todo comment from citizens set labels
  • App config default perms translations using wrong key
  • Remove deprecated permissions from app config on load
  • Tiptap is empty doc check
  • Jobs colleagues service permission icon

v2026.5.0

πŸš€ Features

  • Add run cronjob manually function
  • Warn about config location and add restart command for dbsync
  • Return last activity/data time in getstatus sync api
  • Add basic tests to pkg/perms
  • Continue work on citizens labels settings
  • Add log to stderr option

πŸ› Bug Fixes

  • Ensure ids are set for vue-timeline-chart groups, items and markers
  • Show color code in color picker input
  • Label settings validation
  • Document editor data issue with penalty calculator
  • Penalty calculator editor and view not in sync and doc stats query
  • Stamps create page perm
  • Pnpm lock file outdated
  • Change citizens labels structure
  • Adjust dbsync install config file warning text
  • Use single delete query instead of per grade execution
  • Remove reason from citizen label and fix duration pair validation
  • Cleanup spa loading template and experimental nuxt opts
  • Log to file not working correctly and added log rotation interval
  • Use label/value attribute for more components
  • Adjust add notification arg
  • Split up grpc services into more manageable apis
  • Tweak german translation

v2026.4.0

πŸš€ Features

  • Enable pagination edge buttons
  • Add InputDurationPicker and improve duration selection
  • Merge sync v2 into main api
  • Merge CompleteDocumentCategories to ListCategories perm

πŸ› Bug Fixes

  • Citizens errors key
  • Split dbsync user hash check to separate func
  • Attempt to improve dbsync syncers for users and vehicles
  • Don't select data json in users sync
  • Attempt to use per sync run now guard to improve sync performance
  • Don't rely on UTC use time directly for dbsync queries
  • Dbsync timestamp timezone issue
  • Jobs timeclock inactive list group by issue
  • Timeclock list time issue
  • Further increase vitest hook timeout
  • Send users in chunks in dbsync
  • Ignore vitest updates
  • Update dockertest pkg to v4 and update go-grpc-middleware dep
  • Check if custom query is not nil and not empty
  • Missing ORDER BY for example vehicles custom dbsync query
  • Update sync api limits and chunk accounts data if needed
  • Vitest upgrade issue caused by vitest 8 being pulled in
  • Tiptap json to html and back conversion causing spaces to disappear
  • Return missing citizen labels settings
  • Add fivenet version to system status title

v2026.3.2

πŸš€ Features

  • Add demo content like jobs, licenses and laws
  • Add centrum and jobs activity demo data
  • Add demo data generation for vehicles
  • Add settings to citizen/user labels
  • Add icon to labels and change citizen label api

πŸ› Bug Fixes

  • Implement demo mode feedback
  • Demo account identifier/license mixup
  • Prefix error translation keys by service/dir
  • Dbsync user jobs cleanup/filtering
  • Add deleted label handling for superuser
  • Icon select search being overly strict
  • Label icon not clearable and insert/update query issue
  • Sql mode ONLY_FULL_GROUP_BY timeclock for total time queries
  • Superuser job select menu label issue
  • Update nats image to 2.12.6 in docker-compose.ymls
  • Update overview screenshot
  • Typo in docker-compose.yml
  • Doc approval decline not working due to "empty" payload svg
  • Cleanup linter issues
  • Frontend linter issues
  • Replace vueuse useVModel() with vue defineModel()
  • Enable additional linters and fix context linter issues
  • Truncate grpc web response trailer bytes to max if truncated
  • Audit log grpc interceptor arg change causing error to be lost
  • Address gosec linter failures
  • Make all CommandPaletteGroup arrays computed and fix type of
  • Pnpm install issue caused by mdc/shikijs dependency
  • Dbsync for single user with custom query

v2026.3.1

πŸš€ Features

  • Add name override for user marker
  • Add stats for documents
  • Add per job employee count metric generation
  • Add sex value mapping for citizen profile

πŸ› Bug Fixes

  • Ensure penalty calculator data set/unset according to block's
  • Clear user props when name override set on user location
  • Improve audit log services/methods selection
  • Audit log methods clear for unselected services
  • User marker not "merging" user marker data
  • Clear user marker name override data
  • Centrum enabled notification popping up when it shouldn't
  • Audit log methods select menu items
  • Audit service name (strip services. prefix)
  • Missing translation for citizens labels page
  • Add title to ErrClosedDoc error
  • Add toggle all to role view for superusers
  • Add total data to penaltycalculator document data
  • Adjust doc stats charts display on client
  • Adjust documents metrics table default
  • Address feedback for composable changes
  • Penaltystats detention unit
  • Stats feedback and stats rebuild mutex lock
  • Add min/max date to stats date range picker
  • Update dbuitls StringPEmpty comment
  • Stats date range picker icons
  • Stats doc categories restricting categories by job
  • Add missing stats categories perms check
  • Use category badge for documents by category stats
  • Penalty stats detention time unit display
  • Update optimizeDeps list
  • Missing stats perms service translations
  • Stats metrics table foreign key name consistency
  • Update nuxt.config.ts optimizeDeps list
  • Use DI docstats for jobs metrics cron
  • Add employee count metrics
  • Dbsync "double" quote for columns with backticks
  • Data*block padding/margin and comments field not reset on send
  • Colleagues stats chart
  • Stats service perms still showing
  • Update nats container image to 2.12.5-alpine3.22
  • Add breadcrumbs to stats pages
  • Mstlystcdata docscategories not loading categories as expected
  • Template editor scroll/overflow issue
  • Jobs nav menu not checking perms properly
  • Jobs colleagues stats perm
  • Add visarea to visline for absent employees chart
  • Add missing display intlLocale and currency settings to app config
  • Cleanup clientconfig proto messages

v2026.3.0

πŸ—οΈ Breaking changes

  • V2026.2.0 changelog and update breaking changes steps

πŸš€ Features

  • Add max duration for citizens and vehicles to UI
  • Add max wanted duration for citizens and vehicles
  • Make citizen height searchable
  • Add browser topic to discord bot /help command
  • Add all and own documents tabs to doc list
  • Add id copy badge to account list
  • Add trigger user sync to settings system service
  • Add tiptap suggestion menu and re-gen proto ts files
  • Add sync user table for debugging
  • Add xxhash logic to dbsync users and vehicles syncers
  • Add custom useSounds to replace @vueuse/sound and add custom
  • Add search bar to document templates list
  • Replace qualifications tabs into separate pages
  • Add metrics to dbsync
  • Add penalty calculator integration for editor
  • Store penaltycalculator data in document

πŸ› Bug Fixes

  • Change impersonation to original job in auth tokens
  • Add original job to debug info
  • Pinned document list not appearing on wide screens (2xl)
  • Add button component to /fivenet command
  • Discord bot modules to use new fivenet_user_jobs table
  • Test data type
  • Add test case for userinfo discord bot module
  • Length based comparisons off by one
  • Default config default values for discord bot section
  • Dbsync accounts column names
  • Nil issue in dbsync state logic
  • Dbsync state file upgrades
  • Single account group not converted to groups for accounts table
  • Dbsync accounts groups issues
  • Data separation migration queries
  • Account update activity sync
  • Discord bot group sync group query
  • Document view empty when first child content is empty
  • User claims and user info "merge"
  • Conduct entry creation
  • Colleague info popover causing error notification
  • Discord groupsync issues
  • Show offset in dbsync log messages
  • Add license field to users for faster lookups
  • Improve dbsync log fields
  • Dbsync user updates not updating license
  • Increase tiptap doc limit for now due to base64 images
  • Conduct register editor issues
  • Adjust sync api user id/identifier "override" logic
  • Attempt to fix user sync issue
  • Override all columns even for "new" users in sync api
  • Issues with source code modal in template editor
  • Remove rounding of document list tabs
  • Move doc tabs to a toolbar
  • Start to streamline dbsync syncer logic
  • Db migration info missing when migrations are skipped
  • Add debug log for single user sync calls
  • Dbsync state init order issue
  • Dbsync stream message forwarding
  • Dbsync single user sync query
  • Sync api incorrectly updating users
  • Set user blood type on create in sync api
  • Improve user duplication handling logic
  • Remove debug output from sync logic
  • Vehicle owner identifier not selected correctly for auto query
  • Dbsync sync client causing issues on restart
  • Add tests to groupsync module for planUser logic
  • Rename dbsync tablemanager files
  • Improve discord qualifications module
  • Improve discord bot base module handling
  • Discord qualifications module query issue
  • Add tests for leaderelection
  • Cleanup foreign key to esx users references
  • Groupsync only using account id at the moment
  • Discord user's roles sum merging
  • Example for dbsync user sex mapping
  • Use partial json unmarshal as default
  • Only show documents pinned list for xl
  • Oauth2 login
  • Dbsync user jobs comparison
  • Dbsync user jobs and phone number comparison + add tests
  • Dbsync single user query issue
  • Colleague info page prefix/suffix not having any distance
  • Auth password forgot form not unlocking form
  • Discord oauth2 connect not working
  • Oauth2 connect test case
  • Improve yjs editor reconnection not resetting loading state
  • Use configured limits for syncers
  • Cleanup centrum color funcs
  • Remove sound config from nuxt.config.ts
  • Dbsync hashes length check issue
  • Remove z.coerce()...optional() calls
  • Dbsync vehicles hash check not re-checking length after delete
  • Livemap marker deletion causing all to disappear
  • Attempt to fix infinite document workflow reminders
  • Update code comments
  • Update code workspace settings to fix code vitest extension
  • Qualification view toolbar showing when empty
  • Cleanup qualification exam ui handling
  • Superuser mode toggle
  • Improve auth info box texts when in-game (NUI is enabled)
  • Discord qualifications role sync
  • Improve auth service error messages
  • Oauth2 user store not updating tokens correctly
  • Make discord guild/server select menu full width
  • Use user jobs table for timeclock colleague job
  • Remove debug output
  • Change field names of auth service Change* methods
  • Discord qualifications module user account id query
  • Discord qualifications role user plan logic
  • Correctly query accounts and user jobs table in discord
  • Fabricjs center/zoom issues
  • Contine refining fabric editor components
  • Is empty rich content doc check
  • Remove synced up state from dbsync state
  • Move to db cursor based paging for dbsync users and vehicles data
  • Add Resync() func for single syncs
  • User phone numbers insert on update query issue
  • Make gen-sql
  • Cleanup user phone numbers in user dbsync syncer
  • Dbsync user sync not running as expected
  • Simple dbsync query order by columns
  • Improve dbsync batch loop limitation
  • Cleanup dbsync log fields
  • Dbsync accounts setting last check
  • Handle duplicate user in dbsync user creation
  • Drop overlapping indexes
  • Duplicate indexes migration
  • Cleanup otel noop module
  • Role deletion not working and add reset role button
  • Dispatches not appearing in map cluster picker list
  • Get colleague using correct user jobs job condition
  • Replace mysql.Exp(mysql.Raw()) with mysql.Raw*() directly
  • Move to livemap dispatches_job_JOB layers instead of dispatches_all
  • Hide penalty calc button for documents editor
  • Missing tooltip in penalty calc view
  • Normalize groupsync map
  • Search and replace popover result view
  • Penalty calculator view showing alert box

v2026.2.0

This version includes changes from v2026.1.3 that had been created to fix module versioning issues.

πŸ—οΈ Breaking changes

  • ESX Compatibility mode has been removed in favor of DBSync.
    1. You need to setup the DBSync to query and sync your gameserver's data.
    2. Update FiveNet to at least this release.
    3. Start up your FiveNet server with the new version/release so it runs the latest database migrations.
    4. Stop your FiveNet instance and stop the DBSync before continuing.
    5. Take a data only (no CREATE TABLE statements) dump of the fivenet_* database tables.
    6. You can use the following queries to migrate ESX data to FiveNet directly:
      -- Users
      INSERT INTO `fivenet_user` (
          id,
          identifier,
          `group`,
          job,
          job_grade,
          firstname,
          lastname,
          dateofbirth,
          sex,
          height,
          phone_number,
          disabled,
          visum,
          playtime,
          created_at,
          last_seen
      )
      SELECT
          id,
          identifier,
          `group`,
          job,
          job_grade,
          firstname,
          lastname,
          dateofbirth,
          sex,
          height,
          phone_number,
          disabled,
          visum,
          playtime,
          created_at,
          last_seen
      FROM `users`;
      
      -- Licenses
      INSERT INTO fivenet_licenses (`type`, `label`) SELECT `type`, `label` FROM licenses;
      -- User Licenses
      INSERT
          INTO
          fivenet_user_licenses (`user_id`,
          `type`,
          `owner`)
      SELECT
          u.id,
          ul.`type`,
          ul.`owner`
      FROM
          user_licenses ul
      INNER JOIN users u ON (u.identifier = ul.`owner`);
      
      -- Owned Vehicles
      INSERT INTO `fivenet_owned_vehicles` (`owner`, `user_id`, `job`, `plate`, `model`, `type`)
      SELECT `owner`, NULL, NULL, `plate`, `model`, `type` FROM `owned_vehicles`;
      
    7. Run the DBSync and wait for all data (e.g., users, vehicles) to be synced to the FiveNet table (e.g., fivenet_user).
    8. Now you should be able to restore the data only dump of the fivenet_* tables.
  • Document Editor now uses Tiptap JSON format (wrapped in a basic Proto message).
    • It is recommended to migrate any HTML documents to the JSON format, example command: fivenet migrations docstojson --dry-run, when you are sure that the affected documents are correct, run fivenet migrations docstojson --no-dry-run to actually apply the migrations.

πŸš€ Features

  • Data separation and management design implemented
  • Re-organize and split proto files
  • Cleanup proto messages and structure
  • Update go generated sql models/tables
  • Improve account editing logic and data separation migrations
  • Add superuser jobs list
  • Add table update logic (adding/deleting columns/rows)
  • Add basic limiter role perms and attrs templates
  • Restructure dbsync code
  • Improve jwt token usage on client-side
  • Add cayo perico island livemap app toggle
  • Introduce user jobs sync for multi job systems
  • Add dbsync logic for user phone numbers
  • Create index in dbsync tablemanager

πŸ› Bug Fixes

  • Cleanup oauth2 providers
  • Oauth2 test case
  • Tablemanager and i18n tests after %s -> %q changes
  • Ui inconsistencies and doc post comment error
  • Doc comment editing button not showing
  • Improve access badges format and info shown
  • More translations for fabric editor components
  • Improve impersonation integration with superuser
  • Move impersonating banner to top and make it slimmer
  • Split superuser mode activated/deactivated notification
  • Color "green" used where it should "success" color instead
  • Remove outdated hint
  • Add base html/css named colors to sanitizer
  • Doc approval snap date issues and task selection
  • Approval task inbox list
  • Remove debug print log
  • Change housekeeper units comment to FIXME instead of TODO
  • Start replacing typed routes and cleanup content funcs on client-
  • Use user_id for user locations instead of identifier
  • Sql migrations and change test cases as needed
  • Sql testdata
  • Send ErrNoUserInfo when no account is found
  • Add titles to more auth service errors
  • Add missing db conn parameter example and add wip v2 sync api
  • Proto generated clients.ts using wrong import
  • Users sync and add comments count to document meta
  • Improve audit log entry copy text button
  • Jobs pages permissions
  • Citizen activity reason
  • Auth perms check superuser logic
  • Restart notifications stream on superuser mode switch
  • Websocket re-auth logic missing
  • Link chars to account ids on login for now
  • Improve document references and relations tables
  • Update .nuxtrc
  • Cleanup app plugins and update nuxt-update
  • Move cayo perico overlay coords to separate file
  • Split timeclock stats drawer into separate component
  • Correct cluster picker hidden marker count
  • Add missing icons for document approval feature
  • Typecheck complaints
  • Js jwt tests
  • Issues with user licenses and jobs sync
  • Update dbsync example config
  • Move sync api details to separate struct in config
  • Grpc transport insecure logic
  • Document relations by default including documens the user created
  • Comment count display in doc view
  • Calendar creation issue and add all day events
  • Nil issue in dbsync
  • Issues with docs not having a meta entry
  • Add sync getstatus call on start
  • Log synced count
  • Dbsync subtract from last check time to prevent data loss
  • Livemap overlays not included in images
  • Dbsync tablemanager test case
  • Update livemap tiles submodule
  • Add apple-touch-icon to rel entries
  • Filestore admin file list
  • Dbsync tablemanager test case failure
  • Get mysql image for tests from docker-compose.dev.yaml

v2026.1.1

πŸ› Bug Fixes

  • Git release notes showing wrong version
  • Http server always returning 400
  • Api routes grouping

v2026.1.0

Changelog

All notable changes to this project will be documented in this file.

2025.12.0 - 2026-01-17

πŸš€ Features

  • Add aligning guidelines to fabric
  • Add copy debug info button
  • Add registered since time to account info
  • Migrate html json legacy to tiptap json format
  • Add "focus" mode (highlight current block) to tiptap
  • Add notification for editor file upload
  • Dbsync service arguments and added status command
  • Add basic data mode structure
  • Add timeclock entry generation to demo data
  • Image proxy + iconify api always enabled
  • Add v-model to fabricjs editor component
  • Add basics for config validation and image proxy minimum cache

πŸ› Bug Fixes

  • Wiki page toc not showing correctly and cleanup path logic
  • Doc relation and reference addition/removal not working
  • Penalty calculator warning not respecting new lines
  • Port filesystem storage and wrapper changes from feature branch
  • Implement tiptap json for more editors
  • Continue work on implementing new tiptap json content format
  • Filesystem storage test issues
  • Fixup issues caused by switch to tiptap json format
  • Editor version diff/history modal
  • Content detection in content query logic
  • Dbsync config loading
  • Dbsync not adding database config to base config
  • Dbsync applying migrations due to table manager
  • Dbsync query issues with "empty" conditions
  • Dbsync jobs query issues
  • Allow columns to be disabled in dbsync
  • Dbsync sql not ignoring columns
  • Add missing dbsync started log message
  • Dbsync jobs filter causing out of bounds
  • UseLogger prefix type check
  • Improve dbsync table manager
  • Fx opts issue caused by dbsync module changes
  • Update fx modules ordering
  • Add missing tests-js makefile target
  • Add fx modules and re-order in list
  • Change dbsync stream "dropped" to warn
  • Test issues caused by recent db migrations
  • Add char limits to editors
  • Show timeclock entries regardless of user's actual job as long as
  • Approval signatures getting inserted with "different" snapshot date
  • Return document meta with ListApprovalPolicies response
  • Update eslint config to ignore no multiple template root errors
  • Broken image url
  • Backend filestore routing and change some modals to drawers
  • Issues with job logo and switch to rounded-md for avatars
  • Center document state and approved badges in doc list
  • Add line-clamp to qualification tutor list comment and summary
  • Qualifications toolbar missing classes
  • Start fixing button colors and improve template selection
  • Switch to xsync map All() in favor of Range() with funcs

βš™οΈ Miscellaneous Tasks

  • Remove container-build step in favor of matrix container build

v2025.12.0

Changelog

All notable changes to this project will be documented in this file.

2025.11.0 - 2025-12-30

πŸ—οΈ Breaking changes

  • Add otelsql breaking changes

πŸš€ Features

  • Add duplicate validation for access entries
  • Continue document layouts work
  • Use fabricjs to create a svg editor
  • Rename layouts pages to forms
  • Add basic page structure for forms
  • Add wip curved text to fabric editor
  • Add toggle to disable event effects in user settings
  • Add snow (event) effect to all layouts
  • Implement notepad saving and auto save
  • Add kbd shortcut to clipboard modal
  • Add licenses for images/icons, fonts and update sounds

πŸ› Bug Fixes

  • Access entry issues and centrum sidebar unit header
  • Adjust duplicate access entry warning texts
  • Some ui logic issues
  • Add hint for snow/holiday effect user settings toggle
  • Jobs conduct deletion and restore not working as expected
  • Disable notepad feature (still WIP)
  • Remove .env.example
  • Dashboard shortcuts not working and finalize notepad
  • History store not correctly storing entries
  • Editor source code textarea height not fitting to modal
  • Re-gen proto gen files and show mathcalculator for all users
  • Remove mathcalculator quickbutton
  • Quickbuttons type issue caused by changes
  • Job props proto unmarshal issue
  • Fabric editor sidebar type issues
  • Use links for templates in templates list page
  • Ui job access check not using creatorJob override as expected
  • Cleanup some log calls

v2025.11.0

πŸš€ Features

  • Add follow user location to livemap user marker
  • Add livemap "smart select" for when a lot of markers are at the
  • Replace nanoid with crypto.randomUUID in format builder
  • Add document self approve option for approval policies
  • Add self approve allowed to approval ui elements
  • Hide markers of invisible layers in multi select picker
  • Update to nuxt 4.2.1 and nuxt ui 4.1.0
  • Improve math and penalty calculator logic
  • Query builder using columns + table name for dbsync
  • Cleanup app config structure and approval calculation logic
  • Add more tests to utils functions
  • Add penalty calculator settings and warn message with thresholds

πŸ› Bug Fixes

  • Remove approval service todo comment
  • Generic img disabled style when popover is disabled
  • Calendar access check
  • Approval policy creation issue from template data
  • User marker self follow and unmarshal in userinfo retriever
  • Notification stream not being started anymore
  • Change livemap multi hit group order
  • Livemap single marker not showing popup anymore
  • Allow log level toggle in debug info for anyone
  • Remove unused vars from debug info
  • Jsdoc comments in stores and fine grained livemap subject filters
  • Go format issues
  • Missing wiki page activity translation and traffic points modal
  • Citizens actions double sidebar issue
  • Notification list html ui structure
  • Don't compile i18n vars replacement regex every call
  • Qualification tutor view user search
  • Add missing filters logic for users job
  • Change self approve default value of table column
  • Improve config structs to avoid duplication in dbsync
  • Timestamp/datetime mixup
  • Approval time/timestamp insert
  • Add renamed components
  • Cleanup type issues and add basic penaltycalculator config
  • Remove leftover generated file
  • Livemap centrum sidebar issue on small screens
  • Pinned list sizing and showing when it should be closed
  • Livemap centrum sidebar showing when it shouldn't
  • Check can stream to centrum sidebar
  • Update css path for prettier plugin
  • Format app files
  • Bump helm chart version
  • Add additional indexes for user locations table
  • Import issue caused by utils import usage
  • Add missing description text to penalty calculator app config
  • Use intl format options for more number inputs
  • Unused trailing-icon attribute

v2025.10.2

Changelog

All notable changes to this project will be documented in this file.

2025.10.1 - 2025-10-24

πŸ› Bug Fixes

  • Aliased permissions appearing and type issues
  • Approval recalculation and badges in ui

v2025.10.1

Changelog

All notable changes to this project will be documented in this file.

2025.10.0 - 2025-10-24

πŸš€ Features

  • Add toggle all layers button to livemap controls
  • Add content nav to wiki smaller screens
  • Add option to use unit color for user marker icon
  • Allow multiple root wiki pages and improve wiki nav ui
  • Add file list to wiki page view

πŸ› Bug Fixes

  • Document approved state calculation
  • Approval badge showing in ui when it shouldn't
  • Approval policy template form issue
  • Pagination and sorting issues
  • Doc deletion error and wiki root only acces check
  • Tiptap editor table popover and add link display
  • Remove signature-related columns and fields
  • Wiki root only page listing using wrong page
  • Wiki page list not showing all accessible pages
  • Wiki startpage selection not ordering by parent id nulls first
  • Remove debug output from list pages in wiki
  • Citizen user docs sorting not working
  • Select menu search not working due to key
  • Citizen vehicles list showing all vehicles and qol fixes
  • Vehicle list user id override
  • Document template not creating policy on publish
  • Livemap layer issue with users
  • Unit housekeeping for unavailable not adding unit data to status
  • Editor font selection showing untranslated value
  • Grpc permission interceptor test
  • Approval data not showing in template editor
  • Wiki nav showing dummy page
  • Permission multiple names screw up
  • Perms cleanup migration
  • Remove test json file
  • Update helm version in channels file

βš™οΈ Miscellaneous Tasks

  • Remove lucide icon pack

v2025.10.0

πŸš€ Features

  • Major refinement of the documents approval and signature system
    (merged signatures into approvals, added expiration, improved UI/UX, and created approval/signing tasks inbox)
  • Added navigation menu with new document pages and filters for jobs and user’s job
  • Revamped audit log system using gRPC interceptor and added related activity entries
  • Added permissions order and icons, plus title toggle in document view
  • Enhanced dbsync configuration and validation (filters, access checks, load logic)
  • Added approvals to templates and refined related API/service behaviors
  • Improved editor performance by optimizing toolbar state handling
  • Improved FiveM NUI/CEF browser compatibility (styling, transparency, and color handling)
  • Added basic jobs access validation
  • Removed unused layout code and internal debug output

πŸ› Bug Fixes

  • Fixed multiple approval/signing migration issues (cascade, duplicate queries, ordering)
  • Resolved document deletion reason field causing permission errors
  • Fixed Tiptap editor validation and computed error handling
  • Corrected template HTML entity escaping (Go HTML template compatibility)
  • Fixed wiki pages issues (pagination, logo visibility, access checks, grid layout)
  • Addressed CEF 103 BYOB reader pagination and clipboard API compatibility problems
  • Fixed dispatch sidebar rendering and livemap superuser logic
  • Corrected MySQL helper/migration typos and improved dbutils package
  • Fixed various UI inconsistencies (task drawers, colors, labels, and design polish)

v2025.9.1

Changelog

All notable changes to this project will be documented in this file.

2025.9.0 - 2025-09-19

πŸ› Bug Fixes

  • Update channels.json stable appVersion
  • Qualifications access check in list queries
  • Id badge showing 0 in qualification view on error
  • New EXISTS based access checks
  • Remove debug output from list qualifications method
  • Adjust calendar list buttons
  • Qualification requirements not being deleted and exam issues
  • Discord absent command register issue
  • Documents request drawer being full width and not constrained
  • Dispatch list padding
  • Center time and status badge in dispatch table
  • Increase badge size in dispatch list

v2025.9.0

Changelog

All notable changes to this project will be documented in this file.

2025.8.1 - 2025-09-19

πŸš€ Features

  • Add service management to dbsync command
  • Improve multi job dispatch creation
  • Use forked go-grpc-middleware lib to fix log fields missing
  • Add golangci-lint and resolve many issues
  • Protogetter fixes causing wrong data to be inserted
  • Move from uint64 to int64 in API/proto types
  • Add drag handle to tiptap editor
  • Use dashboard section for settings index
  • Improve multi-job dispatch handling
  • Cleanup multi-job dispatch handling
  • Show profile picture of dispatchers
  • Add max reminder count to document workflow state
  • Finalize public job list api for dispatch creation
  • Use big.js instead of eval for the math calculator quick button
  • Add file logging with rotation
  • Work through first part of migrations for nuxt ui v3
  • Pagination is now a list and more changes
  • Continue upgrade to nuxt ui v3
  • Continue reworking design to fit nuxt ui v3
  • Continue refining design to work with nuxt v3
  • Use go-dateparser to parse discord bot command date
  • Use ServiceOptions for permify proto generation
  • Improve document listing performance
  • Add job props and roles to sidebar settings item
  • Switch to galexrt/iconify-go pkg for simpler caching
  • Add qualification editor exam form validation
  • Copy and modify insecure credentials level for insecure grpc
  • Add basic central display locale settings
  • Use proto extension options for dbscanner and sanitizer

πŸ› Bug Fixes

  • Remove duplicated image extension component
  • Adjust dispatch target jobs select menu condition
  • Use different context for notification consumer deletion
  • Log collab room consumer deletion error
  • Cleanup for idle dispatches and unit pings for housekeeper
  • Switch trace attributes to log InjectFields
  • Add missing help text to filestore migrations subcommand
  • Attempt to fix context deadline issues caused by leader election
  • Grpc websocket tests caused by renames
  • Missing claim/user info when userinfo retrieval fails
  • Start work on nestif linter complaints
  • More gosec fixess
  • Last gosec complaints
  • Polish multi job dispatch ui logic
  • Dispatchers not having job label properly set
  • Nil issue in centrum settings access logic
  • De locale file formatting
  • Ignore logger sync error
  • Transition warn issue
  • Continue fixing design issues caused by nuxt ui v3
  • Design issues caused by nuxt v3 upgrade
  • Design issues caused by nuxt v3 upgrade
  • Continue fixing ui upgrade issues
  • Continue fixing design issues caused by nuxt ui v3 upgrade
  • Continue fixing design issues caused by nuxt ui upgrade
  • Ui issues caused by nuxt ui v3 upgrade
  • Adjust ui based on changes caused by nuxt ui v3 upgrade
  • Move find calendar modal to drawer
  • Wrong context used for errgroup groups
  • Use errgroup for sync service stream with context
  • Use latitude/longtitude short form for screens smaller than lg
  • Use 3 seconds for jetstream fetch max wait
  • Protoc svcs ts list listing all proto files
  • Personal document pin color not changing
  • Import type lint issue
  • Container build issue caused by nuxt/content upgrade
  • Lru cache tests
  • Adjust unique id tiptap extension
  • Oklch color issue in fivem nui (cef v103)
  • Document list entry padding
  • Cleanup component names
  • Intermittent superuser job changing issue
  • Activity feed text color
  • Tweak template padding/margin differences
  • Input fields, editor issues and improve template view + editor
  • Tailwindcss v4 color issue due to oklch and fivem nui cef v103
  • Improve dbsync cli logging
  • Users dbsync offsset not changing
  • Found design padding and ux issues
  • Sql_mode ONLY_FULL_GROUP_BY issue with group_by
  • Add no data block to join unit slideover
  • Improve zod error handling in search forms
  • Filestore list not having prefix search
  • Cleanup UFileUpload attrs orders a bit
  • Leftover type and lint issues
  • Timeclock list full order by sql_mode issue
  • Removed ANY_VALUE, not available in Mariadb
  • Improve livemap layer selector on small screens
  • Cleanup divide to use default color
  • Cleanup utils and shared types folders
  • Rely on itemslen proto interceptor where used
  • Remove "true" value from boolean attrs and fix dashboard panels
  • Exam auto grade translation warning
  • Exam editor auto grade default value
  • Remove debug sql outputs
  • Improve tutor view list paddings and margins
  • Improve qualifications lists footer padding
  • Iconify server issues and icon select menu
  • Rename RequestModal to RequestDrawer
  • Clone retrieved userinfo object
  • Override renovate bot schedule

βš™οΈ Miscellaneous Tasks

  • Remove internet feature for future revival
  • Rename jet package usages to mysql

v2025.8.1

Changelog

All notable changes to this project will be documented in this file.

2025.8.0 - 2025-08-07

v2025.8.0

Changelog

All notable changes to this project will be documented in this file.

2025.7.1 - 2025-08-07

πŸš€ Features

  • Add option to ignore empty names to users dbsync
  • Add basic system status info to settings page
  • Add last char id for dbsync api
  • Update tiptap to v3.0.7
  • Update nuxt i18n
  • Switch to useLazy*Data status instead of pending
  • Move auth server and grpc auth errors to separate package
  • Refresh user info on character choose
  • Add basic update check and last seen dbsync version
  • Add "internal" iconify api to make hosting fivenet easier

πŸ› Bug Fixes

  • Release channel update for release builds
  • Manually bump channels.json due to ci error
  • Banner message validation
  • Update release channels from develop branch only
  • Tweak dockerignore
  • Nil pointer due to reqs
  • Db reqs error message
  • Db reqs nil pointer
  • System status dbsync showing on wrong condition
  • Update dbsync example config vehicles columns
  • Update release channels
  • Types not being included correctly
  • Tiptap editor duplicate extensions
  • Mock userinfo retriever missing function
  • Bump fivenet chart to 0.20.1
  • Improve client app config error handling

v2025.7.1

Changelog

All notable changes to this project will be documented in this file.

2025.7.0 - 2025-07-17

πŸš€ Features

  • Add release channels.json file
  • Add config option to disable database locking during migrations
  • Set transaction isolation to REPEATABLE READ when locking is disasbled

πŸ› Bug Fixes

  • Channel update issue
  • Use reuseable workflow directly for channel update
  • Update channel flow not working due to a needs list
  • Update-channel not invoking update channel script
  • Update-channel script name
  • Sestting dsn transaction_isolation level
  • Tweak transaction isolation dsn
  • Db dsn test
  • Tools db up command
  • Older migration causing issues with clustered dbs
  • Internet basse up feature migrations

v2025.7.0

Changelog

All notable changes to this project will be documented in this file.

2025.6.5 - 2025-07-15

πŸš€ Features

  • Add icon field to units
  • Display unit icon as user marker icon
  • Add vehicles activity proto messages
  • Use function to calculate pagination offset and cleanup creator
  • Add storage space usage metrics
  • Increase exam questions to 100
  • Add draggable tooltip to vue-draggable icon indicators
  • Add arrow controls for draggables and fix answer fields for exam
  • Conversion of single to multiple and reverse on question type
  • Add creds file nats connect option
  • Add missing apis for vehicle props
  • Refine vehicless properties ui
  • Add active user sessions metric

πŸ› Bug Fixes

  • Unregister notifications consumers via defer for now
  • Missing nats stream/kv descriptions
  • Lru cache janitor interval
  • Prevent lru cache to be copied
  • Adjust anypb empty state creation
  • Collab rooms consumer's being revived
  • Collab room consumer name being "wrong"
  • Tweak cron data logic
  • Housekeper dispatches attributes nil panic
  • Load dispatches housekeeper nil panic
  • Cron attributes anypb usage
  • Adjust timing for removal of dispatches from kv
  • Cron data nil issue
  • Delete old dispatches from kv id/key logic
  • Nats store warpper using * instead of >
  • Add info log to leadelection start call
  • Filestore housekeeper setting "loaded_dispatches" as attribute
  • Tracker manager tests
  • Tracker manager test by adding last missing dep
  • Use embed funcs for cron data wrapping
  • Rewrite leader election logic to be more resilient
  • Access manager issue when id is 0 and reimplement enhanced image
  • Buf validate ignore uses in users.proto
  • Access entries containing user data that might be invalid
  • Cron data marshal/unmarshal in other cron jobs
  • Collab state kv name and disabled state for editor image popover
  • Improve grpcws limits
  • Collab client room id keys
  • Collab deleting wrong old kv
  • Old collab state kv name
  • Yjs sync for secondary clients
  • Colleague activity not setting colleage when prop is set
  • Colleague profile activity showing all activity
  • Import lint issue and add font-family regex to htmlsanitizer
  • Yjs sync issues on reconnect
  • Collab disconnect not happening correctly
  • Reduce leaderelection log spam
  • Base64 encode image urls in sanitizer for image proxy
  • Centrum access up sql migration
  • Storage metrics collector missing from fx
  • Add random delay to storage metrics colletor
  • Register storage metric only when enabled
  • Leaderelection not started for metrics collector
  • Metrics collector not having storage set
  • Conduct update of type and create/update status select not using
  • Increase exam question limit in ui
  • Qualification tutor answer issues
  • Vehicle info layout when empty
  • License plate width for bigger screens

v2025.6.5

Changelog

All notable changes to this project will be documented in this file.

2025.6.4 - 2025-06-27

πŸš€ Features

  • Upgrade nats locks system to use per key ttls
  • Improve centrum housekeeper logic
  • Improve dispatch deduping and add dedupe settings

πŸ› Bug Fixes

  • Access attribute names
  • Remove debug log
  • Dispatch layer job grouping issue
  • Remove unused ref
  • Add missing jobs check to list dispatches
  • Migration for mariadb
  • Skip of mariadb incompatible json index
  • Disable locsk for job id mapping stores
  • Switch centrum housekeeper to a more event-based approach
  • App config from being incorrectly read in client due to json tags
  • German document title notifications showing " as a result
  • Document not closing on toggle and missing object events
  • Centrum dispatches jobs migration for good
  • Correct italic usage in draft pages and qualifications

v2025.6.4

Changelog

All notable changes to this project will be documented in this file.

2025.6.3 - 2025-06-24

πŸ› Bug Fixes

  • Switch to leader election for cron scheduler and add nats

v2025.6.3

Changelog

All notable changes to this project will be documented in this file.

2025.6.2 - 2025-06-21

πŸš€ Features

  • Make client app config into protobuf messages and add client view

πŸ› Bug Fixes

  • Filestore migration command skipping every job logo after one
  • Template clipboard selection for more than one with max spec
  • Add log to tiptap editor sync event
  • Adjust yjs content set logic and add context menu for calendar

v2025.6.1

Changelog

All notable changes to this project will be documented in this file.

2025.5.5 to 2025.6.1 - 2025-06-07

πŸš€ Features

  • Add collab editor to wiki pages
  • Add filestore migrations command and cleanup otlp usage
  • Add auto grading to qualifications
  • Store discord user token for guild list and other functionality in

πŸ› Bug Fixes

  • Perms events issues by reducing amount of events
  • Db migrations using "wrong" fivenet_users table when esxcompat
  • Oauth2 tokens migration
  • Image inserted as base64 when file upload is enabled and other

βš™οΈ Miscellaneous Tasks

  • Improve github actions image buid by using arm64 runner for arm64

v2025.6.0

Changelog

All notable changes to this project will be documented in this file.

2025.5.5 - 2025-06-07

v2025.5.5

Changelog

All notable changes to this project will be documented in this file.

2025.5.4 - 2025-05-29

πŸ› Fixes

  • Perms events issues by reducing amount of events

v2025.5.4

Changelog

All notable changes to this project will be documented in this file.

v2025.5.3

Changelog

All notable changes to this project will be documented in this file.

2025.5.2 - 2025-05-24

πŸ—οΈ Breaking changes

  • Removed Body Checkup Quick Button
  • "User Settings" have been moved to /user-settings URL to not overlap with the /settings/... pages (previously named /rector/...)

βš™οΈ Miscellaneous Tasks

  • Improved banner message handling on client and server side
  • Fix release-it issue with git-cliff caused by fetch-depth in
  • Fix Colleague Activity not being correctly queried

v2025.5.2

2025.5.2 - 2025-05-24

Important Notes

Take a backup of your FiveNet database! This update changes the database structure quite a bit.

  1. Make sure to stop all FiveNet components.
  2. Clear the NATS key value stores with this command (if you use this NATS for more than FiveNet, you need to edit the command to only delete the key value stores of FiveNet):
    nats kv ls -n | xargs -n 1 nats kv del --force
    
  3. Now you can start the FiveNet server and other components (e.g., worker) again.
  4. In the FiveNet app config, update the default permissions, to update/add permissions you can use this list of permissions here.

Should you run into database migration issues, read this

Please save the container logs and open an issue so we can figure out what went wrong and how to fix it.

πŸ› Fixes

  • Add validation for negative value/valid value in job grade list
  • Document view issues caused by content rendered nuxtimg component
  • Sync api error handling improvements
  • Issues with html nuxtimg tag and citizen documents list

πŸš€ Features

  • Add basic fivenet tools sync status subcommand
  • Use NuxtImg for lazy loading images
  • Rework index page
  • Add custom i18n logic for backend
  • Citizen documents improvements
  • Cleanup naming schema of apis, perms and more

πŸ“š Documentation

  • Add github issues templates

v2025.5.1

Changelog

All notable changes to this project will be documented in this file.

2025.5.0 - 2025-05-10

πŸ› Fixes

  • Add missing restore button to document categories modal

v2025.5.0

Changelog

All notable changes to this project will be documented in this file.

2025.4.8 - 2025-05-09

πŸ› Fixes

  • Use github pat for release-it checkout
Copyright Β© 2026 Galexrt All rights reserved. All trademarks, logos and brand names are the property of their respective owners.