2026-01-06T09:14:25Z - 2026-04-06T09:14:25Z
Overview
13 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
Published
2026.3.2
Published
2026.3.1
Published
2026.2.3
Published
2026.2.2
Published
2026.2.1
36 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
Merged
#41 fix: raise HTTPException in recalculate_standings on failure (#23)
Merged
#39 fix: assign order_by() return value in GET /api/v3/games (#24)
Merged
#18 ci: Use shared composite actions from cal/gitea-actions
Merged
#17 feat/stratplay-sbaplayer
Merged
#16 fix: Use Gitea API for tag creation instead of git push
Merged
#15 ci/calver
Merged
#11 fix: Replace fragile locals() pattern in PATCH endpoints
Merged
#12 ci: switch Docker build cache to type=registry
Merged
#10 fix/standings-streak-sort-order
Merged
#9 Optimize player search endpoint for 30x performance improvement
Merged
#7 Set default sort on teams
Merged
#6 fix: Respect short_output parameter in player search endpoint
Merged
#5 chore/cleanup-legacy-files
Merged
#4 fix: Prevent locals() from polluting player PATCH data dict
Merged
#3 fix: Resolve Player.data AttributeError in patch_player endpoint
Merged
#2 fix: Exclude deprecated pitcher_injury field from player responses
Merged
#1 Test PR from Jarvis
25 Pull requests proposed by 2 users
Proposed
#42 fix: remove db.close() from handle_db_errors error handler (#38)
Proposed
#45 fix: remove token value from Bad Token log messages (#35)
Proposed
#48 fix: remove commented-out dead code blocks (#31)
Proposed
#51 fix: eliminate N+1 queries in get_custom_commands (#26)
Proposed
#53 fix: replace print() debug statements with logger calls in db_engine.py (#22)
Proposed
#55 fix: remove hardcoded fallback database password from db_engine.py (#20)
Proposed
#56 fix: remove hardcoded Discord webhook URL from dependencies.py (#19)
Proposed
#57 fix: remove unimplemented is_trade parameter from GET /api/v3/transactions (#27)
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)
15 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
#36 Validate sort_by parameter against allowed field names in views.py
Closed
#37 Push limit/offset to the database in PlayerService.get_players
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
Closed
#23 Fix swallowed error in recalculate_standings — HTTPException constructed but not raised
Closed
#24 Fix ignored order_by() call in stratgame.py
25 Issues created by 1 user
Opened
#19 Remove hardcoded Discord webhook URL from dependencies.py
Opened
#20 Remove hardcoded fallback database password from db_engine.py
Opened
#22 Replace print() debug statements with logger calls in db_engine.py
Opened
#26 Fix N+1 query in get_custom_commands
Opened
#27 Implement or remove the is_trade parameter from GET /api/v3/transactions
Opened
#31 Remove commented-out dead code blocks in multiple files
Opened
#35 Remove token value from log messages in legacy router files
Opened
#38 Remove db.close() from handle_db_errors error handler
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