Kryptostack
CHANGELOG

[0.9.0] - 2024-12-03

Added

  • Initial release
  • Made project public

[0.9.1] - 2024-12-08

Added

  • Gitlab pipelines

[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 comamnd 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

  • Gitlab issue board

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

Project Management

  • X

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] - open

Project Management

  • X

Fixed

  • Fixed #65 unbound variable OPTARG
  • Fixed #62 handle missing boot.ks

Added

  • first commit for v0.10.6
  • more coverage
  • 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