Releases: foxssake/netfox
v1.19.1
Summary
As 2024's last release, v1.19.1 brings many changes and a few exciting features:
- Display callbacks for RewindableStateMachine, to improve developer experience
- Hitscan weapons with an example FPS game, courtesy of @krazyjakee
- Input prediction
- Rollback debugger, a tool to examine your code during rollback, signal by signal, tick by tick
- Procedural node configuration, to enable nodes to automatically configure their own state, input, and interpolated properties
And of similar importance, documentation has also undergone significant changes:
- Docs are now bundled with every release, ready for downloading and offline use
- Docs are now available for every version on the site, instead of just the latest
- Versions managed using mike
- From this release and onward, doc pages have comments enabled!
- Discussions managed by giscus
What's Changed
- doc: Use embedded UML by @elementbound in #342
- fix: Disconnect signals on exiting tree by @elementbound in #341
- feat: RewindableStateMachine display callbacks by @elementbound in #343
- chore: Include docs in releases by @elementbound in #350
- fix: Setup mkdocs to build docs by @elementbound in #351
- feat: Hitscan weapons by @krazyjakee in #340
- chore: Include contributors by @elementbound in #352
- feat: Input prediction by @elementbound in #344
- feat: Rollback debugger by @elementbound in #345
- fix: Add missing interpolators by @elementbound in #355
- fix: Record nodes without _rollback_tick callback by @elementbound in #356
- feat: Procedural node configuration by @elementbound in #354
- doc: Admonitions by @elementbound in #357
- doc: Version selector by @elementbound in #359
- chore: Improve scripts by @elementbound in #360
- doc: Add giscus by @elementbound in #361
- doc: Update version selector style by @elementbound in #363
- doc: Input prediction tutorial by @elementbound in #365
Full Changelog: v1.14.1...v1.19.1
v1.14.1
Summary
This release marks netfox's first anniversary - it's been a year since the release of v1 on the 23th of November, 2023! To celebrate, we bring the biggest update so far!
Highlights
- A moving platform example ( #313 )
- State machines that work with rollback ( #315 )
- Improved time sync ( #314 )
- Window tiling ( #322 )
- Diff states ( #278 )
What's Changed
- Changed RPC strings to static functions by @TheYellowArchitect in #241
- fix: Make sure generated projectile ID's are unique by @elementbound in #270
- fix: Projectiles can be spawned without ID by @elementbound in #237
- Guard input redundancy from values less than one by @albertok in #271
- Added docs for is_fresh and updated screenshot by @albertok in #263
- doc: Add supported versions by @elementbound in #292
- chore: Add tick and peer id to logging by @elementbound in #293
- chore: Add funding link by @elementbound in #294
- Added notes to caveats by @albertok in #296
- chore(github): Issue templates by @elementbound in #295
- fix: TickInterpolator glitch on state switch by @elementbound in #301
- feat(game): Moving platforms by @elementbound in #313
- Rollback aware state machine by @krazyjakee in #315
- fix(ci): Missing export template in build by @elementbound in #317
- Provide choice to spawn an avatar for the host by @TheYellowArchitect in #283
- Fixed NetworkPopup.tscn UI so the buttons host and join are always visible by @TheYellowArchitect in #285
- doc: Add Interpolation caveats by @elementbound in #318
- refactor: Expand variable names by @elementbound in #319
- fix: Use record input props instead of auth by @elementbound in #320
- feat: Nudge Time Process by @elementbound in #314
- feat: Window tiling by @albertok in #322
- fix: Limit rollback ticks by @elementbound in #324
- feat: Broadcast time sync success by @elementbound in #325
- fix: NetworkTime.start() runs twice for clients by @TheYellowArchitect in #326
- fix: host/join signals not emitting at multiplyer-simple-demo and state-machine-demo by @TheYellowArchitect in #329
- fix: Log levels by @elementbound in #333
- Fix starting order for
RollbackSynchronizer
by @TheYellowArchitect in #284 - feat: Diff states by @TheYellowArchitect in #278
- refactor: Conditional log message evaluation by @elementbound in #335
- refactor: NetfoxLogger no longer depends on netfox by @elementbound in #336
- doc: Improve index pages with shields by @elementbound in #337
- feat(game): Aura decals by @elementbound in #338
- feat: Add display state change signal to RewindableStateMachine by @krazyjakee in #331
- chore: Add diff state ack defaults by @elementbound in #339
New Contributors
- @krazyjakee made their first contribution in #315
Full Changelog: v1.8.0...v1.14.1
v1.8.0
Summary
This release brings an option to reduce bandwidth by sending input data only to the server - thanks to @nicobatty for the catch! The legacy behavior is still available through a flag on RollbackSynchronizer
.
Make sure to disable enable_input_broadcast
on your RollbackSynchronizer
nodes for this to take effect!
What's Changed
- feat: Add option to avoid broadcasting inputs by @nicobatty in #230
New Contributors
- @nicobatty made their first contribution in #230
Full Changelog: v1.7.0...v1.8.0
v1.7.0
What's Changed
- fix: hdpi svg icons by @bryanmylee in #213
- feat: Support nested properties by @elementbound in #217
- Unreliable inputs with redundancy by @albertok in #221
- Fix nested properties not being applied by @jonstvns in #224
- feat: Use OS time for tick loop by @elementbound in #225
New Contributors
- @bryanmylee made their first contribution in #213
- @albertok made their first contribution in #221
- @jonstvns made their first contribution in #224
Full Changelog: v1.4.0...v1.7.0
v1.4.0
What's Changed
- doc: Update releases section with new zip layout by @elementbound in #172
- Documentation - Reference the issue which will solve multiple physics steps preventing instant rollback by @TheYellowArchitect in #178
- Redirect dead link (error 404) to proper documentation link by @TheYellowArchitect in #183
- Deleted outdated tutorial link in comment by @TheYellowArchitect in #187
- Documentation - 1 typo by @TheYellowArchitect in #179
- chore: Add type annotations where sensible by @elementbound in #190
- chore: Flat billboard clouds by @elementbound in #191
- doc: Add process_settings note to ownership in rollback tutorial by @elementbound in #192
- feat: Performance monitors by @elementbound in #195
- fix(game): Excessive rollback when an Effect is active by @elementbound in #198
- feat: StateSynchronizer by @elementbound in #202
- doc: Upgrading by @elementbound in #203
- doc: Add showcase section to README by @elementbound in #206
- fix: Spawning RollbackSynchronizer resims from -1 by @elementbound in #204
- feat: Enable updating authority on RollbackSynchronizer by @elementbound in #208
New Contributors
- @TheYellowArchitect made their first contribution in #178
Full Changelog: v1.1.1...v1.4.0
v1.1.1
Upgrading
- Remove
Interpolators
from the project autoloads, it's a static class now
What's Changed
- fix: Remove netfox.noray dependency on netfox by @elementbound in #154
- doc: Add noray instance by @elementbound in #155
- doc: Enable addons section by @elementbound in #156
- fix(examples): Noray bootstrapper refuse connection on empty role by @elementbound in #161
- refactor: Make Interpolators a static class by @elementbound in #163
- chore: Add RollbackSynchronizer class name by @elementbound in #165
- feat: Configurable logging by @elementbound in #162
- chore: Fix warnings by @elementbound in #170
- chore: Always bundle dependencies by @elementbound in #171
Full Changelog: v1.0.1...v1.1.1
v1.0.1
Intermediate release to fix #140
What's Changed
- doc: Fix asset links by @elementbound in #133
- fix: Problems with multiplayer-simple example by @zibetnu in #134
- fix: Problems with multiplayer-netfox example by @zibetnu in #135
- doc: Add contribution notes by @elementbound in #139
- fix: Addon installed to project root by @elementbound in #143
New Contributors
Full Changelog: v1.0.0...v1.0.1
v1.0.0
The first major release of netfox! Includes:
- A complete documentation site
- Time synchronization
- A custom network tick loop
- Convenience signals
- State interpolation between ticks
- Rollback implementation
- noray integration
- Network input base class
- Network weapon base class
v0.15.14
What's Changed
- doc: Add RollbackSynchronizer node by @elementbound in #115
- doc: Add netfox.noray docs by @elementbound in #116
- doc: Add BaseNetInput guide by @elementbound in #117
- doc: Add NetworkWeapon guide by @elementbound in #118
- doc: Improve PacketHandshake explanation by @elementbound in #124
- doc: Authoritative servers by @elementbound in #125
- doc: Ownership by @elementbound in #126
- fix: Projectile reconciliation threshold by @elementbound in #127
- doc: Update tutorials by @elementbound in #128
Full Changelog: v0.15.9...v0.15.14
v0.15.9
Pre-release test release of Forest Brawl