Skip to content

Commit

Permalink
Merge pull request #135 from Frederikam/dev
Browse files Browse the repository at this point in the history
Release v3
  • Loading branch information
freyacodes authored Jul 24, 2018
2 parents 081509b + 63fc35b commit 16e19dc
Show file tree
Hide file tree
Showing 57 changed files with 403 additions and 3,474 deletions.
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

0 comments on commit 16e19dc

Please sign in to comment.