Skip to content

Commit a5fe46e

Browse files
Merge pull request #150 from alvarorichard/dev
update 1.8
2 parents eda642e + 3c783e3 commit a5fe46e

69 files changed

Lines changed: 12550 additions & 1334 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
run: |
5858
echo "=== Testing macOS-specific socket path handling ==="
5959
echo "TMPDIR=$TMPDIR"
60-
go test -v ./internal/player/test/... -run "Socket|MacOS" -count=1
60+
go test -race -v ./internal/player/test/... -run "Socket|MacOS" -count=1
6161
6262
- name: Get dependencies
6363
run: go mod download
@@ -82,7 +82,7 @@ jobs:
8282

8383
- name: Run tests
8484
shell: bash
85-
run: go test -v -coverprofile=coverage.out ./...
85+
run: go test -race -v -coverprofile=coverage.out ./...
8686

8787
build-binaries:
8888
needs: test

.github/workflows/coverage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ jobs:
7171

7272
- name: Run tests with coverage
7373
shell: bash
74-
run: go test -v -coverprofile=coverage.out ./...
74+
run: go test -race -v -coverprofile=coverage.out ./...
7575

7676
- name: Upload coverage to Codecov
7777
uses: codecov/codecov-action@v4
7878
with:
79-
files: coverage.out
79+
files: coverage.out

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -623,4 +623,4 @@ jobs:
623623
echo "" >> $GITHUB_STEP_SUMMARY
624624
echo "- Package: goanime" >> $GITHUB_STEP_SUMMARY
625625
echo "- Version: ${{ steps.version.outputs.VERSION_NUMBER }}" >> $GITHUB_STEP_SUMMARY
626-
echo "- AUR URL: https://aur.archlinux.org/packages/goanime" >> $GITHUB_STEP_SUMMARY
626+
echo "- AUR URL: https://aur.archlinux.org/packages/goanime" >> $GITHUB_STEP_SUMMARY

CHANGELOG.md

Lines changed: 8 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,18 @@
1-
# GoAnime Release Notes - Version 1.7
1+
# GoAnime Release Notes - Version 1.8
22

3-
Release date: 2026-04-08
3+
Release date: 2026-04-18
44

55
## Highlights
66

7-
- **AllAnime Cloudflare Bypass**: All AllAnime API requests now use POST with JSON body, bypassing Cloudflare challenge pages that were blocking GET requests.
8-
- **9Anime Integration**: Full support for 9Anime as a new anime streaming source, including search, streaming, downloading, and subtitle embedding.
9-
- **PT-BR Sources (Goyabu + AnimeFire)**: New Goyabu scraper and improved AnimeFire integration for Brazilian Portuguese anime content with `-source ptbr` flag.
10-
- **Blogger Proxy with Chrome TLS Impersonation**: Refactored Blogger video extraction to use a local Go HTTP proxy with Chrome TLS fingerprinting, solving 403 errors from Google CDN.
11-
- **Anime4K Upscaling**: New real-time video upscaling using Anime4K shaders with automatic shader installation, plus experimental GAN UUL upscaling mode for enhanced visual quality.
12-
- **Security Hardening**: SSRF protection for all HTTP clients, response body size limits, data race fixes, and Go 1.26.2 with patched `crypto/x509` and `crypto/tls` vulnerabilities.
7+
- **New PT-BR Source**: Added a robust new source specifically for movies, anime, series, and doramas, entirely in Brazilian Portuguese (PT-BR).
8+
- **Jellyfin & Plex Compatibility**: Reorganized the media storage structure for movies, series, anime, and doramas, making them out-of-the-box compatible with Jellyfin and Plex.
9+
- **Download Improvements**: Enhanced downloading mechanisms for improved stability and user experience.
1310

1411
## Features
1512

16-
- Add 9Anime as a new streaming source with search, episode listing, server selection, subtitle selection, and downloading support.
17-
- Add Goyabu scraper as a new PT-BR anime source with search, episode parsing, and stream URL extraction.
18-
- Add `-source ptbr` flag with `[PT-BR]` tags and automatic legendado/dublado detection.
19-
- Implement AnimeFire `GetAnimeEpisodes` and `GetEpisodeStreamURL` for full AnimeFire playback and download support.
20-
- AllAnime API requests switched from GET to POST with JSON body to bypass Cloudflare challenges; referer updated to `allmanga.to`.
21-
- Implement Blogger CDN direct downloading with multi-threading and improved error handling.
22-
- Implement Go HTTP proxy for Blogger video extraction with Chrome TLS impersonation (fixes 403 from Google CDN).
23-
- Add `extractRomajiFromURL` for PT-BR AniList title resolution, enriching AniList lookup with romaji from URL slugs.
24-
- Add media path handling for decryption API in FlixHQ and SFlix clients.
25-
- Add fallback API support for FlixHQ and SFlix clients.
26-
- Enhance subtitle management with global source tracking, user prompts, and 9Anime subtitle embedding.
27-
- Add support for overriding media title in MPV with cleaned anime names.
28-
- Add Wayland GPU context support in mpv playback.
29-
- Add `runWithSpinner` function for improved loading feedback during network calls.
30-
- Add `govulncheck` for vulnerability scanning in CI workflow.
31-
- Enhance `SanitizeForFilename` to handle 9Anime-specific metadata and multilanguage tags.
32-
- Enhance `CleanTitle` to handle 9Anime titles, `[Multilanguage]` prefixes, and episode info patterns.
33-
- Add Anime4K real-time upscaling with automatic shader installation and MPV integration.
34-
- Add experimental GAN UUL upscaling mode for enhanced visual quality.
35-
- Add download location printing for episodes and movies.
36-
- Enhance season handling propagation in player and Discord Rich Presence.
13+
- Add new PT-BR source covering movies, anime, series, and doramas.
14+
- Implement automated media organization optimized for Jellyfin and Plex playback.
3715

3816
## Improvements
3917

40-
- Optimize HTTP client usage with connection pre-warming and shared singleton clients for better performance.
41-
- Optimize mpv path lookup and enhance async operations for improved playback performance.
42-
- Optimize timeouts and improve parallel search handling in anime fetching with concurrent scraper execution.
43-
- Refactor playback handling and simplify user input menus; remove `isMovieOrTV` parameter from `showPlayerMenu`.
44-
- Refactor scrapers for improved performance and maintainability; reduce ScraperManager instances.
45-
- Refactor media state management to prevent data races and improve concurrency safety.
46-
- Streamline debug logging by replacing conditional checks with unified debug functions.
47-
- Improve log file naming with unique session identification and file output support.
48-
- Enhance yt-dlp integration with unsafe extension handling and direct HTTP fallback for downloads.
49-
- Improve error handling and logging for episode downloads.
50-
- Enhance URL handling with accent normalization.
51-
- Update Go version to 1.26.2 (fixes CVE in `crypto/x509` and `crypto/tls`).
52-
- Update dependencies: `go-ytdlp` v1.3.2, `go-crypto` v1.4.0, `golang.org/x/net` v0.51.0, `charm.land/bubbles`, and others.
53-
- CI: enhance Windows dependency installation with dynamic mpv download, yt-dlp integration, GCC and Inno Setup checks with retries.
54-
- CI: add GitHub token authentication for MPV release downloads.
55-
- CI: update golangci-lint action version, increase timeout, and add configuration file.
56-
57-
## Bug Fixes
58-
59-
- Fix AllAnime API blocked by Cloudflare by switching from GET to POST requests.
60-
- Fix SSRF vulnerability: implement SSRF protection for all HTTP clients and refactor transport settings.
61-
- Fix excessive memory usage by limiting response body size on all HTTP responses.
62-
- Fix data races in media state management with proper concurrency controls.
63-
- Fix Blogger video extraction preferring 720p (itag=22) over 360p (itag=18).
64-
- Fix playback: replace `Fatal` calls with proper error returns in playback package (3 bugs fixed).
65-
- Fix AnimeFire video URL resolution before streaming and download.
66-
- Fix Goyabu search reliability, episode parsing, and test coverage.
67-
- Fix duplicate quality menu and clean PT-BR title formatting.
68-
- Fix `nil` check for `streamInfo` in `GetFlixHQStreamURL` to prevent panics.
69-
- Fix result channel drain before early exit in concurrent search to prevent goroutine leaks.
70-
- Fix FlixHQ tests to use httptest mocks instead of real API calls.
71-
- Fix transient error handling and skip tests for unavailable external services.
72-
- Fix Codacy issues in `goyabu.go` (unexported constants, unused variables).
73-
- Fix Go 1.26.2 standard library vulnerabilities (GO-2026-4947, GO-2026-4946, GO-2026-4870, GO-2026-4866).
74-
75-
## Developer Notes
76-
77-
- Replace FlixHQ real API calls in tests with `httptest` mocks for reliability.
78-
- Add tests for Blogger video extraction, playback error returns, Goyabu scraper, and `CleanTitle` variations.
79-
- Add doc comments to exported functions in `appflow` package.
80-
- Enhance contribution guidelines with mandatory security and testing requirements.
81-
- CI workflows updated to Go 1.26.2 across `ci.yml`, `coverage.yml`, and `release.yml`.
82-
18+
- Enhance download speeds and reliability.

0 commit comments

Comments
 (0)