Files
Anitrack/RELEASE_NOTES_v0.7.0.md
John O'Keefe a3b4857175 docs: add release notes for v0.7.0
Comprehensive release notes documenting:
- Major error handling improvements
- Backend API changes (AniList, MAL, Simkl)
- Frontend error modal and state management
- Bug fixes and stability improvements
- Technical details and upgrade instructions
2026-03-30 20:12:47 -04:00

5.5 KiB

🎉 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

🔧 Backend Improvements

AniList Integration

  • Replaced all log.Fatal() calls with proper error returns
  • Added error handling for API failures, network issues, and authentication errors
  • AniListSearch now returns detailed error messages
  • GetAniListUserWatchingList gracefully handles 403/404 responses

MyAnimeList Integration

  • Updated MALHelper to return structured errors
  • All MAL API functions now return errors instead of crashing:
    • GetMyAnimeList
    • MyAnimeListUpdate
    • GetMyAnimeListAnime
    • DeleteMyAnimeListEntry
  • Fixed OAuth callback server to prevent shutdown on errors

Simkl Integration

  • Updated SimklHelper with status code validation (200-299 range)
  • All Simkl API functions now return errors:
    • SimklGetUserWatchlist
    • SimklSyncEpisodes
    • SimklSyncRating
    • SimklSyncStatus
    • SimklSearch
    • SimklSyncRemove
  • Replaced log.Fatal() with proper error logging

💻 Frontend Improvements

New Error Management System

  • Centralized Error State: New reactive stores for API errors
    • apiError - Tracks current error with service, message, and status
    • isApiDown - Quick flag for API availability
  • Error Helper Functions:
    • setApiError() - Set error state from any component
    • clearApiError() - Reset error state

New Error Modal Component

  • Auto-displays when API errors occur
  • Shows service name, error message, and HTTP status code
  • "Retry Connection" button - Attempts to reconnect to the failed service
  • "Dismiss" button - Close modal and continue using the app
  • Beautiful red-themed styling with Tailwind CSS
  • Supports all three services (AniList, MAL, Simkl)

Updated User Interface

  • Home page now displays "API Unavailable" state when services are down
  • Helpful warning messages guide users during outages
  • App structure remains visible and functional during errors

🐛 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

📊 Technical Details

Go Backend Changes

  • AniListFunctions.go: Updated 3 functions with error handling
  • MALFunctions.go: Updated 5 functions with error handling
  • MALUserFunctions.go: Fixed server error handling
  • SimklFunctions.go: Updated 7 functions with error handling
  • SimklUserFunctions.go: Fixed 2 critical error handling issues

Frontend Changes

  • ErrorModal.svelte: New component (73 lines)
  • GlobalVariablesAndHelperFunctions.svelte: Added error state system (27 lines)
  • App.svelte: Integrated ErrorModal into main layout
  • CheckIfAniListLoggedInAndLoadWatchList.svelte: Added error handling
  • Home.svelte: Added API down state display

🎯 Impact

Before (v0.6.5)

  • App crashes to desktop when AniList API is down
  • Users see only console error messages
  • Must restart app after API failures
  • No way to retry failed connections

After (v0.7.0)

  • App stays open during any API failures
  • Beautiful modal dialogs explain what went wrong
  • One-click retry to reconnect services
  • Continue using app with limited functionality

🔄 Upgrading

No migration needed! This release is fully backward compatible.

Simply run:

git pull
wails build

Or download the latest release from the releases page.


🙏 Acknowledgments

This release addresses a critical stability issue that was affecting users during API service outages. Special thanks to the community for reporting these crashes and providing detailed error logs.


📝 Full Changelog

Added

  • Error modal component with retry/dismiss functionality
  • Centralized error state management system
  • API availability status tracking
  • Visual feedback for all API failures
  • Manual retry functionality for all services

Changed

  • AniList API functions to return errors instead of crashing
  • MAL API functions to return errors instead of crashing
  • Simkl API functions to return errors instead of crashing
  • Error handling from console-only to UI modal dialogs
  • App behavior from crash-on-error to graceful-degradation

Fixed

  • App crashes on AniList 403 errors
  • App crashes on network failures
  • MAL OAuth server shutdown on errors
  • Simkl JSON marshaling crashes
  • All log.Fatal() calls that terminated the app

Removed

  • alert() calls in favor of modal system
  • Vite timestamp file (cleanup)

Version: 0.7.0 Release Date: March 2026 Upgrade Difficulty: Easy (backward compatible) Recommended: Highly recommended for all users