Skip to content

SoulFire 2.4.0

Choose a tag to compare

@github-actions github-actions released this 14 Feb 13:11
· 1078 commits to main since this release

Important

These downloads are for users who want to host Dedicated Servers for SoulFire clients or use the CLI client of SoulFire.
This is not the right download if you want to use the GUI client for SoulFire, which is recommended for most users.
Instead you should look at the SoulFireClient releases page.


🚀 Features

  • 42514ec feat: implement visual scripting backend with execution engine
  • 4c671da feat: add visual scripting node implementations and trigger service
  • 5fb785c feat: add string, math, list, and utility script nodes
  • 848a188 feat: replace Map<String, Object> with type-safe NodeValue sealed interface
  • 47b5ed6 feat: add data-driven node metadata system for client rendering
  • 4f21249 feat: implement GetNodeTypes gRPC method
  • 92ea92c feat: add CategoryDefinition with id, displayName, icon for all categories
  • b89ef12 feat: add more nodes
  • 98a9b39 feat: switch to java native evaluation engine
  • 083c501 feat: improve validation and node capabilities
  • 4708563 feat(script): Add Blender-style node editor enhancements
  • 08a17cc feat(scripting): implement data-driven port metadata and registry data
  • 6cb96ee feat(scripting): implement OnDamage trigger with BotDamageEvent
  • 313712c feat(scripting): add data-driven HandleShape and EdgeStyle for ports
  • e175d02 feat: add script log streaming and fix PrintNode for any type inputs
  • 33a1f15 feat(scripts): add 24 new scripting nodes and fix proto paused field
  • 75246ed feat: implement per bot protocol version
  • 8782b6a feat: inject native java proxy into Minecraft instances of bots
  • 2e53571 feat: add execution context for automatic data flow along execution edges

🐛 Fixes

  • 6600189 fix: use fluent Lombok accessors and correct Identifier import
  • af52e4a fix: add ColumnDefault for autoStart to fix SQLite migration
  • b77ce6d fix(deps): update dependency net.fabricmc:fabric-loom to v1.15.3
  • bd8f9ea fix: add missing class
  • 9dd9169 fix: use hyphen names
  • 92c6931 fix: make build work
  • 6df1a2d fix: properly parse type names
  • ba5b5aa fix(deps): update all non-major dependencies
  • c3a9238 fix(scripting): update proto files and fix registry API
  • e51e210 fix: remove field shadow
  • da5075d fix(deps): update all non-major dependencies to v7.2.2.final
  • e654eb8 fix(deps): update all non-major dependencies
  • f97282f fix: allow null map values
  • dd905ce fix: properly handle bot trigger order
  • e07e452 fix: use AtomicBoolean for thread-safe scheduler shutdown
  • ce71b65 fix: prevent double finalization in recurring scheduler tasks
  • c0a1303 fix: shut down executor on scheduler shutdown
  • e44b790 fix: prevent drift in scheduleAtFixedRate
  • 8f7cd3c fix: synchronize responseObserver calls in proxy check service
  • eca82ea fix: guarantee EventLoopGroup cleanup in proxy check service
  • 37b73f4 fix: propagate async errors to client in proxy check service
  • 40e9ee5 fix: synchronize and harden MCAuthServiceImpl gRPC calls
  • f5cfbd8 fix(deps): update dependency net.ltgt.errorprone:net.ltgt.errorprone.gradle.plugin to v5 (#934)
  • 6b6317a fix: migrate from alpine zulu to temurin debian base image
  • 2ecde71 fix: actually download resource packs
  • ef7e4d8 fix: use connection netty conntection rather than the thread one
  • dfa38d9 fix(deps): update dependency org.shredzone.acme4j:acme4j-client to v4 (#932)
  • 628e3f2 fix: use newer api
  • 9752ddc fix(deps): update all non-major dependencies (#933)
  • da4456b fix(deps): update all non-major dependencies
  • 1dbb21a fix(deps): update dependency com.openai:openai-java to v4.20.0
  • 908ce19 fix: add migration path from Hibernate to Flyway for existing databases
  • 931f775 fix: handle binary UUID format from Hibernate during migration
  • fcdba63 fix: detect binary UUIDs independently of column rename status
  • 8aa3b23 fix(deps): update flyway to v12 (#935)
  • 5c9fe8f fix: wire JOOQ codegen as dependency of compileJava
  • 7df3a97 fix: add missing migrations
  • b755b4b fix: update comment
  • ce6b72d fix: apply formatting
  • 3f8ada7 fix: wire JOOQ codegen as dependency of sourcesJar
  • 200de74 fix: remove duplicate JOOQ srcDir already added by plugin
  • 3262b48 fix(deps): update all non-major dependencies (#936)
  • ea56f06 fix(deps): update dependency com.openai:openai-java to v4.21.0
  • 37720c1 fix: fix script execution engine flow control, concurrency, and error handling
  • d18a579 fix: update scripts
  • 1551e6a fix: switch NodeRegistry maps to concurrent maps

🏎️ Performance

  • ae8d29e perf: download pre-built JAR in Docker build instead of compiling

🏗 Refactor

  • 64d8486 refactor: remove script scoping and make scripts activatable
  • a0ec122 refactor: make script nodes stateless and pure
  • bd20c31 refactor: remove variables from scripting system
  • 6631507 refactor: introduce NodeRuntime interface to separate node API from execution machinery
  • c69e6ed refactor(scripting): simplify port IDs to use names without type prefix
  • 1740b42 refactor(scripts): change from activation to pause-based model
  • ab35233 refactor: switch to native asRuntimeException() method
  • 36334e1 refactor: use end sentinel streaming pattern for loginCredentials
  • 477cae9 refactor: rewrite maxFutures using Semaphore + Phaser
  • 12a82cf refactor: replace Hibernate ORM with JOOQ + Flyway
  • c296eb4 refactor: remove unused ScriptManager
  • 6726b9d refactor: overhaul script execution system with 12 fixes
  • 467de16 refactor: move metadata to registry, away from object

📝 Documentation

  • ad416fd docs: add CLAUDE.md for Claude Code guidance
  • bc3e032 docs: add CLAUDE.md for Claude Code guidance

🔨 Build

  • 3cf42e8 chore(release): bump version to 2.3.1-SNAPSHOT
  • 9eb47e9 chore: fixup protocol
  • df299f4 chore: apply proper metadata
  • e9265be chore: rewrite to node category registry
  • 99aa614 chore: switch script processing to reactor
  • 059b965 chore: configure Gradle daemon JVM toolchain for Java 25
  • c25948a chore: update icon variants
  • 5b631b5 chore: disable vfp bumping
  • 78e921e chore: add tmp
  • 24c2e86 chore: migrate from zulu to temurin
  • 254e8e6 chore: add SECURITY.md to streamline vulnerability reporting
  • e1d7563 chore(release): bump version to 2.4.0

💅 Style

🧪 Tests

  • 61563f3 test: add initial scripting test

💬 Other

  • fad3cb0 Exclude Caffeine library from Jitpack repository
  • 7e5e131 Revert "feat: improve validation and node capabilities"
  • b7d6f10 Update JDK version from openjdk21 to openjdk25
  • 5d101e0 Update Java and Kotlin toolchain to version 25
  • cd00dc0 Add plugins and update Java language version