Skip to content

Commit

Permalink
v109.1.0 RELEASE
Browse files Browse the repository at this point in the history
Jpsonic will be developed for LTS Java11 from this version.
Compatibility with Java 11 or later is given priority,
and compatibility with Java 10 or earlier is not necessarily guaranteed.
  • Loading branch information
tesshucom committed Jun 16, 2020
2 parents 5f15951 + 67dac82 commit 9b3f1cd
Show file tree
Hide file tree
Showing 89 changed files with 2,718 additions and 1,221 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -155,3 +155,6 @@ local.properties

# Code Recommenders
.recommenders/

# SASS caches
.sass-cache
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ script:

matrix:
include:
- jdk: openjdk9
- jdk: openjdk11
- jdk: openjdk12
- jdk: openjdk13
- jdk: openjdk14
27 changes: 26 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,33 @@
# jpsonic/jpsonic
# -->

## v109.0.0
## v109.1.0
#### Based on *airsonic 11.0.0-SNAPSHOT 5c71659*

> Jpsonic will be developed for LTS Java11 from this version.
> Compatibility with Java 11 or later is given priority, and compatibility with Java 10 or earlier is not necessarily guaranteed.
#### fix

* Updated ant to 1.10.8(CVE-2020-1945).
* Updated spring-boot-dependencies to 2.2.7(CVE-2020-5407).
* Updated websocket to 2.0.0-M1(CVE-2020-11050).

#### Other updates

* Numerous library updates ([diff...](https://github.com/tesshucom/jpsonic/compare/0d68d71...ce8633c)).
* Update hsqldb to 2.5
* Add new display item to Upnp (MusicFolder/Artist/Album/Song).
* Add special processing for searching by Japanese voice input.
You can search for artists that include a delimiter by typing without the delimiter.
It has no effect on anything other than Japanese.
* CSS reorganization using SCSS (Jpsonic theme only).
Currently the JSP modifications are limited,
but in the later versions, the keyboard operability and CSS classes etc will be modified.

<details>
<summary>v109.0.0 based on airsonic 11.0.0-SNAPSHOT 5c71659</summary>

> Includes bug fixes for 10.6.1 and 10.6.2. Does not include updates to HSQLDB.
>
> [eb4c5a0]
Expand All @@ -23,6 +47,7 @@
* [fix] Updated apache-jsp to 9.4.28.v20200408(CVE-2020-1745). Compiling with the Tomcat profile is not affected.
* [update] Support for phrase search.
</details>

<details>
<summary>v108.0.0 based on airsonic 10.6.0-RELEASE</summary>
Expand Down
1 change: 0 additions & 1 deletion checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
<property name="allowEmptyMethods" value="true"/>
<property name="allowEmptyTypes" value="true"/>
</module>
<module name="org.airsonic.checkstyle.LoggerNameCheck"/>
</module>

<module name="UniqueProperties"/>
Expand Down
30 changes: 0 additions & 30 deletions jpsonic-main/cve-suppressed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,36 +6,6 @@
In normal Tomcat compilation,
the target threat is not included in war due to the profiler settings.
>> -->
<suppress>
<notes><![CDATA[This threat will be ignored if the user voluntarily compiles with Jetty plofile]]></notes>
<gav regex="true">^org\.mortbay\.jasper:apache-jsp:.*$</gav>
<cve>CVE-2020-1935</cve>
</suppress>
<suppress>
<notes><![CDATA[This threat will be ignored if the user voluntarily compiles with Jetty plofile]]></notes>
<gav regex="true">^.*$</gav>
<cve>CVE-2020-1938</cve>
</suppress>
<suppress>
<notes><![CDATA[This threat will be ignored if the user voluntarily compiles with Jetty plofile]]></notes>
<gav regex="true">^org\.mortbay\.jasper:apache-jsp:.*$</gav>
<cve>CVE-2019-12418</cve>
</suppress>
<suppress>
<notes><![CDATA[This threat will be ignored if the user voluntarily compiles with Jetty plofile]]></notes>
<gav regex="true">^org\.mortbay\.jasper:apache-jsp:.*$</gav>
<cve>CVE-2019-17563</cve>
</suppress>
<suppress>
<notes><![CDATA[This threat will be ignored if the user voluntarily compiles with Jetty plofile]]></notes>
<gav regex="true">^org\.mortbay\.jasper:apache-jsp:.*$</gav>
<cve>CVE-2019-17569</cve>
</suppress>
<suppress>
<notes><![CDATA[This threat will be ignored if the user voluntarily compiles with Jetty plofile]]></notes>
<gav regex="true">^org\.mortbay\.jasper:apache-jsp:.*$</gav>
<cve>CVE-2020-1745</cve>
</suppress>
<suppress>
<notes><![CDATA[This threat will be ignored if the user voluntarily compiles with Jetty plofile]]></notes>
<gav regex="true">^org\.mortbay\.jasper:apache-jsp:.*$</gav>
Expand Down
55 changes: 40 additions & 15 deletions jpsonic-main/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
<properties>
<chameleon.version>1.2.1-RELEASE</chameleon.version>
<tomcat.server.scope>provided</tomcat.server.scope>
<jpsonic.version>109.0.0-RELEASE</jpsonic.version>
<jetty.version>9.4.28.v20200408</jetty.version>
<jpsonic.version>109.1.0-RELEASE</jpsonic.version>
<apache-jsp.version>9.4.30.v20200611</apache-jsp.version>
<lucene.version>8.5.1</lucene.version>
</properties>

Expand Down Expand Up @@ -74,6 +74,11 @@
<!-- END Metrics -->

<!-- Spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
Expand Down Expand Up @@ -115,7 +120,7 @@
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.10.2</version>
<version>3.10.3</version>
</dependency>
<dependency>
<groupId>org.springframework.ldap</groupId>
Expand Down Expand Up @@ -255,9 +260,9 @@
</dependency>

<dependency>
<groupId>hsqldb</groupId>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.7</version>
<version>2.5.0</version>
<scope>runtime</scope>
</dependency>

Expand Down Expand Up @@ -285,9 +290,9 @@
</dependency>

<dependency>
<groupId>net.jthink</groupId>
<groupId>com.tesshucom</groupId>
<artifactId>jaudiotagger</artifactId>
<version>2.2.5</version>
<version>2.2.6-SNAPSHOT</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -321,7 +326,7 @@
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.7.6</version>
<version>2.7.7</version>
</dependency>

<dependency>
Expand Down Expand Up @@ -556,7 +561,7 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
<scope>provided</scope>
<version>2.2.7.RELEASE</version>
<version>2.3.1.RELEASE</version>
<exclusions>
<exclusion>
<groupId>jakarta.websocket</groupId>
Expand All @@ -571,14 +576,14 @@
<dependency>
<groupId>jakarta.websocket</groupId>
<artifactId>jakarta.websocket-all</artifactId>
<version>2.0.0-M1</version>
<version>2.0.0-RC1</version>
<type>pom</type>
</dependency>

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>apache-jsp</artifactId>
<version>${jetty.version}</version>
<version>${apache-jsp.version}</version>
<scope>provided</scope>
</dependency>

Expand Down Expand Up @@ -623,13 +628,13 @@
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.13</version>
<version>42.2.14</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
<version>8.0.20</version>
<scope>runtime</scope>
</dependency>
<dependency>
Expand All @@ -648,6 +653,26 @@
<build>
<finalName>jpsonic</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>install-jaudiotagger</id>
<phase>clean</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>../repo/com/tesshucom/jaudiotagger/2.2.6-SNAPSHOT/jaudiotagger-2.2.6-SNAPSHOT.jar</file>
<groupId>com.tesshucom</groupId>
<artifactId>jaudiotagger</artifactId>
<version>2.2.6-SNAPSHOT</version>
<packaging>jar</packaging>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
Expand All @@ -673,7 +698,7 @@
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.2.6.RELEASE</version>
<version>2.3.1.RELEASE</version>
<configuration>
<mainClass>org.airsonic.player.Application</mainClass>
<layout>WAR</layout>
Expand Down Expand Up @@ -748,7 +773,7 @@
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jspc-maven-plugin</artifactId>
<version>${jetty.version}</version>
<version>${apache-jsp.version}</version>
<executions>
<execution>
<id>jspc</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
package com.tesshu.jpsonic.dao;

import com.tesshu.jpsonic.domain.SortCandidate;

import org.airsonic.player.dao.AbstractDao;
import org.airsonic.player.dao.AlbumDao;
import org.airsonic.player.domain.Album;
Expand Down Expand Up @@ -47,7 +46,7 @@ public JAlbumDao(AlbumDao deligate) {
}

public void clearOrder() {
update("update album set _order = -1");
update("update album set album_order = -1");
update("delete from album where name_reading is null or artist_reading is null ");// #311
}

Expand Down Expand Up @@ -88,7 +87,7 @@ public List<Album> getAlbumsForArtist(final long offset, final long count, final
return namedQuery(// @formatter:off
"select " + deligate.getQueryColoms() + " from album " +
"where artist = :artist and present and folder_id in (:folders) " +
" order by " + (byYear ? "year" : "_order") + ", name limit :count offset :offset",
" order by " + (byYear ? "year" : "album_order") + ", name limit :count offset :offset",
deligate.getAlbumMapper(), args);
// @formatter:on
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
package com.tesshu.jpsonic.dao;

import com.tesshu.jpsonic.domain.SortCandidate;

import org.airsonic.player.dao.AbstractDao;
import org.airsonic.player.dao.ArtistDao;
import org.airsonic.player.domain.Artist;
Expand Down Expand Up @@ -47,7 +46,7 @@ public JArtistDao(ArtistDao deligate) {
}

public void clearOrder() {
update("update artist set _order = -1");
update("update artist set artist_order = -1");
update("delete from artist where reading is null");// #311
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public JMediaFileDao(MediaFileDao deligate) {
}

public void clearOrder() {
update("update media_file set _order = -1");
update("update media_file set media_file_order = -1");
}

public void createOrUpdateMediaFile(MediaFile file) {
Expand All @@ -81,7 +81,7 @@ public List<MediaFile> getAlbumsByGenre(final int offset, final int count, final
return namedQuery(// @formatter:off
"select " + getQueryColoms() + " from media_file " +
"where type = :type and folder in (:folders) and present and genre in (:genres) " +
"order by _order limit :count offset :offset", rowMapper, args);
"order by media_file_order limit :count offset :offset", rowMapper, args);
} // @formatter:on

public List<MediaFile> getAlphabeticalAlbums(final int offset, final int count, boolean byArtist, final List<MusicFolder> musicFolders) {
Expand All @@ -108,7 +108,7 @@ public List<MediaFile> getArtistAll(final List<MusicFolder> musicFolders) {
* @return The list of children.
*/
public List<MediaFile> getChildrenOf(final long offset, final long count, String path, boolean byYear) { // @formatter:off
String order = byYear ? "year" : "_order";
String order = byYear ? "year" : "media_file_order";
return query("select " + getQueryColoms() + " from media_file " +
"where parent_path=? and present " +
"order by " + order + " limit ? offset ?", rowMapper, path, count, offset);
Expand Down Expand Up @@ -244,12 +244,12 @@ public List<MediaFile> getRandomSongsForAlbumArtist(// @formatter:off
List<MediaFile> tmpResult = namedQuery(
"select " + getQueryColoms() + ", foo.irownum from " +
" (select " +
" (select count(id) from media_file where id < boo.id and type = :type and album_artist = :artist) as irownum, * " +
" (select count(id) from media_file where id < boo.id and type = :type and album_artist = :artist) as irownum, boo.* " +
" from (select * " +
" from media_file " +
" where type = :type " +
" and album_artist = :artist " +
" order by _order, album_artist, album) boo " +
" order by media_file_order, album_artist, album) boo " +
") as foo " +
"where foo.irownum in ( :randomRownum ) limit :limit ", iRowMapper, args);

Expand Down Expand Up @@ -283,7 +283,7 @@ public List<MediaFile> getSongsByGenre(final List<String> genres, final int offs
"join media_file ar on al.parent_path = ar.path " +
"where s.type in (:types) and s.genre in (:genres) " +
"and s.present and s.folder in (:folders) " +
"order by ar._order, al._order, s.track_number " +
"order by ar.media_file_order, al.media_file_order, s.track_number " +
"limit :count offset :offset ", rowMapper, args);
} // @formatter:on

Expand Down
Loading

0 comments on commit 9b3f1cd

Please sign in to comment.