tengo v2.6.2 Release Notes

Release Date: 2020-09-18 // about 1 year ago

Previous changes from v2.6.1

  • ๐Ÿ”„ Changelog

    2f86800 'enum' module (#166)
    ๐Ÿ“š 9e73f40 1. Added documentation on operators. 2. Add (char)-(int) operators
    โšก๏ธ 0e9c523 1. fix bytecode compile bug 2. update CLI
    ๐Ÿšš 029a3c1 1. remove some stdmod functions for the latest Go version 2. add .travis.yml
    90aafc8 Add 'is_function' and 'is_callable' builtin functions
    c1899f3 Add gpython to benchmark result
    ๐Ÿš€ 93fbccd Added Go mod hooks to goreleaser (#228)
    e94b3da Added builtin function from_json
    c4e6e61 Added builtin function to_json
    65f84ec Added conversion functions: objectToInterface
    ๐Ÿš€ 50d0022 Added empty go.sum file for the release pipeline (#229)
    ๐Ÿ“„ 1ca10a7 Added formatting docs (#187)
    ๐Ÿ–จ ebddfd1 Added println (#144)
    0๏ธโƒฃ a747c98 Builtin converts now take default values
    a8d838a Compile can take custom stdlibs
    b9c1c92 Compiler optimization first iteration (#165)
    fae8500 Convert returns second argument Object as it self in case of failure of conversion of first argument
    c3e41c2 Correct misattributed string() details (#222)
    fbbec88 Create LICENSE
    ๐Ÿ“ฆ b2df4f5 Custom formatter based on go's fmt package. (#185)
    c437def Decoupled stdlib from vm, script and compiler (#126)
    8171d58 Error Object (#4)
    3eebecb Fix %v formatting (#181)
    cb1c8a4 Fix a bug for 'for' loop without condition: "for {}" (#100)
    c57a7f8 Fix a bug where len() builtin does not take immutable array
    9c21c8a Fix a bug where user modules couldn't resolve builtin functions
    fc4e358 Fix a closure-block scope bug (#99)
    5713eb6 Fix a slicing expression bug: allow low-index == len(a)
    ๐Ÿ‘• b79fd4f Fix lint issues (#2)
    e668901 Fix nested file imports (#282)
    eda0495 Fix several module-related issues
    9b4ab96 Fix typo in 'immutable_array.go' (#212)
    40ad7aa Fix undefined value compatibility
    ๐Ÿš€ 388b3e7 Fixed goreleaser duplicate id error (#230)
    ๐Ÿ›  0ae9a66 Fixed interoperability doc (#174)
    ๐Ÿ›  0440786 Fixed missing ObjectPtr check in OpSetSelLocal (#194)
    ๐Ÿ“œ 6ec360c Fixed panic when bailout is triggered in parser.ParseFile() (#113)
    ๐Ÿ›  8eabc23 Fixed runtime error when iterating over undefined. (#177)
    ๐Ÿ›  9c67444 Fixes a REPL bug (Issue #91) (#92)
    3500c68 Improvements on compiler/VM error reporting (filename:line:col)
    5e21abf IndexGet of Array, Index, ImmutableIndex, Bytes, String, Undefined
    0c5e80b Limit the maximum size of string/bytes values (#121)
    1a0c06b Made map IndexSet and IndexGet consistent. (#179)
    ๐Ÿ”€ fa294d9 Merge pull request #14 from mdbazuin/feature/7-type-conversion-defaults
    ๐Ÿ”€ bf79922 Merge pull request #18 from d5/d5-patch-1
    ๐Ÿ”€ a95fbbd Merge pull request #20 from d5/d5-patch-1
    ๐Ÿ”€ d55b667 Merge pull request #21 from 0xflotus/patch-1
    ๐Ÿ”€ de63fba Merge pull request #217 from d5/mod_support
    ๐Ÿ”€ 47418fd Merge pull request #23 from d5/gover
    ๐Ÿ”€ 0016872 Merge pull request #25 from d5/scriptctx
    ๐Ÿ”€ cb4b468 Merge pull request #27 from d5/d5-patch-1
    ๐Ÿ”€ a32ef0a Merge pull request #28 from saromanov/fix-deprecated-values
    ๐Ÿ”€ 6a5e4f7 Merge pull request #29 from mdbazuin/feature/encoding-json
    ๐Ÿ”€ a562964 Merge pull request #30 from d5/indexable
    ๐Ÿ”€ c7ae181 Merge pull request #32 from d5/d5-patch-1
    ๐Ÿ”€ 4fd8836 Merge pull request #35 from d5/iterable
    ๐Ÿ”€ c816b70 Merge pull request #36 from d5/doc
    ๐Ÿ”€ 1acaf33 Merge pull request #40 from d5/d5-patch-1
    ๐Ÿ”€ 1315489 Merge pull request #41 from d5/sandbox
    ๐Ÿ”€ a1bd73f Merge pull request #43 from d5/printf
    ๐Ÿ”€ 5e2187d Merge pull request #48 from d5/immutable
    ๐Ÿ”€ c0bb733 Merge pull request #52 from d5/jsondoc
    ๐Ÿ”€ 93917a4 Merge pull request #53 from d5/condexpr
    ๐Ÿ”€ 0f1fe9b Merge pull request #54 from d5/d5-patch-1
    ๐Ÿ”€ 481d79c Merge pull request #55 from Chyroc/feat-builtin-function-type
    ๐Ÿ”€ fdc52a0 Merge pull request #58 from d5/stringstime
    ๐Ÿ”€ f7b0cd8 Merge pull request #62 from d5/v1prep
    ๐Ÿ”€ 61e534e Merge pull request #64 from d5/scriptmodule
    ๐Ÿ”€ 6420628 Merge pull request #70 from d5/fix69
    ๐Ÿ”€ 0d99cca Merge pull request #72 from d5/compiledset
    ๐Ÿ”€ 4f222b1 Merge pull request #73 from d5/charop
    ๐Ÿ”€ d90f286 Merge pull request #74 from d5/iarrlen
    ๐Ÿ”€ edfb765 Merge pull request #76 from d5/is_function
    ๐Ÿ”€ a9224a3 Merge pull request #81 from ripienaar/80
    ๐Ÿ”€ e81380b Merge pull request #85 from ripienaar/84
    ๐Ÿ”€ 9782d87 Merge pull request #86 from d5/ostestfix
    ๐Ÿ”€ f482de6 Merge pull request #9 from d5/osmod
    3f55a6b Modules (#5)
    ๐Ÿšš d8c83b6 Moved interfaceToObject from scripts/conversion.go to objects/conversion.go as FromInterface
    09f3d52 Opbinaryop and other minor optimizations (#157)
    7970a35 README (#1)
    โ™ป๏ธ 052ae59 Refactored duplicate REPL code (#145)
    ๐Ÿšš 880a281 Remove a link (standalone language) from README
    ๐ŸŽ 5d8457a Removed double indirection for massive performance gains (#140)
    ๐ŸŽ 46884c7 Removed redundant code in the VM with no performance loss. (#132)
    โช 3b53bc4 Revert "remove callable args alloc (#259)" (#260)
    6dd573c Runtime error trace format (#111)
    46c7190 Script.AddModule() to take *Script not *Compiled
    7cc683e SetBuiltinFunctions and SetBuiltinModules (#120)
    f265f17 Stack trace for errors (#108)
    1ee7425 Stdlib encodings: hex, base64 (#216) (#221)
    39112d2 String keys allowed for map definitions. (#118)
    09009d4 Substring function (#180)
    โšก๏ธ d688d71 Update README.md
    โšก๏ธ adbbf41 Update README.md
    โšก๏ธ c60fc28 Update README.md
    โšก๏ธ 22e1e35 Update README.md
    โšก๏ธ f145261 Update README.md
    โšก๏ธ 131afe7 Update README.md
    โšก๏ธ 1c92fff Update README.md
    โšก๏ธ f97ab7f Update README.md
    โšก๏ธ ab5289e Update README.md
    โšก๏ธ ddd9fa8 Update README.md
    โšก๏ธ 0318d95 Update README.md
    โšก๏ธ 9b0dcf4 Update README.md
    โšก๏ธ bf934d0 Update README.md
    โšก๏ธ 8027f96 Update README.md
    โšก๏ธ 3a9d293 Update README.md
    โšก๏ธ 2caa4d1 Update README.md
    โšก๏ธ 5fa340c Update README.md
    โšก๏ธ bbed48e Update README.md
    โšก๏ธ 5c713fe Update README.md
    โšก๏ธ dec1301 Update README.md
    โšก๏ธ cc2b0e5 Update README.md
    โšก๏ธ 66fbb50 Update README.md
    โšก๏ธ 5ab5db0 Update README.md
    โšก๏ธ 030b4b9 Update README.md
    โšก๏ธ e01d7f4 Update README.md
    โšก๏ธ 76a5c59 Update README.md
    โšก๏ธ 75e9e17 Update README.md
    โšก๏ธ 5b449b3 Update README.md
    โšก๏ธ f4f70ba Update README.md (#270)
    ๐Ÿ“š 4f46460 Update documentation for compiled scripts
    โšก๏ธ 44248b8 Update interoperability.md
    โšก๏ธ 85d90f6 Update objects.md
    โšก๏ธ a373584 Updated docs for SetBuiltinFunctions and SetBuiltinModules (#131)
    19d2945 Used by badge (#188)
    ๐Ÿ‘ cb5cbad len builtin supports map and module map
    5164d1d add 'exec' module
    ๐Ÿ–จ 37016f4 add 'printf' and 'sprintf' builtin functions
    2b517f3 add 'rand' module (#90)
    a9a9380 add 'times' module
    bbc76a0 add 'to_json' and 'from_json' to builtin documentation
    9ccc6dd add Bytecode.FormatInstructions and Bytecode.FormatConstants (#95)
    6bc2cbe add CircleCI config
    ๐Ÿ‘ฏ b7977a4 add Compiled.Clone to make them safe for concurrent execution (#134)
    d08a636 add GitHub Actions (#293)
    1045afd add Indexable / IndexAssignable interface
    2486457 add Iterable interface
    ๐Ÿšš 7095b56 add ModuleMap.Remove() (#155)
    88ba20d add Script.DisableBuiltinFunction, Script.DisableStdModule, Script.SetUserModuleLoader functions
    8e56bd8 add Script.Run() method
    378bf51 add Time type; add is_array, is_immutable_array, is_map, is_immutable_map, is_time, time builtin function
    bff5900 add Variable.Error() function
    d1f7baf add Variable.IsUndefined()
    b203f09 add Yaegi to benchmark (#271)
    6a663c6 add script.Compiled.Set function so compiled script can replace value of global variables
    46707f6 add a sample
    5383c89 add another version of fibonacci to bench
    ๐Ÿ— 57700ac add build status to README
    7289d76 add compile-run to "tengo" tool
    04bb0f5 add context to script run
    ๐Ÿšš 2a144dc add docs directory and move some documents from Wiki
    ๐Ÿ“š 8a27848 add documentation comment on Object and Callable interface
    ๐Ÿ“š 49b2b5f add documentation for text module
    ๐Ÿ“š 06573e5 add documentation for times module
    ๐Ÿ“š 264f15f add documentation on scanner and parser.
    โœ… 5292251 add equality tests
    c4d9500 add example
    d5b2413 add go module v2 (#244)
    0b11e7d add goja to benchmark
    ๐Ÿš€ 760bc44 add goreleaser deploy to travis
    306055a add helper functions for builtin functions and builtin modules (#122)
    d8b50ef add interoperability example (#266)
    7f9fa83 add missing comment
    ๐Ÿ“ฆ 53ce129 add module-import tests to most of runtime package (#125)
    9b1a0a3 add more comments
    309b03b add more strings functions to text module
    โœ… 344c96d add objects tests
    b638f0d add objects.Callable
    8cad048 add os File functions; add Bytes type
    06c7e7d add os.readfile()
    69961de add os.stat() and file.stat()
    ๐Ÿ‘ 5037994 add shebang support (#274)
    44c55ea add some more os module functions, add more built-int functions
    f752601 add strconv functions
    ๐Ÿ‘ 366c699 add string comparison support (#294)
    โœ… b83eac8 add test for for-in compiler
    โœ… dab4986 add tests for Object.BinaryOp
    โœ… 94b0d52 add tests for script custom objects
    adcf05d add variadic function parameters (#189)
    19498da adding immutable value (incomplete)
    54bea46 bench outputs expected result
    01fe30f bug fix for function return and if statement (#160)
    ac53405 builtin delete for maps and arrays (#250)
    73b5e62 builtin splice (#254)
    306fe1b clean up stdlib code
    7e88e10 combine REPL and tengo tool
    4ed7576 enable relative imports (#285)
    d413d2f feat: add builtin function: type
    17a50b7 fix #171 (#172)
    4cd9a2b fix #231 (#235)
    806ddeb fix CLI version command
    ๐Ÿ“œ 8e5657d fix CharLit parser bug
    5c5d0e6 fix CircleCI setup
    1921d90 fix scipt.Variable.Value() bug (#139)
    8707fd6 fix to_json builtin function bug (#138)
    d1dd014 fix a bug in bytecode optimization code (#292)
    9b6c5e6 fix a bug in dead code elimination (#168)
    967ed03 fix a bug in tail-call optimization code
    50d0ba7 fix a compiler bug with dead code optimization (#284)
    e785e38 fix bytecode encoding/decoding (#152)
    3c30109 fix bytecode encoding/decoding of builtin modules (#154)
    814851a fix compile errors
    e059953 fix for in loop symbols (#290)
    ๐Ÿ— 2e74690 fix go.mod to work with the travis ci build (#218)
    7cb058b fix go.sum (#238)
    ๐Ÿ‘• e1e0e0c fix golint, ineffectassign issues and add some more tests
    ๐Ÿ“ฆ a9a233a fix internal package issue (#241)
    15494e1 fix local symbol resolution bug (#316)
    ๐Ÿ‘• a053476 fix markdownlint warnings (#255)
    ๐Ÿ“œ c2305f3 fix parsing and equality bug of "undefined"
    โฑ 8dc0d7b fix script timeout bug (#170)
    3d7269c fix stdlib json string encoding (#272)
    โœ… 011833b fix test fail
    e909415 fix travis setup
    b555842 fix typo in objects doc (#256)
    ๐Ÿ›  92c0ad3 fixed extensible
    85da0cd force using TrueValue, FalseValue, UndefinedValue
    046efa4 global size changed to 1024
    ๐Ÿ‘ 816f452 go module support
    85001be implement immutable array and map
    a14f6ec incomplete implementation of 'os' module
    2c3282d initial commit
    928a728 initial version of "tengo" CLI tool
    ๐Ÿ‘• ff725f3 install golint in travis
    2cde0ea json module faster implementation (#173)
    e93f6f6 limit max object allocations (#129)
    4b370e8 minor change in bench code
    โœ… a9f9ba4 minor cleanups for 'os' module tests
    โšก๏ธ 68cd38e minor doc update
    ๐Ÿ‘• 719e269 minor lint fixes (#182)
    2de0fa4 minor tengo tool help change
    โšก๏ธ 581aa57 minor update in bench output
    โšก๏ธ 080e272 minor update in repl output message
    โ™ป๏ธ 61890b1 module refactor (#148)
    ๐Ÿ“ฆ 53af0d6 move file and fileset to source package
    b5108b8 os Process functions
    ๐Ÿ‘€ c087ba8 os: use SeekStart, SeekCurrent and SeekEnd instead deprecated values
    ๐Ÿ“œ 69eb7da parser implementation for conditional expression
    ๐Ÿšš 5816186 parser.ParseFile removed (#117)
    ca128af reduce number of memory allocation in object binary operators
    4fac7b4 register immutable array to gob
    ๐Ÿšš 1cf3258 remove
    ๐Ÿšš 81fdf10 remove 'mode_irregular' from 'os' module
    ๐Ÿšš 2ceaf3b remove CircleCI
    ๐Ÿšš b802132 remove VM.Stack() function
    ๐Ÿšš b75bda7 remove callable args alloc (#259)
    ๐Ÿšš d581cb2 remove unnecessary JMP when there's no ELSE block
    ๐Ÿšš 32df286 remove unnecessary function calls in VM
    ๐Ÿšš 64d9980 remove unused code for tuple value return
    ๐Ÿšš 061d800 removed 'case', 'default', 'switch', 'var' keywords
    ๐Ÿ“„ ad3980e replace outdated ErrInvalidTypeConversion in docs/objects.md (#223)
    b4a2da8 runtime/vm_builtin_test.go: Added builtin bytes convert test
    880ee04 script.Add accepts a CallableFunc value (#124)
    552e9c0 separate objects conversion functions
    c88a5f5 some code clean up (#237)
    โœ… 47da30b some more tests in objects
    ๐ŸŽ 336fbc3 some performance optimization in VM
    575d969 split iterator files
    7834251 spread last call argument v2 (#302)
    b2a2934 tail call optimization
    cae7b24 ternary conditional expression implementation
    69a703b text module: regex functions (re_match, re_find, re_split, re_replace)
    bb07fa1 text.trim, text.pad_left and text.pad_right (#183)
    60c95c5 token.CHAR -> token.Char, token.STRING -> token.String
    โšก๏ธ de70f7c trying to optimize VM by cutting some repeated codes
    ce7e5cc type conversion builtin functions: string(), int(), bool(), float(), char()
    ๐Ÿ“š b19d9de update CLI documentation
    โšก๏ธ b3d4854 update README
    โšก๏ธ 586a92f update README
    โšก๏ธ 4b8bd4e update README
    โšก๏ธ 48847c1 update README
    โšก๏ธ 2520caf update README (#151)
    โšก๏ธ a81295c update README, remove some unnecessary code
    โšก๏ธ d954348 update bench fibonacci tail call code
    โšก๏ธ c628152 update benchmark
    โšก๏ธ 7e3f3f8 update benchmark (#158)
    โšก๏ธ 1ac4090 update benchmark (#169)
    โšก๏ธ 17329aa update benchmark result with v1.15.0 (#141)
    โšก๏ธ 797e3ca update benchmark results
    ๐Ÿ“š 2b21c29 update builtin function documentation (#159)
    โšก๏ธ 27438ee update directory package structure
    โšก๏ธ fa215b0 update docs
    ๐Ÿ“š 950cb79 update documentation
    ๐Ÿ“š bb9f375 update documentation
    ๐Ÿ“š a9aa8dc update documentation
    โšก๏ธ a9eaf06 update interop sandbox document
    โšก๏ธ e445fd0 update interoperability
    โšก๏ธ fa6699f update readme
    โšก๏ธ cce71f0 update script package
    ๐Ÿ“š 2e0ea3a update syntax documentation (#186)
    โšก๏ธ dc16c9a update tests for index/slice operators
    โšก๏ธ 0854675 update vm to raise wrapped runtime errors (#247)
    ๐Ÿš€ 6fb0df7 updated goreleaser config (#249)
    โšก๏ธ 591d745 updating documents for stdlib
    d4757ef use 'strconv.Quote()` instead of string formatter
    88dd022 use atomic.Load/Store to avoid data race
    d870ebf variable definition (operator ":=") is now required not optional
    ๐Ÿšง edc23cf working on script modules (WIP)