Skip to content

Releases: Edd12321/zrc

v2.0

16 Oct 06:28
Compare
Choose a tag to compare

At last, the rewrite is complete! (no binaries as of yet)

  • New redirection COMMANDS, with more predictable behaviour
  • Use extended regex in switch statements
  • Bugfix: Job control
  • Bugfix: Very long pipe streams no longer deadlock. The first n-1 chained commands of an n-long pipeline are now always forked off as separate processes.
  • Array substitution is now ${name key} (temporary change, old syntax will return)
  • New str command (replaces string)
  • New arr command (replaces array)
  • New BUILT-IN list command (no longer part of stdlib)
  • Speaking of stdlib, it has been removed (why not just use .? It's a shell, not C++)
  • Nicer codebase in general

To-do:

  • Re-add regexp, maybe regcomp
  • Add unknown feature, similar to Tcl.
  • Re-add old array syntax $...(...)
  • Improve performance

v1.0

17 May 20:38
bd30835
Compare
Choose a tag to compare

A very small changelog: I now consider v1.0 to be in a very useable state!
If I feel like it, I might continue working on potential features like the fabled unknown for v1.1, or maybe even upvar or uplevel.

  • read -d now supports more than one delim
  • expr now has a comma/chaining operator
  • Directory stack QoL improvements
  • Alias substitution bugfixes
  • Add max possible long double precision
  • Maybe, other bugfixes too.
  • Fixed string range behaviour

v0.9b

01 Dec 18:20
Compare
Choose a tag to compare
v0.9b Pre-release
Pre-release

Long time no see, eh? This is the ultimate expr overhaul, behold:

  • Complete expr reimplementation from scratch using Flex/Bison instead of S.Y. algorithm
  • Slight performance increase
  • Add trunc
  • Add sec, csc, arcsin, arccos, arcsec, arccsc and various different aliases for each.
  • Removed -r option from the command (will probably return in the future. Just use include mathop in the meantime)
  • IMPLICIT EXPR CALLING for all built-in functions
  • IMPLICIT 0 RETURN for empty expressions
  • General, non-expr related QoL improvements
  • Updated docs

v0.9a

02 Sep 08:49
Compare
Choose a tag to compare
v0.9a Pre-release
Pre-release
  • Deprecated old >(...) fd syntax
  • Add new syntax (x>, x>>, x> &y, x> &-, ^, ^^)
  • Implement process substitution/pipeline branching (<{...})
  • Prompt is now printed to stderr (so you can now redirect an interactive session to a file)
  • Change order of evaluation (pipes first, then redirections)
  • Parens are now considered barewords! (you can now glob words like (*))
  • Same for backslashes
  • Bugfixes for very minor issues
  • Huge performance increase (more efficient redirection mechanism)

v0.8b

23 Aug 09:48
Compare
Choose a tag to compare
v0.8b Pre-release
Pre-release

Zrc v0.8b is now live:

  • Add Cdpath support
  • Add executable path hashing mechanism
  • Compile-time options for path hashing

v0.8

20 Aug 12:46
Compare
Choose a tag to compare
v0.8 Pre-release
Pre-release

Back from a long hiatus. This is also the first time I'm uploading a Windows (cygwin) release :)

  • Add builtin (functions like the Plan 9 rc's equivalent)
  • switch pattern matching (regex) now requires full match instead of partial
  • Fix file descriptor behavior
  • Speed up fd syntax parsing
  • Add -f option for read
  • Slight code refactor (not really a feature)
  • Better async safety for job control messages

v0.7b

30 Jul 10:00
Compare
Choose a tag to compare
v0.7b Pre-release
Pre-release

Zrc v0.7b has now been released:

  • expr shunting yard speed up, almost 200% faster
  • %include is now include
  • The commands ! and @ can now also be called by their alt names, not and fork
  • ARG_MAX CLI arguments now supported
  • General QoL improvements
  • Slight code refactoring, including performance boosts
  • Early draft of a new library (ipc)
  • Despite all this, somehow the binary is somehow smaller now

v0.7a

18 Jul 11:39
Compare
Choose a tag to compare
v0.7a Pre-release
Pre-release

v0.7a syntax update

  • New ${...} syntax support
  • Perform substitutions inside let lists
  • Deprecated elsif for more dynamic chaining approach
  • Fix job control issues
  • General bugfixes

v0.7

02 Jul 16:25
Compare
Choose a tag to compare
v0.7 Pre-release
Pre-release

Zrc v0.7 has now been released:

  • round() for nearest integral value
  • More consistent I/O behaviour
  • Add rlimit for modifying stack size
  • Performance improvements
  • Bug fixes
  • Enhanced Termux support

v0.6s

29 Jun 09:28
Compare
Choose a tag to compare
v0.6s Pre-release
Pre-release

v0.6 bugfix+stripped binary