Version Management

Galacean has a mature version management scheme. This article will take @galacean/engine as an example to introduce Galacean's management tools, naming conventions, release strategies, and dependency management.

Version Management Tools

The version management tool used by Galacean is Git. The code is hosted on GitHub, and all development processes, including planning, milestones, and architecture design, are publicly available in GitHub's project management. You can participate in the construction of the engine by creating an issue and submitting a PR.

Package Management Tools

The package management tool used by Galacean is NPM. You can install @galacean/engine using the npm command:

npm install --save @galacean/engine

Then import it in your project:

import { WebGLEngine, Camera } from "@galacean/engine";

Version Naming Conventions and Release Strategy

Galacean version numbers follow the format MAJOR.MINOR.PATCH-TAG.X. MAJOR.MINOR represents milestone versions, usually accompanied by significant feature updates. PATCH versions indicate backward-compatible bug fixes, and the TAG label marks the purpose of the release version.

TAGMeaning
alphaInternal test version, used for early feature development, includes new features within the milestone but is less stable, e.g., 1.3.0-alpha.3
betaPublic test version, internal testing is mostly complete, more stable but may still have minor issues and defects, e.g., 1.2.0-beta.7
latestOfficial stable version, thoroughly tested and verified, no major defects, recommended for production use, e.g., 1.1.3
customReleased internally for testing specific features, e.g., 0.0.0-experimental-1.3-xr.9

You can view all available versions on Github or NPM.

Version Upgrade

Each milestone version update will be accompanied by a version upgrade guide, which includes the contents of the update and BreakChange. You can refer to this document for version updates.

Version Dependencies

SituationRule
Core PackageEnsure consistent versions among core packages
Tool Package depends on Core PackageEnsure the tool package version is consistent with the major version of the core engine package. For example, the 1.3.x version of the tool package depends on the 1.3.y version of the core package
Secondary Package depends on Core PackageThe dependency relationship of secondary ecosystem packages on the engine version should refer to the corresponding documentation, such as Lottie

The basic rules are as above. If there are special instructions, please follow them to choose dependencies.

Others

Editor Upgrade Engine Version

In Project Settings, you can control the runtime engine version.

Runtime Output Version Information

Most Galacean packages will output version information in the Console at runtime.

image.png

This is usually used to determine if there are issues with package version dependencies:

  • Do the version dependencies not meet the rules?
  • Are there multiple different versions of the same dependency?

If you encounter the above issues, please check the project and resolve the dependency issues.

Was this page helpful?