Skip to content

Releases: growthagent/basic-cli

0.30.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 03 Jun 15:50
041e739

Fixed

  • Cmd.spawn! / Cmd.spawn_grouped! no longer deadlock when a child writes a lot of output. The child's stdout and stderr were only read after it exited, so a child that wrote more than the OS pipe buffer (around 64 KB) blocked on its next write and never exited, hanging any poll! loop. Both streams are now drained into in-memory buffers by background threads from the moment the process spawns.

Changed

  • read_stdout! / read_stderr! now return ReadFailed if the stream reaches EOF before the requested number of bytes is available, instead of blocking forever. They still block while the stream is open and waiting for more data.

Full Changelog: 0.29.0...0.30.0

0.29.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 13 May 12:13
8bb3267

Breaking changes

  • Crypto.hash! and Crypto.hash_file! now take the algorithm as a Str ("SHA-1", "SHA-256", "SHA-384", "SHA-512") instead of a [Sha1, Sha256, Sha384, Sha512] tag union. Workaround for a Roc compiler alias-analysis bug; will revert to tags once fixed. See the docstring on Crypto.hash! for details.
  • Crypto.hash_file! now returns Result Str [FileReadErr Path IOErr] (was Result Str Str), so callers can distinguish NotFound, PermissionDenied, etc.
  • Crypto.hash_file_chunks! removed. It was a custom hash-of-hashes scheme which can now be implemented using {Path, File}.read_bytes_at! and Crypto.hash!.

Added

  • {Path, File}.set_len!: set a file's length, creating it if needed. Useful for pre-allocating sparse files.
  • {Path, File}.{read_bytes_at!, write_bytes_at!}: POSIX pwrite/pread at a given byte offset, without touching the file's seek position. Unix only; returns Unsupported on Windows.

Full Changelog: 0.28.0...0.29.0

0.28.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 04 May 19:48
af0d1b1
  • Add Crypto.{hash!, hash_file!, hash_file_chunks!}.

Full Changelog: 0.27.0...0.28.0

0.27.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 07 Mar 21:41
5007c6b
  • Add macOS release artifacts.
  • Automatically generate and publish documentation.

Full Changelog: 0.26.0...0.27.0

0.26.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 28 Jan 12:16
f3964d1
  • Crypto.bcrypt_hash! changed from List U8, U32 => Result (List U8) Str to List U8, U32 => Result Str Str.

Full Changelog: 0.25.0...0.26.0

0.25.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 08 Jan 09:50
743759b
  • Add Cmd.spawn_grouped! and Cmd.kill_grouped!

Full Changelog: 0.24.0...0.25.0

0.24.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 05 Jan 12:57
42bf951
  • Add poll!

Full Changelog: 0.23.0...0.24.0

0.23.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 15 Dec 23:02
e77ceb3

Add Crypto and Cmd functions

Add Crypto functions:

  • bcrypt_hash!
  • bcrypt_verify!
  • decrypt_aes256_gcm!
  • encrypt_aes256_gcm!
  • pbkdf2_hmac_sha256!
  • random_bytes!

And Cmd functions for spawning processes and reading/writing to stdio.

Full Changelog: 0.22.0...0.23.0

0.22.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 04 Nov 19:52
e3233ef
  • Merge upstream (roc-lang/basic-cli).

Full Changelog: 0.21.0...0.22.0

0.21.0

Choose a tag to compare

@niclas-ahden niclas-ahden released this 05 Apr 20:10
3a35831
  • Add Crypto