From 7b3174eaaed50234412fca9ee8155f3c580d4e9a Mon Sep 17 00:00:00 2001 From: Dawson Date: Tue, 30 Sep 2025 08:37:55 -0400 Subject: [PATCH] Updating to 1.9.4 --- .github/workflows/create-release.yml | 92 ++++++++++++++++++++++++++++ .github/workflows/maven.yml | 6 +- Bukkit/pom.xml | 4 +- Bungee/pom.xml | 4 +- CHANGELOG.md | 39 ++++++++++++ Common/pom.xml | 2 +- Sponge/pom.xml | 4 +- Universal/pom.xml | 2 +- Velocity/pom.xml | 4 +- pom.xml | 2 +- 10 files changed, 145 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/create-release.yml create mode 100644 CHANGELOG.md diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml new file mode 100644 index 0000000..5245b39 --- /dev/null +++ b/.github/workflows/create-release.yml @@ -0,0 +1,92 @@ +name: create-release.yml +on: + workflow_dispatch: +jobs: + build: + name: Build and Test + runs-on: ubuntu-latest + + steps: + - name: Cache local Maven repository + uses: actions/cache@v4 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - uses: actions/checkout@v5 + - name: Set up JDK 21 + uses: actions/setup-java@v5 + with: + java-version: '21' + distribution: 'zulu' + - name: Set up Maven + uses: stCarolas/setup-maven@v5 + with: + maven-version: 3.9.6 + - name: Compile + run: mvn -B package --file pom.xml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Upload AntiVPN + uses: actions/upload-artifact@v4 + with: + name: AntiVPN-Universal + path: Universal/target/AntiVPN-*.jar + - name: Upload Sponge plugin + uses: actions/upload-artifact@v4 + with: + name: AntiVPN-Sponge + path: Sponge/target/Sponge-*.jar + release: + name: Create Release + needs: build + runs-on: ubuntu-latest + steps: + - name: Download AntiVPN + uses: actions/download-artifact@v4 + with: + name: AntiVPN-Universal + - name: Download Sponge plugin + uses: actions/download-artifact@v4 + with: + name: AntiVPN-Sponge + - name: Get Version Number from Pom + id: get_version + run: echo "VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV + - name: Extract latest CHANGELOG entry + id: changelog + run: | + CHANGELOG_CONTENT=$(awk 'BEGIN {print_section=0;} /^## \[/ {if (print_section == 0) {print_section=1;} else {exit;}} print_section {print;}' CHANGELOG.md) + CHANGELOG_ESCAPED=$(echo "$CHANGELOG_CONTENT" | sed ':a;N;$!ba;s/\n/%0A/g') + echo "Extracted latest release notes from CHANGELOG.md:" + echo -e "$CHANGELOG_CONTENT" + echo "::set-output name=content::$CHANGELOG_ESCAPED" + - name: Create Release + uses: actions/create-release@v1 + id: create_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ github.run_number }} + release_name: Release v${{ github.run_number }} + draft: false + prerelease: false + body: ${{ steps.changelog.outputs.content }} + - uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./AntiVPN-Universal/AntiVPN-*.jar + asset_name: AntiVPN-Universal-v${{ env.VERSION }}.jar + asset_content_type: application/java-archive + - uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./AntiVPN-Sponge/Sponge-*.jar + asset_name: AntiVPN-Sponge-v${{ env.VERSION }}.jar + asset_content_type: application/java-archive + diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 073bbfa..550b098 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -12,15 +12,15 @@ jobs: steps: - name: Cache local Maven repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK 21 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: '21' distribution: 'zulu' diff --git a/Bukkit/pom.xml b/Bukkit/pom.xml index cda1424..724a62d 100644 --- a/Bukkit/pom.xml +++ b/Bukkit/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.4-DEV + 1.9.4 4.0.0 @@ -81,7 +81,7 @@ dev.brighten.antivpn Common - 1.9.4-DEV + 1.9.4 provided diff --git a/Bungee/pom.xml b/Bungee/pom.xml index 9135c8d..561d9ac 100644 --- a/Bungee/pom.xml +++ b/Bungee/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.4-DEV + 1.9.4 4.0.0 @@ -67,7 +67,7 @@ dev.brighten.antivpn Common - 1.9.4-DEV + 1.9.4 provided diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9706111 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,39 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [1.9.4] - 2025-09-30 + +### Added +- New dependency management system with automatic library loading and relocation +- Caffeine cache implementation to replace Guava +- Sponge platform support with full event handling and command system +- UUID lookup functionality for player validation +- Enhanced kick checking system with scheduled task execution +- Support for Java 17 and Java 21 runtime environments +- New database metrics tracking for bStats + +### Changed +- **BREAKING**: Minimum Java version upgraded from 8 to 17 +- Replaced Guava cache with Caffeine cache for better performance +- Modernized player checking system with asynchronous processing +- Improved database connection handling with proper resource management +- Enhanced VPN/Proxy detection with new `CheckResult` and `ResultType` system +- Updated Maven dependencies and build process +- Reorganized project structure (Assembly → Universal module) +- Improved error handling and exception logging throughout codebase + +### Fixed +- H2 database compatibility issues with automatic backup and recovery +- Memory leaks in database result set handling with try-with-resources +- Thread safety issues in player cache management +- Command registration and unregistration during plugin lifecycle +- Proper cleanup of database drivers on shutdown +- Resource management in SQL connections and prepared statements + +### Removed +- Guava dependency (replaced with Caffeine and built-in utilities) +- Legacy cached response handling system +- Old table format compatibility code \ No newline at end of file diff --git a/Common/pom.xml b/Common/pom.xml index dec5693..7926c16 100644 --- a/Common/pom.xml +++ b/Common/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.4-DEV + 1.9.4 4.0.0 diff --git a/Sponge/pom.xml b/Sponge/pom.xml index 94e28a5..188a5f3 100644 --- a/Sponge/pom.xml +++ b/Sponge/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.4-DEV + 1.9.4 4.0.0 @@ -32,7 +32,7 @@ dev.brighten.antivpn Common - 1.9.4-DEV + 1.9.4 compile diff --git a/Universal/pom.xml b/Universal/pom.xml index b036049..dfbec0e 100644 --- a/Universal/pom.xml +++ b/Universal/pom.xml @@ -6,7 +6,7 @@ dev.brighten.antivpn AntiVPN - 1.9.4-DEV + 1.9.4 Universal diff --git a/Velocity/pom.xml b/Velocity/pom.xml index 152db18..8d2db5a 100644 --- a/Velocity/pom.xml +++ b/Velocity/pom.xml @@ -5,7 +5,7 @@ AntiVPN dev.brighten.antivpn - 1.9.4-DEV + 1.9.4 4.0.0 @@ -33,7 +33,7 @@ dev.brighten.antivpn Common - 1.9.4-DEV + 1.9.4 provided diff --git a/pom.xml b/pom.xml index 05cf495..25ea794 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ dev.brighten.antivpn AntiVPN pom - 1.9.4-DEV + 1.9.4 Common