# Changelog ## 2024-10-16 - 3.1.10 - fix(VirtualStream) Fix stream closure logic in `writeToWebstream` method - Added `writer.releaseLock()` call before closing WritableStream when `closingBit` is received in `writeToWebstream` method. ## 2024-10-16 - 3.1.9 - fix(VirtualStream) Ensure writable streams are correctly closed asynchronously to prevent potential sync issues. - Updated VirtualStream to use 'await' when closing writable streams, ensuring proper asynchronous handling. ## 2024-10-16 - 3.1.8 - fix(VirtualStream) Fix stream closing behavior to correctly handle closing bits - Introduced a 'closingBit' constant to properly signal the end of stream data. - Updated the 'readFromWebstream' function to send a closing bit upon completion if 'closeAfterReading' is true. - Modified the 'close' method to optionally send a closing bit when terminating the stream. ## 2024-10-16 - 3.1.7 - fix(VirtualStream) Fix issue in VirtualStream to handle null values during data writing. - Ensured writableStream closes gracefully when null values are encountered. - Added a null check before writing data to the writableStream to prevent errors. ## 2024-10-16 - 3.1.6 - fix(VirtualStream) Fix backpressure handling in VirtualStream workOnQueue method - Resolved an issue in the workOnQueue method of VirtualStream where concurrent execution was not properly managed. - Introduced a workingDeferred promise to ensure proper queue handling and resolve potential race conditions. ## 2024-10-16 - 3.1.5 - fix(virtualstream) Add console log for debugging backpressure feedback loop - Inserted a console log message to provide insight when waiting due to backpressure in the workOnQueue method. ## 2024-10-16 - 3.1.4 - fix(VirtualStream) Corrected the logic for backpressure handling in response - Fixed backpressure flag assignment in the response handling logic of VirtualStream. - Ensured correct negation logic for checking receive backpressure status. ## 2024-10-14 - 3.1.3 - fix(VirtualStream) Fix keepAlive flag handling in VirtualStream and added stream closure in tests - Ensure that the keepAlive status is correctly maintained in the keepAlive trigger method. - Added closure of VirtualStreams in the test suite for proper resource cleanup. ## 2024-10-14 - 3.1.2 - fix(core) Fix incorrect backpressure logic in VirtualStream class - Corrected the logic for determining backpressure status by checking the available space in the receiveBackpressuredArray. - Introduced a looping mechanism to wait when the other side is backpressured before sending more data. ## 2024-10-14 - 3.1.1 - fix(virtualstream) Fix handling of virtual streams for proper shutdown - Ensured that writeToWebstream method checks for remaining items in receiveBackpressuredArray before closing. - Corrected package.json dependency for @push.rocks/tapbundle. - Updated @types/node to version 22.7.5. ## 2024-10-11 - 3.1.0 - feat(virtualstream) Enhance VirtualStream with optional closure when reading from webstream - Added an optional parameter `closeAfterReading` to the `readFromWebstream` method. - The stream will close automatically after reading if `closeAfterReading` is set to true. ## 2024-10-11 - 3.0.33 - fix(test) Increase delay duration before stopping the server in test suite. - Adjusted the delay time from 1000 ms to 10000 ms before stopping the server to ensure tests complete smoothly. ## 2024-09-06 - 3.0.32 - fix(virtualstream) Fix keep-alive loop handling and test cleanup - Prevent unnecessary keep-alive loop from starting on the responding side - Add logging for keep-alive loop initiation in VirtualStream - Temporarily comment out stream close and tap forceful stop in test to avoid abrupt termination ## 2024-09-06 - 3.0.31 - fix(core) Updated dependencies and added close method to VirtualStream - Updated dependencies in package.json for better compatibility - Added close method to VirtualStream class in ts/classes.virtualstream.ts for more graceful stream termination ## 2024-05-31 - 3.0.28 - Error Handling Enhancement to error handling mechanisms. - Logs now include the method to which an error was given. ## 2023-08-04 - 3.0.0 - Core Introduced a breaking change. - Major update to core functionalities.