iruby 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84f8ef4d7c7ae64831b901c85aa2e978bd07847c5707899bc82f7f3eed17a825
4
- data.tar.gz: 2a2b12b2d7da7571a41286b3de58813c8f3173136bc47cd63516254682f76421
3
+ metadata.gz: 14aea673b75a6fe8884eff08c52b8831bbcec141df2525ed4c0a877738654271
4
+ data.tar.gz: 89e5e091e67b7ef85f98ca0cb9ebe65cef0e32aacd75351c81b0c287666939c0
5
5
  SHA512:
6
- metadata.gz: '079c7183d157d4ca8177ca0025c4a8cfa95bb7cfa1497bfc2d65c9f4b38e00d92d4597ed54557c4ea03cfe56c93ed44768fa17b20fe29957078d8f4074e3f1c3'
7
- data.tar.gz: 23a5d31658720706a3e5b2a9db90747e135a5ef473a8eadf554e6ceaa5eab1c0f035ba17161d1c10bcbeb952908b409c4d51144b23c566a15839c3d1574e7da9
6
+ metadata.gz: 53b824e32c52cbf2893b24310ba4d3c7caa52ec872f36f57644a95bdd139232b4b5e032f161fb86baf94d011964caf9d739a4795af6805fd174360ed866477fa
7
+ data.tar.gz: ee663bca3c4a67730d73e709c24d827af73e7c58734afe4dffc22c685c909462e9c9113f9548a8f1c8b5ce33b0b94338386b24c07978db547fab1caa21828ea7
data/CHANGES.md ADDED
@@ -0,0 +1,203 @@
1
+ # 0.7.0 (2021-05-28)
2
+
3
+ ## Enhancements
4
+
5
+ * The default backend is changed to IRB (@mrkn)
6
+ * Add IRuby::Kernel#switch_backend! method (@mrkn)
7
+
8
+ ## Bug Fixes
9
+
10
+ * Follow the messages and hooks orders during execute_request processing (@mrkn)
11
+ * Fix the handling of image/svg+xml https://github.com/SciRuby/iruby/pull/300, https://github.com/SciRuby/iruby/pull/301 (@kojix2)
12
+
13
+ # 0.6.0 (2021-05-25)
14
+
15
+ ## Bug Fixes
16
+
17
+ * Fix the handling of application/javascript https://github.com/SciRuby/iruby/issues/292, https://github.com/SciRuby/iruby/pull/294 (@kylekyle, @mrkn)
18
+
19
+ ## Enhancements
20
+
21
+ * Add the `initialized` event in `IRuby::Kernel` class https://github.com/SciRuby/iruby/pull/168, https://github.com/SciRuby/iruby/pull/296 (@Yuki-Inoue, @mrkn)
22
+ * Add the following four events https://github.com/SciRuby/iruby/pull/295 (@mrkn):
23
+ * `pre-execute` -- occurs before every code execution
24
+ * `pre-run-cell` -- occurs before every non-silent code execution
25
+ * `post-execute` -- occurs after every code execution
26
+ * `post-run-cell` -- occurs after every non-silent code execution
27
+ * Replace Bond with IRB in PlainBackend https://github.com/SciRuby/iruby/pull/276, https://github.com/SciRuby/iruby/pull/297 (@cfis, @mrkn)
28
+
29
+ # 0.5.0 (2021-03-25)
30
+
31
+ ## Bug Fixes
32
+
33
+ * Fix Jupyter console crashes issue https://github.com/SciRuby/iruby/pull/210 (@kojix2)
34
+ * Fix syntax highlighting issue on Jpyter Lab https://github.com/SciRuby/iruby/issues/224 (@kojix2)
35
+ * Fix interoperability issue with ruby-git https://github.com/SciRuby/iruby/pull/139 (@habemus-papadum)
36
+ * Fix the issue of `$stderr.write` that cannot handle multiple arguments https://github.com/SciRuby/iruby/issues/206 (@kojix2)
37
+ * Remove a buggy `inspect_request` implementation https://github.com/SciRuby/iruby/pull/119 (@LunarLanding)
38
+ * Fix uninitialized constant `Fiddle` caused in initialization phase https://github.com/SciRuby/iruby/issues/264 (@MatthewSteen, @kjoix2)
39
+ * Fix the issue on displaying a table https://github.com/SciRuby/iruby/pull/281 (@ankane)
40
+
41
+ ## Enhancements
42
+
43
+ * Add `IRuby.clear_output` method https://github.com/SciRuby/iruby/pull/220 (@kojix2)
44
+ * Make backtrace on exception simplify and more appropriate for code in a cell https://github.com/SciRuby/iruby/pull/249 (@zheng-yongping)
45
+ * Make syntax error message more appropriate https://github.com/SciRuby/iruby/pull/251 (@zheng-yongping)
46
+ * Remove top-level `In` and `Out` constants https://github.com/SciRuby/iruby/pull/229 (@kojix2)
47
+ * Use text/plain for the default format of `Numo::NArray` objects https://github.com/SciRuby/iruby/pull/255 (@kojix2)
48
+ * Use ffi-rzmq as the default ZeroMQ adapter https://github.com/SciRuby/iruby/pull/256 (@kojix2)
49
+ * Drop rbczmq support https://github.com/SciRuby/iruby/pull/260 (@rstammer)
50
+ * Add ruby-vips image support https://github.com/SciRuby/iruby/pull/279 (@ankane)
51
+ * Replace mimemagic with mime-types https://github.com/SciRuby/iruby/pull/291 (@mrkn)
52
+
53
+ # 0.4.0 (2019-07-31)
54
+
55
+ (TBD)
56
+
57
+ # 0.3 (2017-03-26)
58
+
59
+ ## Bug Fixes
60
+
61
+ * Disable Jupyter keyboard manager for all popups made using IRuby.popup (@kylekyle).
62
+ * Fix Iruby/Input date values bug that set date fields to whatever the last date value was (@kylekyle).
63
+ * Fix a bug where time strings put into prompter would give an 'out of range' error (@kylekyle).
64
+
65
+ ## Enhancements
66
+
67
+ * Improvements to IRuby dependency detection using `Bundler::Dependencies#specs` (@kou).
68
+ * Use less memory forcing pry to store only the last 3 commands in memory (@kylekyle).
69
+ * Use bigger z-index that is used accross all browsers (@kylekyle).
70
+ * Ability to input date values as DateTime objects in IRuby/Input (@kylekyle).
71
+ * Add option to have check boxes checked by default (@kylekyle).
72
+ * Option for multi-select in drop down menus in the prompter (@kylekyle).
73
+ * Add support for multiple widgets using `IRuby::Input::Multiple` (@kylekyle).
74
+ * Calender icon for date selector icon (@kylekyle).
75
+ * Add support for Numo/NArray (@zalt50).
76
+ * Text now only completes after a space (@zalt50).
77
+ * Remove the DONTWAIT flag when receiving a message (@cloud-oak).
78
+ * Add support for CZTop (@kou).
79
+
80
+ # 0.2.9 (2016-05-02)
81
+
82
+ ## Bug Fixes
83
+
84
+ * Fix an error where a NoMethodError was being raised where a table rendered using an Array of Hashes has more than `maxcols` columns. (@CGamesPlay)
85
+ * Patch PryBackend to throw unterminated string and unexpected end-of-file syntax errors (@kylekyle)
86
+
87
+ ## Enhnacements
88
+
89
+ * Add an IRuby::Input class which provides widgets for getting inputs from users. (@kylekyle)
90
+ * Add data_uri dependency (@kylekyle)
91
+ * Added a clear_output display function (@mrkn)
92
+ * Doc fixes for installation (@kozo2, @generall)
93
+
94
+ # 0.2.8 (2015-12-06)
95
+
96
+ * Add compatibility with ffi-rzmq
97
+ * Windows support
98
+
99
+ # 0.2.7 (2015-07-02)
100
+
101
+ * Fix problem with autoloaded constants in Display, problem with sciruby gem
102
+
103
+ # 0.2.6 (2015-06-21)
104
+
105
+ * Check registered kernel and Gemfile to prevent gem loading problems
106
+ * Support to_tex method for the rendering
107
+
108
+ # 0.2.5 (2015-06-07)
109
+
110
+ * Fix #29, empty signatures
111
+ * Move iruby utils to IRuby::Utils module
112
+ * Add IRuby.tex alias for IRuby.latex
113
+ * Remove example notebooks from gem
114
+
115
+ # 0.2.4 (2015-06-02)
116
+
117
+ * Better exception handling
118
+ * Fix ctrl-C issue #17
119
+ * Fix timeout issue #19
120
+
121
+ # 0.2.3 (2015-05-31)
122
+
123
+ * Fix notebook indentation
124
+ * Fix tab completion for multiple lines
125
+
126
+ # 0.2.2 (2015-05-26)
127
+
128
+ * Support history variables In, Out, _, _i etc
129
+ * Internal refactoring and minor bugfixes
130
+
131
+ # 0.2.1 (2015-05-26)
132
+
133
+ * Copy Ruby logo to kernel specification
134
+
135
+ # 0.2.0 (2015-05-25)
136
+
137
+ * Dropped IPython2 support
138
+ * Dropped Ruby < 2.0.0 support
139
+ * Supports and requires now IPython3/Jupyter
140
+ * Switch from ffi-rzmq to rbczmq
141
+ * Added IRuby::Conn (experimental, to be used by widgets)
142
+ * iruby register/unregister commands to register IRuby kernel in Jupyter
143
+
144
+ # 0.1.13 (2014-08-19)
145
+
146
+ * Improved IRuby.table, supports :maxrows and :maxcols
147
+ * IRuby#javascript workaround (https://github.com/ipython/ipython/issues/6259)
148
+
149
+ # 0.1.12 (2014-08-01)
150
+
151
+ * IRuby#table add option maxrows
152
+ * powerful display system with format and datatype registry, see #25
153
+ * Add IRuby#javascript
154
+ * Add IRuby#svg
155
+
156
+ # 0.1.11 (2014-07-08)
157
+
158
+ * Push binding if pry binding stack is empty
159
+
160
+ # 0.1.10 (2014-07-08)
161
+
162
+ * Fix #19 (pp)
163
+ * Handle exception when symlink cannot be created
164
+ * Fix dependencies and Pry backend
165
+
166
+ # 0.1.9 (2014-02-28)
167
+
168
+ * Check IPython version
169
+
170
+ # 0.1.7/0.1.8
171
+
172
+ * Bugfixes #11, #12, #13
173
+
174
+ # 0.1.6 (2013-10-11)
175
+
176
+ * Print Matrix and GSL::Matrix as LaTeX
177
+ * Add check for Pry version
178
+
179
+ # 0.1.5 (2013-10-03)
180
+
181
+ * Implement a rich display system
182
+ * Fix error output
183
+
184
+ # 0.1.4 (2013-10-03)
185
+
186
+ * Extract display handler from kernel
187
+ * Always return a text/plain response
188
+
189
+ # 0.1.3 (2013-10-03)
190
+
191
+ * Implement missing request handlers
192
+ * Detect if Bundler is running and set kernel_cmd appropriately
193
+ * Improve Pry integration
194
+ * Add support for the gems gnuplot, gruff, rmagick and mini_magick
195
+
196
+ # 0.1.2 (2013-10-02)
197
+
198
+ * Support for Pry added
199
+ * Launch `iruby console` if plain `iruby` is started
200
+
201
+ # 0.1.0 (2013-10-02)
202
+
203
+ * Cleanup and rewrite of some parts
data/README.md CHANGED
@@ -31,8 +31,8 @@ If both ffi-rzmq and cztop are installed, ffi-rzmq is used. If you prefer cztop,
31
31
  export IRUBY_SESSION_ADAPTER="cztop"
32
32
  ```
33
33
 
34
- * We recommend the [Pry](https://github.com/pry/pry) backend for full functionality.
35
- * If you want to install the latest version of IRuby from the source code, try [specific_install](https://github.com/rdp/specific_install).
34
+ * [Pry][Pry], if you want to use [Pry][Pry] instead of IRB for the code execution backend
35
+ * If you want to install the development version of IRuby from the source code, try [specific_install](https://github.com/rdp/specific_install).
36
36
 
37
37
  ```
38
38
  gem specific_install https://github.com/SciRuby/iruby
@@ -148,6 +148,19 @@ If you have already used IRuby with a different version, you need to generate a
148
148
  $ iruby register --force
149
149
  ```
150
150
 
151
+ ## Backends
152
+
153
+ There are two backends: PlainBackend and PryBackend.
154
+
155
+ * PlainBackend is the default backend. It uses [IRB](https://github.com/ruby/irb).
156
+ * PryBackend uses [Pry][Pry].
157
+
158
+ You can switch the backend to PryBackend by running the code below.
159
+
160
+ ```ruby
161
+ IRuby::Kernel.instance.switch_backend!(:pry)
162
+ ```
163
+
151
164
  ## Notebooks
152
165
 
153
166
  Take a look at the [example notebook](http://nbviewer.ipython.org/urls/raw.github.com/SciRuby/sciruby-notebooks/master/getting_started.ipynb)
@@ -167,3 +180,5 @@ In February 2021, [IRuby became the canonical repository](https://github.com/Sci
167
180
  Copyright (c) IRuby contributors and the Ruby Science Foundation.
168
181
 
169
182
  Licensed under the [MIT](LICENSE) license.
183
+
184
+ [Pry]: https://github.com/pry/pry
data/iruby.gemspec CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.add_dependency 'data_uri', '~> 0.1'
21
21
  s.add_dependency 'ffi-rzmq'
22
+ s.add_dependency 'irb'
22
23
  s.add_dependency 'mime-types', '>= 3.3.1'
23
24
  s.add_dependency 'multi_json', '~> 1.11'
24
25
 
data/lib/iruby.rb CHANGED
@@ -1,13 +1,16 @@
1
+ require 'fileutils'
1
2
  require 'mime/types'
2
3
  require 'multi_json'
3
4
  require 'securerandom'
4
5
  require 'openssl'
5
6
  require 'tempfile'
6
7
  require 'set'
8
+ require 'stringio'
7
9
 
8
10
  require 'iruby/version'
9
11
  require 'iruby/jupyter'
10
12
  require 'iruby/event_manager'
13
+ require 'iruby/logger'
11
14
  require 'iruby/kernel'
12
15
  require 'iruby/backend'
13
16
  require 'iruby/ostream'
data/lib/iruby/command.rb CHANGED
@@ -1,7 +1,4 @@
1
- require 'iruby/jupyter'
2
-
3
- require 'fileutils'
4
- require 'multi_json'
1
+ require 'iruby'
5
2
 
6
3
  module IRuby
7
4
  class Command
@@ -92,7 +89,6 @@ Try `ipython help` for more information.
92
89
  end
93
90
 
94
91
  def run_kernel
95
- require 'iruby/logger'
96
92
  IRuby.logger = MultiLogger.new(*Logger.new(STDOUT))
97
93
  STDOUT.sync = true # FIXME: This can make the integration test.
98
94
 
@@ -131,7 +127,7 @@ Try `ipython help` for more information.
131
127
  check_registered_kernel
132
128
  check_bundler {|e| STDERR.puts "Could not load bundler: #{e.message}" }
133
129
 
134
- Kernel.exec('ipython', *@args)
130
+ Process.exec('ipython', *@args)
135
131
  end
136
132
 
137
133
  def check_registered_kernel
data/lib/iruby/display.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require "set"
2
+
1
3
  module IRuby
2
4
  module Display
3
5
  class << self
@@ -50,11 +52,15 @@ module IRuby
50
52
  ascii?(mime) ? data.to_s : [data.to_s].pack('m0')
51
53
  end
52
54
 
55
+ # Each of the following mime types must be a text type,
56
+ # but mime-types library tells us it is a non-text type.
57
+ FORCE_TEXT_TYPES = Set[
58
+ "application/javascript",
59
+ "image/svg+xml"
60
+ ].freeze
61
+
53
62
  def ascii?(mime)
54
- case mime
55
- when "application/javascript"
56
- # Special case for application/javascript.
57
- # This needs because mime-types tells us application/javascript a non-text type.
63
+ if FORCE_TEXT_TYPES.include?(mime)
58
64
  true
59
65
  else
60
66
  MIME::Type.new(mime).ascii?
data/lib/iruby/kernel.rb CHANGED
@@ -50,7 +50,7 @@ module IRuby
50
50
 
51
51
  @events = EventManager.new(EVENTS)
52
52
  @execution_count = 0
53
- @backend = create_backend
53
+ @backend = PlainBackend.new
54
54
  @running = true
55
55
 
56
56
  self.class.events.trigger(:initialized, self)
@@ -84,12 +84,40 @@ module IRuby
84
84
  # @see IRuby::Kernel.events
85
85
  attr_reader :events
86
86
 
87
- # @private
88
- def create_backend
89
- PryBackend.new
90
- rescue Exception => e
91
- IRuby.logger.warn "Could not load PryBackend: #{e.message}\n#{e.backtrace.join("\n")}" unless LoadError === e
92
- PlainBackend.new
87
+ # Switch the backend (interactive shell) system
88
+ #
89
+ # @param backend [:irb,:plain,:pry] Specify the backend name switched to
90
+ #
91
+ # @return [true,false] true if the switching succeeds, otherwise false
92
+ def switch_backend!(backend)
93
+ name = case backend
94
+ when String, Symbol
95
+ name = backend.downcase
96
+ else
97
+ name = backend
98
+ end
99
+
100
+ backend_class = case name
101
+ when :irb, :plain
102
+ PlainBackend
103
+ when :pry
104
+ PryBackend
105
+ else
106
+ raise ArgumentError,
107
+ "Unknown backend name: %p" % backend
108
+ end
109
+
110
+ begin
111
+ new_backend = backend_class.new
112
+ @backend = new_backend
113
+ true
114
+ rescue Exception => e
115
+ unless LoadError === e
116
+ IRuby.logger.warn "Could not load #{backend_class}: " +
117
+ "#{e.message}\n#{e.backtrace.join("\n")}"
118
+ end
119
+ return false
120
+ end
93
121
  end
94
122
 
95
123
  # @private
data/lib/iruby/session.rb CHANGED
@@ -10,6 +10,7 @@ module IRuby
10
10
  def initialize(config, adapter_name=nil)
11
11
  @config = config
12
12
  @adapter = create_session_adapter(config, adapter_name)
13
+ @last_recvd_msg = nil
13
14
 
14
15
  setup
15
16
  setup_sockets
data/lib/iruby/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module IRuby
2
- VERSION = '0.6.1'
2
+ VERSION = '0.7.0'
3
3
  end
data/test/helper.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require "iruby"
2
- require "iruby/logger"
3
2
  require "json"
4
3
  require 'multi_json'
5
4
  require "pathname"
@@ -38,10 +37,14 @@ module IRubyTest
38
37
  @__config_path.to_s
39
38
  end
40
39
 
41
- def teardown
40
+ def self.restore_kernel
42
41
  IRuby::Kernel.instance = @__original_kernel_instance
43
42
  end
44
43
 
44
+ def teardown
45
+ self.class.restore_kernel
46
+ end
47
+
45
48
  def with_session_adapter(session_adapter_name)
46
49
  IRuby::Kernel.new(self.class.test_config_filename, session_adapter_name)
47
50
  $stdout = STDOUT
@@ -149,5 +149,37 @@ module IRubyTest
149
149
  ],
150
150
  event_history)
151
151
  end
152
+
153
+ sub_test_case("#switch_backend!") do
154
+ sub_test_case("") do
155
+ def test_switch_backend
156
+ classes = []
157
+
158
+ # First pick the default backend class
159
+ classes << @kernel.instance_variable_get(:@backend).class
160
+
161
+ @kernel.switch_backend!(:pry)
162
+ classes << @kernel.instance_variable_get(:@backend).class
163
+
164
+ @kernel.switch_backend!(:irb)
165
+ classes << @kernel.instance_variable_get(:@backend).class
166
+
167
+ @kernel.switch_backend!(:pry)
168
+ classes << @kernel.instance_variable_get(:@backend).class
169
+
170
+ @kernel.switch_backend!(:plain)
171
+ classes << @kernel.instance_variable_get(:@backend).class
172
+
173
+ assert_equal([
174
+ IRuby::PlainBackend,
175
+ IRuby::PryBackend,
176
+ IRuby::PlainBackend,
177
+ IRuby::PryBackend,
178
+ IRuby::PlainBackend
179
+ ],
180
+ classes)
181
+ end
182
+ end
183
+ end
152
184
  end
153
185
  end
@@ -19,6 +19,13 @@ class IRubyTest::MimeTest < IRubyTest::TestBase
19
19
  assert_equal(data,
20
20
  res["application/javascript"])
21
21
  end
22
+
23
+ test("image/svg+xml") do
24
+ data = '<svg height="30" width="100"><text x="0" y="15" fill="red">SVG</text></svg>'
25
+ res = IRuby::Display.display(data, mime: "image/svg+xml")
26
+ assert_equal(data,
27
+ res["image/svg+xml"])
28
+ end
22
29
  end
23
30
  end
24
31
  end
@@ -1,6 +1,3 @@
1
- require 'stringio'
2
- require 'iruby/logger'
3
-
4
1
  class IRubyTest::MultiLoggerTest < IRubyTest::TestBase
5
2
  def test_multilogger
6
3
  out, err = StringIO.new, StringIO.new
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Mendler
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-26 00:00:00.000000000 Z
12
+ date: 2021-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: data_uri
@@ -39,6 +39,20 @@ dependencies:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: irb
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: mime-types
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -133,7 +147,7 @@ extra_rdoc_files: []
133
147
  files:
134
148
  - ".github/workflows/ubuntu.yml"
135
149
  - ".gitignore"
136
- - CHANGES
150
+ - CHANGES.md
137
151
  - Gemfile
138
152
  - LICENSE
139
153
  - README.md
@@ -229,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
229
243
  - !ruby/object:Gem::Version
230
244
  version: '0'
231
245
  requirements: []
232
- rubygems_version: 3.2.3
246
+ rubygems_version: 3.3.0.dev
233
247
  signing_key:
234
248
  specification_version: 4
235
249
  summary: Ruby Kernel for Jupyter
data/CHANGES DELETED
@@ -1,186 +0,0 @@
1
- 0.6.1 (under development)
2
-
3
- Bug Fixes:
4
- * Follow the messages and hooks orders during execute_request processing (@mrkn)
5
-
6
- 0.6.0 (2021-05-25)
7
-
8
- Bug Fixes:
9
- * Fix the handling of application/javascript https://github.com/SciRuby/iruby/issues/292, https://github.com/SciRuby/iruby/pull/294 (@kylekyle, @mrkn)
10
-
11
- Enhancements:
12
- * Add the `initialized` event in `IRuby::Kernel` class https://github.com/SciRuby/iruby/pull/168, https://github.com/SciRuby/iruby/pull/296 (@Yuki-Inoue, @mrkn)
13
- * Add the following four events https://github.com/SciRuby/iruby/pull/295 (@mrkn):
14
- * `pre-execute` -- occurs before every code execution
15
- * `pre-run-cell` -- occurs before every non-silent code execution
16
- * `post-execute` -- occurs after every code execution
17
- * `post-run-cell` -- occurs after every non-silent code execution
18
- * Replace Bond with IRB in PlainBackend https://github.com/SciRuby/iruby/pull/276, https://github.com/SciRuby/iruby/pull/297 (@cfis, @mrkn)
19
-
20
- 0.5.0 (2021-03-25)
21
-
22
- Bug Fixes:
23
- * Fix Jupyter console crashes issue https://github.com/SciRuby/iruby/pull/210 (@kojix2)
24
- * Fix syntax highlighting issue on Jpyter Lab https://github.com/SciRuby/iruby/issues/224 (@kojix2)
25
- * Fix interoperability issue with ruby-git https://github.com/SciRuby/iruby/pull/139 (@habemus-papadum)
26
- * Fix the issue of `$stderr.write` that cannot handle multiple arguments https://github.com/SciRuby/iruby/issues/206 (@kojix2)
27
- * Remove a buggy `inspect_request` implementation https://github.com/SciRuby/iruby/pull/119 (@LunarLanding)
28
- * Fix uninitialized constant `Fiddle` caused in initialization phase https://github.com/SciRuby/iruby/issues/264 (@MatthewSteen, @kjoix2)
29
- * Fix the issue on displaying a table https://github.com/SciRuby/iruby/pull/281 (@ankane)
30
-
31
- Enhancements:
32
- * Add `IRuby.clear_output` method https://github.com/SciRuby/iruby/pull/220 (@kojix2)
33
- * Make backtrace on exception simplify and more appropriate for code in a cell https://github.com/SciRuby/iruby/pull/249 (@zheng-yongping)
34
- * Make syntax error message more appropriate https://github.com/SciRuby/iruby/pull/251 (@zheng-yongping)
35
- * Remove top-level `In` and `Out` constants https://github.com/SciRuby/iruby/pull/229 (@kojix2)
36
- * Use text/plain for the default format of `Numo::NArray` objects https://github.com/SciRuby/iruby/pull/255 (@kojix2)
37
- * Use ffi-rzmq as the default ZeroMQ adapter https://github.com/SciRuby/iruby/pull/256 (@kojix2)
38
- * Drop rbczmq support https://github.com/SciRuby/iruby/pull/260 (@rstammer)
39
- * Add ruby-vips image support https://github.com/SciRuby/iruby/pull/279 (@ankane)
40
- * Replace mimemagic with mime-types https://github.com/SciRuby/iruby/pull/291 (@mrkn)
41
-
42
- 0.4.0 (2019-07-31)
43
-
44
- 0.3 (2017-03-26)
45
-
46
- Bug Fixes:
47
- * Disable Jupyter keyboard manager for all popups made using IRuby.popup (@kylekyle).
48
- * Fix Iruby/Input date values bug that set date fields to whatever the last date value was (@kylekyle).
49
- * Fix a bug where time strings put into prompter would give an 'out of range' error (@kylekyle).
50
-
51
- Enhancements:
52
- * Improvements to IRuby dependency detection using `Bundler::Dependencies#specs` (@kou).
53
- * Use less memory forcing pry to store only the last 3 commands in memory (@kylekyle).
54
- * Use bigger z-index that is used accross all browsers (@kylekyle).
55
- * Ability to input date values as DateTime objects in IRuby/Input (@kylekyle).
56
- * Add option to have check boxes checked by default (@kylekyle).
57
- * Option for multi-select in drop down menus in the prompter (@kylekyle).
58
- * Add support for multiple widgets using `IRuby::Input::Multiple` (@kylekyle).
59
- * Calender icon for date selector icon (@kylekyle).
60
- * Add support for Numo/NArray (@zalt50).
61
- * Text now only completes after a space (@zalt50).
62
- * Remove the DONTWAIT flag when receiving a message (@cloud-oak).
63
- * Add support for CZTop (@kou).
64
-
65
- 0.2.9 (2016-05-02)
66
-
67
- Bug Fixes:
68
- * Fix an error where a NoMethodError was being raised where a table rendered using an Array of Hashes has more than `maxcols` columns. (@CGamesPlay)
69
- * Patch PryBackend to throw unterminated string and unexpected end-of-file syntax errors (@kylekyle)
70
-
71
- Enhnacements:
72
- * Add an IRuby::Input class which provides widgets for getting inputs from users. (@kylekyle)
73
- * Add data_uri dependency (@kylekyle)
74
- * Added a clear_output display function (@mrkn)
75
- * Doc fixes for installation (@kozo2, @generall)
76
-
77
- 0.2.8 (2015-12-06)
78
-
79
- * Add compatibility with ffi-rzmq
80
- * Windows support
81
-
82
- 0.2.7 (2015-07-02)
83
-
84
- * Fix problem with autoloaded constants in Display, problem with sciruby gem
85
-
86
- 0.2.6 (2015-06-21)
87
-
88
- * Check registered kernel and Gemfile to prevent gem loading problems
89
- * Support to_tex method for the rendering
90
-
91
- 0.2.5 (2015-06-07)
92
-
93
- * Fix #29, empty signatures
94
- * Move iruby utils to IRuby::Utils module
95
- * Add IRuby.tex alias for IRuby.latex
96
- * Remove example notebooks from gem
97
-
98
- 0.2.4 (2015-06-02)
99
-
100
- * Better exception handling
101
- * Fix ctrl-C issue #17
102
- * Fix timeout issue #19
103
-
104
- 0.2.3 (2015-05-31)
105
-
106
- * Fix notebook indentation
107
- * Fix tab completion for multiple lines
108
-
109
- 0.2.2 (2015-05-26)
110
-
111
- * Support history variables In, Out, _, _i etc
112
- * Internal refactoring and minor bugfixes
113
-
114
- 0.2.1 (2015-05-26)
115
-
116
- * Copy Ruby logo to kernel specification
117
-
118
- 0.2.0 (2015-05-25)
119
-
120
- * Dropped IPython2 support
121
- * Dropped Ruby < 2.0.0 support
122
- * Supports and requires now IPython3/Jupyter
123
- * Switch from ffi-rzmq to rbczmq
124
- * Added IRuby::Conn (experimental, to be used by widgets)
125
- * iruby register/unregister commands to register IRuby kernel in Jupyter
126
-
127
- 0.1.13 (2014-08-19)
128
-
129
- * Improved IRuby.table, supports :maxrows and :maxcols
130
- * IRuby#javascript workaround (https://github.com/ipython/ipython/issues/6259)
131
-
132
- 0.1.12 (2014-08-01)
133
-
134
- * IRuby#table add option maxrows
135
- * powerful display system with format and datatype registry, see #25
136
- * Add IRuby#javascript
137
- * Add IRuby#svg
138
-
139
- 0.1.11 (2014-07-08)
140
-
141
- * Push binding if pry binding stack is empty
142
-
143
- 0.1.10 (2014-07-08)
144
-
145
- * Fix #19 (pp)
146
- * Handle exception when symlink cannot be created
147
- * Fix dependencies and Pry backend
148
-
149
- 0.1.9 (2014-02-28)
150
-
151
- * Check IPython version
152
-
153
- 0.1.7/0.1.8
154
-
155
- * Bugfixes #11, #12, #13
156
-
157
- 0.1.6 (2013-10-11)
158
-
159
- * Print Matrix and GSL::Matrix as LaTeX
160
- * Add check for Pry version
161
-
162
- 0.1.5 (2013-10-03)
163
-
164
- * Implement a rich display system
165
- * Fix error output
166
-
167
- 0.1.4 (2013-10-03)
168
-
169
- * Extract display handler from kernel
170
- * Always return a text/plain response
171
-
172
- 0.1.3 (2013-10-03)
173
-
174
- * Implement missing request handlers
175
- * Detect if Bundler is running and set kernel_cmd appropriately
176
- * Improve Pry integration
177
- * Add support for the gems gnuplot, gruff, rmagick and mini_magick
178
-
179
- 0.1.2 (2013-10-02)
180
-
181
- * Support for Pry added
182
- * Launch `iruby console` if plain `iruby` is started
183
-
184
- 0.1.0 (2013-10-02)
185
-
186
- * Cleanup and rewrite of some parts