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.
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.
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";
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.
TAG | Meaning |
---|---|
alpha | Internal test version, used for early feature development, includes new features within the milestone but is less stable, e.g., 1.3.0-alpha.3 |
beta | Public test version, internal testing is mostly complete, more stable but may still have minor issues and defects, e.g., 1.2.0-beta.7 |
latest | Official stable version, thoroughly tested and verified, no major defects, recommended for production use, e.g., 1.1.3 |
custom | Released internally for testing specific features, e.g., 0.0.0-experimental-1.3-xr.9 |
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.
Situation | Rule |
---|---|
Core Package | Ensure consistent versions among core packages |
Tool Package depends on Core Package | Ensure 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 Package | The 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.
In Project Settings, you can control the runtime engine version.
Most Galacean packages will output version information in the Console
at runtime.
This is usually used to determine if there are issues with package version dependencies:
If you encounter the above issues, please check the project and resolve the dependency issues.