4.5 KiB
order, title, label
| order | title | label |
|---|---|---|
| 0 | Version Management | Basics |
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.
| 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 |
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
| 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.
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.
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.