PackageTrack
Sign in Get early access

amphp/byte-stream

A stream abstraction to make working with non-blocking I/O simple.

v2.1.2 132M downloads/mo #304 most downloaded on Packagist amphp/byte-stream

What this package is like to depend on

Last release 1 years ago

16 Mar 2025

Release timing varies

gaps range from 8 days to 11 months

Rarely documented

notes for 7 of 37 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

51 releases · first in 2017

0 releases in the last 12 months

see the full history below

Release timeline

51 releases · Jun 2017 to Mar 2025
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 51
  1. v2.1.2 16 Mar 2025
    Release notes
    • Fixed the exception type thrown if ReadableIterableStream is closed (Amp\Pipeline\DisposedException was leaked, now an Amp\ByteStream\ClosedException is thrown).

    Full Changelog: v2.1.1...v2.1.2

    Open source →
  2. v2.1.1 17 Feb 2024
    Release notes

    What's Changed

    • Fixed cancellation not being forwarded to split() in splitLines().

    Full Changelog: v2.1.0...v2.1.1

    Open source →
  3. v2.1.0 19 Nov 2023
    Release notes

    What's Changed

    • Payload now implements Stringable
    • Add cancelation support for split by @xtrime-ru in #108

    New Contributors

    Full Changelog: v2.0.2...v2.1.0

    Open source →
  4. v2.0.2 01 Sep 2023
    Release notes
    • Fixed throwing an Error when invoking getStdin(), getStdout(), and getStderr() if the corresponding STDIO stream had been previously closed. Instead, an already closed stream instance is returned.
    Open source →
  5. v2.0.1 03 Feb 2023
    Release notes
    • Fixed ReadableResourceStream calling Suspension::resume() when destroyed, which could throw an exception when suspending from {main} and an uncaught exception was thrown from the event loop.
    Open source →
  6. v2.0.0 07 Jan 2023
    Release notes

    Initial stable release compatible with AMPHP v3 and fibers.

    There are a number of renaming and compatibility breaks with 1.x versions:

    • Added interface ResourceStream
    • InputStream has been renamed to ReadableStream and now extends Amp\Closable. The read() method now supports an optional Cancellation parameter.
    • OutputStream has been renamed to WritableStream and now extends Amp\Closable. WritableStream::end() no longer accepts an optional data chunk as parameter.
    • IteratorStream has been repalced by ReadableIterableStream, which accepts any iterable of strings (particularly useful with Generator or Pipeline).
    • ResourceInputStream has been renamed to ReadableResourceStream. The read() method has an additional, optional $limit parameter to specify the maximum number of bytes to read.
    • ResourceOutputStream has been renamed to WritableResourceStream.
    • InMemoryStream has been renamed to ReadableBuffer.
    • OutputBuffer has been renamed to WritableBuffer.
    • Payload now accepts a string in addition to a ReadableStream and is final now. Payload::buffer() may only be called once.
    • Added a $limit param to Amp\ByteStream\buffer() and Payload::buffer() to set a limit on the maximum bytes that can be buffered.
    • Added BufferedReader, a helper class for reading from ReadableStream using fixed lengths or delimiters found within the stream (#94)
    • Added Pipe.
    • Added StreamChannel implementing the Channel interface from amphp/sync.
    • The zlib streams have been moved into the Compression sub-namespace and renamed to CompressingWritableStream and DecompressingReadableStream.
    • Add CompressingReadableStream (#99)
    • Add DecompressingWritableStream (#99)
    • The base64 streams have been renamed to reflect the new interface names.
    • InputStreamChain has been renamed to ReadableStreamChain.
    • Renamed the $options param of parseLineDelimitedJson to $flags to match the json_decode function.
    Open source →
    Release notes
    Open source →
    Release notes

    Improved performance of continuous reads in ReadableResourceStream

    Open source →
    Release notes
    • Add compatibility with Revolt v1.x
    Open source →
  7. v2.0.0-beta.14 23 Dec 2022 pre-release

    Nothing published for this version

  8. v2.0.0-beta.13 16 Nov 2022 pre-release

    Nothing published for this version

  9. v2.0.0-beta.12 07 Nov 2022 pre-release

    Nothing published for this version

  10. v2.0.0-beta.11 11 Sep 2022 pre-release

    Nothing published for this version

  11. v2.0.0-beta.10 25 Jun 2022 pre-release

    Nothing published for this version

  12. v2.0.0-beta.9 05 Jun 2022 pre-release

    Nothing published for this version

  13. v2.0.0-beta.8 03 Apr 2022 pre-release

    Nothing published for this version

  14. v2.0.0-beta.7 26 Mar 2022 pre-release

    Nothing published for this version

  15. v2.0.0-beta.6 05 Mar 2022 pre-release

    Nothing published for this version

  16. v2.0.0-beta.5 07 Feb 2022 pre-release

    Nothing published for this version

  17. v2.0.0-beta.4 01 Feb 2022 pre-release

    Nothing published for this version

  18. v2.0.0-beta.3 18 Dec 2021 pre-release

    Nothing published for this version

  19. v2.0.0-beta.2 17 Dec 2021 pre-release

    Nothing published for this version

  20. v2.0.0-beta.1 11 Dec 2021 pre-release

    Nothing published for this version

  21. v1.8.2 13 Apr 2024
    Release notes

    What's Changed

    • Iterator Stream documentation by @tncrazvan in #80
    • Add psalm.xml and .github configs to .gitattributes by @sidz in #85
    • Update https instead of http in composer.json by @S-Tian86 in #88
    • Fix psalm annotation by @sokil in #98
    • Add explicit nullable types by @alexandre-daubois in #111

    New Contributors

    Full Changelog: v1.8.1...v1.8.2

    Open source →
  22. v1.8.1 30 Mar 2021

    Nothing published for this version

  23. v1.8.0 29 Jun 2020

    Nothing published for this version

  24. v1.7.3 04 Apr 2020

    Nothing published for this version

  25. v1.7.2 29 Jan 2020

    Nothing published for this version

  26. v1.7.1 27 Oct 2019

    Nothing published for this version

  27. v1.7.0 24 Aug 2019

    Nothing published for this version

  28. v1.6.1 26 Jul 2019

    Nothing published for this version

  29. v1.6.0 03 Jun 2019

    Nothing published for this version

  30. v1.5.1 27 Dec 2018

    Nothing published for this version

  31. v1.5.0 22 Oct 2018

    Nothing published for this version

  32. v1.4.0 03 Oct 2018

    Nothing published for this version

  33. v1.3.1 04 Apr 2018

    Nothing published for this version

  34. v1.3.0 13 Mar 2018

    Nothing published for this version

  35. v1.2.5 11 Mar 2018

    Nothing published for this version

  36. v1.2.4 09 Mar 2018

    Nothing published for this version

  37. v1.2.3 08 Mar 2018

    Nothing published for this version

  38. v1.2.2 12 Jan 2018

    Nothing published for this version

  39. v1.2.1 10 Dec 2017

    Nothing published for this version

  40. v1.2.0 05 Dec 2017

    Nothing published for this version

  41. v1.1.6 17 Oct 2017

    Nothing published for this version

  42. v1.1.5 08 Oct 2017

    Nothing published for this version

  43. v1.1.4 07 Oct 2017

    Nothing published for this version

  44. v1.1.3 15 Sep 2017

    Nothing published for this version

  45. v1.1.2 15 Jul 2017

    Nothing published for this version

  46. v1.1.1 28 Jun 2017

    Nothing published for this version

  47. v1.1.0 23 Jun 2017

    Nothing published for this version

  48. v1.0.3 19 Jun 2017

    Nothing published for this version

  49. v1.0.2 19 Jun 2017

    Nothing published for this version

  50. v1.0.1 17 Jun 2017

    Nothing published for this version

  51. v1.0.0 15 Jun 2017

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive