|
| 1 | +## edge |
| 2 | + |
| 3 | +## 0.4.2 2013-07-03 |
| 4 | + |
| 5 | +* Added `Kernel#rand`. (fntzr) |
| 6 | + |
| 7 | +* Restored the `bin/opal` executable in gemspec. |
| 8 | + |
| 9 | +* Now `.valueOf()` is used in `#to_n` of Boolean, Numeric, Regexp and String |
| 10 | + to return the naked JavaScript value instead of a wrapping object. |
| 11 | + |
| 12 | +* Parser now wraps or-ops in paranthesis to stop variable order from |
| 13 | + leaking out when minified by uglify. We now have code in this |
| 14 | + format: `(((tmp = lhs) !== false || !==nil) ? tmp : rhs)`. |
| 15 | + |
| 16 | +## 0.4.1 2013-06-16 |
| 17 | + |
| 18 | +* Move sprockets logic out to external opal-sprockets gem. That now |
| 19 | + handles the compiling and loading of opal files in sprockets. |
| 20 | + |
| 21 | +## 0.4.0 2013-06-15 |
| 22 | + |
| 23 | +* Added fragments to parser. All parser methods now generate one or |
| 24 | + more Fragments which store the original sexp. This allows us to |
| 25 | + enumerate over them after parsing to map generated lines back to |
| 26 | + original line numbers. |
| 27 | + |
| 28 | +* Reverted `null` for `nil`. Too buggy at this time. |
| 29 | + |
| 30 | +* Add Opal::SprocketsParser as Parser subclass for handling parsing |
| 31 | + for sprockets environment. This subclass handles require statements |
| 32 | + and stores them for sprockets to use. |
| 33 | + |
| 34 | +* Add :irb option to parser to keep top level lvars stored inside |
| 35 | + opal runtime so that an irb session can be persisted and maintain |
| 36 | + access to local variables. |
| 37 | + |
| 38 | +* Add Opal::Environment#use_gem() helper to add a gem to opals load |
| 39 | + path. |
| 40 | + |
| 41 | +* Stop pre-setting ivars to `nil`. This is no longer needed as `nil` |
| 42 | + is now `null` or `undefined`. |
| 43 | + |
| 44 | +* Use `null` as `nil` in opal. This allows us to send methods to |
| 45 | + `null` and `undefined`, and both act as `nil`. This makes opal a |
| 46 | + much better javascript citizen. **REVERTED** |
| 47 | + |
| 48 | +* Add Enumerable#none? with specs. |
| 49 | + |
| 50 | +* Add Opal.block_send() runtime helper for sending methods to an |
| 51 | + object which uses a block. |
| 52 | + |
| 53 | +* Remove \_klass variable for denoting ruby classes, and use |
| 54 | + constructor instead. constructor is a javascript property used for |
| 55 | + the same purpose, and this makes opal fit in as a better js citizen. |
| 56 | + |
| 57 | +* Add Class.bridge\_class method to bridge a native constructor into an |
| 58 | + opal class which will set it up with all methods from Object, as |
| 59 | + well as giving it a scope and name. |
| 60 | + |
| 61 | +* Added native #[]= and #to_h methods, for setting properties and |
| 62 | + converting to a hash respectivaly. |
| 63 | + |
| 64 | +* Fix bug where '::' was parsed as :colon2 instead of :colon3 when in |
| 65 | + an args scope. Fixes #213 |
| 66 | + |
| 67 | +* Remove lots of properties added to opal classes. This makes normal |
| 68 | + js constructors a lot closer to opal classes, making is easier to |
| 69 | + treat js classes as opal classes. |
| 70 | + |
| 71 | +* Merge Hash.from_native into Hash.new |
| 72 | + |
| 73 | +## 0.3.44 2013-05-31 |
| 74 | + |
| 75 | +* Cleanup runtime, and remove various flags and functions from opal |
| 76 | + objects and classes (moving them to runtime methods). |
| 77 | + |
| 78 | +* Remove some activesupport methods into external lib. |
| 79 | + |
| 80 | +* Add/fix lots of String methods, with specs. |
| 81 | + |
| 82 | +* Add more methods to MatchData class. |
| 83 | + |
| 84 | +* Implement $' and $` variables. |
| 85 | + |
| 86 | +* Opal can now call methods on all native objects, via method missing |
| 87 | + dispatcher. |
| 88 | + |
| 89 | +* Add Opal::Environment as custom sprockets subclass which adds all |
| 90 | + opal load paths automatically. |
| 91 | + |
| 92 | +## 0.3.43 2013-05-02 |
| 93 | + |
| 94 | +* Stop inlining respond_to? inside the parser. This now fully respects |
| 95 | + an object overriding respond_to?. |
| 96 | + |
| 97 | +* Expose `Opal.eval()` function when parser is loaded for parsing |
| 98 | + and running strings of ruby code. |
| 99 | + |
| 100 | +* Add erb to corelib (as well as compiler to gem lib). ERB files with |
| 101 | + .opalerb extension will automatically be compiled into Template |
| 102 | + constant. |
| 103 | + |
| 104 | +* Added some examples into examples/ dir. |
| 105 | + |
| 106 | +* Add Opal.send() javascript function for sending methods to ruby |
| 107 | + objects. |
| 108 | + |
| 109 | +* Native class for wrapping and interacting with native objects and |
| 110 | + function calls. |
| 111 | + |
| 112 | +* Add local_storage to stdlib as a basic wrapper around localStorage. |
| 113 | + |
| 114 | +* Make method_missing more performant by reusing same dispatch function |
| 115 | + instead of reallocating one for each run. |
| 116 | + |
| 117 | +* Fix Kernel#format to work in firefox. String.prototype.replace() had |
| 118 | + different semantics for empty matching groups which was breaking |
| 119 | + Kernel#format. |
| 120 | + |
| 121 | +## 0.3.42 2013-03-21 |
| 122 | + |
| 123 | +* Fix/add lots of language specs. |
| 124 | + |
| 125 | +* Seperate sprockets support out to opal-sprockets gem. |
| 126 | + |
| 127 | +* Support %r[foo] style regexps. |
| 128 | + |
| 129 | +* Use mspec to run specs on corelib and runtime. Rubyspecs are now |
| 130 | + used, where possible to be as compliant as possible. |
| 131 | + |
| 132 | +## 0.3.41 2013-02-26 |
| 133 | + |
| 134 | +* Remove bin/opal - no longer required for building sources. |
| 135 | + |
| 136 | +* Depreceate Opal::Environment. The Opal::Server class provides a better |
| 137 | + method of using the opal load paths. Opal.paths still stores a list of |
| 138 | + load paths for generic sprockets based apps to use. |
| 139 | + |
| 140 | +## 0.3.40 2013-02-23 |
| 141 | + |
| 142 | +* Add Opal::Server as an easy to configure rack server for testing and |
| 143 | + running Opal based apps. |
| 144 | + |
| 145 | +* Added optional arity check mode for parser. When turned on, every method |
| 146 | + will have code which checks the argument arity. Off by default. |
| 147 | + |
| 148 | +* Exception subclasses now relfect their name in webkit/firefox debuggers |
| 149 | + to show both their class name and message. |
| 150 | + |
| 151 | +* Add Class#const_set. Trying to access undefined constants by a literal |
| 152 | + constant will now also raise a NameError. |
| 153 | + |
| 154 | +## 0.3.39 2013-02-20 |
| 155 | + |
| 156 | +* Fix bug where methods defined on a parent class after subclass was defined |
| 157 | + would not given subclass access to method. Subclasses are now also tracked |
| 158 | + by superclass, by a private '_inherited' property. |
| 159 | + |
| 160 | +* Fix bug where classes defined by `Class.new` did not have a constant scope. |
| 161 | + |
| 162 | +* Move Date out of opal.rb loading, as it is part of stdlib not corelib. |
| 163 | + |
| 164 | +* Fix for defining methods inside metaclass, or singleton_class scopes. |
| 165 | + |
| 166 | +## 0.3.38 2013-02-13 |
| 167 | + |
| 168 | +* Add Native module used for wrapping objects to forward calls as native |
| 169 | + calls. |
| 170 | + |
| 171 | +* Support method_missing for all objects. Feature can be enabled/disabled on |
| 172 | + Opal::Processor. |
| 173 | + |
| 174 | +* Hash can now use any ruby object as a key. |
| 175 | + |
| 176 | +* Move to Sprockets based building via `Opal::Processor`. |
0 commit comments