Skip to content

Releases: c-blake/cligen

Nim portability & couple APIs

14 Oct 09:58
Compare
Choose a tag to compare

See release notes or git log for more details. Should be pretty minor and get some things working again for some people.

Bug fixes & API spruce ups

01 Sep 16:47
Compare
Choose a tag to compare

See RELEASE_NOTES.md and/or VC log for more details.

Minor enhancements

01 Aug 21:17
Compare
Choose a tag to compare

Fix a problem with past-first read() after select() blocking in procpool, add some more string-MSlice compatibility routines in mslice, and add sysUt.newSeqNoInit.

Ditch shallowCopy -> move

25 Jul 15:07
Compare
Choose a tag to compare

Nothing else substantive. See release notes and/or git log for more details.

Space optimization define & a few utility procs

14 Jul 13:07
Compare
Choose a tag to compare

If you don't care about config files and nice generated help colors, but you do care about object file sizes, then look into --define:cgCfgNone and #207 .

BREAKING CHANGE: in the both unlikely and unwise case that you relied upon import cligen/humanUt exporting initHashSet, toHashSet - you can no longer.

Harden cligen/procpool a bit more and add a new examples/piPar.nim that runs 1000s of times faster than similar renditions of this already slow way to compute π (pi).

Also, courtesy of @Vindaar a docCommentAdd for compile-time computed documentation and a few other utility APIs like nextSlice, echoQuit130 proc for setControlCHook, etc. See RELEASE_NOTES.md for more details.

Bug fixes, MFile & ProcPool enhancements

17 Jun 12:37
Compare
Choose a tag to compare

This release fixes a couple bugs. It slightly enhances cligen/mfile.MFile.

Usage by @Vindaar helped to motivate hardening procpool.nim interfaces to avoid deadlock from insufficient statistical regularity and one breaking change (to avoid same-fd-as-parent footguns). Also, silence nCPU-way repetitions of Control-C messages (but provide a way to get them back if users want).

Also, remove need for (not so perf helpful anyway) || iterator in examples/dups.nim.

Terser default enum; float slice support

22 Mar 12:44
Compare
Choose a tag to compare

Release title, notes & commit tell the whole short story of this release.

Fix $HOME/.config/autoCmdName

12 Mar 14:38
Compare
Choose a tag to compare

Fix an old bug, add some library features, and spruce up rp a bit in light of https://github.com/benhoyt/prig which may bring it more attention. See RELEASE_NOTES.md for more details.

Add ability for CLusers to edit "REQUIRED"

29 Jan 21:46
Compare
Choose a tag to compare

See RELEASE_NOTES.md for more details.

This is also partly a checkpoint release as there are inbound very minorly breaking changes (dropped optional params in some uncertain value formatting APIs that are only half a year old anyway). Even so, good to give any client code a version number before/after in case they want to condition upon that.

Add UserError & various other niceties

03 Jan 14:19
Compare
Choose a tag to compare

Began a scope discussion: #201

Add a new exception type for the main CLI generation framework that allows raising user syntax/semantic errors when the CLauthor controls (or explicitly wraps) an API. Either a terse message or the full help string interpolated in is possible (via ${HELP}). See test/UserError.nim for how to use. This feature vaguely relates to these issues: #160 #180 #135

Add madvise API to posixUt.

Add strip(MSlice), firstN(MSlice) to mslice; Make w* abbreviate "white" in mslice.initSep; Have cligen/mslice.parseFloat/ints take sum type including openArray[char] for more flexible deployment.

Make cligen/strUt.(ecvt|fcvt) thread safety analyzer-safe with a compile-time proc to init zeros instead of using strutils.repeat.

Add a convenience first param broadcaster macro macUt.callsOn.

Rename rp --test to where and fix a few bugs (pclose on Windows, isNan for Nim<1.6, textAttrRegisterAliases, tcc-compat osUt).