All Versions
6
Latest Version
0.6
Avg Release Cycle
94 days
Latest Release
3094 days ago

Changelog History

  • v0.6 Changes

    October 08, 2015

    Tavor v0.6 changelog

    • ➕ Add a simple keyword-driven executor to make model-based testing usage clearer
    • ➕ Add support for negative values in integer ranges
    • ➕ Add support for negative values in the positive boundary filter
    • ➕ Add token attribute "Reference" to variable tokens
    • ➕ Add token attribute "Item" to list tokens
    • 👍 Allow list tokens for the "no in" operator
    • ➕ Add "path" operator as first experimental graph operator
    • 👍 Allow tokens in expressions
    • 👍 Allow token attributes in expressions
    • 👍 Allow variable forward usage
    • Accepting states in the DOT format are now double ellipses
    • 👉 Make the whole Tavor installation easier
    • Write temporary files for fuzzing with the "argument" exec type
    • Double escape escaped characters for the DOT format
    • 🛠 Fix missing --list-exec-argument-types argument for the "fuzz" command
    • 🛠 Fix typed token were not correctly used in early-usage list and variable scopes
    • 🛠 Fix do not remove temporary files if there is an result folder
    • 🛠 Fix wrong range for data-left error message in the internal parser
    • 🛠 Fix endless loop in "Sequence.existing"
    • 🛠 Fix internal/external mix-up in LoopExists
    • 🛠 Fix "graph" command did not handle scopes
    • 🛠 Fix the "random" fuzzing strategy should check for a nil random generator
    • 🛠 Fix if multiple fuzzing filters can be applied only the first one is applied
    • 🛠 Fix variables should be usable as normal tokens
    • 👉 Make it clear that the Tavor format is not final
    • 📜 Typed tokens can now be defined outside the Tavor parser
    • Introduce the term "expression list"
    • ➕ Add new token interfaces "Follow", InternalReplace", "Resolve" and "Scoping"
    • Do not make Go-generate mandatory
    • Permutations are now 0-based in Tavor
    • Refine all strategy and filter interfaces so that they can be directly applied to a token
  • v0.5 Changes

    January 25, 2015

    Tavor v0.5 changelog

    • 📚 Complete documentation
    • Require Go 1.4
    • Do not allow empty strings
    • ✂ Remove Least, Many and Most token
    • ✂ Remove Fuzz and FuzzAll
    • 📇 Rename special token to typed token
    • 📇 Rename the reduce strategy BinarySearch to Linear
    • Replace RandomInt with RangeInt
    • 🛠 Fix reducing by making it work in general
    • 🛠 Fix another unrolling bug by regenerating the whole structure
    • 🛠 Fix resets of sequences and scopes
    • 🛠 Fix combinations of Repeat
    • ↪ Workaround for zero repeat parsing
    • 🛠 Fix UniqueItem permutation which fixes some resets
    • 🛠 Fix release of Unique
    • 🛠 Fix EOF in character classes
  • v0.4 Changes

    November 14, 2014

    Tavor v0.4 changelog

    • 📚 (Almost) complete documentation
    • 👕 Passing gofmt, golint, go vet and errcheck is now required by all code
    • 🐧 32bit on Linux is now supported
    • ➕ Added ranges, hex and some other escapes for character classes
    • ➕ Added permutations groups to the Tavor format
    • 👍 Allow infinite loops in the Tavor format
    • 👍 Allow "if" in Tavor format to have no "else" branch
    • ➕ Added token attribute "Count" to variables
    • 👉 Make "to" and "from" optional for special token "Int"
    • 0️⃣ Switched default exec-argument-types to STDIN
    • 🛠 Fixed goroutine leak in repeat reduction
    • Converted a lot of the API from int to uint
    • Setup TravisCI and Coveralls
    • Only write temporary files if they are needed
    • 🛠 Fixed some permutation cornercases
    • 🛠 Fixed corner case of unrolling
    • ✅ Replaced test.Rand with rand.IncrementRand
    • 👉 Make minimizing phase independent
    • 📦 Cleanup the tavor package
    • ✅ Even more small things and of course even more tests
  • v0.3 Changes

    August 15, 2014

    Tavor v0.3 changelog

    • ➕ Added Reduction of repeats
    • Forward usage of attributes
    • Arguments to automate delta debugging by executing external binaries
    • Arguments to automate fuzzing by executing external binaries
    • ➕ Added "Variables" with scopes
    • ➕ Added conditions "if", "if else" and "else"
    • ➕ Added operator "defined"
    • ➕ Added operator "not in"
    • ➕ Added "character class"
    • ➕ Added "Index" and "Unique" attributes
    • ➕ Added fuzzing filter for Negative boundary value analysis
    • 🛠 Redone pointer unrolling (fixed a lot of cases)
    • Argument to define maximum repeats
    • 🖨 Argument to print AST
    • 🚚 Argument to not remove tmp files on error
    • ➕ Added IncrementRand and use it everywhere instead of ConstantRand this leads to more divers results
    • First draft to fix the mess that is the fuzzing of ExistingSequenceItems
    • ✅ Lots of old outstanding test cases and many many new ones
  • v0.2 Changes

    July 27, 2014

    Tavor v0.2 changelog

    • 🔨 refactored binary to have commands
    • able to read in files validated through a format file (fuzzing output -> read back into tavor is now possible!)
    • basic delta debugging (reduction)
    • fuzzing filters
    • graphing of internal representation
    • 👍 bash completion support
    • logger
    • 🛠 fixed special tokens
    • 🔊 more verbose and debugging logs
    • ➕ additional API for tokens (like InternalGet and InternalLen)
    • Go 1.3 is required
    • ✅ even more tests
  • v0.1 Changes

    June 26, 2014

    Tavor v0.1 provides

    • a working framework to create fuzzers and additional fuzzer heuristics
    • import Tavor format files into the internal token structure
    • fuzzer heuristics
      • Random - fuzz once at random
      • AllPermutations - generate all possibilities for the given format
      • PermuteOptionals - generate all possibilities for optional tokens (enable/disable them)
    • a working binary to validate and fuzz Tavor format files
    • ✅ automated tests for all major functionality