-
Notifications
You must be signed in to change notification settings - Fork 94
/
CHANGELOG
415 lines (327 loc) · 18.9 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
v2.7.1 update to jruby-complete-1.7.26.
v2.7.0 bump version in recognition of the 'new' run-app option see wiki Getting-Started
v2.6.18 update to jruby-complete-1.7.25, to allow travis testing, anyone wishing to update to jruby-complete-9.0.5.0+ should try out `propane`.
v2.6.17 move to a polyglot maven build and update to jruby-complete-1.7.24, to allow travis testing, should be easy to update to jruby-complete-9.0+ if required. Updating processing version is unecessary because JRubyArt does that.
v2.6.16 update to jruby-complete-1.7.23 changed to static load for jruby extensions implement Vec2D.random and Vec3D.random
* get rid of rspec as development requirement (all minitest now) this is expected to be the last release of ruby-processing
v2.6.15 added guard against running 'watch' in top level directories, rescue error
* when processing-3.0 is specified, and suggest updating to JRubyArt update to
* jruby-complete-1.7.22 (this may be the final release of 1.7.XX series)
* features deprecation of processing map in favor of p5map (or map1d) which
* are now both jruby extensions, along with lerp and norm
v2.6.14 revert to using 'require to load jars' because everything just worked
* before, and sometimes just doesn't with java classpath loading.
* jruby-9.0.0.0 has been fixed, so now we don't need compability changes...
* use pry-java for live mode
v2.6.13 update to jruby-complete-1.7.21
* the perfomance of 1.7.XX series still exceeds jruby-9.0.0.0
v2.6.12 Changes to make jruby and PApplet use same classloader
* to make ruby-processing compatible with JRuby-9.0.0.0.rc1+
* getting ready for JRuby-9.0.0.0 release
v2.6.11 Update examples sketches to version 1.6
* Enhanced 'watch' mode now monitors '*.glsl' files...
* Two new libraries to make it possible to use java reflection methods
* video_event library makes possible use of 'capturEvent(c)' and 'movieEvent(m)'
* library_proxy possible use of 'pre', 'draw' and 'post' in a ruby library.
v2.6.10 Update to jruby-complete-1.7.20
* Possibly the last 1.7 series releases prior to jruby-9.0.0.0?
v2.6.9 Fix wrapped sketches (no-one complained, yet old hands prefer them?)
* simplified the loading of files to monitor, in watch mode
v2.6.8 Some more refactoring, mainly tidying up library_loader/app interface.
* changes for Vec2D and Vec3D, added eql? (exact match) and dup (alias copy)
v2.6.7 Update to use jruby-complete-1.7.19, replaced monkey patching of
* String, by creating StringExtra and CamelString classes
v2.6.6 Update to use jruby-complete-1.7.18
v2.6.5 Update to use jruby-complete-1.7.16.2
* Some more refactoring including helper_methods, and base runner
* No need for erb when running bare sketches. For class wrapped sketches
* make sure to call new, after all the only point in writing a class wrapped
* sketch is to send runtime parameter (:title, :fullscreen, etc)
v2.6.4 Update to use jruby-complete-1.7.16.1
* Some general refactoring of app.rb, moved examples to
* their own github repo.
v2.6.3 Update to use jruby-complete-1.7.16
* Avoid Vec2D hypot NaNN with guards, correct
* --inner template, some more refactoring, full_screen is now only
* available via a runtime arg (there is only one way to do it..)
* now adding Range.clip (like numpy.clip) which is used to implement
* processing constrain. Sometimes it will be better to use clip directly.
v2.6.2 Update to use jruby-complete-1.7.15
* X and Y screen offset for sketch, can be set in ~/.rp5rc
* A post initialization hook has been included to allow custom parameter setting
* More deprecated methods have been removed anyone wanting pow(x), sq(x),
* radians(x) can easily make their own if they must. Prefer x**2, x * x and
* x.radians in ruby-processing etc..
v2.6.1 The templates for the improved sketch creator, broke app export
* fix means templates are now hard coded (functionality retained)
* update to use jruby-complete-1.7.14.
v2.6.0 Removal of eval hack, and deprecating / removing processing
* convenience methods. New improved sketch creator, added templates
* class wrapped --wrap, and "inner class mixin" --inner.
v2.5.1 Some fixes, and remove eval hack from base_exporter
* Since this release some processing convenience methods are
* deprecated see wiki (includes second, minute, hour in favor
* of ruby alternatives t = Time.now, t.hour, t.sec, t.min
* and theta.radians should be used instead of radians(theta))
* These changes will be seen in 2.6.0 release, with removal of
* yet another eval hack.
v2.5.0 Some refactoring, and a new install procedure
* Some re-factoring of both code and examples, including
* replacing the overuse of __FILE__ with 'relative_require'
* 'install_jruby_complete', replaced by 'rp5 setup install'
* The vecmath library is now a compiled jruby extension
* which includes an extremely simple ArcBall interface.
* Introducing the fastmath library with DegLut tables for cos/sin.
* Update to JRuby-1.7.13
v2.4.4 Update to JRuby-1.7.12
* Enhancement to Vec2D & Vec3D (preferred to PVector as
* providing a more ruby-like interface), now provide a
* conditional set_mag method, via optional &block.
v2.4.3 Update to JRuby-1.7.11
* Added an autorun demo Rakefile to some sample directories
* Support utf-8 in sketches
* Refactor and extend vecmath (updated drawolver to use Vec3D)
v2.4.2 Update to JRuby-1.7.10
* Revised suggestions for PROCESSING_ROOT on MacOSX
v2.4.1 First release to return to rubygems since processing 1.0.11
* Features a post-install download of jruby-complete (version 1.7.9)
* Features use of jars from an installed version of vanilla processing,
* on linux and windows use version 2.1.0 (later versions may also work).
* For Mac, especially if you are using Mac "java" stick with version 2.0.3
* Update gemspec to match modern expectations
v2.4.0 Returning to rubygems distribution, by not including any jars
* Use jars from an installed version of vanilla processing-2.0.3 (or version 2.1.0 linux and windows)
* Require an installed jruby (with an optional jruby-complete-1.7.8 post
* install)
v2.3.1 Revert to processing-2.0.3 for MacOSX
* Mac users may use Apple jvm java 6
* Windows and Linux users need at least java 7 jre (java 8 does now work)
v2.2.2 Update to JRuby-1.7.6
* Merge vec.rb, quaternion.rb and arcball.rb into vecmath.rb, stricter path
# requires ruby filename to match that of library
v2.2.1 Replacing 'arcball' library with 'vecmath' library
* Arcball functionality is retained (in vecmath library), Vec2D and Vec3D
* have been added to 'vecmath' library, they provide a pure ruby alternative
* to processings PVector class, and hence a more ruby like interface
v2.2.0 Update to JRuby-1.7.5
* Changed app.rb to only java_import used, core classes thus when mode JAVA2D
* ie default mode do not java_import opengl classes, removed event classes
* since we failed to address the directly
v2.1.6 In anticipation of JRuby-1.7.5
* Minor release to crystalize changes before JRuby-1.7.5
* Rakefile tries to detect Windows OS & warn possibly missing 'wget'
* Rubified and expanded Shiffmans advanced data examples
v2.1.5 Update to processing-2.0.3
* Minor changes to control_panel
* Introducing file_chooser, deprecate select_input
* Added display_width and display_height aliases
v2.1.4 Improved build file
* Build corrected to work on systems with directories containing spaces/etc
* Control panel extra feature to allow setting of look and feel
v2.1.3 Update to processing-2.0.2
* Minor update to samples
v2.1.2 Moved JRuby-Complete.jar (avoids classpath conflict)
* Change to using external jruby as default, introduce --nojruby
* flag to use provided jruby-complete
* Tests revised to be more compatible with minitest ethos (capture_io)
v2.1.1 Added Gemfile
* Support bundler usage
v2.1.0 gc-pruned ruby-processing-2.0
* Since BFG tool was used for archive pruning
* This repo is not compatible with forks of jashkenas prior to this release
v2.0.1 First minor revision for ruby-processing-2.0
* Changes for application export on Windows and linux
* Added support for 'require_relative' on export
v2.0.0 A major revision, now based on processing-2.0 and JRuby 1.7+
* Processing updated to processing-2.0.1 export to applet has disappeared, also P3D is
* the new OPENGL (except Jogl2 instead of Jogl1.1) if you've got an old graphics card or even some new netbook
* with onboard graphics you may have issues
* http://forum.processing.org/one/topic/processing-2-0-won-t-run-on-netbooks-and-older-cheaper-hardware.
* Processing-2.0 has its own event system (replacing java.awt.event), ruby-processing sketches will normally
* use this event system.
* JRuby upgraded to 1.7.4 (default is ruby 1.9 and 2.0 is possible with a switch)
* NB: bare sketches replace class wrapped sketches see samples...
* Samples have been extended to include vanilla processing library examples.
* References to the 'online' variable have been removed (deprecated in processing-2.0 slated for removal)
* test suite now uses MiniTest some old tests have been remove. Others that probably will fail anyway, are
* temporarily marked as skip.
* Samples now rely on ruby 1.9 (almost 2.0) and processing-2.0
* Where possible examples have been 'fixed' to run with new version (backward compability is not possible)
v1.0.11 Fixing broken stuffs...
* JRuby upgraded to 1.6.5
* applet export fixed
* application export fixed
v1.0.10 Solidifying before Processing 2.0 ...
* JRuby upgraded to 1.6.4
* Processing upgraded to 1.5.1
* load_library now works for Ruby and Java libraries present in the libraries Processing sketchbook
* test suite created
* removed ruby-processing specific hex() and shape() methods in favor of Processing ones
* added some missing methods from Processing: println(), min(), max(), abs(), binary(), nf*(), etc...
* watcher: watch for *.rb files inside sketch directory
* linux opengl bugs fixed
* samples/peasy_cam/hilbert_fractal example now allow the possibility of changing the fractal depth and to more correctly centre the fractal
* added configuration file in $HOME/.rp5rc to configure java_args and sketchbook_path
v1.0.9 The Yearly Update...
* JRuby upgraded to 1.4.0 final.
* Fix to allow arguments to be passed to sketches.
* Allow "shape" to be called with a block.
* Added new examples, including Monkstone's 3D Anar library and Hilbert curve.
v1.0.8 Polishing the Windows...
* Windows Application exporting works again, merely by virtue of
not cluttering up the classpath.
* Safer Ruby Platform detection.
v1.0.7 Stability...
* Added preliminary support for embedding Ruby-Processing in the Processing
IDE (see the ruby-processing-plugin project).
* Added 'width' and 'height' as methods that should get proxied down
to inner classes and classes that include the Processing::Proxy.
* Fixed a padding bug that put tiny gray margins on Windows and Linux.
* Updated JRuby to 1.2.0 final as well as the Processing libraries.
* Got a little bit better at detecting full-screen support on Linux.
* Fixed some applet and app exporting problems on Windows.
* The Boids library had a speed limit fix that should make 'em less flighty.
* Peter Krenn contributed a simple Pong example.
v1.0.6 Inner Classes...
* Java-style inner classes. Any inner class of a sketch will now have the
Processing methods and constants proxied down for convenience.
* Sketches with tiny sizes get displayed in a nicer fashion.
* New Blue Logo: Ruby-Processing, literally.
* Moumar contributed a patch for the control_panel library, allowing your
sliders and buttons to have an initial value.
v1.0.5 Spring Cleaning...
* The "Learning Processing" examples are now a separate project, a
long-merited change. They'll grow up on their own at
http://github.com/jashkenas/learning-processing-with-ruby
* The watcher is now a bit better about catching recoverable exceptions.
* load_strings and save_strings methods have been added to Processing::App.
* Fixing a permissions problem with applet/application exporting.
v1.0.4 Bare is Beautiful...
* Ruby-Processing now supports "bare" sketches, which are sketches that
consist of only setup and draw methods, or sketches that contain no method
definitions at all (implicitly wrapping them in a 'setup'). This works
by pre-processing the code.
* Initialization heavily tweaked so that size() works as in Processing,
from within setup(), and so that you can call full_screen as a class method,
in your class definition, to avoid the need for explicit sketch instantiation.
* "rp5 create" has a "--bare" option.
* Many samples now use the bare style, and more "Learning Processing" examples
were contributed by Juris Galang.
v1.0.3 Tweaks and Tuneups...
* "rp5 watch" is now a bit more robust, and tries to reload every
* file, global, and constant that it thinks it needs to.
* Many, many examples have been contributed by Marc Chung,
Peter Krenn, and Florian Jenett.
* Andreas Haller contributed a patch that added Ruby-1.9 compatibility.
* The render mode now defaults to JAVA2D, as does Processing.
* "rp5 create" now informs you of the file it just created.
* "key" now returns a character, if ASCII and the integer value otherwise,
mirroring Processing's behavior.
* Numbers now have the methods 'degrees' and 'radians', for ease.
v1.0.2 Bugfixes and Java Args...
* Application exporting, long plagued, should now be a little
closer to rock-solid. If you need to pass command-line options
to the JVM, add a java_args.txt file in your sketch's data
folder that sets stack size, memory size, or whatever ails you.
v1.0.1 Gemmin' it up.
* The smallest version bump is the biggest change:
Ruby-Processing has undergone a great refactor, kicked off by
Peter Gassner's initial efforts to make a gem out of it. Now
available as a real RubyGem.
* Changes all around: The main interface to Ruby-Processing is now
through the 'rp5' command. Try rp5 --help to get started.
* has_slider has been superseded by control_panel, a more full-
fledged library for controlling aspects of your sketch. Read
how to use it on the wiki, or check out jwishy.rb
v1.0. Ruby-Processing goes 1.0 with Processing 1.0
* Processing updated to 1.0.1 (congrats to the Processing team),
and JRuby updated to the latest trunk. Most sketches run a good
bit faster now.
* Ruby-Processing now comes with many default libraries: Boids, DXF,
Javascript, Minim, Net, OpenGL, PDF, Serial, Slider, and Video
are now included in the download.
* has_slider moved out into an included ruby library.
v0.9. Multi-platform Application export, live coding, and more.
* Inspired by NodeBox, Ruby-Processing now sports the ability
to have sliders control numeric variables in your sketches.
If you're using an instance variable, say, @speed, to control
the speed of your sketch.
has_slider :speed
Will bring up a panel alongside with a slider that controls
the speed. It can take a range of values as an optional parameter.
Check out and run jwishy.rb for an example.
* Multi-platform app export! Exporting your Ruby-Processing
apps will now create executable apps for Mac/Windows/Linux.
* Live coding support. Now you can do script/live path/to/sketch.rb
to open up an interactive session with your sketch available
as $app.
* Nick Sieger donated an additional sample.
v0.8. Exporting Applications
* Ruby-Processing can now export Mac applications! Running
script/application my_sketch.rb will create MySketch.app,
complete with all of its data and libraries. If you have
a .icns file inside of your data folder, it will become
the app's icon.
* Added a mathematical Fern sample. It's a port of Luis
Correia's java original, with algorithms from Wikipedia.
* Sketches now have a library_loaded? method, so that you can
check if a library has been started successfully, and
conditionally enable things. (Good for OpenGL.)
* The Boids library is now about 40% faster. It also comes with
an example in library/boids/samples.
* Specs have been started both for exporting and for Ruby-
Processing itself.
v0.7. Flocking Boids and OpenGL Applets
* Thanks to MenTaLguY, once again, for work on the JRubyApplet, OpenGL
is now a first-class citizen. If you're using OpenGL in your sketch,
the applet exporter should just work. It has also been moved and
renamed, so now you can use it like:
script/applet my_sketch.rb
* An app generator has been added for getting started. It'll give you
a template for an empty Ruby-Processing sketch, with setup and draw
methods and all that. Usage:
script/generate my_sketch 800 600
Will create a file called my_sketch.rb, with a title of "My Sketch",
800 pixels wide and 600 pixels tall. Width and height are optional.
* Ruby-Processing now includes its first pure-Ruby library, a port
of Tom de Smedt's "Boids", for algorithmic flocking.
v0.6. Generating Applets
* Now we're baking up some applet pie. The applet_tree script will
take your Ruby-Processing sketch, export it as an applet, and
generate an HTML page for you to post. It's way easier now than it
would have been before. (thanks to MenTaLguY.) Use it like so:
./applet_tree my_sketch.rb
But there are caveats: Applets don't work with native libraries, so
no OpenGL. If you're requiring other files that aren't part of the
standard Ruby distro, you'll need to include them as libraries, which
means: Drop them in a folder inside of "library". Use
load_ruby_library("folder_name") or load_java_library() to load 'em.
These methods replace the previous load_library(). Ruby libs will
load the .rb with the same name as the folder. Java libs will just
load up all of the .jars in the folder.
Demos — all of the standard samples are available as applets:
http://fiercefrontiers.com/applets/jwishy/
http://fiercefrontiers.com/applets/tree/
http://fiercefrontiers.com/applets/circle_collision/
http://fiercefrontiers.com/applets/reflection/
v0.5. With Native Libraries
* Ruby-Processing gets easy native library support. Now you can take
Processing libraries, drop them in the library folder, and load them
up like so (inside your sketch):
load_library "opengl"
It works by loading up all of the .jars in that folder, and setting
the java.library.path to that folder, so that the native extensions
can be found.
* Full Screen OpenGL demo added, but you'll need to copy over the
OpenGL library to use it.
v0.4. Going Fullscreen
* Ruby-Processing goes fullscreen. Just pass :full_screen => true
into the options when you’re starting up your app. Like so:
MyApp.new(:title => "MyApp", :full_screen => true)
* Because Processing has just so many methods, you can now search
through them: find_method "method_name"
v0.3. First Real Release
* Processing::App.current will give you a handle on the app. (Useful
in jirb).
* samples/jwishy.rb has some new hooks for live coding.
* circle_collision and tree samples added (Joe Holt)