All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.0.0-rc.6 (2024-10-03)
- add
rivet backend generate-sdk
command (#548) (b10140e) - add editor (#390) (101d476)
- add process manager for game server & opengb dev server (#349) (e1d2369)
- backend: add better godot module request logging (#514) (9d83741)
- backend: add openapi gen command (#401) (08d106c)
- backend: add project lock to prevent concurrent actions (#454) (056d232)
- backend: allow specifying registry with "github" shorthand & add default local registry (#389) (6daed07)
- backend: generate typescript sdk (#520) (daae06d)
- backend: report alarm errors in actors (#527) (e072ac6)
- cli: add
rivet config data-path
command to inspect internal data (#541) (5a80398) - scroll to currenlty selected module (#510) (c4b5646)
- toolchain: add get-current-version and get-endpoint commands (#549) (294b466)
- toolchain: dispatch backend config update events (#397) (4b5eee8)
- toolchain: fetch current build in bootstrap data (#519) (2bf993a)
- update favicon (#485) (38dcf9d)
- actor: clear timeouts on memory actor on destroy (#407) (e047ffa)
- add html5 example (#538) (04d293b)
- backend-embed: force executable permissions on vendored packages (#482) (c6fa1ec)
- backend: add compat for calling yarn on windows in build_artifacts.ts (#414) (cf3342d)
- backend: add deno.jsonc to both generated output & local project (#452) (3d567b3)
- backend: apply not getting ran (#366) (214df69)
- backend: correct windows paths for esbuild nodejs polyfills (#436) (30831a2)
- backend: correctly auto-generate local registry (#394) (3d271ae)
- backend: correctly handle relative path from drizzle db config -> db migrations (#423) (d02038d)
- backend: failing ProjectOpts.path type check with cli (#455) (03e2dca)
- backend: fix
Could not find package ID for importer
(#464) (a98076d) - backend: fix apply migration file globs not working on windows (#532) (18bfd83)
- backend: fix conflicting dev & deploy by running them in different contexts (#477) (4ebdc90)
- backend: fix generated relative migrations path (#437) (6924340)
- backend: fix incorrect status/stop commands (#420) (2ddd474)
- backend: fix module.gen.ts import ordering to prevent "cannot access xxxx before initialization" error (#373) (df04fa3)
- backend: fix reading stderr output in build script (#515) (0acc2a1)
- backend: force posix paths for artifacts (#418) (3a75bd3)
- backend: generate correct actor driver path (#362) (2050694)
- backend: handle sigint and sigbreak correctly to run shutdown (#456) (1c02121)
- backend: register missing create commands (#372) (8c59e76)
- backend: remove use of locks on configManifestPath, configOutputManifestPath, and configShow (#466) (85a57c3)
- backend: type using drizzle-orm@0.24 instead of 0.33 (#376) (c26d53c)
- backend: use deep hash of backend for cache purging (#388) (21ff88f)
- change docs link (#509) (2c35c7d)
- cli: module list is now correct (#363) (30cebad)
- deno-embed: build script (#424) (c2b347d)
- deno-embed: fix aarch64 target name (#471) (65eee2f)
- deno-embed: fix deno target on windows (#415) (e0890c7)
- deno-embed: windows support (#378) (99f0ce8)
- force lockfile to generate in data dir instead of project dir (#545) (da314bc)
- re-enable cross platform builds (#551) (2a6316f)
- replace rename -> copy in build script (#542) (b7c9689)
- toolchain: add windows dep (#379) (a3da2e0)
- toolchain: compilation error on linux (#525) (6673b93)
- toolchain: explicitly handle utf8 error (#446) (c2c6b92)
- toolchain: fix killing old pid & abort log handles for process manager (#523) (89d0469)
- toolchain: fix odd compilation error for godot (#346) (88fb160)
- toolchain: fix Postgres::start error on windows (#531) (056b4d3)
- toolchain: fix task manager compilation for windows (#530) (e0d1325)
- toolchain: fix zombie processes & term window popups on windows (#473) (4b63f78)
- toolchain: force kill existing pid for process manager not stopped cleanly (#506) (24ff721)
- toolchain: force kill full process tree in process manager (#507) (b685ff7)
- toolchain: handle progress manager signals correctly on windows (#430) (f6fc52d)
- toolchain: handle unix zombie processes correctly in process manager (#425) (4b5df8c)
- toolchain: include backend dir relative to manifest dir (#356) (efa1964)
- toolchain: only inject DATABASE_URL to backend if not already provided (#481) (6a6d790)
- toolchain: prevent command popups on windows (#422) (c0850f5)
- toolchain: read output & project manifests without depending on script (#478) (f1c14b2)
- toolchain: remove unix import on windows targets (#484) (8123c0d)
- toolchain: remove use of libproc on macos in favor of pkill (#536) (7582b7e)
- toolchain: suppress window creation when running cmd on windows (#348) (29ba978)
- toolchain: tail logs using cancel-safe line iter (#448) (7c5a5e7)
- toolchain: update path to output manifest (#438) (5e84923)
- 🤫 (#504) (d086ad2)
- add back hidden task command (#371) (cff8007)
- add build_cross & release script (#543) (26606fe)
- add docs to cli (#354) (41cbc0a)
- add more info to readme (#555) (36d4541)
- add new install instructions (#554) (b06f621)
- allow non-existent local registry dirs (#395) (c8d6899)
- auto-build backend artifacts in build.rs (#359) (3143ad9)
- auto-generate sdk on build (#382) (fc21e59)
- auto-pick editor port (#391) (265a2ad)
- backend-embed: output deno logs (#393) (fecda97)
- backend: add global opts to backend command wrappers (#406) (8f523bf)
- backend: add message on migrate command (#364) (f1c34be)
- backend: add postgres connection timeout (#474) (5b100aa)
- backend: add releasing project (#458) (736d94c)
- backend: allow sdk overriding (#387) (e7c8dc1)
- backend: auto-generate deno.jsonc to modules directory (#462) (f2a0cd0)
- backend: bump modules (#439) (7594640)
- backend: cleanly handle errors in cli (#365) (3a895e8)
- backend: connect all abort controllers to shutdown (#459) (d4b774c)
- backend: cut embed size by ~75% (#544) (f90ffb6)
- backend: default to strict schemas in tests (#408) (c740d61)
- backend: fix unable to resolve cloudflare:workers dependency (#451) (ecadb0c)
- backend: fmt (#534) (5b5fb26)
- backend: remove .gitignore now that cache path is not src dir (#457) (b9b3d92)
- backend: remove archived json in favor of reading from fs (#512) (c6dcb83)
- backend: simplify cli task running (#476) (c1b27d5)
- backend: skip logging progress for steps that take very little time (#461) (14c3858)
- backend: template enum values in to command help (#435) (35a3d41)
- backend: update default modules (#522) (96cb495)
- backend: update modules (#409) (5c0981e)
- backend: vendor dependencies (#450) (4c5fbd5)
- bind clap commands to backend commands (#353) (5d3281a)
- clean up build artifacts script (#358) (8cedb29)
- clean up html5 demo (#550) (7dee61a)
- deno-embed: embed deno in toolchain (#374) (2b4e24b)
- deno-embed: support aarch toolchain (#469) (1f16bc6)
- editor: replace opengb logo with rivet logo (#410) (7a87f0c)
- embed backend source (#351) (ca8fd05)
- ffi: update to latest task format (#381) (b24b82e)
- fix relative migrations path on macOS with realDir (#440) (91ef488)
- fix test command (#367) (b15e4b3)
- force lf line endings from git (#417) (a8e0079)
- merge backend in to toolchain (#350) (c398a2f)
- migrate from global-error -> anyhow (#355) (1a972be)
- move args to postitional for create commands (#370) (560260f)
- move cache to global dir (#384) (6267235)
- move output events to custom event handler fn (#343) (3c5acb0)
- move task logic to cli (#345) (c014583)
- postgers: add connectable status check (#421) (426677c)
- postgres: cleanly handle unconnectable database (#419) (801c416)
- prefix all env vars with
RIVET_*
(#392) (5cf04b3) - preserve generated files in sdk output (#547) (f65a267)
- process-runner: fix warnings (#434) (e297d34)
- process-supervisor-embed: bump cargo nightly version (#416) (5928592)
- refactor opengb cli commands to take json input (#352) (774136f)
- release 2.0.0-rc.6 (b1aabde)
- remove required flags for repeated module args (#368) (751b957)
- remove sdk gen task (#386) (ac0386e)
- remove stty check since dev is now intended to be able to run without a tty (#396) (1d265b6)
- remove uses of "opengb" (#383) (dae11fd)
- rename backend meta.json -> project_manifest.json (#399) (43a0e93)
- rename backend_source_path -> source_path (#360) (ef9724a)
- rename backend.json -> rivet.json (#385) (a89f7fa)
- rename manifest.json -> output_manifest.json (#398) (5735aa0)
- simplify backend_source_path setting (#357) (b523dad)
- switch from openssl -> rustls (#347) (d082651)
- toolchain-ffi: prefix ffi with rivet_ for windows naming conflicts (#413) (da30e19)
- toolchain: add ability to hook to existing process manager tasks & clean up backend port choosing (#375) (0cccf30)
- toolchain: add mutex lock on meta file to prevent race conditions when writing (#404) (c259044)
- toolchain: add project-specific meta.json files (#405) (c00eb72)
- toolchain: expliciltly handle runner errors in process manager (#427) (89797ac)
- toolchain: expose sdks in event (#453) (5a5f09d)
- toolchain: fix build pipeline in ci (#442) (5144a5d)
- toolchain: fix no backend output on windows (#433) (7599ba8)
- toolchain: fix warnings (#479) (ffe05de)
- toolchain: impl killing process tree on unix (#431) (29477a5)
- toolchain: most postgres logic from backend to toolchain (#475) (fef96e2)
- toolchain: prevent running postgres as root user to prevent broken state (#539) (43515ff)
- toolchain: remove extra logging (#468) (c57befe)
- toolchain: remove requirement to be signed in for toolchain tasks (#503) (ffff590)
- toolchain: remove unused get_hub_link task (#465) (0c40acc)
- toolchain: rename process supervisor -> process-runner (#426) (d2336b7)
- toolchain: reorg project_manifest (#516) (acb109d)
- toolchain: split up os-specific process manager code (#505) (b2c0388)
- toolchain: update default dockerfile path to game_server.Dockerfile (#463) (27a4dfd)
- toolchain: update project path name to include file name for easier reference (#540) (03af1d9)
- toolchain: use merkle tree for backend hash (#513) (8ae5e86)
- update godot sdk to rivet modules (#377) (2c0fe9e)
- update html5 tutorial to use packages (#546) (7d2b711)
- update modules (#537) (2db8a30)
- update readme (#369) (9dc2da0)
- update release please (44a8ea1)
- update unity codegen to native deno (#403) (dc31592)
- upgrade backend tasks to use new command interface (#361) (4615f7f)
- use dynamic deno executable path (#402) (f1dc38d)
- vendor deno dependencies (#449) (5f259ba)
2.0.0-rc.5 (2024-08-31)
- add portable deno installation (#341) (2d526f4)
- release 2.0.0-rc.5 (613daa1)
- remove duplicate build script (#342) (da947e2)
- set msrv for crates (#338) (48f4b82)
- update migrate command on deploy (#344) (c2d90e2)
- update opengb build flag (#340) (75f6105)
2.0.0-rc.4 (2024-08-22)
- add tty only for backend (#326) (b2f0ba0)
- backend: add postgres mounts for bundled postgres (#330) (85cc352)
- build ffi script (#320) (3714ca0)
- deploy: update environment variables inline with deploy (#298) (65ee4cf)
- only publish port for backend (#323) (ab3fc3e)
- remove tty for docker runs (#322) (3b52607)
- always set env vars (#328) (202244a)
- backend: add postgres mount for container (#329) (58ef34a)
- clean warnings (#312) (1208299)
- disable unneeded api calls on deploy (#333) (243306a)
- expose game id & env id to backend (#317) (ff00497)
- fix show_term on windows (#335) (08be0ef)
- re-enable backend migrations (#324) (b9596c8)
- release 2.0.0-rc.4 (0aa270b)
- rename opengb -> backend in output (#325) (09bf73c)
- settings: disallow unknown props (#316) (d81d7a6)
- update api (#314) (87255d4)
- update build tags (#318) (48ae79f)
- update env & backend apis (#313) (0204f9f)
- update opengb (#334) (d30fbba)
- update sdks (#327) (8f43c6b)
- update sdks (#336) (6cc7542)
2.0.0-rc.3 (2024-08-12)
- clean opengb container after run (#307) (e98fd16)
- compilation errors (#306) (647b087)
- envfile race condition (#305) (8fda7e2)
- pass arguments to opengb in docker correctly (#309) (281ad54)
- update opengb docker tag (#311) (ae4b4f6)
- release 2.0.0-rc.3 (e0f72b5)
2.0.0-rc.2 (2024-08-10)
- release 2.0.0-rc.2 (6dc6edf)
2.0.0-rc.1 (2024-08-09)
- add --skip-migrate flag to opengb deploy (#262) (6255e07)
- add ffi (#291) (ffd015b)
- add opengb db command passthrough (#216) (7b78870)
- add passthrough env var (#231) (2fc3021)
- add settings file (#278) (c004d05)
- add sidekick exec command (#275) (3121f94)
- add sidekick show-term command (#266) (5fc1c89)
- add support for sh and url db commands (#217) (bbeeaba)
- allow configuring opengb config path (#283) (aa8c212)
- cli: add config command (#296) (3787d0c)
- get lobby and logs links in sidekick (#235) (7c63efd)
- Implement OpenGB related commands (#215) (ce57364)
- run opengb using docker by default (#254) (598ce8d)
- sidekick: add backend dev command (#274) (7547384)
- sidekick: add backend gen command (#273) (2f1358e)
- add concurrency constraint to generated github action (#226) (8a62d97)
- backend: check opengb and deno installation using which crate (#237) (64b3489)
- cdn.build_env not working (#208) (214fe29)
- ci: update ci script to use json-compact instead of json (#224) (2f04ea3)
- disable hyper connection pooling (#293) (bddfa6d)
- opengb: one db per env (#256) (a3c4e10)
- prevent asking user for terminal permissions (#236) (a1a75d8)
- read_generated_manifest fn name (#241) (72970c7)
- reading byte-order marks on Windows (#238) (e177ad4)
- revert regression with config-rs dependency (#270) (ff3afa8)
- rivet exec does not work with --rivet-servers (#220) (c1d33c5)
- show term args on linux (#286) (6e94ab5)
- temp disable flakey macos test (#212) (6d1ed9b)
- test: update region names (#223) (c605561)
- update cargo-release version (450d25b)
- update sdks for opengb (#233) (7feb70b)
- update sentry issue url (#210) (2b928df)
- upload: increase upload buffer size (#229) (28d9d93)
- move global config to meta config (#279) (8ae2ed1)
- move shared functionality to toolchain (#277) (d479186)
- and release please pr (#244) (9862c5a)
- bring back release please (#299) (730b694)
- change label update to merged PRs (#249) (06a938c)
- change release-please pr labels on release (#247) (336f789)
- explicitly fmt check members (#242) (f14b17e)
- ignore failing e2e test (#243) (242e291)
- add back cli (#288) (9ca98e4)
- add back loading config (#280) (06347e1)
- add deploy command (#294) (e9bffdb)
- add show_term task (#289) (72b37e3)
- Bump the cargo group across 1 directory with 4 updates (#228) (a192e35)
- bump version (71c215f)
- check system requirements (#282) (7858080)
- choose free port for opengb (#281) (1601f55)
- default RunConfig will print to stdout (#290) (aa7de1a)
- fmt sdk (#251) (28eade7)
- format (#297) (8ba0ec6)
- main: release 1.2.0 (555fec1)
- main: release 1.3.0 (#246) (cfa546c)
- main: release 1.3.1 (#250) (9a76764)
- main: release 1.3.2 (#255) (e232c5f)
- main: release 1.3.3 (#257) (3d1c35f)
- main: release 1.3.4 (#272) (3d5d757)
- opengb: migrate from backend.yaml -> backend.json (#253) (4b31887)
- readme: add note about openssl when building from source (#234) (a9c1b29)
- Release (04d004e)
- Release (4951a00)
- Release (48b18ba)
- Release (ab5e081)
- Release (b10bc24)
- Release (6c40a0e)
- Release (e9ff7fc)
- Release (db9e6ab)
- Release (bcd1d34)
- Release (d1ac3c6)
- Release (d0e2d6b)
- Release (bd657c8)
- Release (1a6bec0)
- Release (68819c3)
- Release (2f23b00)
- Release (d057971)
- Release (260ea03)
- Release (9350c01)
- Release (dfe5722)
- Release (2e6508c)
- Release (dc96983)
- release 1.3.2 (50bd2be)
- release 1.3.3 (aed2a03)
- release 2.0.0-rc.1 (8882ad8)
- remove experimental flag from run & exec commands (#222) (c9cfae6)
- rename --rivet-servers to --server & --this-machine to --dev (#221) (0f47917)
- reorg package in prep for toolchain (#276) (371ac16)
- return backend project on bootstrap (#284) (40ea899)
- Update cargo dist (#271) (c2355ae)
- update docker root user help link (#214) (30fdc56)
- update opengb flag --path -> --project (#295) (6b5407e)
- update posthog api key (#263) (5f2ee58)
- update rivet-api (#209) (b057d00)
- update sdk for env endpoint (#285) (73c7120)
1.3.4 (2024-07-11)
1.3.3 (2024-07-10)
- opengb: one db per env (#256) (a3c4e10)
- revert regression with config-rs dependency (#270) (2dbb0b9)
1.3.2 (2024-06-13)
- release 1.3.2 (50bd2be)
1.3.1 (2024-06-10)
- fmt sdk (#251) (28eade7)
- opengb: migrate from backend.yaml -> backend.json (#253) (4b31887)
- readme: add note about openssl when building from source (#234) (a9c1b29)
1.3.0 (2024-05-29)
- prevent asking user for terminal permissions (#236) (a1a75d8)
- read_generated_manifest fn name (#241) (72970c7)
- reading byte-order marks on Windows (#238) (e177ad4)
- and release please pr (#244) (9862c5a)
- change release-please pr labels on release (#247) (336f789)
- explicitly fmt check members (#242) (f14b17e)
- ignore failing e2e test (#243) (242e291)
- Bump the cargo group across 1 directory with 4 updates (#228) (a192e35)
- main: release 1.2.0 (555fec1)
1.2.0 (2024-05-28)
- add opengb db command passthrough (#216) (7b78870)
- add passthrough env var (#231) (2fc3021)
- add support for sh and url db commands (#217) (bbeeaba)
- Implement OpenGB related commands (#215) (ce57364)
- add concurrency constraint to generated github action (#226) (8a62d97)
- backend: check opengb and deno installation using which crate (#237) (64b3489)
- ci: update ci script to use json-compact instead of json (#224) (2f04ea3)
- read_generated_manifest fn name (#241) (72970c7)
- update sdks for opengb (#233) (7feb70b)
- upload: increase upload buffer size (#229) (28d9d93)
- and release please pr (#244) (9862c5a)
- explicitly fmt check members (#242) (f14b17e)
- ignore failing e2e test (#243) (242e291)
- Release (b10bc24)
rivet run
andrivet exec
are no longer experimental
- Rename
--rivet-servers
to--servers
and--this-machine
to--dev
forrivet run
andrivet exec
rivet exec
does not respect--rivet-servers
flag
- Progress bars will consolidate to 1 if there are more than 40 files being uploaded
- Update SDKs
cdn.build_env
not being passed tocdn.build_cmd
- Improved progress indicators on file uploads
- Docker image UID & GID validation not getting ran
- Lack of a newline printed by
rivet token create
causing EOL mark to appear on zsh shells
- Shorthand API endpoints can now be passed without the scheme (e.g.
api.mydomain.com
or127.0.0.1:8080
) rivet global-config read-project
commandrivet global-config path
command to get the path to the global config--format
now supportsjson-compact
--format json
now defaults to pretty-printed JSON
rivet unlink
now works even if the credentials are invalid- Docker image UID & GID validation no longer disabled by default
rivet exec
command to run arbitrary commands withRIVET_API_ENDPOINT
andRIVET_TOKEN
environment variablesrivet run
command to run scripts from thescripts
portion ofrivet.yaml
withRIVET_API_ENDPOINT
,RIVET_TOKEN
, andRIVET_NAMESPACE
environment variablesrivet deploy
now can now specify the namespace inline (e.g.rivet deploy prod
instead ofrivet deploy -n prod
)matchmaker.docker.build_args
to configure Docker build argscdn.build_env
to configure environment variables for building the siteRIVET_API_ENDPOINT
andRIVET_NAMESPACE
arg is passed todocker build
by defaultRIVET_TOKEN
andRIVET_NAMESPACE
now additionally passed tocdn.build_command
- Reworked
rivet init
process to cleanly communicate next steps & unique links for the selected engine - Updated generated
rivet.yaml
onrivet init
to be more concise and helpful & unique content for the selected engine - Update OCI bundle archival process to operate on TAR streams instead of using the host's file system to preserve ownership & permissions
- [BREAKING]
rivet deploy
now requires a--no-namespace
flag if no namespace is provided
- Overriding
matchmaker.docker.image_id
getting ignored rivet config validate
now uses--print
flag instead of a positional argument- Validate Docker images do not run as GID 0
- Add
x86_64-unknown-linux-musl
artifact - Version names are now generated with incrementing indexes on the backend without race conditions
- Warning if running unauthenticated commands as a sudo user
sidekick unlink
subcommand to unlink the current project from the Rivet CLIsidekick generate-config
subcommand to generate a Rivet config filesidekick get-namespace-dev-token
andsidekick get-namespace-public-token
subcommands to get a Rivet token for a namespacesidekick get-bootstrap-data
subcommand to get the initial data about the signed-in usersidekick get-cli-version
subcommand to get the version of the Rivet CLIsidekick deploy
to do the process of deploying a build to Rivet- ability for
sidekick
to open terminal in a new window for commands that need to be shown (e.g.sidekick deploy
) sidekick get-version
subcommand to get the manage version URL in the hubsidekick get-token
subcommand to get a Rivet token for a usersidekick check-login-state
subcommand to see if a user is logged in through the CLIsidekick wait-for-login
subcommand to long-poll for a user to sign insidekick get-link
subcommand to get a sign-in link for a user- hidden
Sidekick
subcommand to be used by external tools (e.g. engine plugins) to interact with the Rivet CLI
- Cleaner unauthenticated error
- Changed
sidekick
to a more modular architecture - Changed error handling in CLI to use
Result
from main repo instead ofanyhow
- Unix install script can now take the environment variable
BIN_DIR
to specify the installation directory, preventing the need for sudo in certain cases - Rivet CLI now references the
rivet-cli-api
from the Rivet main repo rather than storing its own copy - Update
cargo-dist
to 0.6.2
- Custom engines no longer get prompted to select engine when running
rivet init
for the second time - Windows compilation no longer fails with
nix
dependency --telemetry-disabled
no longer requires explicittrue
- Collect system metrics using
sysinfo::System
instead ofuname
command for compatability with Windows - CDN URL on deploy complete now pulls dynamic DNS from bootstrap API
- CDN URL on deploy complete is no longer displayed if CDN is not enabled for the game
- Auto-generate GitHub Actions with
rivet ci generate github
- Development token cache to make
rivet token create development
run faster - Shorthand
-n
for--namespace
flag inrivet token create development
rivet deploy
validates config before building & uploading resourcesrivet unlink
command to remove authentication token- Pretty-printed errors instead of default debug format
- Error reporting to Sentry
- Removed engine prompt if Rivet config already exists
- [BREAKING] No longer automatically creates/updates
.env
file in favor of usingrivet token create development
- Global flags (
--api-endpoint
,--token
, and--disable-telemetry
) can now be used in subcommands (e.g.rivet init --token foobar
instead ofrivet --token foobar init
) - Moved project metadata to global configuration file
- Removed
.rivet
from auto-generated.gitignore
rivet namespace create
can be called without specifying--version
- [BREAKING] Change
TELEMETRY_DISABLED
env var toRIVET_TELEMETRY_DISABLED
- Remove trailing line break from
rivet token create development
- Rename
rivet site
subcommands torivet cdn
(alias still supported) - Rename
rivet image
subcommands torivet docker
(alias still supported) - Rename
dashboard
subcommands toview
(alias still supported) - Move
rivet version deploy
torivet deploy
- Move
rivet version config-validate
torivet config validate
- Move
RIVET_CONCURRENT_UPLOADS
env var to CLI flag on appropriate commands (env var still works) - Streamline
rivet init
experience - Add
rivet token create public
command
- Fix
matchmaker.game_modes.*.docker.image_id
falling back tomatchmaker.docker.image_id
- Install script Now installs non-prerelease GitHub releases
- Install script (Unix) Configure installation directory by passing
$BIN_DIR
- Install script (Unix) Warning if
$BIN_DIR
is not in$PATH
- Auto-generated & recommended config is now a
rivet.yaml
file - Default version names are now generated as
YYYY.MM (X)
format (whereX
is an incrementing index) - Merged
.rivet/cloud_token
and.rivet/config.toml
in to unified internal.rivet/config.yaml
config file - [BREAKING] Removed support for file formats that are not YAML, TOML, or JSON in order to simplify maintaining forward compatibility
- [BREAKING] Throw error if both
.yaml
and.yml
config exist
- Install script (Unix) Installing ARM64
jq
binary on ARM-based Macs - Install script (Unix) Automatically create
$BIN_DIR
if doesn't exist, specifically on macOS Sonoma which does not provide a/usr/local/bin
by default
- Support for building OCI bundles
- Support for LZ4 compression of builds
- [BREAKING] Expose
RIVET_API_ENDPOINT
tocdn.build_command
to help automate deploying to multiple clusters - [BREAKING] Unset
RIVET_TOKEN
tocdn.build_command
in order to ensure the cloud token isn't accidentally baked in a build image build-push
command to automatically build & push an imagesite build-push
command to automatially build and push a site- E2E cross-platform tests in GitHub Actions
- [BREAKING] Support new single-origin API endpoint (configured with
RIVET_API_ENDPOINT
environment variable or--api-endpoint
flag) - [BREAKING] Rename
RIVET_CLOUD_TOKEN
environment variable toRIVET_TOKEN
- [BREAKING] Rename
--cloud-token
flag to--token
- [BREAKING] Removed
RIVET_API_CLOUD_URL
in favor ofRIVET_API_ENDPOINT
- [BREAKING] Updated custom games config schema
- [BREAKING] Removed domain map from turnstile configuration, replaced with
site_key
andsecret_key
- Added telemetry beacon for fatal errors. Opt out with
--telemetry-disabled
orTELEMETRY_DISABLED=1
- Added internal config to store api endpoint and telemetry options
- Implemented multipart uploads for builds and sites, disable multipart uploads with
_RIVET_UPLOAD_DISABLE_MULTIPART
- Darwin ARM release artifact
- Update
cargo-dist
to 0.5.0
- Replace Smithy-generated API library with OpenAPI-generated library in order to fix
invalid certificate timestamp: UnknownLog
error
- Added custom games + lobby state + external verification
rivet deploy
now gracefully falls back to the native build method if Docker Buildx is not installed
- Unreal helper in
rivet init
- Installer for the Unreal Engine plugin with
rivet unreal install-plugin
orrivet init --unreal
- Renamed
rivet.version.toml
torivet.toml
. All changes are backwards compatible. - Renamed
rivet publish
command torivet deploy
since this is the more commonly used alias rivet token create dev
now prints token in plain text
- Broken links to old docs
- Docker builder now catches missing builder errors correctly for older Docker versions
- Docker builder now catches missing builder errors correctly for older Docker versions
- Remove
PORT
,RIVET_LOBBY_TOKEN
, andRIVET_PUBLIC_TOKEN
from generated .env file - Document development token in .env
- Description, homepage, and repository to Cargo.toml
- Incorrect package version
- Experimental build configuration flag
_RIVET_DOCKER_BUILD_METHOD
can be set tobuildx
ornative
- Default Docker build method is now Buildx, even if the native platform is x86
- Update dependency:
rivet-api
- Upgrade dependency:
tokio 1.27
- Removed unnecessary feature flags from
tokio