Release Notes
Track the latest updates, improvements, and new features
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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