iruby 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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