Releases: ahmad88me/stiqueue
Releases · ahmad88me/stiqueue
v1.3.2
🚀 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
🚀 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
- You can now run the server directly from the project root using:
-
Improved Documentation
- Fixed and clarified the README instructions.
🔥 How to Upgrade?
pip install --upgrade stiqueue
v1.3.0
🔹 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 ton
messages, separated bysep
.
- 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
What’s New in StiQueue
-
Improved Documentation:
- Enhanced clarity and structure of the documentation.
- Added more examples and detailed explanations of the
SQServer
andSQClient
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.”
- If a client fails to acknowledge a dequeued message within the configured