Releases: Summoner-Network/summoner-core
Releases · Summoner-Network/summoner-core
Release list
Summoner Core (client 1.3.0, server 1.0.0)
Summoner Core 1.3.0
Summoner Core 1.3.0 introduces when_data, a new payload-admission filter for reactive use_data=True senders.
This lets the SDK decide whether a payload should be admitted before the sender is invoked, so filtered payloads do not wake a sender only to immediately return None. The result is a clearer send model, lower sender-side orchestration overhead, and less unnecessary work under load.
@client.send(
route="request",
on_actions={Action.STAY},
use_data=True,
when_data=lambda data: data.get("ready") is True,
)
async def send_ready(data):
return {"id": data["id"]}Highlights
- Added
when_datato@client.send(...)for reactiveuse_data=Truesenders. when_datais evaluated before sender invocation, so rejected payloads are skipped before they become sender tasks.run_whilekeeps its existing role as a timed runtime guard;when_datais a payload filter, not a runtime switch.- DNA export, translation, and merger now preserve
when_data, so replayed clients keep the same filtering behavior. - Reduced unnecessary copy work in the sender payload handoff path, informed by the benchmark work in
benchmarks/. - No wire-format or server-side changes are required for this release.
Upgrade Notes
- Existing senders continue to work without changes.
when_datais synchronous and only applies to reactive senders usinguse_data=True.data_mode="snapshot"keeps stable delivery semantics while the SDK now avoids unnecessary internal copy work.
What's Changed
- fix: dependatbot alert for pytest and python-dotenv by @remytuyeras in #101
- Add
when_databy @remytuyeras in #102 - Merge from Dev to Main by @remytuyeras in #103
Full Changelog: core-c1_2_0-s1_0_0...core-c1_3_0-s1_0_0
Summoner Docs (client 1.2.0, server 1.0.0)
What's Changed
summoner-core 1.2.0 makes sending a first-class part of the SDK.
Highlights:
- Direct receive-to-send handoff with
Event.dataanduse_data=True, letting structured work flow straight into route-local senders instead of relying on local pending queues. - Sender-owned payload transfer semantics via
data_mode, with support for both"live"and"snapshot"delivery. - First-class recurring senders with
every=<seconds>. - Runtime-gated timed orchestration with
run_while=..., so senders can stay active, pause, and re-arm based on local state. - Backward-compatible behavior for existing untimed senders, preserving the legacy round-based batching model while adding timed execution as a non-breaking capability.
Pull Requests
- Introduced the foundations of the 1.2.0 send framework by @remytuyeras in #98
- Expanded sender capabilities with payload-aware, reactive, and timed orchestration by @remytuyeras in #99
- Polished and completed the developer-facing improvements for the 1.2.0 line by @remytuyeras in #100
Full Changelog: core-c1_1_1-s1_0_0...core-c1_2_0-s1_0_0
Summoner Core (client 1.1.1, server 1.0.0)
What's Changed
- fix async write drain not using lock by @remytuyeras in #80
- fix async write drain not using lock by @remytuyeras in #81
- Merge pull request #81 from Summoner-Network/better_dna by @remytuyeras in #82
- introduce route_key in dna by @remytuyeras in #83
- Dev by @remytuyeras in #84
- polish readme by @remytuyeras in #85
- add typing to flows by @remytuyeras in #86
- Dev by @remytuyeras in #87
- fix dependabot alerts (2) by @remytuyeras in #88
- fix logger (console/file) by @remytuyeras in #89
- Dev by @remytuyeras in #90
- removing exc_info=True for connection retry by @remytuyeras in #91
- fix project.toml by @remytuyeras in #92
- fix versioning by @remytuyeras in #93
- Dev by @remytuyeras in #94
- fix shutdown with ctrl+C by @remytuyeras in #95
- fix: read line when upload_states handler return empty dictionary by @remytuyeras in #97
Full Changelog: core-c1_1_0-s1_0_0...core-c1_1_1-s1_0_0
Summoner Core (client 1.1.0, server 1.0.0)
What's Changed
- added typing_extensions in setup.py and requirements by @remytuyeras in #66
- remove optional output typing for multi=true in
@sendby @remytuyeras in #67 - correct confusing comment/doctstring by @remytuyeras in #68
- add uv for setup; normalize deprecation by @remytuyeras in #69
- polish readme by @remytuyeras in #70
- add CONTRIBUTING.md by @remytuyeras in #71
- make the server versioning more stable on installation by @remytuyeras in #72
- improve server version routing logic by @remytuyeras in #73
- add flexible venv naming and setup by @remytuyeras in #74
- add flexible venv logic to rust server installation by @remytuyeras in #75
- change Test logic for objects: equivalent to returning None by @remytuyeras in #77
- Better dna by @remytuyeras in #78 / #79
Full Changelog: core-c1_0_1-s1_0_0...core-c1_1_0-s1_0_0
Summoner Core (client 1.0.1, server 1.0.0)
What's Changed
- fix event handling when returning None on non-arrow route by @remytuyeras in #64
- Fix version registration and deprecate Flow.ready() by @remytuyeras in #65
Full Changelog: core-c1_0_0-s1_0_0...core-c1_0_1-s1_0_0
