Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v3 #135

Merged
merged 49 commits into from
Jul 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
e6e898e
Bump version to 3.0
freyacodes Apr 30, 2018
98c3b2e
Target Java 9 on Lavalink-Server
freyacodes Apr 30, 2018
2557262
Less ugly logging and sentry config
schnapster Apr 25, 2018
d33b795
Bump gradle to 4.7
schnapster Apr 25, 2018
c9a1f28
Bump server to Java X (aka Java 10)
schnapster Apr 30, 2018
2ae4edf
Set default/suggested log level to info
schnapster Apr 30, 2018
a650ebe
Merge pull request #97 from napstr/updates
freyacodes Apr 30, 2018
5f54ac2
Merge branch 'dev' into v3
freyacodes Apr 30, 2018
a368a89
Update readme
freyacodes Apr 30, 2018
644557c
First pass at generifying LLC
freyacodes May 2, 2018
d3b6c9e
Fix 4/5 of the tests
freyacodes May 11, 2018
a4dc4e5
Change how session id is provided in Link
freyacodes May 13, 2018
40c3431
Amend last commit
freyacodes May 13, 2018
fab4e68
Don't reference JDA entities in abstract Link
freyacodes May 18, 2018
baa17c4
Fix compile error
freyacodes May 18, 2018
315804f
Merge branch 'dev' into v3
freyacodes May 20, 2018
8e0e26e
Add custom sentry tags (#103)
schnapster May 20, 2018
28fe1e6
Merge branch 'dev' into v3
schnapster May 20, 2018
6a28026
Add docs for generics and merge 'generic-client' into v3
freyacodes Jun 2, 2018
0dc6517
Add isPlaylist to response JSON (#91)
devoxin Jun 2, 2018
e590eda
Update README.md
freyacodes Jun 2, 2018
d40eead
Update IMPLEMENTATION.md
freyacodes Jun 2, 2018
92ac6e2
Add #100 by hand due to merge conflict
freyacodes Jun 2, 2018
e026d8d
Add SandySounds to list that supports v3 (#107)
AnotherGenZ Jun 2, 2018
01f1c7a
Update Lavaplayer to 1.2.64 (#108)
devoxin Jun 2, 2018
d8ef494
add lavaclient to list of libs which support v3 (#109)
Jun 3, 2018
07cbb0c
add lavaclient to list of libs which support v3 (#110)
Jun 3, 2018
a477fbc
Lavalink Major Version Header (#111)
Jun 5, 2018
8a2a837
Add getExistingLink
freyacodes Jun 6, 2018
4d49cb5
Make JDA compileOnly
freyacodes Jun 6, 2018
57b5911
Re-add to test classpath
freyacodes Jun 6, 2018
9d04b57
Merge branch 'dev' into v3
schnapster Jun 9, 2018
d4b62d6
Fix missing documentation for playlistInfo (#114)
devoxin Jun 12, 2018
d85eea0
Merge remote-tracking branch 'origin/dev' into v3
freyacodes Jun 19, 2018
d395426
Load Types (#116)
Jun 19, 2018
159d3d7
Merge remote-tracking branch 'origin/dev' into v3
freyacodes Jun 25, 2018
a92e50e
Merge remote-tracking branch 'origin/dev' into v3
freyacodes Jun 25, 2018
a2ba301
Merge branch 'dev' into v3
freyacodes Jun 25, 2018
3666e09
Use Java 10 to build v3+ on Travis
schnapster Jun 25, 2018
6cb0f81
Merge branch 'dev' into v3
schnapster Jul 3, 2018
0adc5c8
Merge branch 'dev' into v3
schnapster Jul 20, 2018
9c94327
Infer version from git tag
schnapster Jul 20, 2018
124f8fa
Move the client subproject to its own repo at https://github.com/Fred…
schnapster Jul 20, 2018
c92690c
Update pylava compatability to 3.x
SapphicCode Jul 20, 2018
393ce29
Create a changelog file for v2+ releases
schnapster Jul 23, 2018
da0b3a4
Future Java 11 bump = major, not minor
schnapster Jul 24, 2018
ab81dcd
Merge branch 'dev' into v3
schnapster Jul 24, 2018
b8f4cf4
Merge pull request #134 from Frederikam/v3
freyacodes Jul 24, 2018
63fc35b
Merge branch 'master' into dev
schnapster Jul 24, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
fast_finish: true
include:
- stage: sonar
jdk: openjdk8
jdk: openjdk10
if: env(TRAVIS_SECURE_ENV_VARS) = true
before_script:
#for full sonar cloud blame information
Expand Down
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Changelog

Each release usually includes various fixes and improvements.
The most noteworthy of these, as well as any features and breaking changes, are listed here.

## v3.0
* **Breaking:** The minimum required Java version to run the server is now Java 10.
**Please note**: Java 10 will be obsolete
as of [September 2018 with the release of Java 11](http://www.java-countdown.xyz/). Expect a Lavalink major version release that will be targetting
Java 11 by that time.
* **Breaking:** Changes to the output of the /loadtracks endpoint. [\#91](https://github.com/Frederikam/Lavalink/pull/91), [\#114](https://github.com/Frederikam/Lavalink/pull/114), [\#116](https://github.com/Frederikam/Lavalink/pull/116)
* **Breaking:** The Java client has been moved to a [new repository](https://github.com/FredBoat/Lavalink-Client).
* **Breaking:** The Java client has been made generic. This is a breaking change so please read the [migration guide](https://github.com/FredBoat/Lavalink-Client#migrating-from-v2-to-v3).
* Better configurable logging. [\#97](https://github.com/Frederikam/Lavalink/pull/97)
* Add custom sentry tags, change sentry dsn configuration location. [\#103](https://github.com/Frederikam/Lavalink/pull/103)
* Add Lavalink version header to websocket handshake. [\#111](https://github.com/Frederikam/Lavalink/pull/111)
* Use git tags for easier version visibility. [\#129](https://github.com/Frederikam/Lavalink/pull/129)

Contributors:
[@Devoxin](https://github.com/Devoxin),
[@Frederikam](https://github.com/Frederikam/),
[@napstr](https://github.com/napstr),
[@SamOphis](https://github.com/SamOphis)

## v2.2
* Lavaplayer updated to 1.3.x [\#115](https://github.com/Frederikam/Lavalink/pull/115)
* Version command line flag [\#121](https://github.com/Frederikam/Lavalink/pull/121)
* Fix race condition in `/loadtracks` endpoint leading to some requests never completing [\#125](https://github.com/Frederikam/Lavalink/pull/125)

Contributors:
[@Devoxin](https://github.com/Devoxin),
[@Frederikam](https://github.com/Frederikam/),
[@napstr](https://github.com/napstr)

## v2.1
* Add prometheus metrics [\#105](https://github.com/Frederikam/Lavalink/pull/105), [\#106](https://github.com/Frederikam/Lavalink/pull/106)

Contributors:
[@Frederikam](https://github.com/Frederikam/),
[@napstr](https://github.com/napstr),
[@Repulser](https://github.com/Repulser/)

## v2.0.1
* Configurable playlist load limit [\#60](https://github.com/Frederikam/Lavalink/pull/60)
* [Docker Releases](https://hub.docker.com/r/fredboat/lavalink/), [\#74](https://github.com/Frederikam/Lavalink/pull/74)

Contributors:
[@Devoxin](https://github.com/Devoxin),
[@Frederikam](https://github.com/Frederikam/),
[@itslukej](https://github.com/itslukej/),
[@napstr](https://github.com/napstr),
[@Repulser](https://github.com/Repulser/)

## v2.0
Please see [here](https://github.com/Frederikam/Lavalink/commit/b8dd3c8a7e186755c1ab343d19a552baecf138e7)
and [here](https://github.com/Frederikam/Lavalink/commit/08a34c99a47a18ade7bd14e6c55ab92348caaa88)
67 changes: 49 additions & 18 deletions IMPLEMENTATION.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Implementation guidelines
How to write your own client. The Java client will serve as an example implementation.
How to write your own client. The Java [Lavalink-Client](https://github.com/FredBoat/Lavalink-Client) will serve as an example implementation.
The Java client has support for JDA, but can also be adapted to work with other JVM libraries.

## Requirements
* You must be able to send messages via a shard's mainWS connection.
Expand All @@ -10,8 +11,13 @@ How to write your own client. The Java client will serve as an example implement
* Hybi 10
* Hixie 76
* Hixie 75

## Changes v1.3 -> v2.0

## Significant changes v2.0 -> v3.0
* The response of `/loadtracks` has been completely changed (again since the initial v3.0 pre-release).
* Lavalink v3.0 now reports its version as a handshake response header.
`Lavalink-Major-Version` has a value of `3` for v3.0 only. It's missing for any older version.

## Significant changes v1.3 -> v2.0
With the release of v2.0 many unnecessary ops were removed:

* `connect`
Expand Down Expand Up @@ -116,7 +122,7 @@ and you can send the same VOICE_SERVER_UPDATE to a new node.

### Incoming messages
See
[LavalinkSocket.java](https://github.com/Frederikam/Lavalink/blob/dev/LavalinkClient/src/main/java/lavalink/client/io/LavalinkSocket.java)
[LavalinkSocket.java](https://github.com/FredBoat/Lavalink-Client/blob/master/src/main/java/lavalink/client/io/LavalinkSocket.java)
for client implementation

Position information about a player. Includes unix timestamp.
Expand Down Expand Up @@ -225,23 +231,48 @@ Authorization: youshallnotpass

Response:
```json
[
{
"track": "QAAAjQIAJVJpY2sgQXN0bGV5IC0gTmV2ZXIgR29ubmEgR2l2ZSBZb3UgVXAADlJpY2tBc3RsZXlWRVZPAAAAAAADPCAAC2RRdzR3OVdnWGNRAAEAK2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZFF3NHc5V2dYY1EAB3lvdXR1YmUAAAAAAAAAAA==",
"info": {
"identifier": "dQw4w9WgXcQ",
"isSeekable": true,
"author": "RickAstleyVEVO",
"length": 212000,
"isStream": false,
"position": 0,
"title": "Rick Astley - Never Gonna Give You Up",
"uri": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
{
"loadType": "TRACK_LOADED",
"playlistInfo": {},
"tracks": [
{
"track": "QAAAjQIAJVJpY2sgQXN0bGV5IC0gTmV2ZXIgR29ubmEgR2l2ZSBZb3UgVXAADlJpY2tBc3RsZXlWRVZPAAAAAAADPCAAC2RRdzR3OVdnWGNRAAEAK2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZFF3NHc5V2dYY1EAB3lvdXR1YmUAAAAAAAAAAA==",
"info": {
"identifier": "dQw4w9WgXcQ",
"isSeekable": true,
"author": "RickAstleyVEVO",
"length": 212000,
"isStream": false,
"position": 0,
"title": "Rick Astley - Never Gonna Give You Up",
"uri": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
}
}
]
]
}
```

If the identifier leads to a playlist, `playlistInfo` will contain two properties, `name` and `selectedTrack`
```json
{
"loadType": "PLAYLIST_LOADED",
"playlistInfo": {
"name": "Example YouTube Playlist",
"selectedTrack": 3
},
"tracks": [
...
]
}
```

Additionally, in every `/loadtracks` response, a `loadType` property is returned which can be used to judge the response from Lavalink properly. It can be one of the following:
* `TRACK_LOADED` - Returned when a single track is loaded.
* `PLAYLIST_LOADED` - Returned when a playlist is loaded.
* `SEARCH_RESULT` - Returned when a search result is made (i.e `ytsearch: some song`).
* `NO_MATCHES` - Returned if no matches/sources could be found for a given identifier.
* `LOAD_FAILED` - Returned if Lavaplayer failed to load something for some reason.

### Special notes
* When your shard's mainWS connection dies, so does all your lavalink audio connections.
* This also includes resumes
Expand Down
6 changes: 0 additions & 6 deletions LavalinkClient/.gitignore

This file was deleted.

124 changes: 0 additions & 124 deletions LavalinkClient/README.md

This file was deleted.

48 changes: 0 additions & 48 deletions LavalinkClient/build.gradle

This file was deleted.

Loading