Release history
Changelog
Every new feature, fix and speed-up on s&box Explorer, newest first.
- Last 30 days
- 90
- Features shipped
- 233
- Fixes
- 218
- Days with changes
- 66
114 changes in November 2025 Clear filters
November 2025
6
-
Fix
10:09 AM
Fix hero title text cutoff with padding and line-height adjustments
e7f95f9 -
Fix
8:38 AM
Fix duplicate 'by' text in package cards
f190c15 -
Fix
8:04 AM
Add logging to scheduled tasks and fix PostgreSQL subquery aliases
999d434 -
Fix
5:38 AM
Fix database schema errors - Remove name column from saved_searches query - Stub out non-existent org/all API endpoint
934fcb6 -
Fix
1:57 AM
Fix notification dispatcher - use API functions and correct schema
40a91fa -
Fix
12:19 AM
Remove duplicate update date from package cards
927704f
4
-
Fix
11:55 PM
Chart rank changes now display correctly for current and historical dates
07cba63 -
Fix
12:37 AM
Css stuf
aa34dc6 -
Fix
12:14 AM
Fix pagination: preserve query params and remove premature page validation
7ab906b -
Fix
12:10 AM
Fix set-language API to use user_settings table instead of non-existent users table
9b11270
10
-
Fix
11:53 PM
Fix notifications delete_all action mismatch
e0e9d55 -
Fix
11:48 PM
Fix admin panel errors and notification system
Details
- Fixed database connection issues in admin tools (AdminUserLookup, AdminActivityHeatmap, AdminBulkActions, CacheHealthMonitor)
- Converted PostgreSQL-specific queries to SQLite/PostgreSQL compatible syntax
- Fixed NotificationManager to use correct PostgreSQL schema (title/message columns)
- Fixed broadcast notification system to properly create notifications
- Improved user lookup page styling with dedicated CSS classes
- Fixed notifications.js to handle API response format correctly
- Added database driver detection for proper table creation (SERIAL vs AUTOINCREMENT)
- Fixed SQL syntax errors and missing file checks in admin classes
597f0f2 -
Fix
11:16 PM
Fix and modernize admin panel CSS and layouts
Details
- Recreate admin.css from scratch with clean design system
- Fix CSS variable conflicts (use --space-* instead of --spacing-*)
- Standardize card headers with icons across all admin pages
- Unify button styles (btn-admin, btn-danger, btn-warning)
- Remove unwanted hover effects and gradients
- Restructure claim-org page to 2-column layout
- Fix donations page button styling and spacing
- Fix warmup-redis grid layout
- Improve responsive breakpoints for mobile/tablet
- Clean up inline styles and use admin.css classes
07b1805 -
Fix
10:53 PM
Fix admin pages: PostgreSQL compatibility, CSS styling, and API endpoints
Details
- Convert all SQLite syntax to PostgreSQL (strftime, julianday, boolean comparisons)
- Fix CSS/layout issues across admin pages (active-users, warmup-redis, broadcast-notification)
- Create missing analytics API endpoints (realtime, behavior, comparison, predictions)
- Add proper timestamp casting and type conversion for PostgreSQL
- Fix JavaScript null checks in analytics-advanced
- Remove deprecated links from admin index (API Documentation, Steam Friends Cache)
- Add deprecation warning to steam-friends-cache page
- Ensure consistent admin.css styling across all pages
202aa7b -
Fix
10:30 PM
Fix donation stats not updating - use Unix timestamp for last_updated
8692cda -
Fix
10:21 PM
Fix reputation system and user profile stats
Details
- Add s&box ownership check via Steam API
- Award sbox_owner badge to verified owners
- Fix leaderboard to show display names and avatars
- Fix user package fetching for player profiles with claimed orgs
- Remove artificial limits on claimed org packages (was 4 per org, 12 total)
- Improve pagination to fetch all packages (up to 10k per type)
- Fix user-experience API to return empty array instead of 401 for unauthenticated users
- Add admin tools: sync-reputation.php, clear-user-cache.php, clear-all-user-caches.php
6eef905 -
Fix
6:47 PM
Fix favorite/follow button state persistence on package pages
Details
- Added server-side checks for favorite and follow status on page load
- Query favorites and followed_packages tables to set initial button state
- Removed JavaScript checkFollowStatus call on init to prevent overriding server state
- Fixed follow button to use 'following' class instead of 'active'
- Updated button text to show 'Following' when active
- Added error handling for database queries
173c677 -
Fix
6:20 PM
Fix compression issues, PostgreSQL schema errors, and Steam Presence toggle
Details
- Disabled PHP CompressionMiddleware (Apache handles compression)
- Disabled cache compression to prevent corruption
- Fixed PostgreSQL schema: removed user_type column from user_sessions INSERT
- Added steam_presence_settings table to PostgreSQL migration
- Fixed SQLite syntax in SteamPresenceIntegration for PostgreSQL compatibility
- Fixed saveUserSettings to use PostgreSQL ON CONFLICT syntax
- Added ini_set to disable zlib compression in API endpoints
- Fixed Steam Presence toggle to load server-side for instant display
- Fixed API URLs for Steam Presence endpoints
- Removed temporary debug tools
37740a7 -
Fix
4:31 AM
Fixing the fixes
d69c4c8 -
Fix
12:59 AM
Fix PostgreSQL compatibility and PWA meta tags
Details
- Add mobile-web-app-capable meta tag
- Fix getDatabase() to support PostgreSQL
- Add saved_searches table to both SQLite and PostgreSQL
- Fix NotificationManager and WatchlistManager to use getDatabase()
- Fix PostgreSQL boolean comparisons (FALSE/TRUE vs 0/1)
- Fix I18n to work with both SQLite and PostgreSQL
- Remove PWA install prompt auto-trigger warning
- Fix user_id vs steam_id column naming in PostgreSQL schema
e27172a
6
-
Fix
8:52 PM
Fix news post default images - use s&box header as placeholder
4d56f06 -
Fix
8:35 PM
Fix notification system schema mismatch
Details
- Updated NotificationManager to use 'content' column instead of 'title'/'message'
- Fixed dispatch-notifications.php to use consolidated DB when available
- Updated createNotification and createBatchNotifications methods
- Notifications now fire correctly when packages are updated
d389f3e -
Fix
8:28 PM
Fix database locks, 404 errors, and concurrent worker overload
Details
- Increased SQLite busy_timeout to 30s and added retry logic to cache operations
- Added ProcessLockManager to limit concurrent workers to 5 max
- Disabled CURLOPT_FAILONERROR and added smart 404 filtering for missing packages
- Added 2s batch delays between worker spawns in schedulers
- Prevents database lock contention and worker stampedes
cf434b8 -
Fix
7:18 PM
Css stuff again
d3be490 -
Fix
4:32 PM
Footer
53173be -
Fix
4:14 PM
Improved footer stats
86a0bff
6
-
Fix
5:36 PM
Fix spacing between navbar and page content
72d3294 -
Fix
3:20 PM
Fix translation placeholder syntax for steamLink in credits page
Details
Changed {steamLink} to {{steamLink}} across all locale files to match i18n system's double-brace placeholder format
18f4767 -
Fix
3:13 PM
Fix all stylelint issues across CSS files
6daee0a -
Fix
2:11 PM
Changelog commit items invisible due to opacity
Details
- Removed opacity: 0 from .commit-item causing hidden text
- fadeInUp animation now handles visibility correctly
e07becb -
Fix
2:08 PM
News page CSS syntax errors and visibility issue
Details
- Fixed 5 extra closing braces in pages.css breaking stylesheet
- Removed opacity: 0 from news-item inline style causing hidden posts
- News posts now display correctly with fadeInUp animation
2132961 -
Fix
1:34 PM
Fix CSS styling: modern color functions, hero spacing, and filter button layout
ac92d79
1
-
Fix
4:59 PM
Improve hero component accessibility and UX
Details
- Add prefers-reduced-motion support for animations
- Add visible focus indicators for keyboard navigation
- Increase touch targets to 44px minimum (WCAG AA)
- Add disabled state styling for search input
3ecbc19
1
-
Fix
8:09 PM
Fix profile layout and widgets system
Details
- Remove duplicate getDatabase() function conflict
- Add profile-widgets API routes (GET/POST) to profile-api.php
- Add profile-widgets routing in router.php
- Add debug logging for profile layout loading
- Profile custom layouts now load and save correctly
- Widgets system now functional with default widgets support
fb94776
8
-
Fix
6:37 PM
Css cleanup
Details
just some css cleaning
8b1f7c9 -
Fix
5:51 PM
Notification bell fixes
Details
hopefully
365f485 -
Fix
4:54 PM
Fix template variables, profile links, and notifications footer
1ef0ea3 -
Fix
2:46 PM
Fix double HTML encoding in widget content
Details
Remove htmlspecialchars from storage layer - encoding should only happen at output time to prevent & issues
ab7e5ff -
Fix
2:41 PM
Fix profile layout persistence issue
Details
- Wrap layout data in {'layout': ...} format in POST endpoint to match GET format
- Remove auto-initialization that was overwriting custom layouts
- Add detailed logging for debugging layout load issues
ff7e366 -
Fix
2:30 PM
Load bootstrap.php for i18n in favorites and followed pages
6fc8d74 -
Fix
1:42 PM
Filter hex codes from issue display and remove float animation
a0a1dd1 -
Fix
1:31 PM
Navbar dropdown clipping issue
Details
Changed overflow from hidden to visible on .site-nav to allow dropdown menu to display properly
55513e3
Generated from the project's commit history whenever the site is deployed. Times are server time.