Releases: TheHolyWaffle/TeamSpeak-3-Java-API
Releases · TheHolyWaffle/TeamSpeak-3-Java-API
v1.3.1
Noteworthy changes in this release
- Add new
BPermissionType
andIPermissionType
permission enums, see #416 - thanks @RMrenex!- Currently they are only used in
TS3Api[Async]#addClientPermission
andTS3Api[Async]#deleteClientPermission
- These enums will gradually replace API methods that accept permission IDs or permission name strings
- Currently they are only used in
- Fix
TS3ApiAsync#renameServerGroup
overload sending the wrong TS3 command, see #401 & #403 - thanks @Shadow-Devil! - Update our SSHJ dependency version to fix CVE-2018-5382 - thanks @FlorianWip!
- The version of SSHJ we were using included a transitive dependency on a vulnerable version of BouncyCastle
- Internally, we switched from using Travis-CI to GitHub Actions for our CI/CD pipelines
Get this release
Maven:
<dependency>
<groupId>com.github.theholywaffle</groupId>
<artifactId>teamspeak3-api</artifactId>
<version>1.3.1</version>
</dependency>
Gradle:
compile group: 'com.github.theholywaffle', name: 'teamspeak3-api', version: '1.3.1'
v1.3.0
Noteworthy changes in this release
- Add support for using SSH to connect to the TeamSpeak3 server, which is actually encrypted!
- Use
config.setProtocol(Protocol.SSH);
to select the SSH protocol - You must set the server query login using
config.setLoginCredentials(username, password);
(as in earlier versions of the API) RAW
/Telnet
remains the default protocol for the time being
- Use
TS3Config
instances are now frozen after calling aTS3Query
constructor, preventing modifications that don't have any effect- The
ConnectionHandler
'sonConnect
method now use aTS3Api
instead of aTS3Query
as its argument- For your
onConnect
commands to be executed before other queued up commands, you must use the providedTS3Api
instance
- For your
- Clients: Added
getMyTeamSpeakId
andgetEstimatedLocation
getters, fixedisRequestingToTalk
- Channels: Added
getUniqueIdentifier
,getBannerMode
, andgetBannerGraphicsUrl
getters - Added new
{add, get, delete}ServerQueryLogin
methods to create, query, and delete server query logins - Improvements to the internal I/O in the API
- Improved the shut-down behavior of the API if commands are still queued up
- Fix
EventManager#removeListeners
, see #294
Get this release
Maven:
<dependency>
<groupId>com.github.theholywaffle</groupId>
<artifactId>teamspeak3-api</artifactId>
<version>1.3.0</version>
</dependency>
Gradle:
compile group: 'com.github.theholywaffle', name: 'teamspeak3-api', version: '1.3.0'
v1.2.0
Noteworthy changes in this release
- This API now requires Java 8
- The main reason was that this would finally allow us to use lambdas and method references, which are both very useful when working with the asynchronous API.
- Moreover, Java 7 was released in 2011 and support ended in 2015. Let us know if you can't upgrade to Java 8 and still want features to be backported to v1.1.0.
- Added
map
andthen
combinators to CommandFuture- This should help keep "callback hell" at bay when working with the asynchronous API
- Some fixes to the IO subsystem
- Fixed an issue where the query could time out on some operating systems despite still being connected
- Fixed an issue where one command could be lost during a reconnect
- TS3 Server v.3.2.0:
- Added a reason parameter to the
stopServer
andstopServerProcess
methods - Added support for the custom client properties commands with the new API methods
{delete, get, set, search}CustomClientProperties
- Added a reason parameter to the
- TS3 Server v3.4.0:
- Added
selectVirtualServer
overloads that also set the query's nickname in one command
- Added
- TS3 Server v3.5.0:
- Added support for banning clients by their myTeamSpeak ID
Get this release
Maven:
<dependency>
<groupId>com.github.theholywaffle</groupId>
<artifactId>teamspeak3-api</artifactId>
<version>1.2.0</version>
</dependency>
Gradle:
compile group: 'com.github.theholywaffle', name: 'teamspeak3-api', version: '1.2.0'
v1.1.0
Noteworthy changes in this release
- Commands now throw exceptions instead of returning
null
if they fail, giving you easier access to the TS3 error ID and message - Switched to using SLF4J as a logging interface
- If you're downloading the JAR file from this page, there should only be minor visual differences. This JAR file already includes a default, configured logging framework.
- If you're using Maven or Gradle, you'll either need to provide a logging framework (e.g. Log4j 2, Logback, etc.) or just use the default implementation using slf4j-simple by using the
-with-dependencies
artifact.
Maven: Add<classifier>with-dependencies</classifier>
after the "version" tag.
Gradle: Append, classifier: 'with-dependencies'
after the "version" attribute.
- Completely refactored command classes, fixing lots of bugs in the process.
- Implemented a new connection timeout system. We finally have fully working timeouts again!
- Fixed some concurrency issues in TS3Query, CommandFuture, and EventManager
- Each event handler is now only called sequentially and events are guaranteed to be in-order.
That means that synchronization is no longer needed when accessing fields that are not shared outside the event handler. Different TS3Listener objects can still run in parallel, though!
- Each event handler is now only called sequentially and events are guaranteed to be in-order.
- Added some convenience methods to TS3Api and TS3ApiAsync
- Lots of internal changes, bug fixes and other small improvements
Get this release
Maven:
<dependency>
<groupId>com.github.theholywaffle</groupId>
<artifactId>teamspeak3-api</artifactId>
<version>1.1.0</version>
</dependency>
Gradle:
compile group: 'com.github.theholywaffle', name: 'teamspeak3-api', version: '1.1.0'
v1.0.14
Noteworthy changes in this release
- Improved reconnect subsystem
- Improved command throughput when
FloodRate.UNLIMITED
is selected - Added API methods for file transfers
- Moved build repository to maven central
- You no longer need to include the
<repository>
section in your pom.xml file.
- You no longer need to include the
- JavaDocs can now be read on javadoc.io
- Various bugfixes and small improvements
Get this release
Maven:
<dependency>
<groupId>com.github.theholywaffle</groupId>
<artifactId>teamspeak3-api</artifactId>
<version>1.0.14</version>
</dependency>
Gradle:
compile group: 'com.github.theholywaffle', name: 'teamspeak3-api', version: '1.0.14'
v1.0.13
Noteworthy changes in this release
- Added a reconnect system
- When the connection between the server and the client is interrupted and reconnecting is enabled, the query will try to reconnect after configured delays
- After reconnecting, the query tries to continue executing commands that were issued before the connection got interrupted.
- Check out an example here.
- Fixed API misbehaving with certain locale settings
- Added method to move multiple clients at once
- Added some new properties and utility methods to both clients and channels
- Added support for the undocumented
tokenused
event
Get this release
Maven:
<dependency>
<groupId>com.github.theholywaffle</groupId>
<artifactId>teamspeak3-api</artifactId>
<version>1.0.13</version>
</dependency>
Don't forget to include our repository! Instructions in the readme.
Gradle:
compile group: 'com.github.theholywaffle', name: 'teamspeak3-api', version: '1.0.13'
v1.0.12
Noteworthy changes in this release
- Added an asynchronous version of the API called
TS3ApiAsync
- Allows commands to be dispatched without blocking the thread until a response arrives.
- Server responses are handled via callbacks (see
CommandFuture
) - Currently offers better error-handling interface than the regular
TS3Api
- Uses a thread pool to dispatch the various callbacks and handlers.
- Added documentation to all methods in
TS3Api
andTS3ApiAsync
as well as to some wrapper classes.- Check out the JavaDoc here.
- Added
TS3EventAdapter
, which is an abstract class implementingTS3Listener
with just empty methods.- Allows overriding just one method in the listener instead of having to also override unneeded ones.
- Improved the usage of collections throughout the entire API
- Made the command timeout configurable in
TS3Config
- Lots of bug fixes and performance improvements
- Improvements to the build process
Get this release
Maven:
<dependency>
<groupId>com.github.theholywaffle</groupId>
<artifactId>teamspeak3-api</artifactId>
<version>1.0.12</version>
</dependency>
Don't forget to include our repository! Instructions in the readme.
Gradle:
compile group: 'com.github.theholywaffle', name: 'teamspeak3-api', version: '1.0.12'