nokogiri 1.6.8.rc1-java → 1.6.8.rc2-java

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.cross_rubies +2 -0
  3. data/CHANGELOG.rdoc +16 -2
  4. data/Gemfile +2 -2
  5. data/LICENSE.txt +1 -1
  6. data/Manifest.txt +0 -1
  7. data/Rakefile +5 -3
  8. data/ext/java/nokogiri/HtmlElementDescription.java +5 -2
  9. data/ext/java/nokogiri/NokogiriService.java +19 -0
  10. data/ext/java/nokogiri/XmlNode.java +7 -0
  11. data/ext/java/nokogiri/internals/HtmlDomParserContext.java +8 -1
  12. data/ext/java/nokogiri/internals/NokogiriErrorHandler.java +1 -2
  13. data/ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler4NekoHtml.java +1 -1
  14. data/ext/java/nokogiri/internals/NokogiriStrictErrorHandler.java +0 -1
  15. data/ext/java/nokogiri/internals/ParserContext.java +4 -0
  16. data/ext/java/nokogiri/internals/SaveContextVisitor.java +13 -12
  17. data/ext/nokogiri/extconf.rb +1 -2
  18. data/ext/nokogiri/html_document.c +6 -6
  19. data/ext/nokogiri/html_element_description.c +1 -1
  20. data/ext/nokogiri/html_entity_lookup.c +1 -1
  21. data/ext/nokogiri/html_sax_parser_context.c +4 -4
  22. data/ext/nokogiri/html_sax_push_parser.c +2 -2
  23. data/ext/nokogiri/xml_attr.c +2 -2
  24. data/ext/nokogiri/xml_comment.c +1 -1
  25. data/ext/nokogiri/xml_document.c +18 -18
  26. data/ext/nokogiri/xml_encoding_handler.c +3 -3
  27. data/ext/nokogiri/xml_entity_reference.c +1 -1
  28. data/ext/nokogiri/xml_node.c +27 -27
  29. data/ext/nokogiri/xml_node_set.c +3 -11
  30. data/ext/nokogiri/xml_processing_instruction.c +2 -2
  31. data/ext/nokogiri/xml_reader.c +6 -6
  32. data/ext/nokogiri/xml_sax_parser_context.c +1 -1
  33. data/ext/nokogiri/xml_sax_push_parser.c +1 -1
  34. data/ext/nokogiri/xml_schema.c +1 -1
  35. data/ext/nokogiri/xml_text.c +1 -1
  36. data/ext/nokogiri/xml_xpath_context.c +6 -6
  37. data/ext/nokogiri/xslt_stylesheet.c +6 -6
  38. data/lib/nekohtml.jar +0 -0
  39. data/lib/nokogiri/nokogiri.jar +0 -0
  40. data/lib/nokogiri/version.rb +1 -1
  41. data/lib/nokogiri/xml/node.rb +5 -9
  42. data/lib/nokogiri/xml/node_set.rb +3 -3
  43. data/test/html/test_document.rb +3 -3
  44. data/test/html/test_document_encoding.rb +4 -4
  45. data/test/html/test_node_encoding.rb +60 -0
  46. data/test/test_css_cache.rb +1 -1
  47. data/test/test_reader.rb +19 -19
  48. data/test/xml/sax/test_parser.rb +3 -7
  49. data/test/xml/test_document_encoding.rb +3 -3
  50. data/test/xml/test_namespace.rb +2 -2
  51. data/test/xml/test_node.rb +4 -4
  52. data/test/xml/test_node_encoding.rb +33 -69
  53. data/test/xml/test_node_set.rb +1 -1
  54. data/test/xml/test_unparented_node.rb +1 -1
  55. data/test_all +15 -9
  56. metadata +4 -6
  57. data/CHANGELOG.ja.rdoc +0 -1075
@@ -5,15 +5,15 @@ module Nokogiri
5
5
  class TestDocumentEncoding < Nokogiri::TestCase
6
6
  def setup
7
7
  super
8
- @xml = Nokogiri::XML(File.read(XML_FILE), XML_FILE, 'UTF-8')
8
+ @xml = Nokogiri::XML(File.read(SHIFT_JIS_XML), SHIFT_JIS_XML)
9
9
  end
10
10
 
11
11
  def test_url
12
- assert_equal @xml.encoding, @xml.url.encoding.name
12
+ assert_equal 'UTF-8', @xml.url.encoding.name
13
13
  end
14
14
 
15
15
  def test_encoding
16
- assert_equal @xml.encoding, @xml.encoding.encoding.name
16
+ assert_equal 'UTF-8', @xml.encoding.encoding.name
17
17
  end
18
18
 
19
19
  def test_dotted_version
@@ -40,7 +40,7 @@ module Nokogiri
40
40
 
41
41
  def test_namespace_node_prefix
42
42
  namespaces = @xml.root.namespace_definitions
43
- assert_equal [nil, 'foo'], namespaces.map { |x| x.prefix }
43
+ assert_equal [nil, 'foo'], namespaces.map(&:prefix)
44
44
  end
45
45
 
46
46
  def test_namespace_node_href
@@ -48,7 +48,7 @@ module Nokogiri
48
48
  assert_equal [
49
49
  'http://tenderlovemaking.com/',
50
50
  'bar'
51
- ], namespaces.map { |x| x.href }
51
+ ], namespaces.map(&:href)
52
52
  end
53
53
 
54
54
  def test_equality
@@ -19,7 +19,7 @@ module Nokogiri
19
19
  def test_element_children
20
20
  nodes = @xml.root.element_children
21
21
  assert_equal @xml.root.first_element_child, nodes.first
22
- assert nodes.all? { |node| node.element? }, 'all nodes are elements'
22
+ assert nodes.all?(&:element?), 'all nodes are elements'
23
23
  end
24
24
 
25
25
  def test_last_element_child
@@ -622,7 +622,7 @@ module Nokogiri
622
622
  address = @xml.xpath('//address').first
623
623
  assert_equal 3, address.ancestors.length
624
624
  assert_equal ['employee', 'staff', 'document'],
625
- address.ancestors.map { |x| x.name }
625
+ address.ancestors.map(&:name)
626
626
  end
627
627
 
628
628
  def test_read_only?
@@ -714,7 +714,7 @@ b"></div>
714
714
  eoxml
715
715
  set = xml.css('a[@class~="bar"]')
716
716
  assert_equal 4, set.length
717
- assert_equal ['Bar'], set.map { |node| node.content }.uniq
717
+ assert_equal ['Bar'], set.map(&:content).uniq
718
718
  end
719
719
 
720
720
  def test_unlink
@@ -892,7 +892,7 @@ b"></div>
892
892
 
893
893
  def test_whitespace_nodes
894
894
  doc = Nokogiri::XML.parse("<root><b>Foo</b>\n<i>Bar</i> <p>Bazz</p></root>")
895
- children = doc.at('//root').children.collect{|j| j.to_s}
895
+ children = doc.at('//root').children.collect(&:to_s)
896
896
  assert_equal "\n", children[1]
897
897
  assert_equal " ", children[3]
898
898
  end
@@ -1,32 +1,9 @@
1
+ # encoding: UTF-8
1
2
  require "helper"
2
3
 
3
4
  module Nokogiri
4
5
  module XML
5
6
  class TestNodeEncoding < Nokogiri::TestCase
6
- def setup
7
- super
8
- @html = Nokogiri::HTML(File.read(HTML_FILE), HTML_FILE)
9
- end
10
-
11
- def test_get_attribute
12
- node = @html.css('a').first
13
- assert_equal @html.encoding, node['href'].encoding.name
14
- end
15
-
16
- def test_text_encoding_is_utf_8
17
- @html = Nokogiri::HTML(File.open(NICH_FILE))
18
- assert_equal 'UTF-8', @html.text.encoding.name
19
- end
20
-
21
- def test_serialize_encoding_html
22
- @html = Nokogiri::HTML(File.open(NICH_FILE))
23
- assert_equal @html.encoding.downcase,
24
- @html.serialize.encoding.name.downcase
25
-
26
- @doc = Nokogiri::HTML(@html.serialize)
27
- assert_equal @html.serialize, @doc.serialize
28
- end
29
-
30
7
  def test_serialize_encoding_xml
31
8
  @xml = Nokogiri::XML(File.open(SHIFT_JIS_XML))
32
9
  assert_equal @xml.encoding.downcase,
@@ -36,68 +13,55 @@ module Nokogiri
36
13
  assert_equal @xml.serialize, @doc.serialize
37
14
  end
38
15
 
39
- def test_encode_special_chars
40
- foo = @html.css('a').first.encode_special_chars('foo')
41
- assert_equal @html.encoding, foo.encoding.name
42
- end
16
+ def test_encoding_GH_1113
17
+ utf8 = '<frag>shahid ὡ 𐄣 𢂁</frag>'
18
+ hex = '<frag>shahid &#x1f61; &#x10123; &#x22081;</frag>'
19
+ decimal = '<frag>shahid &#8033; &#65827; &#139393;</frag>'
20
+ expected = Nokogiri.jruby? ? hex : decimal
43
21
 
44
- def test_content
45
- node = @html.css('a').first
46
- assert_equal @html.encoding, node.content.encoding.name
47
- end
22
+ frag = Nokogiri::XML(utf8, nil, 'UTF-8', Nokogiri::XML::ParseOptions::STRICT)
23
+ assert_equal utf8, frag.to_xml.sub(/^<.xml[^>]*>\n/m, '').strip
48
24
 
49
- def test_name
50
- node = @html.css('a').first
51
- assert_equal @html.encoding, node.name.encoding.name
52
- end
25
+ frag = Nokogiri::XML(expected, nil, 'UTF-8', Nokogiri::XML::ParseOptions::STRICT)
26
+ assert_equal utf8, frag.to_xml.sub(/^<.xml[^>]*>\n/m, '').strip
53
27
 
54
- def test_path
55
- node = @html.css('a').first
56
- assert_equal @html.encoding, node.path.encoding.name
28
+ frag = Nokogiri::XML(expected, nil, 'US-ASCII', Nokogiri::XML::ParseOptions::STRICT)
29
+ assert_equal expected, frag.to_xml.sub(/^<.xml[^>]*>\n/m, '').strip
57
30
  end
58
31
 
32
+ VEHICLE_XML = <<-eoxml
33
+ <root>
34
+ <car xmlns:part="http://general-motors.com/">
35
+ <part:tire>Michelin Model XGV</part:tire>
36
+ </car>
37
+ <bicycle xmlns:part="http://schwinn.com/">
38
+ <part:tire>I'm a bicycle tire!</part:tire>
39
+ </bicycle>
40
+ </root>
41
+ eoxml
42
+
59
43
  def test_namespace
60
- xml = <<-eoxml
61
- <root>
62
- <car xmlns:part="http://general-motors.com/">
63
- <part:tire>Michelin Model XGV</part:tire>
64
- </car>
65
- <bicycle xmlns:part="http://schwinn.com/">
66
- <part:tire>I'm a bicycle tire!</part:tire>
67
- </bicycle>
68
- </root>
69
- eoxml
70
- doc = Nokogiri::XML(xml, nil, 'UTF-8')
71
- assert_equal 'UTF-8', doc.encoding
44
+ doc = Nokogiri::XML(VEHICLE_XML.encode('Shift_JIS'), nil, 'Shift_JIS')
45
+ assert_equal 'Shift_JIS', doc.encoding
72
46
  n = doc.xpath('//part:tire', { 'part' => 'http://schwinn.com/' }).first
73
47
  assert n
74
- assert_equal doc.encoding, n.namespace.href.encoding.name
75
- assert_equal doc.encoding, n.namespace.prefix.encoding.name
48
+ assert_equal 'UTF-8', n.namespace.href.encoding.name
49
+ assert_equal 'UTF-8', n.namespace.prefix.encoding.name
76
50
  end
77
51
 
78
52
  def test_namespace_as_hash
79
- xml = <<-eoxml
80
- <root>
81
- <car xmlns:part="http://general-motors.com/">
82
- <part:tire>Michelin Model XGV</part:tire>
83
- </car>
84
- <bicycle xmlns:part="http://schwinn.com/">
85
- <part:tire>I'm a bicycle tire!</part:tire>
86
- </bicycle>
87
- </root>
88
- eoxml
89
- doc = Nokogiri::XML(xml, nil, 'UTF-8')
90
- assert_equal 'UTF-8', doc.encoding
53
+ doc = Nokogiri::XML(VEHICLE_XML.encode('Shift_JIS'), nil, 'Shift_JIS')
54
+ assert_equal 'Shift_JIS', doc.encoding
91
55
  assert n = doc.xpath('//car').first
92
56
 
93
57
  n.namespace_definitions.each do |nd|
94
- assert_equal doc.encoding, nd.href.encoding.name
95
- assert_equal doc.encoding, nd.prefix.encoding.name
58
+ assert_equal 'UTF-8', nd.href.encoding.name
59
+ assert_equal 'UTF-8', nd.prefix.encoding.name
96
60
  end
97
61
 
98
62
  n.namespaces.each do |k,v|
99
- assert_equal doc.encoding, k.encoding.name
100
- assert_equal doc.encoding, v.encoding.name
63
+ assert_equal 'UTF-8', k.encoding.name
64
+ assert_equal 'UTF-8', v.encoding.name
101
65
  end
102
66
  end
103
67
  end
@@ -660,7 +660,7 @@ module Nokogiri
660
660
  employees = @xml.search("//employee")
661
661
  inspected = employees.inspect
662
662
 
663
- assert_equal "[#{employees.map { |x| x.inspect }.join(', ')}]",
663
+ assert_equal "[#{employees.map(&:inspect).join(', ')}]",
664
664
  inspected
665
665
  end
666
666
 
@@ -385,7 +385,7 @@ module Nokogiri
385
385
 
386
386
  def test_whitespace_nodes
387
387
  doc = Nokogiri::XML.parse("<root><b>Foo</b>\n<i>Bar</i> <p>Bazz</p></root>")
388
- children = doc.at('.//root').children.collect{|j| j.to_s}
388
+ children = doc.at('.//root').children.collect(&:to_s)
389
389
  assert_equal "\n", children[1]
390
390
  assert_equal " ", children[3]
391
391
  end
data/test_all CHANGED
@@ -12,9 +12,10 @@
12
12
 
13
13
  # I'd add rubinius, but rvm errors when building it on my machine. :(
14
14
  RUBIES="\
15
+ ruby-2.3 \
15
16
  ruby-2.2 \
16
17
  ruby-2.1 \
17
- ruby-2.0.0-p647 \
18
+ ruby-2.0.0-p648 \
18
19
  ruby-1.9.3-p551 \
19
20
  ruby-1.9.2-p330 \
20
21
  jruby-9.0.4.0 \
@@ -59,15 +60,20 @@ function compile {
59
60
  bundle exec rake compile 2>&1 > /dev/null
60
61
  }
61
62
 
63
+ # quick check that we have All The Rubies
62
64
  for ruby in $RUBIES ; do
63
- rvm_use ${ruby}
64
- if ! [[ $(bundle -v) =~ "1.10." ]] ; then
65
- yes | gem uninstall --force bundler
66
- gem install bundler -v 1.10.6
67
- bundle -v
68
- fi
69
- bundle install --quiet --local || bundle install
70
- clean
65
+ rvm_use ${ruby}
66
+ done
67
+
68
+ for ruby in $RUBIES ; do
69
+ rvm_use ${ruby}
70
+ if ! [[ $(bundle -v) =~ "1.10." ]] ; then
71
+ yes | gem uninstall --force bundler
72
+ gem install bundler -v 1.10.6
73
+ bundle -v
74
+ fi
75
+ bundle install --quiet --local || bundle install
76
+ clean
71
77
  done
72
78
 
73
79
  for ruby in $RUBIES ; do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.8.rc1
4
+ version: 1.6.8.rc2
5
5
  platform: java
6
6
  authors:
7
7
  - Aaron Patterson
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2015-12-17 00:00:00.000000000 Z
15
+ date: 2016-01-12 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rdoc
@@ -132,12 +132,12 @@ dependencies:
132
132
  requirements:
133
133
  - - ~>
134
134
  - !ruby/object:Gem::Version
135
- version: 0.4.2
135
+ version: 0.5.0
136
136
  requirement: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - ~>
139
139
  - !ruby/object:Gem::Version
140
- version: 0.4.2
140
+ version: 0.5.0
141
141
  prerelease: false
142
142
  type: :development
143
143
  - !ruby/object:Gem::Dependency
@@ -199,7 +199,6 @@ executables:
199
199
  - nokogiri
200
200
  extensions: []
201
201
  extra_rdoc_files:
202
- - CHANGELOG.ja.rdoc
203
202
  - CHANGELOG.rdoc
204
203
  - CONTRIBUTING.md
205
204
  - C_CODING_STYLE.rdoc
@@ -250,7 +249,6 @@ files:
250
249
  - .editorconfig
251
250
  - .gemtest
252
251
  - .travis.yml
253
- - CHANGELOG.ja.rdoc
254
252
  - CHANGELOG.rdoc
255
253
  - CONTRIBUTING.md
256
254
  - C_CODING_STYLE.rdoc
data/CHANGELOG.ja.rdoc DELETED
@@ -1,1075 +0,0 @@
1
- === 1.6.8 / 未リリース
2
-
3
- ==== セキュリティ
4
-
5
- * (MRI) Bundled Libxml2 is upgraded to 2.9.3, which fixes a series of security issues. See https://mail.gnome.org/archives/xml/2015-November/msg00012.html
6
-
7
-
8
- ==== バグ修正
9
-
10
- * [JRuby] fix load errors when deploying to JRuby/Torquebox (#1114) (Thanks, @atambo!)
11
- * [JRuby] fix NPE when inspecting nodes returned by NodeSet#drop (#1042) (Thanks, @mkristian!)
12
- * [JRuby] fix nil attriubte node's namespace in reader (#1327) (Thanks, @codekitchen!)
13
- * [MRI] fix assertion failure while accessing attribute node's namespace in reader (#843) (Thanks, @2potatocakes!)
14
- * [MRI] fix issue with GCing namespace nodes returned in an xpath query. (#1155)
15
- * unescape special characters in CSS queries (#1303) (Thanks, @twalpole!)
16
- * consistently handle empty documents (#1349)
17
-
18
-
19
- === 1.6.7.1 / 2015年12月16日
20
-
21
- This version pulls in several upstream patches to the vendored libxml2 and libxslt to address:
22
-
23
- CVE-2015-5312
24
- CVE-2015-7497
25
- CVE-2015-7498
26
- CVE-2015-7499
27
- CVE-2015-7500
28
- CVE-2015-8241
29
- CVE-2015-8242
30
- CVE-2015-8317
31
-
32
- See also http://www.ubuntu.com/usn/usn-2834-1/
33
-
34
-
35
- === 1.6.7 / 2015年11月29日
36
-
37
- ==== 註
38
-
39
- This version supports native builds on Windows using the RubyInstaller
40
- DevKit. It also supports Ruby 2.2.x on Windows, as well as making
41
- several other improvements to the installation process on various
42
- platforms.
43
-
44
- This version also includes the security patches already applied in
45
- v1.6.6.3 and v1.6.6.4 to the vendored libxml2 and libxslt source.
46
- See #1374 and #1376 for details.
47
-
48
- ==== 機能
49
-
50
- * Cross-built gems now have a proper ruby version requirement. (#1266)
51
- * Ruby 2.2.x is supported on Windows.
52
- * Native build is supported on Windows.
53
- * [MRI] libxml2 and libxslt `config.guess` files brought up to date. (#1326) (Thanks, @hernan-erasmo!)
54
- * [JRuby] fix error in validating files with jruby (#1355, #1361) (Thanks, @twalpole!)
55
- * [MRI, OSX] Patch to handle nonstandard location of `iconv.h`. (#1206, #1210, #1218, #1345) (Thanks, @neonichu!)
56
-
57
- ==== バグ修正
58
-
59
- * [JRuby] reset the namespace cache when replacing the document's innerHtml (#1265) (Thanks, @mkristian!)
60
- * [JRuby] Document#parse should support IO objects that respond to #read. (#1124) (Thanks, Jake Byman!)
61
- * [MRI] Duplicate-id errors when setting the `id` attribute on HTML documents are now silenced. (#1262)
62
- * [JRuby] SAX parser cuts texts in peices when quare brackets exist. (#1261)
63
- * [JRuby] Namespaced attributes aren't removed by remove_attribute. (#1299)
64
-
65
-
66
- === 1.6.6.4 / 2015年11月19日
67
-
68
- This version pulls in an upstream patch to the vendored libxml2 to address:
69
-
70
- * unclosed comment uninitialized access issue (#1376)
71
-
72
- This issue does not have a CVE assigned to it as this time.
73
-
74
-
75
- === 1.6.6.3 / 2015年11月16日
76
-
77
- This version pulls in several upstream patches to the vendored libxml2 and libxslt to address:
78
-
79
- * CVE-2015-1819
80
- * CVE-2015-7941_1
81
- * CVE-2015-7941_2
82
- * CVE-2015-7942
83
- * CVE-2015-7942-2
84
- * CVE-2015-8035
85
- * CVE-2015-7995
86
-
87
- See #1374 for details.
88
-
89
-
90
- === 1.6.6.2 / 2015年01月23日
91
-
92
- ==== バグ修正
93
-
94
- * Fixed installation issue affecting compiler arguments. (#1230)
95
-
96
-
97
- === 1.6.6.1 / 2015年01月22日
98
-
99
- Note that 1.6.6.0 was not released.
100
-
101
-
102
- ==== 機能
103
-
104
- * Unified Node and NodeSet implementations of #search, #xpath and #css.
105
- * Added Node#lang and Node#lang=.
106
- * bin/nokogiri passes the URI to parse() if an HTTP URL is given.
107
- * bin/nokogiri now loads ~/.nokogirirc so user can define helper methods, etc.
108
- * bin/nokogiri can be configured to use Pry instead of IRB by adding a couple of lines to ~/.nokogirirc. (#1198)
109
- * bin/nokogiri can better handle urls from STDIN (aiding use of xargs). (#1065)
110
- * JRuby 9K support.
111
-
112
-
113
- ==== バグ修正
114
-
115
- * DocumentFragment#search now matches against root nodes. (#1205)
116
- * (MRI) More fixes related to handling libxml2 parse errors during DocumentFragment#dup. (#1196)
117
- * (JRuby) Builder now handles namespace hrefs properly when there is a default ns. (#1039)
118
- * (JRuby) Clear the XPath cache on attr removal. (#1109)
119
- * `XML::Comment.new` argument types are now consistent and safe (and documented) across MRI and JRuby. (#1224)
120
- * (MRI) Restoring support for Ruby 1.9.2 that was broken in v1.6.4.1 and v1.6.5. (#1207)
121
- * Check if `zlib` is available before building `libxml2`. (#1188)
122
- * (JRuby) HtmlSaxPushParser now exists. (#1147) (Thanks, Piotr Szmielew!)
123
-
124
-
125
- === 1.6.5 / 2014年11月26日
126
-
127
- ==== 機能
128
-
129
- * Slop#respond_to_missing? を実装 (#1176)
130
- * Optimized the XPath query generated by an `an+b` CSS query.
131
-
132
-
133
- ==== バグ修正
134
-
135
- * Capture non-parse errors from Document#dup in Document#errors. (#1196)
136
- * (JRuby) Document#canonicalize parameters are now consistent with MRI. (#1189)
137
-
138
-
139
- === 1.6.4.1 / 2014年11月5日
140
-
141
- ==== バグ修正
142
-
143
- * (MRI) 渡したCFLAGSが反映されないバグを修正 (#1188)
144
- * CSSセレクタの :nth(n) が動かなかったのを修正 (#1187)
145
-
146
-
147
- === 1.6.4 / 2014年11月4日
148
-
149
- ==== 機能
150
-
151
- * (MRI) 同梱の libxml2 を 2.9.2 に更新
152
- * (MRI) `nokogiri --version` の出力にパッチ一覧を追加
153
- * (MRI) ビルド中に端末に直接注意書きを出力していたのを廃止
154
- * (MRI) OS Xで /usr/include/iconv.h が存在しないのを検出し、警告するように (#1111)
155
- * (MRI) iconvの検出を libxml2 と同一の手順で行うようにした
156
-
157
- ==== バグ修正
158
-
159
- * (MRI) DocumentFragment#element_children を修正 (#1138)
160
- * CSSの属性セレクタが先行トークンを伴わない場合 "foo [bar]" → "foo[bar]" のように解釈されていたバグを修正 (#1174)
161
-
162
-
163
- === 1.6.3.1 / 2014年7月21日
164
-
165
- ==== バグ修正
166
-
167
- * MacでGCCを使うとエラーになる問題に対処 #1130 (@zenspiderに感謝!)
168
-
169
-
170
- === 1.6.3 / 2014年7月20日
171
-
172
- ==== 機能
173
-
174
- * Node#document? と Node#processing_instruction? を追加
175
-
176
-
177
- ==== バグ修正
178
-
179
- * [JRuby] メモリを使い果たす脆弱性の修正 #1087 (@ocherに感謝)
180
- * [MRI] `libxml-ruby` と `nokogiri` とをマルチスレッド環境で同時に使うとGC中にsegfaultする問題を修正 #895 (@ender672に感謝!)
181
- * OS X 10.9 同梱の ruby 2.0.0 でビルド可能に #1101 (@zenspiderに感謝!)
182
- * 1.6.2以降 Node#parse がHTML文書ノードに対して動かなかった問題を修正
183
- * XML処理命令(PI)を Node#add_next_sibling で挿入可能に
184
-
185
-
186
- === 1.6.2.1 / 2014年5月13日
187
-
188
- ==== バグ修正
189
-
190
- * ユニバーサルバイナリ版 ruby における libxml2 の静的リンクを修正 #1104
191
- * `mini_portile` の Git への依存をパッチによって除去 #1102
192
- * 一部プラットフォームにおけるライブラリロードにまつわるsegfaultを修正 #1097
193
-
194
-
195
- === 1.6.2 / 2014年5月12日
196
-
197
- ==== セキュリティ
198
-
199
- 同梱の libxml2 (2.8.0) と libxslt に各レポジトリからセキュリティ修正が移植された. 以下の脆弱性対応を含む.
200
-
201
- * https://git.gnome.org/browse/libxml2/commit/?id=4629ee02ac649c27f9c0cf98ba017c6b5526070f
202
- * CVE-2013-2877 https://git.gnome.org/browse/libxml2/commit/?id=e50ba8164eee06461c73cd8abb9b46aa0be81869
203
- * CVE-2014-0191 https://git.gnome.org/browse/libxml2/commit/?id=9cd1c3cfbd32655d60572c0a413e017260c854df
204
-
205
- 1.6.x のユーザは早急にアップグレードされたい.
206
-
207
- ==== 互換性
208
-
209
- libxml2 2.6.21 以上が必要に. (従前は 2.6.17 以上)
210
-
211
- ==== 機能
212
-
213
- * Add cross building of fat binary gems for 64-Bit Windows (x64-mingw32)
214
- and add support for native builds on Windows. #864, #989, #1072
215
- * (MRI) iconvが Windows-31J をサポートしていない場合は CP932 のエイリアスとして扱うようにした #836
216
- * (MRI) 同梱ライブラリを静的にリンクするようになった (静的リンクをオフにするにはextconf.rbに --disable-static を渡す) #923
217
- * (MRI) CRubyのバグ #9760 に起因するライブラリパス(LIBPATH)の優先順位問題に対応した
218
- * (MRI) 同梱ライブラリのビルド後に不要になったディレクトリ群を自動的に削除するようになった (デバッグ等の目的で残すようにするにはextconf.rbに --disable-clean を渡す) #952
219
- * (MRI) FreeBSDなど、libiconvがシステム標準ディレクトリ外にある環境でlibxml2がiconvサポート付きで正しくビルドされるようになった
220
- * nthセレクタにおいてan-bを認識するようになった #886 (Magnus Bergmarkに感謝!)
221
- * :not疑似クラスが、先行セレクタがない場合や複数重ねられた場合にも対応した #887 (Magnus Bergmarkに感謝!)
222
- * (MRI) extconf.rb のオプション --use-system-libraries を追加
223
- 環境変数 NOKOGIRI_USE_SYSTEM_LIBRARIES を設定する代わりに使える
224
- * (MRI) 同梱の libxslt を 1.1.28 に、 zlib を 1.2.8 に、 libiconv を 1.14 にそれぞれ更新した
225
- * Nokogiri::HTML::Document#title= 及び #meta_encoding= は、head要素がない場合でも常に、最適な場所を探しつつ要素を追加するようになった
226
- * Nokogiri::XML::DTD#html_dtd? と #html5_dtd? を追加
227
- * Nokogiri::XML::Node#prepend_child を追加 #664
228
- * Nokogiri::XML::SAX::ParserContext#recovery is added. #453
229
-
230
- ==== バグ修正
231
-
232
- * :only-child疑似クラスが:not疑似クラスの中にある場合に正常な動作が行われるようになった #858 (Yamagishi Kazutoshiに感謝!)
233
- * 同梱のライブラリを使う場合にはextconf.rbでpkg_configを呼ばなくなった #931 (Shota Fukumoriに感謝!)
234
- * Nokogiri.parse()がRSS文書などをHTML文書として誤認する問題を修正 #932 (Yamagishi Kazutoshiに感謝!)
235
- * (MRI) ノードに対して子ノードを追加する際、ノードタイプをチェックするようにした。従来はテキストノードに別のテキストノードを追加する操作によりSEGVが発生していた。 #1092
236
- * (JRuby) XSDのバリデーションがJava版でクラッシュする問題 #373
237
- * (JRuby) Builder使用時の「Document already has a root node」エラー #646
238
- * (JRuby) c14nテストがすべて通るように #226
239
- * 厳格(strict)モードで空の文書をパースするとSyntaxErrorが起きる問題 #1005
240
- * (JRuby) XPathコンテクストをキャッシュするようにして高速化 #741
241
- * (JRuby) XML SAXプッシュパーサーのメモリリーク #998
242
- * (JRUby) JRubyによるディフォルトネームスペースエイリアスの振る舞いがCRubyと同じではない。#940
243
- * (JRuby) JRubyによるネームスペースのパースと追加の振る舞いが一致していない。 #943
244
- * (JRuby) Builderで作ったドキュメントとクローンしたドキュメントではXpathの結果が違う。#1034
245
- * (JRuby) Javaの実装はネームスペースを忘れることがある。 #902
246
- * (JRuby) JRuby-Nokogiriはネームスペーススコープ内のアトリビュートを正しく認識しない。#1081
247
- * (JRuby) JRuby-Nokogiriはコメントノードの名前が違う。#1080
248
- * (JRuby) JAXPExtensionsProvider / Java 7 / Secure Processingに問題がある。 #1070
249
-
250
- === 1.6.1 / 2013年12月14日
251
-
252
- * バグ修正
253
-
254
- * (JRuby) 不正なドキュメントをパースするときにメモリ不足に陥るバグを修正
255
- * (JRuby) Billion-laughs攻撃対策のリグレッションを修正 #586
256
-
257
-
258
- === 1.6.0 / 2013年6月8日
259
-
260
- 本リリースは1.5.10および1.6.0.rc1を元にしているため、両リリースの改善点を含む
261
-
262
- * 廃止
263
-
264
- * TravisのCI対象からRuby 1.8を外した
265
-
266
-
267
- === 1.6.0.rc1 / 2013年4月14日
268
-
269
- 本リリースは1.5.9を元にしているため、1.5.10の変更点は含まない
270
-
271
- * 註
272
-
273
- * 実行時依存 gem として mini_portile を追加
274
- * Ruby 1.9.2以上のみサポート
275
-
276
-
277
- * 機能
278
-
279
- * (MRI) libxml 2.8.0 と libxslt 1.2.26 を同梱。
280
- 環境変数 NOKOGIRI_USE_SYSTEM_LIBRARIES を設定しない限り、 gem のインストール時にコンパイルして使われる。
281
- VERSION_INFO (および `nokogiri -v`) には、同梱の libxml またはシステムの libxml のいずれが使われているかの情報が含まれる
282
- * (Windows) libxml 2.8.0 に更新
283
-
284
-
285
- * 廃止
286
-
287
- * Ruby 1.8.7以下のサポートを終了
288
-
289
-
290
- === 1.5.11 / 2013年12月14日
291
-
292
- * バグ修正
293
-
294
- * (JRuby) 不正なドキュメントをパースするときにメモリ不足に陥るバグを修正
295
- * (JRuby) Billion-laughs攻撃対策のリグレッションを修正 #586
296
-
297
-
298
- === 1.5.10 / 2013年6月7日
299
-
300
- * バグ修正
301
-
302
- * (JRuby) JRuby 1.7.3で空のIOをパースする際の "null document" エラーを修正 #883
303
- * (JRuby) XSDにDTDのDOCTYPEがあったときのスキーマ検証の問題を修正 #912 (Patrick Chengに感謝!)
304
- * (MRI) HTMLノードに対するdefault_sub_element呼出でsegfaultしていたのを修正 #917
305
-
306
-
307
- * 註
308
-
309
- * RARRAY_PTR()の代わりにrb_ary_entry()を使うように変更 (そう、Rubiniusのためにね) #877 (Dirkjan Bussinkに感謝!)
310
- * テストでTypeErrorが起きるのを修正 #900 (Cédric Boutillierに感謝!)
311
-
312
-
313
- === 1.5.9 / 2013年3月21日
314
-
315
- * バグ修正
316
-
317
- * prefixed attributes を持つ要素が親を付け替えられたとき名前空間を適切に扱う #869
318
- * ネストされた HTML のなかの SVG 要素が持つ名前空間つき属性を参照したときの返り値が一致しないバグを修正 #861
319
- * (MRI) 部分ノードをパースしたときメモリリークするバグを修正 #856
320
-
321
-
322
- === 1.5.8 / 2013年3月19日
323
-
324
- * バグ修正
325
-
326
- * (JRuby) xlink:href 属性があり base_uri が無いとき、 EmptyStackException 例外が発生するのを修正 #534, #805. (ありがとう, Patrick Quinn と Brian Hoffman!)
327
- * 1.5.7 から xmlns 属性が重複するバグを修正 #865
328
- * Nokogiri::XML::Builder を使って prefixed 名前空間をルートノードに対しても使えるようにした。 #868
329
-
330
-
331
- === 1.5.7 / 2013年3月18日
332
-
333
- * 機能
334
-
335
- * Ruby 2.0 で Windows 環境をサポート
336
-
337
-
338
- * バグ修正
339
-
340
- * エンコーディング名が小文字のとき SAX::Parser.parse_io が例外を投げるようになった。 #828
341
- * (JRuby) Java の Nokogiri はついに 1.8 と 1.9 両方のモードで全てのテストがグリーンになった!イェーイ! #798, #705
342
- * (JRuby) Nokogiri::XML::Reader が jruby で壊れていたのを修正 (pull parser なのに全ての xml ドキュメントをメモリ上にロードしていた) #831
343
- * (JRuby) JRuby が "&amp;" をパースすると停止してしまう #837
344
- * (JRuby) JRuby で不正な XML 命令をパースさせると NullPointerException 例外が発生する #838
345
- * (JRuby) Node#content= が JRuby と MRI で一致しない #839
346
- * (JRuby) to_xhtml が自分自身に閉じタグを表すスラッシュを含む要素を正しく表示しない #834
347
- * (JRuby) テキストノードの後ろに続くエンティティが壊れてしまう (`&` や `;` が消える) #835
348
- * (JRuby) 空の attributes を参照すると nil が返る #818
349
- * ".foo" のような CSS クラス名の問い合わせ時に連続した空白を単一とみなす #854
350
- * 名前空間の扱いが MRI と JRuby の間で統一された #846, #801 (ありがとう, Michael Klein!)
351
- * (MRI) SAX パーサーが空の xml 命令をパースできるようにする #845
352
-
353
-
354
- === 1.5.6 / 2012年12月19日
355
-
356
- * 新機能
357
-
358
- * XML::Document#collect_namespaces メソッドのパフォーマンスを改善した。 #761 (ありがとう、Juergen Mangler!)
359
- * SAX::Document#processing_instructionに新しいcallbackが追加 (ありがとう、Kitaiti Makoto!)
360
- * Node#native_content= メソッドでエスケープされていない文字列をセットできるようにした。 #768
361
- * 名前空間を付けて xpath 式を書く場合に、シンボルキーを使えるようにした。#729 (ありがとう、Ben Langfeld.)
362
- * XML::Node#[]= メソッド内で受け取った引数を文字列に変換するようにした。#729 (ありがとう、Ben Langfeld.)
363
- * bin/nokogiri コマンドが $stdin からドキュメントを読んで処理できるようにした。
364
- * bin/nokogiri -e を指定することでコマンドラインプログラムを実行できるようにした。
365
- * (JRuby) bin/nokogiri --version は Xerces および NekoHTML のバージョンを表示。
366
-
367
-
368
- * バグ修正
369
-
370
- * Nokogiri はこのバージョンからXSLT変換のエラーを検出するようになった。#731 (ありがとう、Justin Fitzsimmons!)
371
- * DocumentFragment のトップレベルノードを置き換えようとした際に Error を出さない。 #775
372
- * SAXパーザに不正なエンコーディングに渡された場合はArgumentErrorを投げるようにした。#756 (ありがとう、Bradley Schaefer!)
373
- * (JRuby) XML宣言の前にスペースがあると、ドキュメントのパーズに失敗する。(#748の修正でこれもなおっている) #790
374
- * (JRuby) Nokogiri::XML::Node#content のJRubyの振る舞いがCRubyと同じではない。#794, #797
375
- * (JRuby) で '#' で始まる文字列を名前とする EntityReference を作ろうとすると INVALID_CHARACTER_ERR という例外が発生する。 #719
376
- * (JRuby) では Nodeのサブクラスのnamespaceを正しく文字列に変換しない。 #715
377
- * (JRuby) Node#contentがこのバージョンから改行コードを正しく表示するようになった。#737 (ありがとう、Piotr Szmielew!)
378
- * (JRuby) recover optionが指定されている場合は宣言の無い名前空間を無視するようにした。#748
379
- * (JRuby) 名前空間を検出するXPathが続けて実行されても例外を投げてはいけない。#764
380
- * (JRuby) XMLを表示(出力)する際のホワイトスペースの扱いをlibxml2バージョンとさらに同様になるようにした。#771
381
- * (JRuby) 名前空間付きの属性を含むXMLドキュメントを文字列でbuilderに追加しようとすると失敗する。#770
382
- * (JRuby) Nokogiri::XML::Document#wrapを使って生成したドキュメントに << でノードを追加しようとすると
383
- undefined method `length' for nil:NilClassのエラーが発生する #781
384
- * (JRuby) 開いているファイルのデスクリプタを閉じようとすると、"bad file descriptor" が発生する。#495
385
- * (JRuby) 属性デコレータに関するJRubyとCRubyの非互換性 #785
386
- * (JRuby) DOCTYPE宣言内に内部サブセットを持たない(正しい)XMLをパースする際の問題 #547, #811
387
- * (JRuby) テキストにコロンを含むノードをパースする際の問題 #728
388
- * (JRuby) HTML文書のDOCTYPEを正しくパース #733
389
- * (JRuby) Builder で create_internal_subset を使った場合のXML出力にDOCTYPE宣言を含める #751
390
- * (JRuby) JRubyでのみ、 Builder でUTF-8テキストを #text で括る必要があった #784
391
-
392
-
393
- === 1.5.5 / 2012年6月24日
394
-
395
- * 機能
396
-
397
- * JRuby の1.9モードのサポートを大幅改善!イェイ!
398
-
399
- * バグ修正
400
-
401
- * JRuby Nokogiri の add_previous_sibling が以前は動いていたのに今は動かない(1.5.0 -> 1.5.1)。 #691 (ありがとう, John Shahid!)
402
- * JRuby バーションは URL が引数にあたえられると HTML ドキュメントを作れない。 #674 (ありがとう, John Shahid!)
403
- * JRuby バージョンは HTMLとして nil か "" が与えられると NullPointerException を投げる。 #699
404
- * JRuby 1.9 モードでエラー, uncaught throw 'encoding_found', が発生する。 #673
405
- * JRuby で US-ASCII にエンコードされた文字列が正しくないエンコードを返してくる。 #583
406
- * 512 文字以上が与えられたときに XmlSaxPushParser が IndexOutOfBoundsException を投げる。#567, #615
407
- * Xpath を評価した結果、空の NodeSet が帰ってくる場合に、NodeSet が持っている Document の decorate に失敗して例外が投げられる。#514
408
- * JRuby で xpath を namespace 付きで指定した場合に、エラーが発生する。pull request #681 (ありがとう, Piotr Szmielew)
409
- * JRuby で Nokogiri::XML::Node を継承したクラスを定義すると、namespace が表示されない。 #695
410
- * JRuby で RDF::RDFXML::Writer をインスタンス化しようとすると NAMESPACE_ERR (org.w3c.dom.DOMException) が発生する. #683
411
- * JRuby で xpath に namespaces を指定すると例外が発生する. #493
412
- * JRuby の Entity 解決は C version の Nokogiri と同じ結果にならないといけない。#704, #647, #703
413
-
414
-
415
- === 1.5.4 / 2012年6月12日
416
-
417
- * 機能
418
-
419
- * "nokogiri" コマンドに `--rng` オプションが与えられと、より詳しい説明を表示するようになった。 #675 (ありがとう, Dan Radez!)
420
- * `-Werror=format-security` CFLAGを使っている hardened な Debian 系 Linux でのビルドをサポート #680.
421
- * pkg-config ありのシステム上でのよりよいビルドをサポート。 #584
422
- * 複数の iconv がイストールされているシステムでのよりよいビルドをサポート。
423
-
424
- * バグ修正
425
-
426
- * DocumentFragment をベースにしてコメントノードを作ったときに Segmentation fault する。 #677, #678.
427
- * at() と search() メソッドで '.' をxpathとして扱う。 #690
428
-
429
- * (MRI, Security) XML パース時のディフォルトのオプションを nonet に変更。これにより、ディフォルトでは
430
- ドキュメントパース時にネットワーク接続を行わないようにし、XXE 脆弱性に対応した。#693
431
-
432
- パース時にネットワークに接続して外部のドキュメントを見にいかせたい場合には、以下のように `nonoet` オプションを設定する:
433
-
434
- Nokogiri::XML::Document.parse(xml) { |config| config.nononet }
435
-
436
- ここに、自分ならではの二重否定のジョークをうめこむとなおよし。
437
-
438
-
439
- === 1.5.3 / 2012年6月1日
440
-
441
- * 機能
442
-
443
- * jQuery のような "prefixless" CSS セレクタ, ~ や >, + をサポート。#621, #623. (ありがとう, David Lee!)
444
- * homebrew 0.9でのインストールを改善してみる。(iconv周り)
445
- パッケージ管理って便利じゃない?
446
-
447
- * バグ修正
448
-
449
- * カスタム xpath 関数が空の nodeset を引数に含む場合、segfault を起こす。 #634.
450
- * Nokogiri::XML::Node#css は、デフォルトの名前空間を持つXML文書に対して名前空間なしの属性セレクタをルールに含めても動作するようになった。
451
- * Marshalにおいて、XSLTのカスタムXPath関数への引数の渡し方(および戻し方)に関するバグを修正 #640.
452
- * Nokogiri::XML::Reader#outer_xml がJRubyで正しく動作しない #617
453
- * Nokogiri::XML::Attribute が JRuby 上で nil namespace を返す #647
454
- * Nokogiri::XML::Node#namespace= メソッドが JRuby 上で prefix
455
-  が無い namespace を設定できない #648
456
- * (JRuby) 1.9 モードで rake を実行するとデッドロックを引き起こす #571
457
- * HTML::Document#meta_encoding は誤った Content-Type (charset部)を含む文書で例外を起こさなくなった #655
458
- * コンテキスト付きフラグメントのパースで非サポートのエンコーディングが原因でRuby 1.8.7がSEGVを起こすのを修正 #643
459
- * (JRuby) XPathパースにおける並行実行時の問題 #682
460
-
461
-
462
- === 1.5.2 / 2012年3月9日
463
-
464
- 古いRuby用にgemspecを修正しての再パッケージ. #631, #632.
465
-
466
-
467
- === 1.5.1 / 2012年3月9日
468
-
469
- * 新機能
470
-
471
- * XML::Builder#comment はコメントノードを作れるようになった.
472
- * CSSセレクター検索が名前空間付き属性に対応 #593
473
- * Java integration 機能が追加された. このバージョンから,
474
- XML::Document.wrap と XML::Document#to_java メソッドが利用可能。
475
- * `nokogiri` CLIユーティリティがRelaxNGバリデーションに対応 #591 (thanks, Dan Radez!)
476
-
477
- * バグの修正
478
-
479
- * エンコーディング自動認識において発生しうるメモリリークを修正
480
- Tim Elliottに感謝!
481
- * homebrew がインストールされていたら、extconf は homebrew のパスを読む。
482
- * Java版の一貫性のない挙動 #620
483
- * JRuby (1.6.4/5) で Nokogiri::XML::Node を継承できなかった #560
484
- * XML::Attr ノードは子ノードとして追加できないので例外を出す #558
485
- * Node#add_next_sibling と Node#add_previous_sibling で隣接テキストノードをdupする条件を緩和 #595
486
- * Java版の一貫性のない挙動: 空の属性値をnilとして返していた #589
487
- * to_xhtml が要素が空のときに <p /></p> と誤ったタグを生成していた #557
488
- * Document#add_child が Node, NodeSet, DocumentFragment および
489
- String を受け付けるようになった #546
490
- * Document#create_element が("SOAP-ENV"のように)非単語構成文字を含む名前空間を認識するようになった. これは主に Builder を使う際に効いてくる. Builder はほぼすべてのものに Document#create_element を適用するためである #531
491
- * ファイルエンコーディングが効かなかった (1.5.0 / jruby / windows) #529
492
- * Java版において、<html>タグに含まれる名前空間定義を属性として返さなかった #542
493
- * Nokogiri 1.5.0で Bad file descriptor が発生していた #495
494
- * remove_namespace! がpure Java版で動かなかった #492
495
- * Javaネイティブ版でパースされたオブジェクトに対して ActiveSupport の .blank? メソッドを呼ぶと null pointer exception が発生していた #489
496
- * 1.5.0 で正しい文字エンコーディングが仕様されなかった #488
497
- * XML Builder に生のXML文字列を渡した際の問題 (JRuby) #486
498
- * Nokogiri 1.5.0でXML生成が壊れていた (JRuby) #484
499
- * ルートノードを複数持つことを認めない #550
500
- * カスタムXPath関数を修正 #606 (Juan Wajnermanに感謝!)
501
- * Node#to_xml で :save_with が指定されている場合は上書きしないように修正 #505
502
- * Node#set をプライベートメソッドに (JRuby) #564 (Nick Siegerに感謝!)
503
- * C14nの整理と Node#canonicalize (Ivan Pirlikに感謝!) #563
504
-
505
-
506
- === 1.5.0 / 2011年7月1日
507
-
508
- * 註
509
-
510
- * 1.4.7からの変更点を参照
511
-
512
- * 新機能
513
-
514
- * 各文書形式用のデフォルトのNode::SaveOptionsの組合せを定数化.
515
- (Node::SaveOptions::DEFAULT_{X,H,XH}TML)
516
-
517
- * バグの修正
518
-
519
- * JRuby版ではホワイトスペースの扱いに難があるため、XML出力(to_xml)において
520
- 自動整形をデフォルトでは行わないように変更. #415
521
- * JRuby版でNodeのないNodeSetでNullPointerExceptionが発生するのを修正. #443
522
- * エンコーディング宣言のないHTMLファイルで部分的に重複したドキュメントが生成される問題を修正した. #478
523
- * <meta charset="..."> を認識するようになった.
524
-
525
-
526
- === 1.5.0 beta3 2010年12月2日
527
-
528
- * 註
529
-
530
- * JRubyでの性能改善
531
- * 1.4.4からの変更点を参照
532
-
533
- * バグの修正
534
-
535
- * Node#inner_textはnilを返さなくなった. (JRuby) #264
536
-
537
-
538
- === 1.5.0 beta2 2010年7月30日
539
-
540
- * 註
541
-
542
- * 1.4.3からの変更点を参照
543
-
544
-
545
- === 1.5.0 beta1 2010年5月22日
546
-
547
- * 註
548
-
549
- * 新しいピュアJavaバックエンドによりJRubyサポートを追加
550
-
551
- * 廃止
552
-
553
- * Ruby 1.8.6は非推奨となった. インストールできるかもしれないが、正式なサポートは終了.
554
- * LibXML 2.6.16および古いバージョンは非推奨. インストールできない.
555
- * FFIサポートは削除された.
556
-
557
-
558
- === 1.4.7 / 2011年7月1日
559
-
560
- * バグの修正
561
-
562
- * エンコーディング宣言のないHTMLファイルで部分的に重複したドキュメントが生成される問題を修正した. #478
563
-
564
-
565
- === 1.4.6 / 2011年6月19日
566
-
567
- * ノート
568
-
569
- * このバージョンは、1.4.5と機能的に同じです
570
- * Rubyの1.8.6のサポートが復元されている
571
-
572
-
573
- === 1.4.5 / 2011年5月19日
574
-
575
- * 新機能
576
-
577
- * Nokogiri::HTML::Document#title アクセサメソッドでHTML文書のタイトルを読み書きできる
578
-
579
- * バグの修正
580
-
581
- * Node#serialize とその仲間達はSaveOptionオブジェクトを受け入れる
582
- * Nokogiri::CSS::Parser has-a Nokogiri::CSS::Tokenizer
583
- * (JRUBY+FFIのみ) 「弱い参照」はスレッドセーフになった. #355
584
- * HTML::SAX::Parserから呼ばれるstart_element()コールバックのattributes引数はHTML::XML::Parserによるエミュレートコールバックと同じく連想配列になった. rel. #356
585
- * HTML::SAX::Parserのparse*()メソッドはXML::SAX::Parser同様に渡されたブロックをコールバックするようになった.
586
- * HTMLパーサーのエンコーディング判定をlibxml2の仕様を超えて拡張・改善した. (XML宣言のencodingを認識、非ASCII文字出現後のmetaタグも文字化けを生じずに反映)
587
- * Document#remove_namespaces! は名前空間付きの属性に対応した. #396
588
-
589
-
590
- === 1.4.4 2010年11月15日
591
-
592
- * 新機能
593
-
594
- * XML::Node#children=ノード内のhtml reparented node(s)を返す事によって親の変更ができる。
595
- * XSLT はfunction extensionsをサポート。#336
596
- * XPath はパラメーター置換を結合する. #329
597
- * XML::Reader node typeを一定化させる. #369
598
- * SAX Parser context は行とコラムの両方の情報を提供する
599
-
600
- * バグの修正
601
-
602
- * XML::DTD#attributes は属性が存在しない際、nilの代わりに空のハッシュを返す
603
- * XML::DTD#{keys,each} は文字通りに機能するようになった #324
604
- * {XML,HTML}::DocumentFragment.{new,parse} 行送りと末尾の空白を除去しなくなった #319
605
- * XML::Node#{add_child,add_previous_sibling,add_next_sibling,replace} は文字列を見送る際にNodeSetを返す
606
- * 不確定タグはフレグメント内で要、不要に関係なく解析される #315
607
- * XML::Node#{replace,add_previous_sibling,add_next_sibling} libxmlのtext node merging に関わるedge caseを修正する #308
608
- * xpath handler argument が整列している最中に起こるGCでのsegfaultを修正 #345
609
- * Slop decoratorが既に確定された定義と共に正常に機能させるための便宜上の処置 #330
610
- * 子ノードが複製される際に起こるメモリ漏れの修正 #353
611
- * an+b記号の無使用時に発生するoff-by-oneバグとnth-last-{child,of-type} CSSセレクターの修正 #354
612
- * 非名前空間属性がSAX::Document#start_elementへパスできるように修正 #356
613
- * libxml2 in-contextの解析バグの処置  #362
614
- * フレグメント内のノードの中にあるNodeSet#wrapの修正 #331
615
-
616
-
617
- === 1.4.3 2010年7月28日
618
-
619
- * 新しい機能
620
-
621
- * XML::Reader#empty_element? - 子の無いエレメントにtrueを返す  #262
622
- * Node#remove_namespaces! - 1.4.2では 名前空間のみを取り除いていたが、
623
- 1.4.3 では名前空間及び、名前空間宣言も取り除く #294
624
- * NodeSet#{at_xpath,at_css,>} はNodeの同名メソッドと同様の動作
625
-
626
- * バグの修正
627
-
628
- * XML::NodeSet#{include?,delete,push} はXML::Namespaceを受入れる
629
- * XML::Document#parse - 1.4.3より文書内の文脈を解析する機能を追加
630
- * XML::DocumentFragment#inner_html= 文脈解析を共に実行する #298, #281
631
- * lib/nokogiri/css/parser.y はCSSと疑似選別の両方を機能
632
- * 演算によって近隣に存在する併合型ノードへの遊離問題の有無に関わらず、一切の
633
- 弊害なしにテキストノードの繰り返しが実行可能  #283
634
- * xmlFirstElementChild et al.による libxml2バージョンでの不適合性を修正 #303
635
- * XML::Attr#add_namespace (!)文字通りの機能実現!  #252
636
- * HTML::DocumentFragment が文字列に存在するエンコードを使用 #305
637
- * CSS3の間接セレクタ"E ~ F G"がXPathの"//F//G[preceding-sibling::E]"へと
638
- 誤変換されてしまうのを修正
639
-
640
-
641
- === 1.4.2 2010年5月22日
642
-
643
- * 新機能
644
-
645
- * XML::Node#parse 定義されたコンテキストノードでXML 又はHTMLのフレグメント
646
- を解析する
647
- * XML::Node#namespacesが子ノードとその祖先ノード内で定義された全ての名前空間
648
- を返すようになった(以前は祖先ノードの名前空間は返されなかった)
649
- * XML::Node内にEnumerableを追加
650
- * Nokogiri::XML::Schema#validate 与えられたファイル名が引き渡された時、
651
- Nokogiri::XML::Schema#validateはxmlSchemaValidateFileを使用する
652
- (時間短縮化とメモリーの能率化の理由を基にファイル名での引き渡しメソッドを
653
- 採用) GH #219
654
- * XML::Document#create_entnty は新規のEntityDecl のオブジェクトを生成する
655
- GH #174
656
- * JRuby FFI implementationでは、従来まで使用されたObjectSpace._id2refの代わり
657
- にCharles Nutterのrocking Weakling gemを使用に変更
658
- * Nokogiri::XML::Node#first_element_child は一番最初のELEMENT子ノードを返す
659
- * Nokogiri::XML::Node#last_element_child は最後のELEMENT子ノードを返す
660
- * Nokogiri::XML::Node#elements は全てのELEMENT子ノードを返す
661
- * Nokogiri::XML::Node#add_child, #add_previous_sibling, #before,
662
- #add_next_sibling, #after, #inner_html, #swap, #replaceはNode,
663
- DocumentFragment, NodeSetおよびマークアップ文字列を受け付ける
664
- * Node#fragment? はノードがDocumentFragmentかどうかを示す
665
-
666
- * バグの修正
667
-
668
- * ドキュメント内にデコレータがある場合、XML::NodeSet は常にデコレータされる GH #198
669
- * XML::NodeSet#slice がノードセットよりも長いoffset+lengthを問題なく処理する
670
- GH #200
671
- * XML::Node#content=はノードとその直前に記述されている内容を支障なく切り離す
672
- GH #203
673
- * XML::Node#namespace= はnilを一つのパラメーターと扱って取得する
674
- * XML::Node#xpath はNodeSetのオブジェクト以外のオブジェクトを返す GH #208
675
- * XSLT::StyleSheet#transformはパラメーターのハッシュを受け入れる GH #223
676
- * CSSのnot()の疑似セレクタの修正  GH #205
677
- * XML::Builder はノードらが切り離されても破壊しない(vihaiの協力に感謝)
678
- GH #228
679
- * SAX parser経由でエンコードを強制することが出来る  Eugene Pimenovに感謝!
680
- GH #204
681
- * XML::DocumentFragment はML::Node#parse を使用して子を限定する
682
- * XML Reader内のメモリリーク修正  sdorさん、ありがとう! GH#244
683
- * Node#replaceはRDocの通り新しい子ノードを返す(selfを返していた)
684
-
685
- * ノート
686
-
687
- * 今日4月18日現在、Windows gems は libxml 2.7.7 とlibxslt
688
- 1.1.26にDLLsを標準装備しています。このリリース以前にも既にDLLsはlibxml
689
- 2.7.3 と libxslt 1.1.24に標準装備済み。
690
-
691
-
692
- === 1.4.1 2009年12月10日
693
-
694
- * 新しい機能
695
- * Nokogiri::LIBXML_ICONV_ENABLED を追加
696
- * Node#attr は Node#[] のエイリアス定義に変更
697
- * XML::Node#next_element を追加
698
- * 直接の子ノードを検索するための Node#> を追加
699
- * XML::NodeSet#reverse を追加
700
- * 以下のfragment supportを追加
701
-   Node#add_child
702
-   Node#add_next_sibling
703
- Node#add_previous_sibling
704
-   Node#replace
705
- * XML::Node#previous_element を追加
706
- * nokogiriがRubinius でサポートされるようになった
707
- * CSS selector の :has() が使用可能になった
708
- * XML::NodeSet#filter() を追加
709
- * XML::Node.next= は add_next_sibling の alias へ変更
710
- * XML::Node.previous= は add_previous_sibling の alias へ変更
711
-
712
- * バグの修正
713
- * XMLのフラグメントに名前空間が存在する場合のみ、DocumentFragmentを作る際に、
714
- 例外が投げられなくなった
715
- * DocumentFragment内で子ノードが存在する場合、
716
- Node#matches?が機能するようになった GH #158
717
- * Documentは add_namespace()を限定すべきではないので削除GH #169
718
- * XPath クエリは名前空間の宣言を変換するがsegvではない。
719
- * Node#replace は他のドキュメントのノードが使えるようになった
720
- * XML::Document#collect_namespaces を追加
721
- * SOAP4R のアダプター内のバグ修正
722
- * XML::Node#next_element 内のバグ修正
723
- * WindowsでのJRuby の LOAD_PATH を修正 GH #160
724
- * XSLT#apply_toは "output method"の値を使用する(richardlehaneに感謝)
725
- * 新しい文字列の先頭にくるテキストノードを含んだフレグメントが 正確に
726
- 解析出来るようになった GH #178
727
-
728
-
729
- === 1.4.0 2009年10月30日
730
-
731
- * 今日はノコギリの満一歳のお誕生日です
732
-
733
- * 新しい機能
734
- * Node#at_xpath はXPath式に適合するNodeSetの一番最初の要素を返す
735
- * Node#at_css はCSSセレクターに適合するNodeSetの一番最初の要素を返す
736
- * NodeSet#| はNodeSet同士を合成する GH #119 (Serabe ありがとう!)
737
- * NodeSet#inspect の出力をより美しくした
738
- * Node#inspect の出力をよりrubyらしくした
739
- * XML::DTD#external_id を追加
740
- * XML::DTD#system_id を追加
741
- * XML::ElementContent はDTD要素のコンテンツを有効化する
742
- * Nokogiri::XML::Builder内での名前空間宣言用のサポートを改良
743
- * XML::Node#external_subsetを追加
744
- * XML::Node#create_external_subsetを追加
745
- * XML::Node#create_internal_subsetを追加
746
- * XML Builderは生成されていないstringsを付加出来る様になった
747
- (GH #141, patch from dudleyf)
748
- * XML::SAX::ParserContext を追加
749
- * XML::Document#remove_namespaces! は名前空間を使いこなせない人たち用の措置
750
-
751
- * バグの修正
752
-
753
- * HTMLドキュメントが メタエンコーディングのタグを宣言しない時、
754
- nilを返すようになった GH #115
755
- * ENV['PATH'] を調節する為に、RbConfig::CONFIG['host_os']を使用できるように
756
- なった GH #113
757
- * NodeSet#searchが更に効率的になった GH #119 (Serabe!に感謝します)
758
- * NodeSet#xpathがcustom xpath機能を取り扱える様になった
759
- * XML::Reader が現時点のノード用に属性を取得する際に、
760
- SEGVを修正するようになった
761
- * Node#inner_html がNode#to_html と同じ独立変数を受け入れるようになった
762
- GH #117
763
- * DocumentFragment#css は子ノードへ委任するようになった GH #123
764
- * NodeSet#[]がNodeSet#lengthより大きいスライスでも機能するようになった
765
- GH #131
766
- * 新たな親ノードの名前空間を維持出来るようになった GH #134
767
- * XML::Document をNodeSetに追加する際のSEGVが修正された
768
- * XML::SyntaxError が複製可能になった
769
-
770
- * 廃棄予定
771
-
772
- * Hpricot用の互換性レイヤーを削除
773
-
774
-
775
- === 1.3.3 / 2009年7月26日
776
-
777
- * 新しい機能
778
-
779
- * NodeSet#children 全ての子ノードを返すようになった
780
-
781
- * バグの修正
782
-
783
- * libxml-ruby のグローバ ルエラー ハンドラー に優先するようになった
784
- * ParseOption#strict を修正
785
- * 空文字列を Node#inner_html= に与えた時に生じたSEGVを修正 GH #88
786
- * Ruby 1.9 では文字列のエンコーディングをUTF-8になるようにした
787
- * ドキュメントの根ノードから違うドキュメントの根ノードに移動した時に生じた
788
- SEGVを修正 GH #91
789
- * ノードをインスタンス化する時のO(n)のペナルティーを修正 GH #101
790
- * XMLのドキュメントをHTMLのドキュメントとして出力出来るようになった
791
-
792
- * 廃棄予定
793
-
794
- * Hpricotの互換性レイヤーがNokogiriの1.4.0で除去される予定
795
-
796
-
797
- === 1.3.2 / 2009年6月22日
798
-
799
- * 新しい機能
800
-
801
- * Nokogiri::XML::DTD#validate はドキュメントを検証できるようになった
802
-
803
- * バグの修正
804
-
805
- * Nokogiri::XML::NodeSet#search はトップレベルのノードを検索するようになった
806
- GH #73
807
- * Nokogiri::XML::Documentからメソッドに関係する名前空間を取り除いた
808
- * 2回同じ名前空間が追加されたときSEGVする問題を修正した
809
- * Snow Leopard で Nokogiri が動くようになった GH #79
810
- * メーリングリストはGoogle Groupsの以下のURLに移動した
811
- http://groups.google.com/group/nokogiri-talk
812
- * HTML フラグメントはコメントとCDATAを正確に扱うようになった
813
- * Nokogiri::XML::Document#cloneはdupのaliasになった
814
-
815
- * 廃棄予定
816
-
817
- * Nokogiri::XML::SAX::Document#start_element_nsは廃棄予定なので
818
- Nokogiri::XML::SAX::Document#start_element_namespaceを代わりに使用して下さい
819
- * Nokogiri::XML::SAX::Document#end_element_nsは廃棄予定なので
820
- Nokogiri::XML::SAX::Document#end_element_namespaceを代わりに使用して下さい
821
-
822
-
823
- === 1.3.1 / 2009年6月7日
824
-
825
- * バグの修正
826
-
827
- * extconf.rb は任意のRelaxNGとSchemaの機能を探すようになった
828
- * ドキュメントのノードキャッシュに名前空間のノードが入るようになった
829
-
830
-
831
- === 1.3.0 / 2009年5月30日
832
-
833
- * 新しい機能
834
-
835
- * Builderがブロックの引数の数に応じてスコープが定まるようになった
836
- * Builderがアンダースコアで終わるメソッドをtagzと同様にサポートするようになった
837
- * Nokogiri::XML::Node#<=> がドキュメントの位置によりノードを比較するように
838
- なった
839
- * Nokogiri::XML::Node#matches?が与えられたセレクタ内でノードがあればtrue
840
- を返すようになった
841
- * Nokogiri::XML::Node#ancestors がNokogiri::XML::NodeSetオブジェクトを返すようになった
842
- * Nokogiri::XML::Node#ancestorsがオプションのセレクタに対応する親をマッチする
843
- ようになった
844
- * Nokogiri::HTML::Document#meta_encoding がメタデータのエンコードを返すように
845
- なった
846
- * Nokogiri::HTML::Document#meta_encoding= でメタデータのエンコードを
847
- 設定できるようになった
848
- * Nokogiri::XML::Document#encoding= でドキュメントのエンコードを
849
- 設定できるようになった
850
- * Nokogiri::XML::Schema でドキュメントがXSDのスキーマに沿って記述されているか
851
- を検証できるようになった
852
- * Nokogiri::XML::RelaxNG でドキュメントがRelaxNGのスキーマに沿って
853
- 記述されているかを検証できるようになった
854
- * Nokogiri::HTML::ElementDescription はHTML要素の説明フェッチ動作するよう
855
- になった
856
- * Nokogiri::XML::Node#descriptionは ノードの説明をフェッチ動作するよう
857
- になった
858
- * Nokogiri::XML::Node#accept は Visitor パターンを実行するようになった
859
- * 簡単にドキュメントを解析するコマンド bin/nokogiri を追加
860
- (Yataka HARAさんに感謝感激)
861
- * Nokogiri::XML::NodeSetが更にArrayとEnumerableの演算を
862
- サポートするようになった:
863
- index, delete, slice, - (差分), + (連結), & (共通部分),
864
- push, pop, shift, ==
865
- * Nokogiri.XML, Nokogiri.HTML はNokogiri::XML::ParseOptions objectと一緒に
866
- 呼び出されるブロックを受け入れるようになった
867
- * Nokogiri::XML::Node#namespace は Nokogiri::XML::Namespaceを返すようになった
868
- * Nokogiri::XML::Node#namespaceはノードの名前空間を設定するようになった
869
- * FFI 経由で JRuby 1.3.0 をサポートするようになった
870
-
871
- * バグの修正
872
-
873
- * nilがCDATAsonstructorに渡される際の問題を修正
874
- * Fragment メソッドが正規表現を抜け出させるようになった
875
- (Joelさんに感謝感激) (LH #73)
876
- * Builder スコープのLH #61, LH #74, LH #70に関しての様々な問題を修正
877
- * 名前空間を付け加える時、名前空間が LH#78より除去されてしまう問題を修正
878
- * 連結しないノードが発生し、再育成してしまう問題を修正(GH#22)
879
- * XSLT が解析中にエラーを発見し損なう問題を修正(GH#32)
880
- * CSS selectors内での条件属性のバグ問題を修正(GH#36)
881
- * Node#before/after/inner_html=で値なしのHTML属性が受け入れられなかった問題を
882
- 修正 (GH#35)
883
-
884
-
885
- === 1.2.3 / 2009年3月22日
886
-
887
- * バグの修正
888
-
889
- * Node#new 内にて、バグを修正する
890
- * DocumentFragmentの作成時、名前空間に割り当てる LH #66
891
- * Nokogiri::XML::NodeSet#dup は機能するようになった GH #10
892
- * Nokogiri::HTMLは文字列がブランクの時、空のドキュメントで返す GH#11
893
- * 子ノードを付加する事で、重複した名前空間の宣言を取り除く LH#67
894
- * ビルダ方法はハッシュを第二引数とする
895
-
896
-
897
- === 1.2.2 / 2009年3月14日
898
-
899
- * 新しい機能
900
-
901
- * Nokogiri は soap4r と一緒に使う事が可能。(XSD::XMLParser::Nokogiri 参照)
902
- * Nokogiri::XML::Node#inner_html= はノードの中のHTMLをセット出来る
903
- * NokogiriのBuilderのインタフェースの改良
904
- * Nokogiri::XML::Node#swap は、現在のノードに新しいhtmlを交換する事が出来る
905
-
906
-
907
- * バグの修正
908
-
909
- * BuilderAPIのタグのネスティングを修正 (LH #41)
910
- * Nokogiri::HTML.fragment はテキストだけのノードを適切に扱う事が出来る(LH #43)
911
- * Nokogiri::XML::Node#before はテキストノードのはじめに挿入する事が出来る (LH #44)
912
- * Nokogiri::XML::Node#after はテキストノードの文末に挿入する事が出来る
913
- * Nokogiri::XML::Node#search 名前空間が自動的に登録されるようになった(LH#42)
914
- * Nokogiri::XML::NodeSet#search 名前空間が自動的に登録されるようになった
915
- * Nokogiri::HTML::NamedCharacters はlibxml2に委任
916
- * Nokogiri::XML::Node#[] はSymbolを使う (LH #48)
917
- * vasprintf にwindowsを修正 (Geffroy Couprie ありがとう!)
918
- * Nokogiri::XML::Node#[]= はentityを符号化しない (LH #55)
919
- * 名前空間はreparentedのノードに模写する (LH #56)
920
- * StringのエンコードはRuby 1.9での初期設定を使用する
921
- * Document#dup は新しいドキュメントに同じタイプを作る (LH #59)
922
- * Document#parent は存在しない (LH #64)
923
-
924
-
925
- === 1.2.1 / 2009年2月23日
926
-
927
- * 修正
928
-
929
- * CSS のセレクターのスペースを修正
930
- * Ruby 1.9 のStringのエンコードを修正 (角谷さんに感謝!)
931
-
932
-
933
- === 1.2.0 / 2009年2月22日
934
-
935
- * 新しい機能
936
- * CSSサーチが CSS3 名前空間クエリをサポートするようになった
937
- * ルート要素での名前空間が自動的に登録されるようになった
938
- * CSS クエリが初期設定の名前空間を使うようになった
939
- * Nokogiri::XML::Document#encoding で文書にエンコードを使用、受け取る
940
- * Nokogiri::XML::Document#url で文書のURLを受け取る
941
- * Nokogiri::XML::Node#each はname属性、値を一組にし反復適用する
942
- * Nokogiri::XML::Node#keys はすべてのname属性を受け取る
943
- * Nokogiri::XML::Node#line は行番号をノード用に受け取る (Dirkjan Bussinkさんに感謝感激)
944
- * Nokogiri::XML::Node#serialize は任意されたencodingパラメーターを受け入れる
945
- * Nokogiri::XML::Node#to_html, to_xml, と to_xhtml は任意されたencodingパラメーターを受け入れる
946
- * Nokogiri::XML::Node#to_str
947
- * Nokogiri::XML::Node#to_xhtml でXHTML文書を生成する
948
- * Nokogiri::XML::Node#values が全ての属性値を受け入れる
949
- * Nokogiri::XML::Node#write_to は任意されたencodingで要素をIOオブジェクトへ書く
950
- * Nokogiri::XML::ProcessingInstrunction.new
951
- * Nokogiri::XML::SAX::PushParser は全てのプッシュパースに必要な解析をする
952
-
953
- * バグの修正
954
-
955
- * Nokogiri::XML::Document#dup を修正
956
- * ヘッダ検知を修正. 謝々るびきちさん!
957
- * 無効なCSS内にて解析機能を動かなくさせる原因を修正
958
-
959
- * 廃棄予定
960
-
961
- * Nokogiri::XML::Node.new_from_str は1.3.0にて廃棄予定
962
-
963
- * APIの変更
964
-
965
- * Nokogiri::HTML.fragment は XML::DocumentFragment (LH #32)で返す
966
-
967
-
968
- === 1.1.1
969
-
970
- * 新しい機能
971
- * XML::Node#elem? を追加
972
- * XML::Node#attribute_nodes を追加
973
- * XML::Attr を追加
974
- * XML::Node#delete を追加
975
- * XML::NodeSet#inner_html を追加
976
-
977
- * バグの修正
978
-
979
- * HTML のノードに \r のエンティティを含めない
980
- * CSS::SelectorHandler と XML::XPathHandler を除去
981
- * XML::Node#attributes が Attr node を値として返す
982
- * XML::NodeSet が to_xml を実装
983
-
984
-
985
- === 1.1.0
986
-
987
- * 新しい機能
988
-
989
- * カスタム XPath 機能を追加。( Nokogiri::XML::Node#xpath 参照 )
990
- * カスタム CSS 擬似クラスと機能を追加。( Nokogiri::XML::Node#css 参照 )
991
- * Nokogiri::XML::Node#<< が作成中に子ノードを自動追加
992
-
993
- * バグの修正
994
-
995
- * mutex が CSS のキャッシュのアクセスをロックする
996
- * GCC 3.3.5 のビルドに関する問題を修正
997
- * XML::Node#to_xml が引数indentationを取る
998
- * XML::Node#dup が引数任意のdepthを取る
999
- * XML::Node#add_previous_sibling が新しい兄弟ノードで返す
1000
-
1001
-
1002
- === 1.0.7
1003
-
1004
- * バグの修正
1005
-
1006
- * Dike 使用時中のメモリーリークの修正
1007
- * SAX パーサーが IO Stream を逐次解析
1008
- * コメント nodes が独自のクラスを継承する
1009
- * Nokogiri() は Nokogiri.parse() へデリゲートする
1010
- * ENV['PATH'] に付加する代わりに先頭へ挿入する (Windows)
1011
- * 複雑な CSS 内のバグを修正完了 :not selector ではありません
1012
-
1013
-
1014
- === 1.0.6
1015
-
1016
- * 5つの修正
1017
-
1018
- * XPath のパーサーが SyntaxError を生じさせ解析停止させる
1019
- * CSS のパーサーが SyntaxError を生じさせ解析停止させる
1020
- * filter() と not() hpricot の互換性を追加
1021
- * CSS が Node#search 経由で検索し、常時対応する事が出来るようになった
1022
- * CSS より XPath 変換がキャッシュに入れられるようになった
1023
-
1024
-
1025
- === 1.0.5
1026
-
1027
- * バグフィックス
1028
-
1029
- * メーリングリストを作成
1030
- * バグファイルを作成
1031
- * Windows 内で ENV['PATH'] が存在しない場合でも、存在出来るように設定完了
1032
- * Document 内の NodeSet#[] の結果をキャッシュする
1033
-
1034
-
1035
- === 1.0.4
1036
-
1037
- * バグフィックス
1038
-
1039
- * 弱参照からドキュメント参照へのメモリー管理の変換
1040
- * メモリリークに接続
1041
- * Builderブロックが取り囲んでいるコンテキストから
1042
- メソッドの呼び出しをする事が出来る
1043
-
1044
-
1045
- === 1.0.3
1046
-
1047
- * 5つのバグ修正
1048
-
1049
- * NodeSet が to_ary を実装
1050
- * XML::Document#parent を除去
1051
- * GCバグ修正済み (Mike は最高!)
1052
- * 1.8.5互換性の為の RARRAY_LEN 除去
1053
- * inner_html 修正済み (Yahuda に感謝)
1054
-
1055
-
1056
- === 1.0.2
1057
-
1058
- * 1つのバグ修正
1059
-
1060
- * extconf.rb は frex や racc の存在をチェックすべきでない
1061
-
1062
-
1063
- === 1.0.1
1064
-
1065
- * 1つのバグ修正
1066
-
1067
- * extconf.rb が libdir や prefix を検索しない事を確認済み
1068
- それによって、ports libxml/ruby が正しくリンクする (lucsky に感謝!)
1069
-
1070
-
1071
- === 1.0.0 / 2008年07月13日
1072
-
1073
- * 1つの偉大な増進
1074
-
1075
- * ご誕生である