Version 2.0.0 Major
November 22, 2025

🎯 Focus Shift

  • Artist-Centric Experience: muecal now focuses on artist discovery and collection management through the Artist Network Map
  • Streamlined Navigation: Simplified menu structure centered around Artists, Search, and Network features

✨ New Features

  • Spotify Listening History Sync: For Spotify users, Artist Network Map now automatically detects artists you've listened to from your top artists, recently played tracks, saved tracks, saved albums, and followed artists
  • Filter Match Count: The Filters section now displays the number of matched nodes (e.g., "117/150") so you can see how many artists match your current filter settings
  • Rate Limit Error Display: When API rate limits are reached, a clear message is shown with the exact time when you can try again

πŸ”§ Improvements

  • Spotify Sync Progress Indicator: Shows a progress indicator with Spotify icon while syncing your listening history
  • Persistent Listened Status: Your "listened" status from Spotify sync is now saved to your account, so it persists across sessions
  • Reorganized Control Panel: Graph Layout options moved below the Legend section for a more logical flow
  • Accurate Statistics: Total Artists count now correctly reflects the actual number of nodes displayed on the map
Version 1.9.0 Minor
November 22, 2025

✨ New Features

  • Spotify Listening History Sync: For Spotify users, Artist Network Map now automatically detects artists you've listened to from your top artists, recently played tracks, saved tracks, saved albums, and followed artists
  • Filter Match Count: The Filters section now displays the number of matched nodes (e.g., "117/150") so you can see how many artists match your current filter settings
  • Rate Limit Error Display: When API rate limits are reached, a clear message is shown with the exact time when you can try again

πŸ”§ Improvements

  • Spotify Sync Progress Indicator: Shows a progress indicator with Spotify icon while syncing your listening history
  • Persistent Listened Status: Your "listened" status from Spotify sync is now saved to your account, so it persists across sessions
  • Reorganized Control Panel: Graph Layout options moved below the Legend section for a more logical flow
  • Accurate Statistics: Total Artists count now correctly reflects the actual number of nodes displayed on the map
Version 1.8.0 Minor
November 10, 2025

✨ New Features

  • User Statistics Dashboard: New Profile page displaying comprehensive personal statistics including events going/interested counts, login streaks, and monthly/yearly summaries
  • Level System: Progress through 6 levels from "Music Explorer" to "Music Master" based on your event engagement, with experience points and visual progress tracking
  • Achievement Badges: Earn 8 unique badges across multiple categories:
    • Milestone badges: First Event, Getting Started (5 events), Event Enthusiast (10 events)
    • Streak badges: Week Warrior (7-day login), Month Master (30-day login)
    • Exploration badge: Social Butterfly (events in 5+ countries)
    • Planning badge: Early Bird (marked event 30+ days in advance)
    • Preference badge: Night Owl (marked 5 events after 10 PM)
  • Automatic Badge Awarding: Badges are automatically checked and awarded when marking events or logging in, with visual feedback on your progress
  • Activity Tracking: Comprehensive activity logging system tracks all your engagement including event marking, artist additions, and login history

πŸ”§ Improvements

  • Badge Showcase UI: Beautiful visual display of earned and locked badges with categories, icons, descriptions, and earned dates
  • Progress Visualization: Interactive progress bars showing advancement to next level and badge completion percentage
  • Time-based Statistics: Detailed breakdowns of events by month and year for tracking your concert-going patterns over time
  • Streak Tracking: Visual display of current and longest login streaks to encourage consistent engagement

πŸ› οΈ Technical Features

  • Statistics API Endpoints: New RESTful API endpoints for user stats, badges, activity summary, and recent activities
  • Database Schema: Three new tables (user_stats, user_activity_log, user_badges) with PostgreSQL/SQLite dual support
  • Gamification Services: Dedicated services for statistics calculation and badge management with comprehensive business logic
  • Automatic Updates: Stats and badges are updated automatically when marking/unmarking events or logging in
Version 1.7.0 Minor
November 10, 2025

✨ New Features

  • Community Page: New Community page showing trending events and recent activity across all users, helping you discover popular events in the community
  • Interested Status: Added "Interested" option alongside "Going" for event attendance, allowing you to mark events you're interested in separately from confirmed attendance
  • Weekly Summary: Home page now displays a summary of this week's upcoming events with breakdowns by artists, countries, and cities
  • Similar Artists: My Artists page now shows artist recommendations based on your favorite artists to help you discover new music

πŸ”§ Improvements

  • Attendance Filters: Calendar filters now separate "Going" and "Interested" into individual checkboxes for more precise filtering
  • Trending Events Display: Enhanced Trending Events section with artist images and improved layout for better visual appeal
  • Filter Translations: List view filters now properly update when switching between English and Japanese
Version 1.6.0 Minor
November 3, 2025

✨ New Features

  • Google Login Country Detection: Automatic country detection for Google login users based on browser locale, enabling accurate domestic/international event classification
  • About Page Enhancements: Added Limitations section explaining Spotify integration restrictions and completely redesigned About the Developer section with personal story, favorite genres, and social profile links with icons

πŸ”§ Improvements

  • Enhanced Share Calendar: X (Twitter) share text now includes country filter information and "attending only" status when applicable, with full country names (e.g., "Japan" instead of "JP")
  • Event Share URLs: Individual event shares now include Bandsintown event URLs for easy ticket access from social media
  • Empty Calendar UX: Improved messaging for empty calendars with Login button for non-authenticated users and helpful tips about artist migration when logging in
  • Music Insights Display: Restored music genre insights on Home and Calendar pages with accurate "Based on your followed artists" wording instead of "listening habits"
  • Cleaner UI Design: Removed colored borders from music insights and event source notices for a more subtle, modern appearance
  • Button Layout Improvements: Reordered buttons on Home page to prioritize My Artists before Search Artists, and increased button sizes on Search Artists page for better accessibility
  • Navigation Localization: Improved Japanese translation for About menu from "に぀いて" to "muecal とは" for better clarity

πŸ› Bug Fixes

  • Spotify Dev Mode Modal: Fixed missing "Spotify Connection Unavailable" modal for non-test users and improved modal positioning to ensure entire content is visible without scrolling
  • Music Insights Fallback: Fixed music insights to work without user-top-read scope by falling back to followed artists when top artists are unavailable
Version 1.5.0 Minor
October 30, 2025

✨ New Features

  • Contact Form: Users can now submit inquiries, bug reports, feature requests, and feedback directly through a comprehensive contact form accessible from any page footer
  • Bilingual Contact Support: Full English and Japanese language support for the contact form including all labels, placeholders, and validation messages
  • Email Notifications: Submitted inquiries are sent via email with formatted HTML templates for better readability
  • Reply Preference: Users can indicate whether they need a reply when submitting their inquiry

πŸ”§ Improvements

  • Inquiry Categories: Organized contact form with categories (Bug Report, Feature Request, How to Use, Other) for better issue classification
  • Form Validation: Client-side and server-side validation ensures all required information is provided before submission
  • Rate Limiting: Spam protection with maximum 5 submissions per 15 minutes per IP address
  • Data Preservation: Form data is preserved if validation errors occur, so users don't lose their input
  • Responsive Design: Contact form is fully optimized for both mobile and desktop viewing

πŸ”’ Security

  • XSS Protection: All user input is properly escaped to prevent cross-site scripting attacks
  • Email Validation: Strict email format validation with normalization to prevent invalid submissions
  • Input Sanitization: All form fields are sanitized and validated with character limits to prevent abuse
Version 1.4.0 Minor
October 29, 2025

✨ New Features

  • Calendar Screenshot Sharing: Share your calendar as a screenshot directly to X (Twitter) with automatic image capture and posting
  • Web Share API Support: iOS users can now use native share sheet for sharing calendar screenshots to various platforms
  • Optimized Mobile Screenshots: Calendar automatically switches to desktop layout when capturing screenshots on mobile for better readability

πŸ”§ Improvements

  • Smart URL Integration: Share posts now include muecal.com URL for easy access
  • Consistent Language: Share text always uses English regardless of user's language setting for broader audience reach
Version 1.3.1 Patch
October 30, 2025

πŸ”§ Improvements

  • Spotify Branding Enhancement: All Spotify-related buttons and elements now display the official Spotify logo icon for better brand recognition and license compliance
  • Improved Button Spacing: Enhanced visual spacing between Spotify logo and button text across all pages for better readability
  • Consistent Design: Unified branding treatment across navigation headers, call-to-action buttons, and feature descriptions
Version 1.3.0 Minor
October 29, 2025

✨ New Features

  • Interactive Event Map: View event locations on an interactive map with Leaflet.js integration
  • Date-based Map Filtering: Click on calendar dates to filter and highlight events on the map for that specific date
  • Artist-based Map Filtering: Click on event titles to filter the map showing only that artist's events
  • Map Toggle Button: Show/hide the events map with a convenient toggle button positioned above the map
  • Smart Map Display: Map only appears after user explicitly clicks "Show Events Map", preventing automatic display when filtering

πŸ”§ Improvements

  • Visual Filter Feedback: Clear display of active filters with event counts and easy-to-use clear buttons
  • Enhanced User Experience: Intuitive map interactions with helpful hints for filtering features
  • Responsive Map Design: Map container adapts to different screen sizes for optimal viewing
Version 1.2.1 Patch
October 25, 2025

πŸ› Bug Fixes

  • Initial Display Filter: Fixed issue where all worldwide events were shown on first load instead of user's country events
  • Browser Back Navigation: Fixed country filter dropdown not preserving selected value after browser back navigation
  • Filter Persistence: Country filter selection now correctly saves to session storage and restores on page navigation
Version 1.2.0 Minor
October 21, 2025

✨ New Features

  • About Page: Added comprehensive About page with service overview, use cases, and developer information
  • Release Notes Page: New page to track all updates and changes in chronological order

πŸ”§ Improvements

  • Mobile Keyboard Support: Country dropdown now shows software keyboard on mobile devices for easier searching
  • Enhanced Search UX: Improved input focus behavior for better mobile user experience
Version 1.1.2 Patch
October 21, 2025

πŸ”’ Security

  • API Key Protection: All Bandsintown API responses now mask app_id values in logs
  • Enhanced Privacy: Sensitive credentials are never exposed in application logs
Version 1.1.1 Patch
October 17, 2025

πŸ› Bug Fixes

  • Country Filter Precision: Fixed JP country filter showing events from other countries
  • Improved Matching: Enhanced country code matching to use word boundaries, preventing false matches (e.g., "us" no longer matches "australia")

πŸ”§ Improvements

  • Calendar Display: Month header and navigation buttons now display even when no events are found
  • Better UX: Users can navigate calendar months regardless of event availability
Version 1.1.0 Minor
October 2025

✨ New Features

  • Multi-language Support: Added English and Japanese language support with easy toggle
  • Desktop View Mode: Mobile users can now switch to desktop view for better layout on larger screens
  • Searchable Country Dropdown: Type to search through 250+ countries in the filter
  • ISO 3166-1 Support: Full support for international country codes

πŸ”§ Improvements

  • Port Management: Automatic port cleanup on server restart to prevent EADDRINUSE errors
  • Graceful Shutdown: Proper handling of server termination signals (SIGTERM, SIGINT, SIGUSR2)
Version 1.0.0 Major
September 2025

πŸŽ‰ Initial Release

  • Spotify Integration: OAuth authentication and artist following sync
  • Bandsintown API: Real-time concert and festival data worldwide
  • Calendar Views: Both calendar grid and list view for events
  • Country Filtering: Filter events by user's country or view all globally
  • Event Details: Direct links to Bandsintown for tickets and Spotify for artist info
  • Real-time Progress: Server-Sent Events for loading status with animated progress bar
  • Music Insights: Display user's top genres and listening statistics
  • Responsive Design: Mobile-first design optimized for all devices
  • Social Sharing: Share individual events on X (Twitter)
  • Event Classification: Distinguish between domestic and international events

πŸ› οΈ Technical Features

  • Node.js & Express: Fast, scalable backend
  • PostgreSQL/SQLite: Dual database support for production and development
  • Rate Limiting: Automatic API rate limiting for Spotify and Bandsintown
  • Response Caching: Smart caching to reduce API calls
  • Error Handling: Comprehensive error recovery and user feedback