Skip to content

Releases: BytePhilHD/SpotifyLink

v1.2.3 - Bug fix and optimizations

04 May 14:00

Choose a tag to compare

Fixed Out of array boundaries bug when searching.

Full Changelog: v1.2.2...v1.2.3

v1.2.2 - Performance improvements

02 Feb 09:44

Choose a tag to compare

This release includes several changes to improve the functionality and user experience of the SpotifyLink application. The main changes involve updating the version number, adjusting timing intervals, removing redundant code, and enhancing the user interface.

Version Update:

  • pom.xml: Updated the version from 1.2.1 to 1.2.2.

Timing Interval Adjustments:

  • src/main/de.bytephil/authorization/SpotifyAPIConnector.java: Reduced the interval for checking the current track info from 2 seconds to 1 second.
  • src/main/de.bytephil/handlers/SpotifyHandler.java: Reduced the interval for getting the queue as song objects from 3 seconds to 1 second.

Code Simplification:

  • src/main/de.bytephil/main/Main.java: Removed redundant code for handling the username when the song is not playing.

User Interface Enhancements:

  • src/main/resources/WebPages/assets/script/mainpage.js: Added initialization for songAdded and counter variables to improve the display message when a song is added.
  • src/main/resources/WebPages/assets/script/mainpage.js: Improved the readability of the message displayed when an incorrect session code is entered.

v1.2.1 - Session Code fix

26 Dec 16:26

Choose a tag to compare

Session code gets now displayed all the time on the admin page instead of just when a song is playing and a user is logged in.

v1.2.0 - Added session codes

23 Dec 11:05

Choose a tag to compare

This version includes several changes to the SpotifyLink project, focusing on adding session management, improving the user interface, and refactoring the code for better organization and readability. The most important changes are grouped by theme below.

Session Management Improvements:

  • Added sessionCode generation and validation methods in the Main class to manage user sessions. (src/main/de.bytephil/main/Main.java, [1] [2] [3] [4]
  • Updated WebSocket message handling to include session code validation and actions based on user type (ADMIN, USER, FORBIDDEN). (src/main/de.bytephil/main/Main.java, [1] [2] [3] [4] [5]

User Interface Enhancements:

  • Modified admin.html to display and manage session codes, including buttons for sharing and regenerating the session code. (src/main/resources/WebPages/admin.html, [1] [2]
  • Updated adminscript.js to handle session code display and sharing functionality. (src/main/resources/WebPages/assets/script/adminscript.js, [1] [2] [3] [4]

Code Refactoring:

  • Refactored WebSocket message handling in adminscript.js to use a unified data structure for sending actions and content. (src/main/resources/WebPages/assets/script/adminscript.js, src/main/resources/WebPages/assets/script/adminscript.jsL140-R155)
  • Removed redundant code and improved readability in the Main class by consolidating message handling logic. (src/main/de.bytephil/main/Main.java, [1] [2]

New Features:

  • Added a new UserType enum to manage different user roles within the application. (src/main/de.bytephil/enums/UserType.java, src/main/de.bytephil/enums/UserType.javaR1-R5)
  • Introduced a secure random session code generator to enhance session management security. (src/main/de.bytephil/main/Main.java, src/main/de.bytephil/main/Main.javaR300-R326)

Minor Changes:

  • Updated the project version in pom.xml to 1.2.0. (pom.xml, pom.xmlL10-R10)
  • Removed unnecessary imports and print statements to clean up the codebase. (src/main/de.bytephil/main/Main.java, [1] [2]

v1.1.0 - Added User queue and improved performance / errors

11 Dec 08:51

Choose a tag to compare

Added new functionality to show the current user queue. This can be shown by clicking dropdown button. The next 3 songs are then shown in 'Real-Time' (every 3 seconds).

Heavily reduced load on Spotify API by making synchronized get functions which only request every 2 (current Song) and 3 (queue songs) seconds.

Dependency Updates:

  • Upgraded project version from 1.0.8 to 1.1.0 in pom.xml.
  • Added lombok dependency in pom.xml to simplify code with annotations.

Error Handling Improvements:

  • Replaced specific exception handling with a general Exception catch block and improved error logging in AuthenticationURI.java and SpotifyAPIConnector.java. [1] [2]
  • Updated SearchRequest.java to use Console.printError for consistent error logging. [1] [2] [3]

New Features:

  • Introduced SongObject class to represent song details, with lombok annotations for getters, setters, and constructors.
  • Added methods in SpotifyHandler.java to fetch and cache Spotify queue as SongObject instances.

Code Cleanup:

  • Removed unused imports and methods in SpotifyAPIConnector.java and AuthenticationURI.java. [1] [2] [3]
  • Deleted ConsoleCommandHandler.java as it was no longer needed.

Additional Changes:

  • Enhanced Main.java to handle application startup state and integrate the new queue fetching feature. [1] [2] [3]

v1.0.8 - Bug Fixes and Performance Improvements

09 Dec 18:48

Choose a tag to compare

Dependency Updates:

  • Updated the version of the project from 1.0-SNAPSHOT to 1.0.8 in pom.xml.
  • Upgraded the spotify-web-api-java dependency from version 8.4.1 to 9.0.0 in pom.xml.

Code Refactoring:

  • Refactored constant variables clientId and clientSecret to uppercase (CLIENT_ID and CLIENT_SECRET) in AuthenticationURI.java, SpotifyAPIConnector.java, and SearchRequest.java [1] [2] [3].
  • Removed unused import statements and reordered them in AuthenticationURI.java, SearchRequest.java, and ServerConfiguration.java [1] [2] [3].

WebSocket Enhancements:

  • Enhanced WebSocket setup to support both ws and wss protocols in adminscript.js and mainpage.js [1] [2].
  • Modified the WebSocket refresh function to send "refresh-Admin" instead of "refresh" in adminscript.js.

Error Handling Improvements:

  • Improved error handling in Main.java by catching specific exceptions (IOException, ParseException, SpotifyWebApiException) and printing stack traces for unexpected errors.

Documentation Update:

  • Added a new section "Developing" to README.md with instructions on setting clientID and clientSecret values and building the project with Maven.

v1.0.7 - Added Spotify account switch button

07 Oct 16:40

Choose a tag to compare

Added information of currently logged in Spotify account on admin page with the option to change it. By clicking on the switch button, you get redirected to the Spotify authorization page and after that directly redirected to the main page, now connected with your account.

What's Changed

Full Changelog: v1.0.6...v1.0.7

v1.0.6

20 Sep 08:59

Choose a tag to compare

What's Changed

  • Improved error messaging on mainpage
  • Improved design on mainpage
  • Fixed admin page login and handling
  • Added toggle switch to admin page for activating and deactivating SpotifyLink

v1.0.5 SpotifyLink

19 Sep 11:17
96bc606

Choose a tag to compare

What's Changed

  • Updated Maven Dependencies
  • Feature/refactor code
  • Improved error handling in Frontend and Backend

Full Changelog: V1.0.4...v1.0.5

v1.0.4 SpotifyLink

28 Jul 19:50

Choose a tag to compare

Some BugFixes including:

  • Fixed Duration to Song
  • Fixed Reconnecting Issue in Java Script

Full Changelog: v1.0.3...V1.0.4