{"id":18425792,"url":"https://github.com/faforever/patchnotes","last_synced_at":"2026-04-04T07:33:06.417Z","repository":{"id":35034090,"uuid":"39148359","full_name":"FAForever/patchnotes","owner":"FAForever","description":"Website containing patchnotes","archived":false,"fork":false,"pushed_at":"2025-10-24T14:26:15.000Z","size":94756,"stargazers_count":1,"open_issues_count":0,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-10-24T16:04:34.377Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://patchnotes.faforever.com","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"RezaOptic/user-authorization-django","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FAForever.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"faf"}},"created_at":"2015-07-15T16:37:07.000Z","updated_at":"2025-10-24T14:26:18.000Z","dependencies_parsed_at":"2024-01-17T15:08:57.370Z","dependency_job_id":"42ca9874-8642-4949-ba05-71cc0eb7933b","html_url":"https://github.com/FAForever/patchnotes","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/FAForever/patchnotes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2Fpatchnotes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2Fpatchnotes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2Fpatchnotes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2Fpatchnotes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FAForever","download_url":"https://codeload.github.com/FAForever/patchnotes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2Fpatchnotes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281930809,"owners_count":26585787,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T05:05:38.648Z","updated_at":"2026-04-04T07:33:06.383Z","avatar_url":"https://github.com/FAForever.png","language":"HTML","funding_links":["https://patreon.com/faf"],"categories":[],"sub_categories":[],"readme":"# FAF Patchnotes\n\n\u003e **Version 2.3.1** - A modern Progressive Web App providing comprehensive access to all current and previous patch notes for *Supreme Commander: Forged Alliance Forever* (FAF), featuring advanced search capabilities, offline functionality, and a beautiful frosted glass interface.\n\n---\n\n## Overview\n\n**Patchnotes Faforever** is a professional PWA platform that serves as a centralized, feature-rich hub for players to stay informed about the latest game updates, balance changes, and development progress for FAF. Whether you're a long-time player or just starting, you'll find organized, searchable patch information with a premium user experience across all devices.\n\n## ✨ Features\n\n### 🔍 **Advanced Search \u0026 Filtering**\n- Real-time search through all patch notes with instant results\n- Year-based filtering for quick navigation through patch history\n- Live search statistics and result counts\n- Keyboard shortcuts for power users (press `Ctrl/Cmd + K` for search, `?` for help)\n\n### 📱 **Progressive Web App (PWA)**\n- Install as a native app on any device (mobile, tablet, desktop)\n- Full offline functionality - browse patches without internet\n- Background updates with smart caching\n- Push notification support (future feature)\n\n### 🎨 **Modern UI/UX**\n- Beautiful frosted glass design with dynamic backgrounds\n- Dark/Light theme toggle with system preference detection\n- Responsive design optimized for all screen sizes\n- Smooth animations and professional polish\n\n### ♿ **Accessibility \u0026 Performance**\n- **WCAG 2.1 AAA compliant** - Full accessibility for users with disabilities\n- **Skip links** for keyboard navigation\n- **Screen reader support** with comprehensive ARIA labels\n- **Keyboard shortcuts** for all functionality (press `?` for help)\n- **High contrast focus indicators** for visibility\n- **Reduced motion support** for users with vestibular disorders\n- **44×44px minimum touch targets** (WCAG 2.1 AAA)\n- Optimized performance with sub-second load times\n- Error boundaries with automatic retry mechanisms\n- 📖 **[Full Accessibility Documentation](ACCESSIBILITY.md)**\n\n### 📊 **Analytics \u0026 Monitoring**\n- Privacy-friendly user behavior tracking\n- Performance monitoring and diagnostics\n- Search pattern analysis for continuous improvement\n- Session analytics for usage insights\n\n### 🛡️ **Reliability \u0026 Quality**\n- Comprehensive error handling and recovery\n- Background sync for seamless updates\n- Resource optimization and intelligent caching\n- Cross-browser compatibility with fallback support\n\n## 🚀 How to Use\n\n### **Web Browser**\nVisit: 👉 [https://patchnotes.faforever.com/](https://patchnotes.faforever.com/)\n\n### **Install as App**\n1. **Desktop**: Click the install prompt or use your browser's \"Install\" option\n2. **Mobile**: Tap \"Add to Home Screen\" when prompted\n3. **Benefits**: Faster loading, offline access, native app experience\n\n### **Search \u0026 Navigation**\n- Use the search bar to find specific patches, units, or changes\n- Filter by year using the dropdown menu\n- Press `Ctrl/Cmd + K` for quick search access\n- Press `?` to view all keyboard shortcuts\n- Toggle between Dark/Light themes in the footer\n\n### **Offline Usage**\nOnce installed, the app works completely offline - perfect for reviewing patches during gameplay or when internet is limited.\n\n## 🛠️ Technical Stack\n\n- **Frontend**: Vanilla JavaScript (ES6+), CSS3 with advanced features\n- **PWA**: Service Worker, Web App Manifest, Background Sync\n- **Styling**: CSS Grid, Flexbox, Backdrop-filter, Custom Properties\n- **Performance**: Resource preloading, critical CSS inlining, optimized caching\n- **Accessibility**: ARIA labels, semantic HTML, keyboard navigation, WCAG 2.1 AAA\n- **Monitoring**: Performance tracking, error boundaries, user analytics\n\n## 📂 Project Structure\n\n```\n├── index.html              # Main application entry point\n├── manifest.json           # PWA configuration\n├── sw.js                   # Service Worker for offline functionality\n├── assets/\n│   ├── data/\n│   │   └── patches.json    # Patch metadata\n│   └── images/             # Icons, backgrounds, faction logos, unit images\n│       ├── backgrounds/\n│       ├── Enhancements/\n│       ├── faction/\n│       ├── icons/\n│       ├── orders/\n│       ├── thumbnail/\n│       └── units/\n├── pages/                  # Individual patch note HTML files\n│   ├── 2017/ ... 2026/\n│   └── Template/\n├── scripts/\n│   ├── analytics.js        # User behavior tracking\n│   ├── backToTop.js        # Back to top button\n│   ├── collapse.js         # Collapsible sections\n│   ├── contentSidemenu.js  # Content navigation\n│   ├── coreUI.js           # Core UI functionality\n│   ├── errorBoundary.js    # Error handling\n│   ├── headConfig.js       # Head configuration\n│   ├── keyboardShortcuts.js # Keyboard shortcuts (? for help)\n│   ├── lazyLoader.js       # Lazy loading images\n│   ├── logger.js           # Logging system\n│   ├── performance.js      # Performance monitoring\n│   ├── populatePatches.js  # Patch list generation\n│   ├── pwa.js              # PWA installation and updates\n│   ├── search.js           # Advanced search functionality\n│   ├── updatePatchFiles.js # Patch file updates\n│   └── validatePatches.js  # Patch data validation\n└── style/\n    ├── balance.css         # Balance change styling\n    ├── critical.css        # Critical inline CSS\n    ├── index.css           # Main styles with frosted glass\n    ├── pwa.css             # PWA-specific styling\n    ├── root.css            # CSS variables and base styles\n    └── components/         # Component-specific styles\n        ├── accessibility.css\n        ├── button.css\n        ├── enhanced-ui.css\n        ├── images.css\n        ├── keyboard-shortcuts.css\n        ├── patch_*.css     # Patch page components\n        └── ...\n```\n\n## 🤝 Contributing\n\nContributions are welcome and appreciated!  \nIf you'd like to help improve the site or suggest new features:\n\n### **Ways to Contribute**\n- 🐛 **Report bugs** - Open an issue with detailed reproduction steps\n- 💡 **Suggest features** - Share ideas for new functionality\n- 🔧 **Submit PRs** - Fix bugs or implement new features\n- 📖 **Improve docs** - Help make the documentation better\n- 🎨 **Design feedback** - Share UI/UX improvement suggestions\n\n### **Development Setup**\n1. Clone the repository\n2. Serve the files using a local HTTP server (required for PWA features)\n3. Make your changes and test across different devices/browsers\n4. Submit a pull request with a clear description\n\n### **Areas We'd Love Help With**\n- Performance optimizations\n- Accessibility improvements\n- New search features\n- Mobile experience enhancements\n- Additional PWA capabilities\n\n## 📄 License\n\nThis project is open-source and available under the [MIT License](LICENSE).\n\n## 🙏 Acknowledgements\n\nA huge thank you to:\n- **FAF Community** - For continuous feedback and support\n- **Contributors** - Everyone who helps improve the project\n- **Players** - Who make this resource valuable and worthwhile\n\nYour efforts help keep Supreme Commander: Forged Alliance Forever and this project alive and thriving!\n\n---\n\n## 🔗 Links\n\n### **Live Site \u0026 Community**\n- **🌐 Live Site:** [https://patchnotes.faforever.com/](https://patchnotes.faforever.com/)\n- **📱 Install as App:** Available on all devices via browser\n- **🎮 FAForever:** [https://faforever.com/](https://faforever.com/)\n- **💬 Community:** [FAForever Discord](https://discord.gg/hgvj6Af)\n\n### **Documentation**\n- **♿ [Accessibility Statement](ACCESSIBILITY.md)** - WCAG 2.1 AAA compliance \u0026 testing\n- **🤝 [Contributing Guide](CONTRIBUTING.md)** - How to contribute to the project\n- **🔒 [Security Policy](SECURITY.md)** - Vulnerability reporting \u0026 security features\n- **🏗️ [Architecture](ARCHITECTURE.md)** - Technical documentation \u0026 design decisions\n- **📝 [Changelog](CHANGELOG.md)** - Version history \u0026 release notes\n\n---\n\n*Built with ❤️ for the Supreme Commander: Forged Alliance Forever community*\n\n\n---\n\n# Patchnotes Faforever\n\nThis repository contains the source code and documentation for the **Patchnotes Faforever** website — a professional PWA platform dedicated to sharing comprehensive patch notes for the real-time strategy game *Forged Alliance Forever*.\n\n## Overview\n\n**Patchnotes Faforever** serves as a centralized, feature-rich hub for players to stay informed about the latest game updates, balance changes, and development progress for FAF. Whether you're a long-time player or just starting, you'll find organized, searchable patch information with a premium user experience across all devices.\n\n## ✨ Features\n\n### 🔍 **Advanced Search \u0026 Filtering**\n- Real-time search through all patch notes with instant results\n- Year-based filtering for quick navigation through patch history\n- Live search statistics and result counts\n- Keyboard shortcuts for power users (Ctrl/Cmd + K)\n\n### 📱 **Progressive Web App (PWA)**\n- Install as a native app on any device (mobile, tablet, desktop)\n- Full offline functionality - browse patches without internet\n- Background updates with smart caching\n- Push notification support (future feature)\n\n### 🎨 **Modern UI/UX**\n- Beautiful frosted glass design with dynamic backgrounds\n- Dark/Light theme toggle with system preference detection\n- Responsive design optimized for all screen sizes\n- Smooth animations and professional polish\n\n### ♿ **Accessibility \u0026 Performance**\n- **WCAG 2.1 AAA compliant** - Full accessibility for users with disabilities\n- **Skip links** for keyboard navigation\n- **Screen reader support** with comprehensive ARIA labels\n- **Keyboard shortcuts** for all functionality (press `?` for help)\n- **High contrast focus indicators** for visibility\n- **Reduced motion support** for users with vestibular disorders\n- **44×44px minimum touch targets** (WCAG 2.1 AAA)\n- Optimized performance with sub-second load times\n- Error boundaries with automatic retry mechanisms\n- 📖 **[Full Accessibility Documentation](ACCESSIBILITY.md)**\n\n### 📊 **Analytics \u0026 Monitoring**\n- Privacy-friendly user behavior tracking\n- Performance monitoring and diagnostics\n- Search pattern analysis for continuous improvement\n- Session analytics for usage insights\n\n### 🛡️ **Reliability \u0026 Quality**\n- Comprehensive error handling and recovery\n- Background sync for seamless updates\n- Resource optimization and intelligent caching\n- Cross-browser compatibility with fallback support\nThis simple website provides access to all current and previous patch notes for *Forged Alliance Forever* (FAF), including game updates and balance changes.\n\n---\n\n# Patchnotes Faforever\n\nThis repository contains the source code and documentation for the **Patchnotes Faforever** website — a platform dedicated to sharing comprehensive patch notes for the real-time strategy game *Forged Alliance Forever*.\n\n## Overview\n\n**Patchnotes Faforever** serves as a centralised hub for players to stay informed about the latest game updates, balance changes, and development progress for FAF. Whether you're a long-time player or just starting, you’ll find organised, detailed patch information here.\n\n## Features\n\n- Complete archive of patch notes for all major and minor updates.\n- In-depth breakdowns of unit changes, gameplay mechanics, and bug fixes.\n- Clean, user-friendly interface for browsing and searching.\n\n## 🚀 How to Use\n\n### **Web Browser**\nVisit: 👉 [https://patchnotes.faforever.com/](https://patchnotes.faforever.com/)\n\n### **Install as App**\n1. **Desktop**: Click the install prompt or use your browser's \"Install\" option\n2. **Mobile**: Tap \"Add to Home Screen\" when prompted\n3. **Benefits**: Faster loading, offline access, native app experience\n\n### **Search \u0026 Navigation**\n- Use the search bar to find specific patches, units, or changes\n- Filter by year using the dropdown menu\n- Press `Ctrl/Cmd + K` for quick search access\n- Toggle between Dark/Light themes in the footer\n\n### **Offline Usage**\nOnce installed, the app works completely offline - perfect for reviewing patches during gameplay or when internet is limited.\n\n## 🛠️ Technical Stack\n\n- **Frontend**: Vanilla JavaScript, CSS3 with advanced features\n- **PWA**: Service Worker, Web App Manifest, Background Sync\n- **Styling**: CSS Grid, Flexbox, Backdrop-filter, Custom Properties\n- **Performance**: Resource preloading, critical CSS inlining, optimized caching\n- **Accessibility**: ARIA labels, semantic HTML, keyboard navigation\n- **Monitoring**: Performance tracking, error boundaries, user analytics\n\n## 📂 Project Structure\n\n```\n├── index.html              # Main application entry point\n├── manifest.json           # PWA configuration\n├── sw.js                   # Service Worker for offline functionality\n├── assets/\n│   ├── data/               # Patch data files\n│   ├── images/             # Icons, backgrounds, faction logos\n│   └── ...\n├── scripts/\n│   ├── search.js           # Advanced search functionality\n│   ├── pwa.js              # PWA installation and updates\n│   ├── performance.js      # Performance monitoring\n│   ├── analytics.js        # User behavior tracking\n│   └── ...\n└── style/\n    ├── index.css           # Main styles with frosted glass effects\n    ├── pwa.css             # PWA-specific styling\n    └── root.css            # CSS variables and base styles\n```\n\n## Contributing\n\nContributions are welcome!  \nIf you’d like to help improve the site or suggest new features, feel free to:\n\n- Submit a pull request\n- Open an issue on this repository\n\nThis project is open-source and available under the [MIT License](LICENSE).\n\n## Acknowledgements\n\nA big thank you to the FAF community and all contributors for their continued support and feedback — your efforts help keep the game and this project alive and thriving.\n\n---\n\n🔗 **Visit Patchnotes Faforever:** [https://patchnotes.faforever.com/](https://patchnotes.faforever.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaforever%2Fpatchnotes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaforever%2Fpatchnotes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaforever%2Fpatchnotes/lists"}