Releases: rootCircle/cpast
v0.6.0
Changes since v0.4.0
Clex
Introducing custom character types in String, breaking syntax!
Now, for custom character sets use @CH_ALL@
, @CH_UPPER@
etc(as found in Clex Language Specs) or literal string like 'abc' it will generate either of abc!
We also dropped Character Type as it use was not profound! For using Character Type simply replace it with S[1,]
Critical Bug Fix:
[Critical High] Due to race condition, cpast test ...
might leave a orphan child process in non --no-stop
cases! This will eventually eat all your system memory and potentially crash it as well! This has been fixed as well!
Breaking Changes
- Introduced improved error propagation, (don't exit before error) and improved error types
- Modify public and private function signature to accommodate error propagation
Misc
-
Introduce
CPAST_DEBUG
env, to reduce verbosity of Success Testcase message! It's now disabled by default! To enable useCPAST_DEBUG=1 cpast test ...
-
Shell completion support! Generate using
- zsh:
cpast --completions=zsh | sudo tee /usr/local/share/zsh/site-functions/_cpast
- fish:
cpast --completions=fish > ~/.local/share/fish/generated_completions/cpast.fish
- bash:
cpast --completions=bash | sudo tee /etc/bash_completion.d/cpast.bash
- zsh:
Full Changelog: v0.4.0...v0.6.0
v0.4.0 stable
Release Notes
announcement
start on work on llm based clex suggestion, check progess at cpast_llm.
lib
- Breaking changes
- AST is reformatted to support new specifications found at clex.specs.md
- Error Handling done neater
- Bugfix: Fix panic if length of string in StringModifier is negative
- Refactored clex_language
- Support for newline using String using S[1,'n'].
cli
- Colorized output for nicer bifurcations and beauty.
docs
- Documented AST and other component sematics
- FAQs to know more about the language. (Available in docs/)
- More examples
performance
- Runner is now faster than ever.
- Multithread
test
checking support, allowing user to test hundreds of thousands of seconds in seconds.
Full Changelog: v0.3.3...v0.4.0
v0.3.3 stable
v0.3.x stable release
CLI
- Breaking CLI changes, introduction of two subcommands,
test
andgenerate
.test
for running and comparing two files and finding missing edge cases, whilegenerate
is just to generate the testcase and print it to generate
now supports copying testcases over clipboard using-c
flag, using which you can use testcases in other platforms as welltest
subcommand now supports an optional--no-stop
flag, that can be used to never stop after only one failing testcase is found
Library Changes
- Strong support for length based checks and charset(string modifiers). Sample usage
cpast generate "S[10,'U']"
- 'U' for uppercase, 'L' for lowercase, '0'..'9' for digit, 'N' for Alphanumeric, 'D' for All (including symbols), 'A' for alphabets only!
- Introduction of support for character literal in cpast, currently being used for string modifier expressions only.
- compile_and_test method now requires an boolean argument at last to accord to changes in CLI. This argument as addressed earlier too is to whether or not to stop after one failing testcase is found.
- Minimum Value for Integer in capturing group now automatically conforms to 0, if negative.
- Dependencies update
- Fixed & Updated Docs
Ops
- This release also address compilation issues of users using android, by using
--no-default-features
flag during compilation. - Dependencies update of clap to 4.4.18
Performance Fixes
- remake implementation to reduce repeated compilation based on remake implementation in GNU make
- Significant improvement in benchmark performance for
test
with files of compiled programming language.
Full Changelog: v0.2.9...v0.3.3
v0.2.9-alpha
Full Changelog: https://github.com/rootCircle/cpast/commits/v0.2.9
First Release
v0.2.0-alpha Added README file