All Versions
9
Latest Version
Avg Release Cycle
104 days
Latest Release
2491 days ago

Changelog History

  • v6.1.0 Changes

    May 29, 2018

    🔄 Changes since 6.0.0

  • v6.0.0 Changes

    February 22, 2017

    🔄 Changes since 5.8.6

    6.0.0 is a massive rework compared to 5.x. It now requires a C++14 enabled compiler

    Compiler Requirements
    • MSVC 2015 or greater
    • g++ 4.9 or greater
    • clang 3.6 or greater
    💥 Breaking Changes
    • 🏗 Instantiating a ChaiScript object now, by default, builds the stdlib in
      • This was done to address the most common support issues of loading stdlib dynamically at runtime
      • If you want the old behavior, use include/chaiscript/chaiscript_basic.hpp
    • 🏗 Headers have been reorganized to fully separate stdlib/parser/engine from each other (some faster builds)
    • Bootstrap functions no longer return a reference to the module added to (compile time savings)
    • It's now no longer possible modify AST_Nodes (compile time, runtime efficiency)
    • Function annotations no longer exist (simplifies code, reduces compile time, compile size)
    🆕 New Features Added
    • Modular optimization system; this can be accessed via the ChaiScript_Basic interface
    • Execution tracing capability; also accessed via ChaiScript_Basic interface
    • 🐎 range-based for loops for( id : container ) { } (much better performance than other loop types)
    • If-init expressions (ala C++17)
    • 👌 Support for passing r-value references to functions
    • 👌 Support for containing unique_ptr
    • ➕ Add helpers for exposing enum classes to ChaiScript
    • 👍 Allow typed ChaiScript defined functions to perform conversions on call #303
    👌 Improvements
    • Compile time improvements
    • Compile size improvements
    • 👀 Significant runtime improvements (see "Modular optimization system")
    • 📜 Significant parser improvements, both with parse-time and parser initialization time (Thanks @niXman)
    • 🛠 Fix type conversion to bool in conditionals
    👌 Improvements Still Need To Be Made
    • File location tracking has been rewritten; this currently means error location reporting is not as good as it was
    • ✅ Tracing capability needs to be tested and vetted
  • v5.8.6 Changes

    February 22, 2017

    🔄 Changes since 5.8.5

    • ⚡️ Optimize away return statements in lambdas also
    • 👍 Allow conversions to bool in conditionals
    • Don't allow class statements inside of scopes
    • Properly error when a dynamic object non-function member is called
  • v5.8.5 Changes

    October 10, 2016

    🔄 Changes since 5.8.4

    • 🛠 Fix order of operations for prefix operators
    • 👉 Make sure atomics are initialized properly
    • ✂ Remove parsing of unused prefix & operator
  • v5.8.4 Changes

    October 10, 2016

    🔄 Changes since 5.8.3

    • 🛠 Fix case with some numeric conversions mixed with numerics that do not need conversion
  • v5.8.3 Changes

    September 16, 2016

    🔄 Changes since 5.8.2

    • ➕ Add support for reference of pointer return types
  • v5.8.2 Changes

    September 16, 2016

    🔄 Changes since 5.8.1

    • 👍 Allow casting to non-const & std::shared_ptr
  • v5.8.1 Changes

    March 05, 2016

    🔄 Changes since 5.8.0

    • 🛠 Fix parsing of floats to be locale independent #250
    • ⚠ Various warning fixes on various platforms
  • v5.8.0 Changes

    February 17, 2016

    🔄 Changes since 5.7.1

    • 📜 Make all parser iterator operations range checked
    • 📜 Parse in-string eval statements once, not once for each execution
    • 🛠 Fix parsing of operators (ie 1<-1 now parses)
    • 🛠 Fix variable scoping for functors
    • 👻 Exception reduction
    • 🛠 Various object lifetime fixes
    • ➕ Add JSON support for load / save #207
    • 🛠 Numeric overload resolution fixes #209
    • 🛠 Fix long long #208
    • ➕ Add octal escapes in strings #211
    • 🛠 Fixed sizing of binary literals #213
    • ➕ Added support for != with bool values #217
    • 🛠 Various value assignment vector fixes
    • 🛠 Fixed broken hex escape sequences from @ChristianKaeser
    • 🛠 Multiply defined symbols fixes #232 @raptorfactor
    • ➕ Add add_class helper #233@vrennert
    • 🛠 Cheatsheet fixes #235 @mlamby
    • 🛠 Fix parsing of strings inside of in-string eval statements
    • 👍 Allow lower-case global keyword
    • 🐎 Enable thread-local on MSVC (should be significant performance boost)