Skip to content

Commit 982bf7b

Browse files
committed
Update for 9.4.9.0 release
1 parent c066bdc commit 982bf7b

File tree

6 files changed

+147
-24
lines changed

6 files changed

+147
-24
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ _site
55
/.bundle/environment.rb
66
*~
77
.DS_Store
8+
.tool-versions

_config.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ markdown: kramdown
77
permalink: date
88
# JRuby-specific info here; goes into the "site" jekyll variable
99
release:
10-
url: /2024/07/02/jruby-9-4-8-0.html
11-
version: 9.4.8.0
12-
tar: https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.tar.gz
13-
zip: https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.zip
14-
exe: https://s3.amazonaws.com/jruby.org/downloads/9.4.8.0/jruby_windows_9_4_8_0.exe
15-
exe64: https://s3.amazonaws.com/jruby.org/downloads/9.4.8.0/jruby_windows_x64_9_4_8_0.exe
16-
gem: https://rubygems.org/gems/jruby-jars/versions/9.4.8.0
10+
url: /2024/11/04/jruby-9-4-9-0.html
11+
version: 9.4.9.0
12+
tar: https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz
13+
zip: https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip
14+
exe: https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_9_4_9_0.exe
15+
exe64: https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_x64_9_4_9_0.exe
16+
gem: https://rubygems.org/gems/jruby-jars/versions/9.4.9.0
1717
gem_older: https://rubygems.org/gems/jruby-jars/versions/9.3.15.0
1818
urls:
1919
maven: https://repo1.maven.org/maven2/org/jruby
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
layout: post
3+
title: JRuby 9.4.9.0 Released
4+
---
5+
6+
The JRuby community is pleased to announce the release of JRuby 9.4.9.0.
7+
8+
* Homepage: [https://www.jruby.org/](https://www.jruby.org/)
9+
* Download: [https://www.jruby.org/download](https://www.jruby.org/download)
10+
11+
JRuby 9.4.x targets Ruby 3.1 compatibility.
12+
13+
Thank you to our contributors this release, you help keep JRuby moving forward! [@kares], [@jpcamara], [@jsvd]
14+
15+
Ruby Compatibility
16+
------------------
17+
18+
* Various fixes for keyword arguments. [#8344], [#8344], [#8382], [#8389]
19+
* Mutex has been fixed to check for thread interrupts (Thread#kill, Thread#raise) immediately after acquiring the lock. [#8403], [#8404]
20+
21+
Standard Library
22+
----------------
23+
24+
* The `fiddle` library is now a default gem and can be upgraded independently of JRuby. [#8385]
25+
26+
Developer Experience
27+
--------------------
28+
29+
* The core jar file of JRuby can be rebuilt more quickly by calling Maven with the `-Dcore` flag. [#8326]
30+
* Support for Coordinated Restore at Checkpoint (OpenJDK Project CRaC), which allows snapshotting a running JRuby process and quickly resuming it later. [#8367]
31+
32+
Java Integration
33+
----------------
34+
35+
* The "lazy" constants feature for classes imported from Java, introduced in JRuby 9.4.8.0, has been reverted due to spurious warnings. We'll revisit it in a future release. [#8349], [#8368], [#8399], [#8400], [#8401]
36+
* Functions were added to allow flushing out thread-local and fiber-local storage for an entire JRuby runtime. [#8369]
37+
38+
Security
39+
--------
40+
41+
* REXML was updated to 3.3.9 to get recent fixes and to address [CVE-2024-49761](https://github.com/advisories/GHSA-2rxp-v6pw-ch6m), a ReDOS vulnerability. Only users parsing unsanitized XML with REXML are affected. [#8396]
42+
43+
[@jsvd]:https://github.com/jsvd
44+
[@kares]:https://github.com/kares
45+
[@jpcamara]:https://github.com/jpcamara
46+
47+
[#7795]:https://github.com/jruby/jruby/issues/7795
48+
[#8316]:https://github.com/jruby/jruby/issues/8316
49+
[#8318]:https://github.com/jruby/jruby/pull/8318
50+
[#8320]:https://github.com/jruby/jruby/issues/8320
51+
[#8325]:https://github.com/jruby/jruby/issues/8325
52+
[#8326]:https://github.com/jruby/jruby/pull/8326
53+
[#8332]:https://github.com/jruby/jruby/pull/8332
54+
[#8337]:https://github.com/jruby/jruby/pull/8337
55+
[#8339]:https://github.com/jruby/jruby/issues/8339
56+
[#8342]:https://github.com/jruby/jruby/pull/8342
57+
[#8344]:https://github.com/jruby/jruby/issues/8344
58+
[#8345]:https://github.com/jruby/jruby/pull/8345
59+
[#8346]:https://github.com/jruby/jruby/issues/8346
60+
[#8347]:https://github.com/jruby/jruby/pull/8347
61+
[#8349]:https://github.com/jruby/jruby/issues/8349
62+
[#8354]:https://github.com/jruby/jruby/pull/8354
63+
[#8358]:https://github.com/jruby/jruby/issues/8358
64+
[#8359]:https://github.com/jruby/jruby/issues/8359
65+
[#8361]:https://github.com/jruby/jruby/pull/8361
66+
[#8362]:https://github.com/jruby/jruby/pull/8362
67+
[#8363]:https://github.com/jruby/jruby/pull/8363
68+
[#8365]:https://github.com/jruby/jruby/issues/8365
69+
[#8367]:https://github.com/jruby/jruby/pull/8367
70+
[#8368]:https://github.com/jruby/jruby/pull/8368
71+
[#8369]:https://github.com/jruby/jruby/pull/8369
72+
[#8370]:https://github.com/jruby/jruby/pull/8370
73+
[#8374]:https://github.com/jruby/jruby/pull/8374
74+
[#8380]:https://github.com/jruby/jruby/issues/8380
75+
[#8382]:https://github.com/jruby/jruby/issues/8382
76+
[#8385]:https://github.com/jruby/jruby/pull/8385
77+
[#8388]:https://github.com/jruby/jruby/pull/8388
78+
[#8389]:https://github.com/jruby/jruby/pull/8389
79+
[#8391]:https://github.com/jruby/jruby/issues/8391
80+
[#8392]:https://github.com/jruby/jruby/pull/8392
81+
[#8393]:https://github.com/jruby/jruby/issues/8393
82+
[#8394]:https://github.com/jruby/jruby/pull/8394
83+
[#8396]:https://github.com/jruby/jruby/pull/8396
84+
[#8399]:https://github.com/jruby/jruby/issues/8399
85+
[#8400]:https://github.com/jruby/jruby/pull/8400
86+
[#8401]:https://github.com/jruby/jruby/pull/8401
87+
[#8403]:https://github.com/jruby/jruby/issues/8403
88+
[#8404]:https://github.com/jruby/jruby/pull/8404

download.html

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,28 @@
44
---
55
<h1 id='jruby_downloads'>JRuby Downloads</h1>
66

7-
<h2 id='current_release_jruby'>Current Release: JRuby 9.4.8.0</h2>
7+
<h2 id='current_release_jruby'>Current Release: JRuby 9.4.9.0</h2>
88

9-
<p>JRuby 9.4.8.0 is our point release of our Ruby 3.1.x support. Please check out our <a href='/2024/07/02/jruby-9-4-8-0'>release notes</a> for more information.</p>
9+
<p>JRuby 9.4.9.0 is our point release of our Ruby 3.1.x support. Please check out our <a href='/2024/11/04/jruby-9-4-9-0'>release notes</a> for more information.</p>
1010

1111
<p class="trackDownloads">
12-
<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.tar.gz'>JRuby 9.4.8.0 Binary .tar.gz</a>
13-
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.tar.gz.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.tar.gz.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.tar.gz.sha256'>sha256</a>)<br />
14-
<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.zip'>JRuby 9.4.8.0 Binary .zip</a>
15-
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.zip.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.zip.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-bin.zip.sha256'>sha256</a> )<br />
16-
<a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_9_4_8_0.exe'>JRuby 9.4.8.0 Windows Executable</a>
17-
(<a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_9_4_8_0.exe.md5'>md5</a>, <a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_9_4_8_0.exe.sha1'>sha1</a>, <a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_9_4_8_0.exe.sha256'>sha256</a>)<br />
18-
<a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_x64_9_4_8_0.exe'>JRuby 9.4.8.0 Windows Executable (x64)</a>
19-
(<a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_x64_9_4_8_0.exe.md5'>md5</a>, <a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_x64_9_4_8_0.exe.sha1'>sha1</a>, <a href='{{ site.urls.s3 }}/9.4.8.0/jruby_windows_x64_9_4_8_0.exe.sha256'>sha256</a>)<br />
12+
<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz'>JRuby 9.4.9.0 Binary .tar.gz</a>
13+
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz.sha256'>sha256</a>)<br />
14+
<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip'>JRuby 9.4.9.0 Binary .zip</a>
15+
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip.sha256'>sha256</a> )<br />
16+
<a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_9_4_9_0.exe'>JRuby 9.4.9.0 Windows Executable</a>
17+
(<a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_9_4_9_0.exe.md5'>md5</a>, <a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_9_4_9_0.exe.sha1'>sha1</a>, <a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_9_4_9_0.exe.sha256'>sha256</a>)<br />
18+
<a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_x64_9_4_9_0.exe'>JRuby 9.4.9.0 Windows Executable (x64)</a>
19+
(<a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_x64_9_4_9_0.exe.md5'>md5</a>, <a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_x64_9_4_9_0.exe.sha1'>sha1</a>, <a href='{{ site.urls.s3 }}/9.4.9.0/jruby_windows_x64_9_4_9_0.exe.sha256'>sha256</a>)<br />
2020
<!-- we do not push source tarballs to maven yet
21-
<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.tar.gz'>JRuby 9.4.8.0 Source .tar.gz</a>
22-
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.tar.gz.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.tar.gz.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.tar.gz.sha256'>sha256</a>)<br />
21+
<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.tar.gz'>JRuby 9.4.9.0 Source .tar.gz</a>
22+
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.tar.gz.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.tar.gz.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.tar.gz.sha256'>sha256</a>)<br />
2323
-->
24-
<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.zip'>JRuby 9.4.8.0 Source .zip</a>
25-
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.zip.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.zip.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.8.0/jruby-dist-9.4.8.0-src.zip.sha256'>sha256</a>)<br />
26-
<a href='{{ site.urls.maven }}/jruby-complete/9.4.8.0/jruby-complete-9.4.8.0.jar'>JRuby 9.4.8.0 Complete .jar</a>
27-
(<a href='{{ site.urls.maven }}/jruby-complete/9.4.8.0/jruby-complete-9.4.8.0.jar.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-complete/9.4.8.0/jruby-complete-9.4.8.0.jar.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-complete/9.4.8.0/jruby-complete-9.4.8.0.jar.sha256'>sha256</a>)<br />
28-
<a href='{{ site.release.gem }}'>JRuby-jars 9.4.8.0.gem</a><br />
24+
<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip'>JRuby 9.4.9.0 Source .zip</a>
25+
(<a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip.sha256'>sha256</a>)<br />
26+
<a href='{{ site.urls.maven }}/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar'>JRuby 9.4.9.0 Complete .jar</a>
27+
(<a href='{{ site.urls.maven }}/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar.md5'>md5</a>, <a href='{{ site.urls.maven }}/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar.sha1'>sha1</a>, <a href='{{ site.urls.maven }}/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar.sha256'>sha256</a>)<br />
28+
<a href='{{ site.release.gem }}'>JRuby-jars 9.4.9.0.gem</a><br />
2929
</p>
3030

3131

files/downloads/9.4.9.0/index.html

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
layout: main
3+
title: Files/downloads/9.4.9.0
4+
---
5+
<h1>Files/downloads/9.4.9.0</h1>
6+
<p class="trackDownloads">
7+
<a href='/files/downloads/index.html'>..</a><br/>
8+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz'>jruby-bin-9.4.9.0.tar.gz</a><br/>
9+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz.md5'>jruby-bin-9.4.9.0.tar.gz.md5</a><br/>
10+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz.sha1'>jruby-bin-9.4.9.0.tar.gz.sha1</a><br/>
11+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.tar.gz.sha256'>jruby-bin-9.4.9.0.tar.gz.sha256</a><br/>
12+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip'>jruby-bin-9.4.9.0.zip</a><br/>
13+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip.md5'>jruby-bin-9.4.9.0.zip.md5</a><br/>
14+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip.sha1'>jruby-bin-9.4.9.0.zip.sha1</a><br/>
15+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-bin.zip.sha256'>jruby-bin-9.4.9.0.zip.sha256</a><br/>
16+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar'>jruby-complete-9.4.9.0.jar</a><br/>
17+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar.md5'>jruby-complete-9.4.9.0.jar.md5</a><br/>
18+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar.sha1'>jruby-complete-9.4.9.0.jar.sha1</a><br/>
19+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-complete/9.4.9.0/jruby-complete-9.4.9.0.jar.sha256'>jruby-complete-9.4.9.0.jar.sha256</a><br/>
20+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip'>jruby-src-9.4.9.0.zip</a><br/>
21+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip.md5'>jruby-src-9.4.9.0.zip.md5</a><br/>
22+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip.sha1'>jruby-src-9.4.9.0.zip.sha1</a><br/>
23+
<a href='https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.4.9.0/jruby-dist-9.4.9.0-src.zip.sha256'>jruby-src-9.4.9.0.zip.sha256</a><br/>
24+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_9_4_9_0.exe'>jruby_windows_9_4_9_0.exe</a><br/>
25+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_9_4_9_0.exe.md5'>jruby_windows_9_4_9_0.exe.md5</a><br/>
26+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_9_4_9_0.exe.sha1'>jruby_windows_9_4_9_0.exe.sha1</a><br/>
27+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_9_4_9_0.exe.sha256'>jruby_windows_9_4_9_0.exe.sha256</a><br/>
28+
29+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_x64_9_4_9_0.exe'>jruby_windows_x64_9_4_9_0.exe</a><br/>
30+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_x64_9_4_9_0.exe.md5'>jruby_windows_x64_9_4_9_0.exe.md5</a><br/>
31+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_x64_9_4_9_0.exe.sha1'>jruby_windows_x64_9_4_9_0.exe.sha1</a><br/>
32+
<a href='https://s3.amazonaws.com/jruby.org/downloads/9.4.9.0/jruby_windows_x64_9_4_9_0.exe.sha256'>jruby_windows_x64_9_4_9_0.exe.sha256</a><br/>
33+
</p>

files/downloads/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,5 +156,6 @@ <h1>Files/downloads</h1>
156156
<a href='/files/downloads/9.4.6.0/index.html'>9.4.6.0</a><br/>
157157
<a href='/files/downloads/9.4.7.0/index.html'>9.4.7.0</a><br/>
158158
<a href='/files/downloads/9.4.8.0/index.html'>9.4.8.0</a><br/>
159+
<a href='/files/downloads/9.4.9.0/index.html'>9.4.9.0</a><br/>
159160
<a href='https://s3.amazonaws.com/jruby.org/downloads/index.txt'>index.txt</a><br/>
160161
</p>

0 commit comments

Comments
 (0)