Skip to content

V0.7.0

Choose a tag to compare

@JohnRichard4096 JohnRichard4096 released this 28 Mar 04:28
· 106 commits to main since this release
f6f244b

Release 0.7.0 – Suspend/Resume & Queue Enhancements

We are excited to announce AmritaCore 0.7.0, a major update introducing the new suspend/resume mechanism for fine-grained control over agent execution, along with significant improvements to queue handling, token counting, and documentation.

✨ New Features

🧩 Suspend & Resume Mechanism

  • Added a lightweight, non‑blocking suspend/resume system that allows external control over ChatObject execution.
  • Core internal methods (_entry, _run, _run_strategy, etc.) are now decorated with @suspend and automatically check for suspend signals.
  • New methods: wait_to_suspend(), resume(), and _wait_for_continue() enable pausing and resuming at any point, ideal for debugging, interactive workflows, and multi‑agent coordination.
  • Full documentation with examples is available in the new Suspend & Resume Guide.

📦 Queue Timeout Control

  • ChatObject now accepts queue_timeout and overflow_queue_timeout parameters to control how long it waits when queues are full.
  • Replaced the previous blocking loop with timeout‑aware async waits, providing more predictable behavior and a clearer error message: "Can't keep up! Is the consumer still running?".

⚙️ Tokenizer Disable Option

  • Added no_tokenizer flag to FunctionConfig. When set to True, the built‑in tokenizer is skipped for responses that do not return token counts, improving performance in certain scenarios.

🔧 Improvements

  • Token Counting

    • get_tokens() is now a synchronous function.
    • text_generator() gains a full_message parameter to correctly concatenate message content for token counting, fixing potential under‑counting.
  • Logging

    • Removed the unused replace_logger_handler() function, simplifying the logging module.
  • Documentation

    • Overhauled event handler examples to use the new .handle() pattern (e.g., @on_precompletion().handle()).
    • Added a new Suspend & Resume concept page in both English and Chinese.
    • Updated feature list to highlight the new suspend capability (now 8 core features).
    • Fixed broken links and improved several code examples.
  • Tests

    • Added comprehensive tests for the suspend mechanism.
    • Updated queue tests to match the new error message.

📦 Version & Compatibility

  • Version bumped from 0.6.3.1 to 0.7.0.
  • No breaking changes are introduced – all existing code should continue to work as before.

🙏 Acknowledgements

Thanks to all contributors who helped shape this release!


Full Changelog: 0.6.3.1...0.7.0