Skip to content

v2026.2.0

Choose a tag to compare

@galexrt galexrt released this 16 Feb 17:27
· 546 commits to main since this release
09d4cea

Changelog

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

[2026.2.0] - 2026-02-16

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