Alpha 2020.3.3 Demeter Release Notes

This version of Vircadia is an update to 2020.3.2. It is compatible with the 2020.3.0-Demeter protocol. This version was released on January 2nd, 2020.

Interface (Codename Athena)

The numbers at the end of each item are the PR numbers in the Vircadia repo.


  • UI/UX: Remove "Console" options from the Interface-only installer on Windows. (#824)

  • Application: The collision hull of entities now updates when the model is replaced. (#830)

  • Application: Entity update performance has been improved. (#830, #944)

  • UI/UX: The VR HUD overlay has been fixed and improved. (#838)

    • Overlay surface is rendered a bit further away (1.5m instead of 1.0m). This makes it easier on the eyes.

    • The horizontal size of the overlay surface has been reduced from 270 deg to 180 deg. This means that it doesn't wrap around "behind" you.

    • The physical (real world) distance required to move before the HUD overlay is recentered on your avatar has been reduced from 0.99m to 0.33m. This makes the HUD always be reasonably centered on your view rather than possibly being very offset at times.

    • Reorienting the overlay surface to better suit your current HMD orientation (i.e., be reasonably well centered on your current view) has been enabled. This means that the HUD overlay can no longer be behind you.

    • Fix un-pinned HUD content (e.g., Web browser window) displaying only every second recentering.

    • Fix laser intersection with HUD overlay dialogs / windows: laser intersects exactly per dialog position and size. This, for example, means that you can now drag dialogs using their top margin.

    • Fix the position of the dialog / window resize outline, displayed when resizing a dialog / window - in both desktop and HMD mode.

  • Application: Pressing the Alt key on Linux now works correctly. (#860)

  • App: 'Create' app December 2020 improvements package. (#894)

    • New "Tools" menu to the Create Application.

    • The previous "Selection" and "Actions" menu has been renamed "Select" and "Edit".

    • We have now all the actions regrouped in the 3 menus: "Select", "Edit" and "Tools".

      • The menu "Teleport To Selected Entities" has been moved from the "Select" menu to the new "Tools" menu.

      • The "Hotkey" "G" is now used to toggle the grid (previously it was to align it to the selection). It made sense to have G (for Grid) to manage the visibility of this one.

      • New "Hotkey" has been added to control the other actions related to the Grid:

        • "Activate/Deactivate Snap to Grid" can be triggered by pressing "H".

        • "Align Grid to Selected Entities" can be triggered by pressing "J".

        • "Align Grid to Avatar" can be triggered by pressing "K".

      • The actions: "Align Grid to Selected Entities" and "Align Grid to Avatar" will turn on the grid if it was not visible. (Doing this implies that you want to have the grid be visible). But you will still need to "Toggle Grid" (G) to turn the grid off. Note that "Align Grid to Selected Entities" will work only if there is at least one entity selected.

    • Main "Edit" menu:

      • The two "Import Entities" actions have been brought back to the main "Edit" menu. (Since there was no unanimity about their removal.)

      • A separator has been added to properly group the 'Create' app's menu items.

    • In desktop mode only, the default window width is now 750px instead of 490px.

  • App: 'Create' app material icons update. (#907)

    • Preference: "Show Zones in Create Mode" has been removed. The method behind it is still in the API, but does nothing. It has been abandoned since it was only drawing a box that wasn't useful to assist in figuring out the shape of the zone.

    • Preference: "Show Lights and Particle Systems in Create Mode" has been renamed to "Show Icons in Create Mode" since this setting was also managing all the icons (including Zones and now Parented Materials). The objective of the setting is mainly to simplify the display in edit mode when a scene is very dense.

    • image3D overlays used for the icons have been migrated to local entities.

    • All the entity icons (in-world non physical entities) have been updated to be more uniform. They now all have the same dark gray tone, with a white border to keep them visible under different lighting.


  • Misc: Module updates for screenshare app. (#708, #905)

  • Application: Upgrade tbb (oneAPI Threading Building Blocks) to fix a startup crash on Fedora 32 and later. (#863)

  • Build: GHA now builds PR builds with crash reporting enabled on Windows. (#878)

  • Application: The --forceCrashReporting command-line parameter has been added to enable crash reporting even if the settings have it off. (#879)

  • Build: Fix reporting Ubuntu 20.04 as outdated. (#891)

  • Misc: Update various references for GitHub links in the codebase. (#906)

Serveur de domaine

The numbers at the end of each item are the PR numbers in the Vircadia repo.


  • Server: The Domain server now sends its IP address and port to the Metaverse server with every heartbeat. (#877)

Metaverse Server & Dashboard (Codename Iamus)

Iamus Metaverse Server

Version 2.3.7

  • view • Update
  • view • Update documentation. Clarify that fetching of accounts can be done either by accountId or username. Add comments to AccountScopeFilter to describe its use.
  • view • Replace build bash scripts with node.js scripts. (#68)
  • view • Clean up some code in Util.buildLocationInfo(). No functional changes.
  • view • Limit the size of input JSON to Config.server.max-body-size.
  • view • Fix pagination so it returns the proper number of items on a page. Makes the "?per_page=N&page_num=M" work properly.
  • view • Add Perm.PUBLIC to check if accessing an AccountEntity that is "public" i.e., 'availability' is either unspecified or Perm.ALL.
  • view • Add AccountEntity.profileDetail that just stores a JSON object. Modify to accept a JSON object. Add validators for 'object' that allows storing JSON object values.
  • view • Modify returned Account fields to include 'profileDetail'. Update documentation.
  • view • Add /api/v1/profile and /api/v1/profile/:accountId Add documentation for same.
  • view • Bump to 2.3.7

Version 2.3.6

  • view • Update
  • view • Minor bug fixes in
  • view • Update links and names (#66)
  • view • Update NPM package version.
  • view • Fix problem where user wasn't returned their token by /api/v1/tokens. The search field must be specified to AccountScopeFilter. A few other places were checked and updated.
  • view • Bump version to 2.3.6

Version 2.3.5

  • view • Update
  • view • Change Place filter 'maturity' to take a comma separated string of maturity classes to match.
  • view • When creating a Place, default maturity to the parent domain's maturity. Default DomainEntity.maturity to Maturity.UNRATED.
  • view • Massive refactoring to remove circular import dependencies that were causing null value initializations due to how JavaScript loads. Move Entity field definitions into separate files. Moved Entity field getting and setting into the Entity controlling class. Repackaged (into multiple files) Permission and Get/Set/Validate routines.
  • view • Bump version to 2.3.5

Version 2.3.4

  • view • Update
  • view • Add documentation on the design of the Entity field get/set system.
  • view • Fix DELETE Place so the owner of the Place's domain can delete the Place.
  • view • Make Monitoring.event so it doesn't fail if monitoring was not inited.
  • view • Record network_address and network_port if specified when creating doamin.
  • view • Added "maturity" and "tags" to PlaceEntity Centralized "maturity" specifications into src/Entities/sets/Maturity.ts Moved AccountAvailability and AccountRoles to src/Entities/sets and made a set pattern. Documented "/api/v1/places?maturity=LEVEL" and "/api/v1/places?tags=TAGLIST" Added comments to src/Entities/EntityFilters/CriteriaFilter.ts explaining how filters are to be used Added "maturity-catagories" to Places responses Fixed /api/v1/users/places to return only the places that belong to the requesting user Deleted bin/www -- what was that from??
  • view • Bump version to 2.3.4

Iamus Metaverse Dashboard

Updates are reflected here. The Dashboard has been upgraded from version 1.1.3 to version 1.2.2. (13 commits altering functionality, 18 commits total.)

  • Profiles have been added for all users with the core component being redesigned.

  • Routing bugs when using the ?page parameter have been corrected.

  • A 404 "not found" error page has been added.

  • The main menu now changes its highlighted item correctly based on what page you are on.

Vircadia Launcher (Codename Pantheon)

Vircadia's launcher updates can be found here. The launcher is on experimental version 0.0.1s.


User Docs

The numbers at the end of each item are the PR numbers in the Vircadia-Docs-Sphinx repo.

  • Add docs video module and update some pages to .rst format. (#72, #105)

  • Add Weblate configuration instructions. (#98)

  • Update GitHub reference links. (#102)

  • Release notes for 2020.3.3 Demeter. (#106)

API Docs

The API docs are generated from the software source repo. The latest live deployment source can be viewed here.

  • Fix typo Quat.fromPitchYawRollDgrees -> Quat.fromPitchYawRollDegrees. (#882)