[0.9.0] - 2024-12-03
Added
- Initial release
- Made project public
[0.9.1] - 2024-12-08
Added
[0.9.2] - 2024-12-09
Added
- Doxygen integration into CI/CD with manual creation only from web-interface
- commandline parsing
[0.9.3] - 2024-12-24
Added
- GitLab Pages for Doxygen output
- bitshift, bind, eq and sub operators
- translation of tests
- new SOo class and exit operator
- Examples Directory
- index, matrix, copy, length, idiv, get and currentdict operators
- Manifesto
Fixed
- incident "quit operator within procedures leaks objects"
- string parsing and escaping for \ and new line
[0.9.4] - 2025-01-01
Added
- Visual Studio Code
- loop operators rearranged in sources
- cppcheck in makefile
- class Counter
- class Interpreter
- updated ks command line
- GDB debuggin works
- lambdas to reduce redundncy in operator implemenations
- operators div, mod, cleartomark and count
- clang-tidy in makefile
- misc. "auto" type deductions
- __snap operator
- new: interpreter.cpp
- tool bear
[0.9.5] - 2025-01-14
Added
- Cleanup of settings.json for user and workspace
- Operator documentation moved from OPERATOR.md to source code close to the implementation
- Rearrangement of sox-functions within op*.cpp files
- added class LineSource
- usage of [[noreturn]] attribute for error functions
- error.h and .cpp split off
- operators loop and roll
- operators countexecstack and execstack
- operators ceiling, floor, round and truncate
- Context hold its output handle
- watermark statistics
- operators cos, sin and atan
- angular unit DEG and RAD operators
- __rprecision for floats
- operators sqrt, exp, ln, log
- operators rand, rrand, srand
- operators getinterval, putinterval
- operators known, store, undef, where
- errordict, statusdict existing
- operators systemdict, figurative operator section
- operators cleardictstack, string
Fixed
- command line parsing error in ks.cpp
[0.9.6] - 2025-01-25
Added
- Integration of boot.ks in e2e test runs with suite.sh configuration
- operator ne as procedure
- operator anchorsearch, search and type
- LaTeX comments to pimp up operator documentation
- switch to a dockershelf image for the doxygen pipeline deployment stage
- operators cvlit, cvx, xcheck
- Names with all characters but the ones with syntactic usage.
- manual index file for Gitlab Pages
- task tags generated to Gitlab Pages
- operators print, cvn, cvs
- operators product, null, languagelevel
- operators realtime and usertime
Project Management
Fixed
- operator "get" now operates on procedures
- reals with a leading dot e.g. 0.3 are now recognized
[0.9.7] - 2025-01-28
Fixed
- operator abs behaviour for MIN_INT
Added
- moved to GNU C++20
- Pimpl idiom
test*.out
files can contain wild cards if SUITE_WILDCARD is set
- kb script now with options
- README updates
- operators serialnumber and revision
[0.10.0] - 2025-01-29
Project Management
- a documented release strategie including gitlab releases
- first Gitlab release object
Added
- parser and ks release numbers read from git tags automatically
[0.10.2] - 2025-02-03
Project Management
- LICENSE as file and within all sources and shell scripts
Fixed
- fixed missing git for doxygen run
Added
- post-commit hook; Tools Directory;
- Extracting EXAMPLES.md from the example scripts; gitversion.h in Doxygen
- mdextract.sh docu
- new LANGUAGE.md with first detail
- Examples as second pipeline test job
- cloc integration; updated differences to Red Book
[0.10.3] - 2025-02-12
Added
- further operator docs #33
- deployment only for main branch
- running code for vocabularies
- multiple vocabularies ; e2e calls kb
- cancel LaTeX generation #37
- CLI.md is generated
- dependencies from artifacts
- restructured makefile to harmonize developer usage and pipeline usage
- static linkage to drop dependencies to shared libraries
- #46 bind operator binds: accelerated Fibonacci.ks by factor 4
- refactor class attribute names; load() rename
- PERFORMANCE.md draft
- g++ optimizer activated. This accelerated Fibonacci.ks by factor 8.
- last commit v0.10.3
[0.10.4] - 2025-02-27
Project Management
- Added GitLab CI/CD components
Fixed
- test015 translation
- Fix wrong break in compile
Added
- __compile and compile iteration loop
- SOO optimization with const char *
- moved deque to a member class with
shared_ptr<>
- rename Stack to SOK; Inheritance SOK from SO
- refactor SOK interface
- constructing and printing of stack objects
- operators __endstack, $, is$, pop$, push$, count$ clear$, dup$
- Hanoi.ks example
- operators exch$, move$, dictstack$, execstack$, index$
- refactor names; refactor interpreter loop
- reorg 3 dissenting operators
- Unicode prototype in names and strings
- Bash check CI component - shellcheck
- Removed pseudo-access levels
- CI component SAST prototype
- CI component markdownlint prototype
[0.10.5] - 2025-03-23
Fixed
- check for spurious }
- clone of exec_ attribute
Added
- indentation limit 4
- md formatting
- refactor to use copy ctors
- SOcomp in-the-middle class
- Boost is now in use
- equal() harmonized
- build types in makefile and pipelines
- design by contract prototype
- class file reorg
- invariant() prototype
- DbC parent class
- more preconditions and invariant checks
- DBC_ macros
- #56 kb with release number
- tools with build type info
- code coverage tests
- reusing e2e.sh checks for test coverage
- shell checker
- pipeline with profiling
- lcov produces an HTML report
- extended operator length
- one statement per line for coverage tests
- code structure fitting line coverage goal
- core code term
- command line tests
- unit tests
- last commit of release
[0.10.6] - 2025-05-18
Project Management
Fixed
- Fixed #65 unbound variable OPTARG
- Fixed #62 handle missing boot.ks
Added
- first commit for v0.10.6
- simple install target
- kc command line calculator #44
- #66 compile_ to Interpreter
- #58 std::source_location() part I
- #68 Moved command line checks to Tools/**ctest.sh**
- #67 gcc option -DBUILD_TYPE=DEVELOP instead of include
- #58 std::source_location for opErrExit()
- #69 A new CODING.md
- Fibonacci numbers per golden ratio
- our custom docker image gcc with boost
- more Docker hub images
- Dockerfiles
- Refactor test names
- new directory set up to support a docker file installation
- now 4 custom images from hagenbund2 on Docker hub
- new predeploy stage
- fixed missing kc
- #13 deploy to docker
- HTML docu and Examples in Dockerfile
- #74 shebang support for ks-scripts
- dynamic memory allocation checks; new panicExit()
- #70 ctest.sh docu
- structured ks exit codes
- refactor err functions; refactor shutdown()
- markdownlint config added
- enum class OTCode usage
- enum class AngularUnit; KSNCode type removed
- Watermark refactoring; core_t to helper
- infinite loop check for load of name object
- refactor snap() for Context and Interpreter
- #82 echo "1 \{ 1 " | kb -
- bind nesting moved to Context
- Monte Carlo Example
- rand, rranc and srand operators
- STL algorithms in use
- OTCode short names
- maxopeelevel moved to Interpreter
- begin() and end() interface functions
- #79 kb shall check exit code of ks
- Refactoring exit codes for all programs
- last changes for v0.10.6
[0.10.7] - 2025-06-30
Project Management
- Rename to Leonardus and .leo and .leon and leodict and LeoScript
Fixed
- #86 parser fails check integer ranges
Added
- first commit of v0.10.7
- index.html generation; further exit code refactoring
- parser without exit()
- cloc improved
- first ANSI sequence preparation
- direct SOR functions
- new: deployment.drawio
- to_string() with low level pointers
- #71 extract TOOLS.md from scripts like CLI.md
- fixed missing targets in pipeline
- #85 ctest.sh mit output und exit code check
- #8 parser does rang checks and plausibility checks
and normalizes the number presentation
- new term ODO On Demand Optimizer
[0.20.1] - 2025-08-19
Project Management
Fixed
- shellchecker claims
- final KS symbol renames
- fixed check for many memory tree loops
- fixed makefile-Pipeline coordination for image build
- GitLab did not use the latest image
Added
- #90 More DRY
- lc command line tests
- #91 clang-tidy defines
- #32 GPL 3 copyright banner and operators
- #78 Docker image welcome message
- created a new Misc vocabulary
- #39 Goal: '== resembles the syntax for creating the object'
- operator == details
- Split off opfigur.cpp
- #14 Equality in the SO member function equal()
- first working loop check
- No profile build type for branches
- #74 Tests for the docker image
- #96 split socomp into files for sos, soa and sod
- first version with man pages
- man pages for the Docker image
- moved to man 7
- a separate page for every operator
- man as artifacts of doxygen
- #41 How to store the potentially new operator documentation in vocabularies
- dockerstart.sh to run mandb
- ctests for man pages and new lb comamnds
- Multiline descriptions in vocabularies
- l2ctest to test extracted man pages
- manpage check is also man related
- man package for mandb for -C manpage
- #41 How to store the potentially new operator documentation in vocabularies?
- #100 man page postprocessing for $ and = and >
- #99 arcsin and arccos in vocabulary GhostScript fail because of atan codomain
[0.20.2] - 2025-09-16
Project Management
- #121 Pages name should not be "kryptostack"
Fixed
- fixed outdated man page problem;
- #111 New OTCodes Nx and Ax aren't used in STACK operator descriptions
- #104 The man page file for the LeoScript operator π
isn't displayed properly in the docker image
Added
- Renamed SOcomp to SOcomposite - the PostScript term
- A first minimal prototype-based OOP idea
- An examples for PTBOs and fixes
- Fixed makefile shell syntax
- operator ncat
- Complex example
- operator nop
- ctors with parameters
- additional verbose output from leon
- operator binom
- #113 Rational Number SO - first version
- usage of GMP
- helper initialization
- rational numbers feature complete
- operators divqr and isunitfraction
- Egyptian Fraction example
- test coverage to 100%
- more polymorphism for binom
- renamed __turn
- operator **__one** to support polymorphism
- operator concat
- operator __isS
- updated all docker images
- #120 add CONTRIBUTING
- #63 "make -j" and split g++ run into different jobs for each .cpp
- #88 Code coverage for inErrExit() lines fails.
- #123 Unit Test for "__float128 SOK::getR()"
- more unit tests for exiting functions
- shared fixtures
- last commit
[0.20.3] - open
Project Management
Fixed
Added