2026-03-06T09:14:44Z - 2026-04-06T09:14:44Z
Overview
8 Releases published by 1 user
Published
2026.4.3
Published
2026.4.2
Published
2026.4.1
Published
2026.3.7
Published
2026.3.6
Published
2026.3.5
Published
2026.3.4
Published
2026.3.3
19 Pull requests merged by 2 users
Merged
#105 fix: correct column references in season pitching stats SQL
Merged
#104 fix: let HTTPException pass through @handle_db_errors
Merged
#103 hotfix: remove output caps from GET /players
Merged
#99 Fix unbounded API queries causing worker timeouts
Merged
#84 fix: remove hardcoded fallback password from DB connection
Merged
#64 Release: merge next-release into main
Merged
#44 fix: validate sort_by parameter with Literal type in views.py (#36)
Merged
#58 fix: remove unimplementable skipped caching tests (#33)
Merged
#54 fix: replace print(req.scope) with logger.debug in /api/docs (#21)
Merged
#52 fix: eliminate N+1 queries in batch POST endpoints (#25)
Merged
#50 fix: replace bare except: with except Exception: (#29)
Merged
#49 fix: remove unused imports in standings.py and pitchingstats.py (#30)
Merged
#47 fix: invalidate cache after PlayerService write operations (#32)
Merged
#46 fix: remove empty WEEK_NUMS dict from db_engine.py (#34)
Merged
#43 perf: push limit/offset to DB in PlayerService.get_players (#37)
Merged
#59 fix: calculate lob_2outs and rbipercent in SeasonPitchingStats (#28)
Merged
#63 chore: pin all Python dependency versions in requirements.txt (#62)
Merged
#61 fix: standardize all collection POST routes to use trailing slash
Merged
#60 fix: case-insensitive team_abbrev filter in transactions endpoint
17 Pull requests proposed by 2 users
Proposed
#67 fix: add combined_season classmethod to PitchingStat (#65)
Proposed
#68 fix: enforce Literal validation on sort parameter in GET /api/v3/players (#66)
Proposed
#83 fix: move hardcoded Discord webhook URL to env var
Proposed
#85 fix: remove token value from Bad Token log warnings (#79)
Proposed
#86 fix: add type annotations to untyped query parameters (#73)
Proposed
#87 fix: disable autoconnect and set pool timeout on PooledPostgresqlDatabase (#80)
Proposed
#88 fix: align CustomCommandCreator.discord_id model with BIGINT column (#78)
Proposed
#89 fix: remove SQLite fallback code from db_engine.py (#70)
Proposed
#90 fix: replace deprecated Pydantic .dict() with .model_dump() (#76)
Proposed
#91 fix: update Docker base image from Python 3.11 to 3.12 (#82)
Proposed
#92 fix: replace row-by-row DELETE with bulk DELETE in career recalculation (#77)
Proposed
#93 fix: batch standings updates to eliminate N+1 queries in recalculate (#75)
Proposed
#94 fix: replace integer comparisons on boolean fields with True/False (#69)
Proposed
#95 fix: add missing indexes on FK columns in stratplay and stratgame (#74)
Proposed
#96 feat: add migration tracking system (#81)
Proposed
#97 fix: replace manual db.close() calls with middleware-based connection management (#71)
Proposed
#102 fix: preserve total_count in get_totalstats instead of overwriting with page length (#101)
13 Issues closed from 1 user
Closed
#100 fieldingstats.get_fieldingstats: count computed after limit applied
Closed
#98 API allows unbounded queries causing Gunicorn worker timeouts
Closed
#62 chore: pin all Python dependency versions in requirements.txt
Closed
#37 Push limit/offset to the database in PlayerService.get_players
Closed
#36 Validate sort_by parameter against allowed field names in views.py
Closed
#34 Remove the empty WEEK_NUMS dict from db_engine.py
Closed
#33 Implement or remove the three skipped caching tests in test_player_service.py
Closed
#32 Add cache invalidation on write operations for cached endpoints
Closed
#30 Remove unused imports in standings.py and pitchingstats.py
Closed
#28 Implement or document lob_2outs and rbipercent fields in SeasonPitchingStats
Closed
#25 Eliminate N+1 queries in post_transactions
Closed
#21 Replace print(req.scope) with proper logging in /api/docs
Closed
#29 Replace bare except: clauses with except Exception: in custom_commands.py and db_engine.py
17 Issues created by 1 user
Opened
#65 fix: PitchingStat model missing combined_season attribute (500 on s_type=combined)
Opened
#66 fix: sort_by Literal validation not enforced — invalid values silently ignored
Opened
#69 Boolean fields compared as integers (SQLite pattern)
Opened
#70 Remove SQLite fallback code from db_engine.py
Opened
#71 Refactor manual db.close() calls to middleware-based connection management
Opened
#72 Add Meta.table_name to all models missing it
Opened
#73 Add type annotations to untyped query parameters
Opened
#74 Add missing indexes on foreign key columns in high-volume tables
Opened
#75 Fix N+1 query pattern in standings recalculation
Opened
#76 Replace deprecated Pydantic .dict() with .model_dump()
Opened
#77 Replace row-by-row DELETE with bulk DELETE in career recalculation
Opened
#78 Fix discord_id type mismatch between model (CharField) and migration (BIGINT)
Opened
#79 Stop logging raw auth tokens in warning messages
Opened
#80 Disable autoconnect and set pool timeout on PooledPostgresqlDatabase
Opened
#81 Add migration tracking system
Opened
#82 Align Python version between Docker image (3.11) and local dev (3.12)
Opened
#101 fieldingstats.get_totalstats: total_count overwritten by post-filter length
9 Unresolved Conversations
Open
#45
fix: remove token value from Bad Token log messages (#35)
Open
#42
fix: remove db.close() from handle_db_errors error handler (#38)
Open
#38
Remove db.close() from handle_db_errors error handler
Open
#57
fix: remove unimplemented is_trade parameter from GET /api/v3/transactions (#27)
Open
#56
fix: remove hardcoded Discord webhook URL from dependencies.py (#19)
Open
#55
fix: remove hardcoded fallback database password from db_engine.py (#20)
Open
#53
fix: replace print() debug statements with logger calls in db_engine.py (#22)
Open
#51
fix: eliminate N+1 queries in get_custom_commands (#26)
Open
#48
fix: remove commented-out dead code blocks (#31)