2026-03-05T21:03:30Z - 2026-04-05T21:03:30Z
Overview
12 Releases published by 1 user
Published
2026.3.13
Published
2026.3.12
Published
2026.3.11
Published
2026.3.10
Published
2026.3.9
Published
2026.3.8
Published
2026.3.7
Published
2026.3.6
Published
2026.3.5
Published
2026.3.4
Published
2026.3.3
Published
2026.3.2
39 Pull requests merged by 2 users
Merged
#122 feat: enforce FA lock deadline after week 14
Merged
#116 perf: eliminate redundant API calls in trade views (#94)
Merged
#112 perf: eliminate redundant GET after create/update and parallelize stats (#95)
Merged
#118 perf: parallelize N+1 player/creator lookups with asyncio.gather (#89)
Merged
#121 feat: enforce trade deadline in /trade commands
Merged
#119 fix: update chart_service path from data/ to storage/
Merged
#117 hotfix: make ScorecardTracker methods async to match await callers
Merged
#115 ci: add release script for tag-triggered deployments
Merged
#114 fix: update deploy script for tag-triggered releases
Merged
#113 ci: switch to tag-triggered releases with production Docker tag
Merged
#111 Merge next-release into main
Merged
#105 cleanup: remove dead maintenance mode artifacts in bot.py (#104)
Merged
#106 perf: parallelize independent API calls (#90)
Merged
#107 perf: cache inspect.signature() at decoration time (#97)
Merged
#108 perf: use channel.purge() instead of per-message delete loops (#93)
Merged
#110 ci: only build Docker images on merge to main/next-release
Merged
#109 perf: replace json.dumps serialization test with isinstance fast path (#96)
Merged
#86 fix: split read-only data volume to allow state file writes (#85)
Merged
#100 perf: cache user team lookup in player_autocomplete, reduce limit to 25
Merged
#101 perf: replace Redis KEYS with SCAN for cache invalidation (#98)
Merged
#103 perf: parallelize schedule_service API calls with asyncio.gather
Merged
#102 perf: replace sequential awaits with asyncio.gather()
Merged
#83 fix: replace broken interaction_check decorator with MaintenanceAwareTree subclass
Merged
#81 Merge next-release into main
Merged
#72 fix: re-fetch existing transactions on each validation
Merged
#80 fix: prevent partial DB writes on scorecard submission failure
Merged
#71 fix: prefix trade validation errors with team abbreviation
Merged
#77 chore: pin all Python dependency versions in requirements.txt (#76)
Merged
#75 fix: trailing slash on all collection POST calls
Merged
#74 fix: targeted trailing slashes for POST endpoints (hotfix)
Merged
#73 fix: add trailing slashes to prevent 307 redirects dropping POST bodies
Merged
#64 feat: add is_admin() helper to utils/permissions.py (#55)
Merged
#70 fix: show validation errors in trade embed Quick Status
Merged
#68 ci: Use docker-tags composite action for multi-channel release support
Merged
#67 test: implement test_validate_transaction_exception_handling (#35)
Merged
#66 fix: reuse persistent aiohttp.ClientSession in GiphyService (#26)
Merged
#65 refactor: extract duplicate command hash logic into _compute_command_hash (#31)
Merged
#63 fix: update roster labels to use Minor League and Injured List (#59)
Merged
#69 fix: replace create_item_in_table placeholder with direct endpoint call (#30)
2 Pull requests proposed by 2 users
Proposed
#120 perf: add caching for frequently-accessed stable data (#91)
Proposed
#123 fix: add missing logger to SubmitConfirmationModal
23 Issues closed from 1 user
Closed
#94 perf: double API calls in trade views (validate_trade and _get_user_team)
Closed
#95 perf: redundant GET after create/update in custom_commands_service
Closed
#89 perf: N+1 sequential player/creator lookups in loops
Closed
#104 cleanup: remove dead maintenance mode artifacts in bot.py
Closed
#90 perf: parallelize independent API calls (team lookups, injury cmds, trade validation)
Closed
#97 perf: cache inspect.signature() at decoration time in logged_command and cache decorators
Closed
#93 perf: use channel.purge() instead of per-message delete loops
Closed
#96 perf: JSON log formatter tests serializability of every field on every log call
Closed
#29 Implement dynamic roster type detection in /trade add-player
Closed
#85 bug: read-only volume mount prevents scorecard tracker from persisting state
Closed
#99 perf: autocomplete fires two API calls per keystroke; cache user team lookup
Closed
#98 perf: replace Redis KEYS command with SCAN for cache invalidation
Closed
#88 perf: N+1 sequential API calls in schedule_service (up to 18 per request)
Closed
#87 perf: fix false parallelism — sequential awaits disguised as concurrent
Closed
#82 bug: maintenance mode interaction_check is never registered (no-op)
Closed
#78 bug: failed scorecard submission — CLS vs MKEA (2026-03-10)
Closed
#55 Add is_admin() helper to utils/permissions.py
Closed
#35 Implement test_validate_transaction_exception_handling
Closed
#30 Replace create_item_in_table placeholder with proper table-specific endpoint logic
Closed
#76 chore: pin all Python dependency versions in requirements.txt
Closed
#26 Reuse a persistent aiohttp.ClientSession in GiphyService
Closed
#31 Extract duplicated command hash logic into a shared helper in bot.py
Closed
#59 Update CLI Tool / Team Roster Labels
2 Issues created by 1 user
Opened
#91 perf: add caching for frequently-accessed stable data
Opened
#92 perf: blocking synchronous file I/O on async event loop
2 Unresolved Conversations
Open
#34
Resolve @requires_team decorator mock barrier to re-enable integration tests
Open
#57
refactor: review remaining justified lazy imports for dependency injection