-
AniTrack-1.6.2 Stable
released this
2026-09-01 20:26:29 -04:00 | 0 commits to main since this releaseSummary
This release fixes a long-standing breakage in the AniList "Sync Changes" flow on the anime page, along with the follow-up issues it uncovered in the MAL/Simkl sync path. Submitting changes now correctly saves to all connected services and updates the on-page services table.
Note: tag
1.6.1was an intermediate fix for the same overall issue. The changes below cover everything since1.6.0.What was broken
Clicking Sync Changes on an anime page:
- Sent a malformed GraphQL mutation to AniList, so changes were never actually saved to your AniList list.
- Because the app ignored AniList's error response, the page's AniList data was replaced with empty values — making it look like AniList had logged you off.
- Once errors were surfaced (1.6.1), a separate decoding bug caused the AniList response to fail parsing, which skipped the MyAnimeList and Simkl syncs entirely and left the services table unrefreshed.
Fixes
AniList
- Repaired the
SaveMediaListEntrymutation. The standardized media field block had been pasted in without itsmedia { … }wrapper, leaving media-level fields on the wrong type, list-level fields at the mutation root, and an unbalanced brace. The mutation now matches the tested API request, and entries save correctly again. - Fixed response decoding for array-shaped fields. AniList returns
airingSchedule.nodesandrelations.nodesas arrays, but the app's internal types declared them as single objects. Every full-media response failed to decode partway through. Both are now proper lists (with named sub-types), so responses decode completely — which also means genres and tags now refresh properly after a submit (the old copy-from-previous-value workaround has been removed). - Update and delete failures are no longer silent. The app previously discarded AniList's HTTP status and returned zeroed data on failure. Both
AniListUpdateEntryandAniListDeleteEntrynow report authentication errors, non-200 responses, and unparseable payloads, and log the status plus response body to the terminal for diagnosis.
Multi-service sync resilience
- One service failing no longer skips the others. Sync Changes and Delete Entries previously ran all three services inside a single error handler, so any AniList failure aborted the MyAnimeList and Simkl syncs without notice. Each service now runs in its own error-isolated block.
- Visible error reporting. If a service fails to sync, an error modal now names the service and the reason (with a retry option), instead of only logging to the developer console.
Internal
- Regenerated Wails frontend bindings for the corrected AniList types (
MediaAiringSchedule,MediaRelations,AiringScheduleNode, etc.). - Bumped
productVersionto 1.6.2.
Known issues
svelte-checkstill reports pre-existing type errors infrontend/wailsjs/go/models.tsandfrontend/src/helperDefaults/AniListGetSingleAnime.ts(generated/legacy types); these do not affect the build or runtime.
Downloads
-
Anitrack-1.6.0 Stable
released this
2026-08-29 13:26:40 -04:00 | 2 commits to main since this releaseAniTrack v1.6.0
More reliable MyAnimeList login
Two MyAnimeList login quirks are fixed:
- The "It is now safe to close your browser tab" dialog no longer appears for a silent background token refresh — it is now shown only when you actually complete a browser login.
- If both the access token and the refresh token are invalid, AniTrack now clears the stale tokens and automatically takes you through a fresh browser login, instead of leaving the app looking logged in without a username.
Login status indicators
When the app starts and verifies your accounts, the header now shows exactly what it's doing — Checking AniList, Checking MAL, and Checking Simkl — with spinners while each service is being resolved. The same spinners appear on the login entries in the user menu. No more wondering whether the app is stuck or whether you're actually signed in.
Toolchain & dependency updates
- Bumped the build toolchain to Go 1.25 and updated the associated
golang.org/xdependencies. - Upgraded Wails to v2.15.0, which unlocks the cross-platform notification API in the runtime bindings.
- Cleaned up
.gitignoreso compiled binaries and packaging archives are never committed.
Supported Services
Service Status AniList Sync, search, browse, genres, tags, sorting MyAnimeList Sync, search, automatic re-auth Simkl Sync, search What's Changed
- Rewrite the standard AniList media call with a shared typed model
- Regenerate Wails Go bindings for the AniList Browse feature
- Fix MyAnimeList silent token refresh showing a spurious browser dialog
- Auto re-login MyAnimeList when the refresh token is no longer valid
- Add per-service login status spinners to the header and user menu
- Upgrade Wails to v2.15.0 and Go to 1.25
- Ignore build binaries and archive artifacts in
.gitignore
Downloads
-
AniTrack-1.5.5 Stable
released this
2026-05-27 20:59:33 -04:00 | 11 commits to main since this releaseRelease Notes
v1.5.5
Bug Fixes
- Linux install script reliability and idempotency — Fixed tilde expansion by replacing quoted
~paths with$HOMEso they resolve correctly. Added existence checks before copying files so the script is idempotent and skips already-installed resources. Added progress/status echo messages for each installation step.
Chores
- Upgrade Go to 1.25 and update dependencies
- Bump Go toolchain from 1.24.0 to 1.25.0
- Upgrade Wails from v2.10.1 to v2.12.0
- Upgrade tidwall/gjson from v1.18.0 to v1.19.0
- Upgrade labstack/echo from v4.13.3 to v4.15.2
- Upgrade labstack/gommon from v0.4.2 to v0.5.0
- Upgrade samber/lo from v1.49.1 to v1.53.0
- Upgrade gorilla/websocket to v1.5.3 (new transitive dep)
- Upgrade go-webview2 from v1.0.19 to v1.0.23
- Upgrade danieljoos/wincred from v1.2.2 to v1.2.3
- Upgrade godbus/dbus/v5 from v5.1.0 to v5.2.2
- Upgrade jchv/go-winloader to latest
- Upgrade mattn/go-isatty from v0.0.20 to v0.0.22
- Upgrade tidwall/match from v1.1.1 to v1.2.0
- Upgrade golang.org/x/crypto, net, sys, term to latest
- Add go-toast/v2 as new transitive dependency from Wails
- Bump version to 1.5.5
Downloads
- Linux install script reliability and idempotency — Fixed tilde expansion by replacing quoted
-
AniTrack-1.5.1 Stable
released this
2026-05-27 17:33:39 -04:00 | 17 commits to main since this releaseAniTrack v1.5.1
A small patch release to address a bug that prevented certain anime from loading when using MyAnimeList integration.
Bug Fix
MyAnimeList statistics parsing
Fixed a crash that occurred when fetching anime details from MyAnimeList for titles where a statistics count (watching, completed, on_hold, dropped, or plan_to_watch) was zero. The MyAnimeList API returns non-zero counts as quoted strings (e.g.
"8217") but zero counts as bare numbers (e.g.0), which caused a JSON unmarshal error in the Go backend. A customFlexStringtype now handles both formats transparently.Downloads
-
AniTrack-1.5.0 Stable
released this
2026-04-24 23:05:40 -04:00 | 18 commits to main since this releaseAniTrack v1.5.0
A feature release adding AniList watchlist sorting and UI improvements.
Highlights
AniList Watchlist Sorting
A new sort dropdown in the watchlist header lets you dynamically reorder your AniList watchlist by various parameters, including:
- Media title (Romaji, English, Native)
- Score, Status, Progress
- Popularity, Priority, Repeat count
- Started On, Finished On, Added Time, Updated Time
Each sort option is available in ascending and descending order. Selecting a new sort immediately refreshes the watchlist.
Refresh Button Relocated
The refresh button has been moved out of the watchlist header into its own component at the top of the home page, making it more accessible and always visible.
UI Polish
- Removed extraneous spacing between pagination controls and the per-page selector
What's Changed
- feat(frontend): add AniList watchlist sort dropdown component with 30 sort options
- refactor(frontend): extract refresh button into standalone component and move to home page, replace with sort dropdown in watchlist header
- fix(frontend): remove extraneous top margin from pagination controls
Downloads
-
AniTrack-1.0.0 Stable
released this
2026-04-24 19:48:31 -04:00 | 24 commits to main since this releaseAniTrack v1.0.0
After months of iteration and refinement, AniTrack has reached its first stable release! This milestone marks the transition from an evolving prototype to a reliable, polished desktop app for tracking the anime you watch.
Highlights
Built against webkit2gtk 4.1
The Linux build now targets webkit2gtk-4.1, bringing improved compatibility with modern Linux distributions. A
Makefilehas been added with thewebkit2_41build tag configured out of the box — simply runmake buildormake devon Linux.Comprehensive error handling
All three supported services — AniList, MyAnimeList, and Simkl — now have robust error handling throughout the backend. A new error modal component on the frontend surfaces issues to the user instead of failing silently.
UI polish
- Added a refresh button to the watchlist with smart refresh-on-navigation behavior
- Pagination buttons now properly disable at boundary pages
- Progress adjustment buttons have disabled-state constraints to prevent invalid values
- Media cover images are correctly sized in the watchlist
- Dark mode is now the default across all elements
Supported Services
Service Status AniList Sync, search, genres, tags MyAnimeList Sync, search Simkl Sync, search Building from Source
Please refer to the README for instructions on setting up API keys, installing Wails, and building the application. Linux users can use the provided
Makefiletargets:make dev # run in development mode make build # build a production binaryWhat's Changed (since v0.7.0)
- Add Makefile with webkit2_41 build tag for Linux builds
- Integrate comprehensive error handling into the frontend application
- Add error modal component for surfacing API failures
- Add API error state management
- Add comprehensive error handling for Simkl, MAL, and AniList backends
- Implement dynamic sort parameter for AniList watchlist
- Standardize code formatting across components
- Update author contact information
Downloads
-
AniTrack-0.7.0 Stable
released this
2026-03-30 20:16:10 -04:00 | 30 commits to main since this release🎉 AniTrack v0.7.0 Release Notes
🚨 Major Feature: Comprehensive Error Handling
This release brings massive improvements to application stability and user experience. The app will no longer crash when API services are down or experiencing errors!
✨ What's New
🛡️ Graceful API Error Handling
- Application Stability: App now remains running even when AniList, MAL, or Simkl APIs are down
- Visual Error Feedback: Beautiful modal dialogs display error details instead of silent crashes
- Manual Retry: Users can retry failed API connections with a single button click
- Continue Using App: Dismiss error messages and continue with limited functionality
🐛 Bug Fixes
- Critical: Fixed app crashes when AniList API returns 403 Forbidden errors
- Critical: Fixed app crashes when AniList API is down or unreachable
- Critical: Fixed MAL OAuth server crashing on connection errors
- Critical: Fixed Simkl JSON marshaling errors crashing the app
- Improved: Better error messages for all API failures
Version: 0.7.0
Release Date: March 2026Downloads
-
AniTrack-0.6.5 Stable
released this
2026-03-22 21:54:13 -04:00 | 41 commits to main since this releaseAniTrack v0.6.5 Release Notes
Overview
This release focuses on improving user experience through enhanced disabled state handling, visual consistency improvements, and code quality enhancements. The changes prevent invalid user actions, provide better visual feedback, and maintain type safety throughout the application.
🎨 UI/UX Improvements
Enhanced Button Disabled States
Anime Component
Progress adjustment buttons now properly disable when reaching boundary conditions:
- ✅ Decrement button disabled at progress
0to prevent negative values - ✅ Increment button disabled when progress exceeds total episodes or next airing episode boundaries
- ✅ Improved visual feedback with background color removal on disabled state
Pagination Component
Navigation buttons now respect page boundaries:
- ✅ Previous page button disabled when on first page
- ✅ Next page button disabled when on last page
- ✅ Prevents unnecessary API calls and improves UX by clearly indicating navigation limits
Visual Consistency
WatchList Component
Fixed media cover image sizing:
- ✅ Applied uniform dimensions (
230px × 330px) across all cover images - ✅ Added object-fit styling to maintain aspect ratios
- ✅ Eliminates visual inconsistencies in the watch list grid
AvatarMenu Component
New service status indicator:
- ✅ Avatar dot indicator shows login status across all services
- ✅ Green dot: All services (AniList, MAL, Simkl) are logged in
- ✅ Yellow dot: One or more services not logged in
- ✅ Provides quick visual feedback for service availability
🔧 Code Quality & Type Safety
TypeScript Enhancements
Pagination Component
Fixed type safety issues in event handlers:
- ✅ Added proper type annotations for
KeyboardEventandEventhandlers - ✅ Migrated from
e.targettoe.currentTargetfor type-safe DOM element access - ✅ Resolved TypeScript errors related to EventTarget property access
Code Formatting
Pagination Component
Comprehensive code formatting:
- ✅ Standardized indentation from 4-space to 2-space convention
- ✅ Reorganized import statements and function declarations
- ✅ Improved code readability and maintainability
AvatarMenu Component
Code style improvements:
- ✅ Standardized indentation from 4-space to 2-space convention
- ✅ Improved import statement formatting and alignment
- ✅ Fixed semicolon usage throughout the component
- ✅ Added missing newline at end of file for standards compliance
📊 Statistics
- Files Changed:
5 - Lines Added:
397 - Lines Removed:
281 - Net Change:
+116 lines
🐛 Bug Fixes
- ✅ Fixed media cover image sizing inconsistencies in
WatchList - ✅ Resolved TypeScript type safety issues in
Paginationevent handlers - ✅ Prevented invalid progress adjustments that could exceed episode boundaries
- ✅ Prevented invalid pagination requests beyond available pages
- ✅ Fixed syntax error in
App.svelte
Downloads
- ✅ Decrement button disabled at progress
-
AniTrack-0.6.0 Stable
released this
2026-03-21 13:36:43 -04:00 | 48 commits to main since this releaseRelease Notes - AniTrack v0.6.0
Navigation & Performance Improvements
Smart Watchlist Refresh
- Implemented intelligent watchlist refresh system that only fetches updated data when changes have actually been made
- Eliminated unnecessary API calls and reduced server load
- Added dirty flag tracking to detect when users update anime status, progress, or delete entries
- Automatic refresh when navigating back to homepage, ensuring data stays current without manual intervention
- Parallel refresh support for multiple services (AniList, MAL, Simkl) when logged in
Client-Side Routing - Fixed header logo navigation to use svelte-spa-router's
linkaction instead of full page reloads - Prevents app remounting and redundant authentication checks on logo click
- Smoother navigation experience with instant page transitions
- Maintains application state across navigation
UI/UX Enhancements
WatchList Component Updates
- Added manual "Refresh WatchList" button for on-demand data updates
- Improved header layout with flexbox for proper alignment (title left, button right)
- Better visual hierarchy and spacing consistency
- Enhanced responsive design with improved button styling
Technical Improvements
- Fixed TypeScript compilation errors
- Cleaned up VSCode workspace configuration
- Improved code organization and maintainability
- Enhanced reactive state management patterns
Bug Fixes
- Resolved syntax errors in App.svelte that prevented compilation
- Fixed navigation flow to prevent unnecessary re-authentication
Downloads
-
AniTrack-0.5.3 Stable
released this
2026-03-20 15:58:02 -04:00 | 53 commits to main since this releaseUpdated to 0.5.3 to fix a bug where the spinner kept loading after submit and the genres were not brought back in after update.
Downloads