|
1 | 1 | # CHANGELOG
|
2 | 2 |
|
3 |
| -# 0.10.0 (2020-09-29) - New Lexer & Test 262 Harness |
| 3 | +# 0.11.0 (2021-01-11) |
| 4 | + |
| 5 | +Feature Enhancements: |
| 6 | + |
| 7 | +- [FEATURE #836](https://github.com/boa-dev/boa/pull/836): |
| 8 | + Async/Await parse (@Lan2u) |
| 9 | +- [FEATURE #704](https://github.com/boa-dev/boa/pull/704): |
| 10 | + Implement for...of loops (@joshwd36) |
| 11 | +- [FEATURE #770](https://github.com/boa-dev/boa/pull/770): |
| 12 | + Support for symbols as property keys for `Object.defineProperty` (@georgeroman) |
| 13 | +- [FEATURE #717](https://github.com/boa-dev/boa/pull/717): |
| 14 | + Strict Mode Lex/Parse (@Lan2u) |
| 15 | +- [FEATURE #800](https://github.com/boa-dev/boa/pull/800): |
| 16 | + Implement `console` crate feature - Put `console` object behind a feature flag (@HalidOdat) |
| 17 | +- [FEATURE #804](https://github.com/boa-dev/boa/pull/804): |
| 18 | + Implement `EvalError` (@HalidOdat) |
| 19 | +- [FEATURE #805](https://github.com/boa-dev/boa/pull/805): |
| 20 | + Implement `Function.prototype.call` (@RageKnify) |
| 21 | +- [FEATURE #806](https://github.com/boa-dev/boa/pull/806): |
| 22 | + Implement `URIError` (@HalidOdat) |
| 23 | +- [FEATURE #811](https://github.com/boa-dev/boa/pull/811): |
| 24 | + Implement spread operator using iterator (@croraf) |
| 25 | +- [FEATURE #844](https://github.com/boa-dev/boa/pull/844): |
| 26 | + Allow UnaryExpression with prefix increment/decrement (@croraf) |
| 27 | +- [FEATURE #798](https://github.com/boa-dev/boa/pull/798): |
| 28 | + Implement Object.getOwnPropertyDescriptor() and Object.getOwnPropertyDescriptors() (@JohnDoneth) |
| 29 | +- [FEATURE #847](https://github.com/boa-dev/boa/pull/847): |
| 30 | + Implement Map.prototype.entries() (@croraf) |
| 31 | +- [FEATURE #859](https://github.com/boa-dev/boa/pull/859): |
| 32 | + Implement spec compliant Array constructor (@georgeroman) |
| 33 | +- [FEATURE #874](https://github.com/boa-dev/boa/pull/874): |
| 34 | + Implement Map.prototype.values and Map.prototype.keys (@croraf) |
| 35 | +- [FEATURE #877](https://github.com/boa-dev/boa/pull/877): |
| 36 | + Implement Function.prototype.apply (@georgeroman) |
| 37 | +- [FEATURE #908](https://github.com/boa-dev/boa/pull/908): |
| 38 | + Implementation of `instanceof` operator (@morrien) |
| 39 | +- [FEATURE #935](https://github.com/boa-dev/boa/pull/935): |
| 40 | + Implement String.prototype.codePointAt (@devinus) |
| 41 | +- [FEATURE #961](https://github.com/boa-dev/boa/pull/961): |
| 42 | + Implement the optional `space` parameter in `JSON.stringify` (@tofpie) |
| 43 | +- [FEATURE #962](https://github.com/boa-dev/boa/pull/962): |
| 44 | + Implement Number.prototype.toPrecision (@NathanRoyer) |
| 45 | +- [FEATURE #983](https://github.com/boa-dev/boa/pull/983): |
| 46 | + Implement Object.prototype.isPrototypeOf (@tofpie) |
| 47 | +- [FEATURE #995](https://github.com/boa-dev/boa/pull/995): |
| 48 | + Support Numeric separators (@tofpie) |
| 49 | +- [FEATURE #1013](https://github.com/boa-dev/boa/pull/1013): |
| 50 | + Implement nullish coalescing (?? and ??=) (@tofpie) |
| 51 | +- [FEATURE #987](https://github.com/boa-dev/boa/pull/987): |
| 52 | + Implement property accessors (@tofpie) |
| 53 | +- [FEATURE #1018](https://github.com/boa-dev/boa/pull/1018): |
| 54 | + Implement logical assignment operators (&&= and ||=) (@tofpie) |
| 55 | +- [FEATURE #1019](https://github.com/boa-dev/boa/pull/1019): |
| 56 | + Implement early errors for non-assignable nodes in assignment (@tofpie) |
| 57 | +- [FEATURE #1020](https://github.com/boa-dev/boa/pull/1020): |
| 58 | + Implement Symbol.toPrimitive (@tofpie) |
| 59 | +- [FEATURE #976](https://github.com/boa-dev/boa/pull/976): |
| 60 | + Implement for..in (@tofpie) |
| 61 | +- [FEATURE #1026](https://github.com/boa-dev/boa/pull/1026): |
| 62 | + Implement String.prototype.split (@jevancc) |
| 63 | +- [FEATURE #1047](https://github.com/boa-dev/boa/pull/1047): |
| 64 | + Added syntax highlighting for numbers, identifiers and template literals (@Razican) |
| 65 | +- [FEATURE #1003](https://github.com/boa-dev/boa/pull/1003): |
| 66 | + Improve Unicode support for identifier names (@jevancc) |
| 67 | + |
| 68 | +Bug Fixes: |
| 69 | + |
| 70 | +- [BUG #782](https://github.com/boa-dev/boa/pull/782): |
| 71 | + Throw TypeError if regexp is passed to startsWith, endsWith, includes (@pt2121) |
| 72 | +- [BUG #788](https://github.com/boa-dev/boa/pull/788): |
| 73 | + Fixing a duplicated attribute in test262 results (@Razican) |
| 74 | +- [BUG #790](https://github.com/boa-dev/boa/pull/790): |
| 75 | + Throw RangeError when BigInt division by zero occurs (@JohnDoneth) |
| 76 | +- [BUG #785](https://github.com/boa-dev/boa/pull/785): |
| 77 | + Fix zero argument panic in JSON.parse() (@JohnDoneth) |
| 78 | +- [BUG #749](https://github.com/boa-dev/boa/pull/749): |
| 79 | + Fix Error constructors to return rather than throw (@RageKnify) |
| 80 | +- [BUG #777](https://github.com/boa-dev/boa/pull/777): |
| 81 | + Fix cyclic JSON.stringify / primitive conversion stack overflows (@vgel) |
| 82 | +- [BUG #799](https://github.com/boa-dev/boa/pull/799): |
| 83 | + Fix lexer span panic with carriage return (@vgel) |
| 84 | +- [BUG #812](https://github.com/boa-dev/boa/pull/812): |
| 85 | + Fix 2 bugs that caused Test262 to fail (@RageKnify) |
| 86 | +- [BUG #826](https://github.com/boa-dev/boa/pull/826): |
| 87 | + Fix tokenizing Unicode escape sequence in string literal (@HalidOdat) |
| 88 | +- [BUG #825](https://github.com/boa-dev/boa/pull/825): |
| 89 | + calling "new" on a primitive value throw a type error (@dlemel8) |
| 90 | +- [BUG #853](https://github.com/boa-dev/boa/pull/853) |
| 91 | + Handle invalid Unicode code point in the string literals (@jevancc) |
| 92 | +- [BUG #870](https://github.com/boa-dev/boa/pull/870) |
| 93 | + Fix JSON stringification for fractional numbers (@georgeroman) |
| 94 | +- [BUG #807](https://github.com/boa-dev/boa/pull/807): |
| 95 | + Make boa::parse emit error on invalid input, not panic (@georgeroman) |
| 96 | +- [BUG #880](https://github.com/boa-dev/boa/pull/880): |
| 97 | + Support more number literals in BigInt's from string constructor (@georgeroman) |
| 98 | +- [BUG #885](https://github.com/boa-dev/boa/pull/885): |
| 99 | + Fix `BigInt.prototype.toString()` radix checks (@georgeroman) |
| 100 | +- [BUG #882](https://github.com/boa-dev/boa/pull/882): |
| 101 | + Fix (panic) remainder by zero (@georgeroman) |
| 102 | +- [BUG #884](https://github.com/boa-dev/boa/pull/884): |
| 103 | + Fix some panics related to BigInt operations (@georgeroman) |
| 104 | +- [BUG #888](https://github.com/boa-dev/boa/pull/888): |
| 105 | + Fix some panics in String.prototype properties (@georgeroman) |
| 106 | +- [BUG #902](https://github.com/boa-dev/boa/pull/902): |
| 107 | + Fix Accessors panics (@HalidOdat) |
| 108 | +- [BUG #959](https://github.com/boa-dev/boa/pull/959): |
| 109 | + Fix Unicode character escape sequence parsing (@tofpie) |
| 110 | +- [BUG #964](https://github.com/boa-dev/boa/pull/964): |
| 111 | + Fix single line comment lexing with CRLF line ending (@tofpie) |
| 112 | +- [BUG #919](https://github.com/boa-dev/boa/pull/919): |
| 113 | + Reduce the number of `Array`-related panics (@jakubfijalkowski) |
| 114 | +- [BUG #968](https://github.com/boa-dev/boa/pull/968): |
| 115 | + Fix unit tests that can be failed due to daylight saving time (@tofpie) |
| 116 | +- [BUG #972](https://github.com/boa-dev/boa/pull/972): |
| 117 | + Fix enumerable attribute on array length property (@tofpie) |
| 118 | +- [BUG #974](https://github.com/boa-dev/boa/pull/974): |
| 119 | + Fix enumerable attribute on string length property (@tofpie) |
| 120 | +- [BUG #981](https://github.com/boa-dev/boa/pull/981): |
| 121 | + Fix prototypes for Number, String and Boolean (@tofpie) |
| 122 | +- [BUG #999](https://github.com/boa-dev/boa/pull/999): |
| 123 | + Fix logical expressions evaluation (@tofpie) |
| 124 | +- [BUG #1001](https://github.com/boa-dev/boa/pull/1001): |
| 125 | + Fix comparison with infinity (@tofpie) |
| 126 | +- [BUG #1004](https://github.com/boa-dev/boa/pull/1004): |
| 127 | + Fix panics surrounding `Object.prototype.hasOwnProperty()` (@HalidOdat) |
| 128 | +- [BUG #1005](https://github.com/boa-dev/boa/pull/1005): |
| 129 | + Fix panics surrounding `Object.defineProperty()` (@HalidOdat) |
| 130 | +- [BUG #1021](https://github.com/boa-dev/boa/pull/1021): |
| 131 | + Fix spread in new and call expressions (@tofpie) |
| 132 | +- [BUG #1023](https://github.com/boa-dev/boa/pull/1023): |
| 133 | + Fix attributes on properties of functions and constructors (@tofpie) |
| 134 | +- [BUG #1017](https://github.com/boa-dev/boa/pull/1017): |
| 135 | + Don't panic when function parameters share names (@AnnikaCodes) |
| 136 | +- [BUG #1024](https://github.com/boa-dev/boa/pull/1024): |
| 137 | + Fix delete when the property is not configurable (@tofpie) |
| 138 | +- [BUG #1027](https://github.com/boa-dev/boa/pull/1027): |
| 139 | + Supress regress errors on invalid escapes for regex (@jasonwilliams |
| 140 | +- [BUG #1031](https://github.com/boa-dev/boa/pull/1031): |
| 141 | + Fixed some extra regex panics (@Razican) |
| 142 | +- [BUG #1049](https://github.com/boa-dev/boa/pull/1049): |
| 143 | + Support overriding the `arguments` variable (@AnnikaCodes) |
| 144 | +- [BUG #1050](https://github.com/boa-dev/boa/pull/1050): |
| 145 | + Remove panic on named capture groups (@Razican) |
| 146 | +- [BUG #1046](https://github.com/boa-dev/boa/pull/1046): |
| 147 | + Remove a few different panics (@Razican) |
| 148 | +- [BUG #1051](https://github.com/boa-dev/boa/pull/1051): |
| 149 | + Fix parsing of arrow functions with 1 argument (@Lan2u) |
| 150 | +- [BUG #1045](https://github.com/boa-dev/boa/pull/1045): |
| 151 | + Add newTarget to construct (@tofpie) |
| 152 | +- [BUG #659](https://github.com/boa-dev/boa/pull/659): |
| 153 | + Error handling in environment (@54k1) |
| 154 | + |
| 155 | +Internal Improvements: |
| 156 | + |
| 157 | +- [INTERNAL #735](https://github.com/boa-dev/boa/pull/735): |
| 158 | + Move exec implementations together with AST node structs (@georgeroman) |
| 159 | +- [INTERNAL #724](https://github.com/boa-dev/boa/pull/724): |
| 160 | + Ignore tests for code coverage count (@HalidOdat) |
| 161 | +- [INTERNAL #768](https://github.com/boa-dev/boa/pull/768) |
| 162 | + Update the benchmark Github action (@Razican) |
| 163 | +- [INTERNAL #722](https://github.com/boa-dev/boa/pull/722): |
| 164 | + `ConstructorBuilder`, `ObjectInitializer`, cache standard objects and fix global object attributes (@HalidOdat) |
| 165 | +- [INTERNAL #783](https://github.com/boa-dev/boa/pull/783): |
| 166 | + New test262 results format (This also reduces the payload size for the website) (@Razican) |
| 167 | +- [INTERNAL #787](https://github.com/boa-dev/boa/pull/787): |
| 168 | + Refactor ast/node/expression into ast/node/call and ast/node/new (@croraf) |
| 169 | +- [INTERNAL #802](https://github.com/boa-dev/boa/pull/802): |
| 170 | + Make `Function.prototype` a function (@HalidOdat) |
| 171 | +- [INTERNAL #746](https://github.com/boa-dev/boa/pull/746): |
| 172 | + Add Object.defineProperties and handle props argument in Object.create (@dvtkrlbs) |
| 173 | +- [INTERNAL #774](https://github.com/boa-dev/boa/pull/774): |
| 174 | + Switch from `regex` to `regress` for ECMA spec-compliant regex implementation (@neeldug) |
| 175 | +- [INTERNAL #794](https://github.com/boa-dev/boa/pull/794): |
| 176 | + Refactor `PropertyDescriptor` (Improved performance) (@HalidOdat) |
| 177 | +- [INTERNAL #824](https://github.com/boa-dev/boa/pull/824): |
| 178 | + [parser Expression] minor expression macro simplification (@croraf) |
| 179 | +- [INTERNAL #833](https://github.com/boa-dev/boa/pull/833): |
| 180 | + Using unstable sort for sorting keys on `to_json()` for GC objects (@Razican) |
| 181 | +- [INTERNAL #837](https://github.com/boa-dev/boa/pull/837): |
| 182 | + Set default-run to `boa` removing need for `--bin` (@RageKnify) |
| 183 | +- [INTERNAL #841](https://github.com/boa-dev/boa/pull/841): |
| 184 | + Minor refactor and rename in eval() method (@croraf) |
| 185 | +- [INTERNAL #840](https://github.com/boa-dev/boa/pull/840): |
| 186 | + fix(profiler): update profiler to match current measureme api (@neeldug) |
| 187 | +- [INTERNAL #838](https://github.com/boa-dev/boa/pull/838): |
| 188 | + style(boa): minor cleanup (@neeldug) |
| 189 | +- [INTERNAL #869](https://github.com/boa-dev/boa/pull/869): |
| 190 | + Updated cache in workflows (@Razican) |
| 191 | +- [INTERNAL #873](https://github.com/boa-dev/boa/pull/873) |
| 192 | + Removed cache from MacOS builds (@Razican) |
| 193 | +- [INTERNAL #835](https://github.com/boa-dev/boa/pull/835): |
| 194 | + Move `Object` internal object methods to `GcObject` (@HalidOdat) |
| 195 | +- [INTERNAL #886](https://github.com/boa-dev/boa/pull/886): |
| 196 | + Support running a specific test/suite in boa_tester (@georgeroman) |
| 197 | +- [INTERNAL #901](https://github.com/boa-dev/boa/pull/901): |
| 198 | + Added "unimplemented" syntax errors (@Razican) |
| 199 | +- [INTERNAL #911](https://github.com/boa-dev/boa/pull/911): |
| 200 | + Change Symbol hash to `u64` (@HalidOdat) |
| 201 | +- [INTERNAL #912](https://github.com/boa-dev/boa/pull/912): |
| 202 | + Feature `Context::register_global_property()` (@HalidOdat) |
| 203 | +- [INTERNAL #913](https://github.com/boa-dev/boa/pull/913): |
| 204 | + Added check to ignore semicolon in parser (@AngelOnFira) |
| 205 | +- [INTERNAL #915](https://github.com/boa-dev/boa/pull/915): |
| 206 | + Improve lexer by make cursor iterate over bytes (@jevancc) |
| 207 | +- [INTERNAL #952](https://github.com/boa-dev/boa/pull/952): |
| 208 | + Upgraded rustyline and test262 (@Razican) |
| 209 | +- [INTERNAL #960](https://github.com/boa-dev/boa/pull/960): |
| 210 | + Fix unresolved links in documentation (@tofpie) |
| 211 | +- [INTERNAL #979](https://github.com/boa-dev/boa/pull/979): |
| 212 | + Read file input in bytes instead of string (@tofpie) |
| 213 | +- [INTERNAL #1014](https://github.com/boa-dev/boa/pull/1014): |
| 214 | + StatementList: Rename `statements` to `items` (@AnnikaCodes) |
| 215 | +- [INTERNAL #860](https://github.com/boa-dev/boa/pull/860): |
| 216 | + Investigation into ByteCode Interpreter (@jasonwilliams) |
| 217 | +- [INTERNAL #1042](https://github.com/boa-dev/boa/pull/1042): |
| 218 | + Add receiver parameter to object internal methods (@tofpie) |
| 219 | +- [INTERNAL #1030](https://github.com/boa-dev/boa/pull/1030): |
| 220 | + VM: Implement variable declaration (var, const, and let) (@AnnikaCodes) |
| 221 | +- [INTERNAL #1010](https://github.com/boa-dev/boa/pull/1010): |
| 222 | + Modify environment binding behaviour of function (@54k1) |
| 223 | + |
| 224 | +# [0.10.0 (2020-09-29) - New Lexer & Test 262 Harness](https://github.com/boa-dev/boa/compare/v0.10.0...v0.11.0) |
4 | 225 |
|
5 | 226 | Feature Enhancements:
|
6 | 227 |
|
|
0 commit comments