Skip to content

Releases: ahmad88me/stiqueue

v1.3.2

15 Feb 13:55
Compare
Choose a tag to compare

🚀 What's New in Stiqueue v1.3.2

We’re excited to release Stiqueue v1.3.2! 🎉 This update introduces enhanced functionality, improved acknowledgment handling, and better queue operations—making Stiqueue even more robust and efficient.


🔹 New & Improved Features

More Efficient peek Method 👀

  • The peek method has been optimized using a deep copy of the internal queue.
  • This allows peeking at elements without modifying queue order, making it faster and safer, especially in multi-threaded environments.

Enhanced Acknowledgment Handling

  • send_with_action now has better acknowledgment (ack) support, ensuring smooth and reliable message delivery.

🛠 Optimizations & Fixes

Thread-Safe Queue Operations 🔒

  • We refined how queue interactions work under multiple threads, ensuring stability and preventing race conditions.
  • Peek operations are now fully non-intrusive, so other queue operations won’t be affected.

More Robust Logging & Debugging 🔍

  • Improved debug logs to provide more visibility into queue behavior.
  • Easier to trace message flow, making debugging simpler and more intuitive.

Refined Documentation 📖

  • Sphinx-compatible docstrings for cleaner and more accessible API references.
  • More detailed explanations and practical examples to help users understand and integrate Stiqueue faster.

📌 How to Upgrade

Upgrade to the latest version with:

pip install --upgrade stiqueue```

v1.3.1

13 Feb 21:12
Compare
Choose a tag to compare

🚀 What's New in StiQueue v1.3.1

🛠️ Improvements & Fixes

  • Enhanced Package Imports

    • Improved package structure and fixed import issues.
    • Now supports absolute imports for more reliable execution.
    • Updated __init__.py to export key classes (SQClient, SQServer, PeekQueue).
  • Better Server Execution

    • You can now run the server directly from the project root using:
      python -m stiqueue.sqserver --host 0.0.0.0 --port 1234 --debug
  • Improved Documentation

    • Fixed and clarified the README instructions.

🔥 How to Upgrade?

pip install --upgrade stiqueue

v1.3.0

12 Feb 22:15
Compare
Choose a tag to compare

🔹 What's New?

  • Added peek(n: int = 0, sep: str = ",") -> bytes
    • Retrieves messages from the queue without removing them.
    • Supports fetching multiple messages:
      • n=0 retrieves all available messages.
      • n>0 retrieves up to n messages, separated by sep.
    • Returns an empty byte string (b"") if the queue is empty.

🛠️ Bug Fixes & Improvements

  • Improved documentation and updated README for better clarity.
  • Enhanced unit tests to cover peek behavior.
  • Optimized thread safety by refining the locking mechanism.

🚀 How to Upgrade?

pip install --upgrade stiqueue

v1.2.0

25 Jan 15:06
Compare
Choose a tag to compare

What’s New in StiQueue

  • Improved Documentation:

    • Enhanced clarity and structure of the documentation.
    • Added more examples and detailed explanations of the SQServer and SQClient functionalities.
    • Expanded the guide for extending StiQueue and using features like acknowledgment.
  • Message Acknowledgment Mechanism: * Introduced an acknowledgment (ack) system to ensure message reliability. * Prevents message loss caused by client disconnections, crashes, or other interruptions.

    • If a client fails to acknowledge a dequeued message within the configured ack_timeout, the message is returned to the queue for redelivery.
    • Ideal for use cases requiring high message reliability and fault tolerance.”

v1.1.4

01 Sep 18:57
Compare
Choose a tag to compare
  • Handle large text
  • Add more logs
  • Add log file option

v1.1.3

27 Aug 15:30
Compare
Choose a tag to compare
  • Support the new version of TPool (1.6).
  • Improve the documentation.

v1.1.1

18 Aug 11:42
Compare
Choose a tag to compare
only publish docs on main

v1.0.6

14 Aug 19:14
Compare
Choose a tag to compare
  • Fix license
  • Upgrade sphinx-docs action to version v0.5

v1.0.5

14 Aug 18:22
Compare
Choose a tag to compare
  • Remove the str queue. Now all messages are in bytes.
  • Change the way the app is structured.
  • Improve the examples.
  • Improve the documentations.
  • Improve the CLI of the app.
  • Improve loggers.

v1.0.4

16 Apr 15:21
f04033f
Compare
Choose a tag to compare

Allow queue to be of type string beside the type byte.