2025-04-06T09:14:49Z - 2026-04-06T09:14:49Z
Overview
10 Releases published by 1 user
Published
dev
Published
2026.4.1
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.2
Published
2026.2.1
90 Pull requests merged by 2 users
Merged
#180 fix: refractor card art post-merge fixes — cache bypass, template guards, dev server
Merged
#179 feat: refractor tier-specific card art rendering
Merged
#178 fix: auto-initialize RefractorCardState in evaluate-game
Merged
#177 feat: Refractor Phase 2 integration — wire boost into evaluate-game
Merged
#176 feat: Refractor Phase 2 foundation — boost functions, schema, tests
Merged
#175 feat: add evaluated_only filter to GET /api/v2/refractor/cards (#174)
Merged
#167 feat: add limit/pagination to paperdex endpoint (#143)
Merged
#168 feat: add limit/pagination to cardpositions endpoint (#142)
Merged
#173 feat: add GET /api/v2/refractor/cards list endpoint (#172)
Merged
#171 test: refractor system Tier 3 test coverage
Merged
#170 test: refractor system Tier 1+2 test coverage
Merged
#169 feat: capture total_count before limit across all paginated endpoints
Merged
#150 feat: add limit/pagination to notifications endpoint (#140)
Merged
#165 feat: add limit/pagination to gauntletrewards endpoint (#145)
Merged
#158 feat: add limit/pagination to pitstats endpoint (#134)
Merged
#152 feat: add limit/pagination to rewards endpoint (#139)
Merged
#156 feat: add limit/pagination to events endpoint (#147)
Merged
#160 feat: add limit/pagination to gauntletruns endpoint (#146)
Merged
#161 feat: add limit/pagination to pitchingcardratings endpoint (#136)
Merged
#164 feat: add limit/pagination to stratgame (games) endpoint (#138)
Merged
#163 feat: add limit/pagination to results endpoint (#137)
Merged
#154 feat: add limit/pagination to scout_opportunities endpoint (#148)
Merged
#157 feat: add limit/pagination to awards endpoint (#132)
Merged
#162 feat: add limit/pagination to mlbplayers endpoint (#141)
Merged
#166 feat: add limit/pagination to gamerewards endpoint (#144)
Merged
#159 feat: add limit/pagination to battingcardratings endpoint (#135)
Merged
#155 feat: add limit/pagination to batstats endpoint (#133)
Merged
#151 feat: add limit/pagination to scout_claims endpoint (#149)
Merged
#153 ci: database CI catchup — local buildx cache + dev tag trigger
Merged
#131 refactor: rename Evolution system to Refractor
Merged
#130 feat: Card Evolution Phase 1 — full backend implementation
Merged
#129 ci: switch to tag-based Docker builds
Merged
#127 fix: remove SQLite references from CLAUDE.md (#123)
Merged
#95 feat: Phase 0 baseline benchmark script and log (WP-00) (#87)
Merged
#103 fix: prevent paperdex timeout on unfiltered requests (#102)
Merged
#118 chore: replace deprecated datetime.utcnow() with datetime.now(UTC) (#114)
Merged
#120 fix: sort /teams/{id}/evolutions by current_tier desc, current_value desc (#116)
Merged
#121 docs: update list_team_evolutions docstring for player_name and Player join
Merged
#119 fix: include player_name in /teams/{id}/evolutions response (#115)
Merged
#117 fix: season-stats update-game returns 404 for nonexistent game_id
Merged
#112 Card Evolution: season stats full recalculation → next-release
Merged
#111 refactor: full recalculation for season stats + fix evaluator bugs
Merged
#110 Card Evolution Phase 1: card-evolution → next-release
Merged
#109 feat(WP-13): post-game callback endpoints for season stats and evolution
Merged
#108 feat(WP-07): Card State API endpoints (#72)
Merged
#107 feat(WP-10): pack opening hook — evolution_card_state initialization
Merged
#98 feat: WP-08 evaluate endpoint and evolution evaluator service (#73)
Merged
#106 feat: add ProcessedGame ledger for full idempotency in update_season_stats() (#105)
Merged
#104 Card Evolution Phase 1a: Schema & Data Foundation
Merged
#101 fix: Dockerfile COPY path and missing CMD
Merged
#100 Merge next-release into main
Merged
#97 feat: persistent browser instance for card rendering (#89)
Merged
#94 feat: render pipeline optimization (Phase 0)
Merged
#86 feat: Track Catalog API endpoints (WP-06) (#71)
Merged
#82 feat: PlayerSeasonStats Peewee model (#67)
Merged
#83 feat: evolution track seed data and tests (WP-03) (#68)
Merged
#85 feat: formula engine for evolution value computation (WP-09) (#74)
Merged
#53 fix: batch Paperdex lookups to avoid N+1 queries (#17)
Merged
#57 fix: remove stub live_update_pitching endpoint (#11)
Merged
#60 fix: use max() for pitcher OPS split weighting (#6)
Merged
#65 chore: pin all Python dependency versions in requirements.txt (#64)
Merged
#63 fix: remove stray syntax error in players.py db_engine import
Merged
#62 fix: remove stray syntax error in teams.py db_engine import
Merged
#61 Release: Scouting API, roster refactor, and bug fixes
Merged
#58 fix: refactor Roster from 26 FK columns to RosterSlot junction table (#29)
Merged
#54 fix: remove broken live_update_batting stub endpoint (#10)
Merged
#48 fix: replace broad except Exception blocks with DoesNotExist (#15)
Merged
#45 fix: batch BattingCard/BattingCardRatings lookups in lineup builder (#18)
Merged
#59 feat: add scout opportunities and claims API (#44)
Merged
#56 fix: use constant-time comparison for bearer token validation (#8)
Merged
#55 fix: remove plaintext bearer token from warning logs (#7)
Merged
#52 fix: consolidate redundant double-query in get_one_play (#14)
Merged
#51 fix: compute CSV after appending data row in get_one_player (#12)
Merged
#50 fix: guard against None rating objects in pitcher sorting functions (#13)
Merged
#49 fix: document SQLite synchronous=0 pragma in db_engine.py (#20)
Merged
#46 fix: centralize logging config in main.py (#26)
Merged
#44 fix: batch-fetch PitchingCardRatings instead of per-row queries (#19)
Merged
#43 fix: add type annotations to untyped path parameters (#27)
Merged
#42 fix: remove duplicate ranking_max filter in get_teams (#21)
Merged
#33 fix: replace 467 manual db.close() calls with middleware (#30)
Merged
#38 fix: use Field(default_factory) for offense_col random default (#24)
Merged
#35 fix: remove dead roster fields from CSV in v1_cards_get_one (#25)
Merged
#40 fix: correct inverted TESTING env check and leading space in .env (#23)
Merged
#41 fix: respect is_ai=False in get_teams filter (#22)
Merged
#32 fix: remove debug print(req.scope) from get_docs route (#31)
Merged
#5 ci: Fix act_runner auth for composite actions
Merged
#4 ci: Use Gitea API for tag creation
Merged
#3 ci: Switch to CalVer versioning
Merged
#2 ci: switch Docker build cache to type=registry
Merged
#1 postgres-migration
5 Pull requests proposed by 1 user
Proposed
#96 feat: self-hosted WOFF2 fonts via base64 embedding (#88)
Proposed
#125 fix: rewrite skill scripts to use API instead of sqlite3 (#124)
Proposed
#126 fix: remove legacy SQLite compatibility code (#122)
Proposed
#184 fix: ensure count is never null in GET /refractor/cards (#182)
Proposed
#185 fix: ensure count is never null in GET /refractor/cards (#183)
72 Issues closed from 2 users
Closed
#9 Rotate credentials committed in .env
Closed
#174 GET /api/v2/refractor/cards: add evaluated_only filter to exclude zero-value cards
Closed
#143 feat: add limit/pagination to paperdex endpoint
Closed
#142 feat: add limit/pagination to cardpositions endpoint
Closed
#172 feat: add GET /api/v2/refractor/cards list endpoint
Closed
#69 WP-04: SQL Migration Script
Closed
#66 WP-01: Evolution Peewee Models
Closed
#70 WP-05: PlayerSeasonStats Incremental Update Logic
Closed
#140 feat: add limit/pagination to notifications endpoint
Closed
#145 feat: add limit/pagination to gauntletrewards endpoint
Closed
#134 feat: add limit/pagination to pitstats endpoint
Closed
#139 feat: add limit/pagination to rewards endpoint
Closed
#147 feat: add limit/pagination to events endpoint
Closed
#146 feat: add limit/pagination to gauntletruns endpoint
Closed
#136 feat: add limit/pagination to pitchingcardratings endpoint
Closed
#138 feat: add limit/pagination to stratgame (games) endpoint
Closed
#137 feat: add limit/pagination to results endpoint
Closed
#148 feat: add limit/pagination to scout_opportunities endpoint
Closed
#132 feat: add limit/pagination to awards endpoint
Closed
#141 feat: add limit/pagination to mlbplayers endpoint
Closed
#144 feat: add limit/pagination to gamerewards endpoint
Closed
#135 feat: add limit/pagination to battingcardratings endpoint
Closed
#133 feat: add limit/pagination to batstats endpoint
Closed
#149 feat: add limit/pagination to scout_claims endpoint
Closed
#123 Update database CLAUDE.md — remove SQLite references
Closed
#102 GET /api/v2/paperdex times out on unfiltered requests
Closed
#114 chore: replace deprecated datetime.utcnow() with datetime.now(UTC)
Closed
#116 feat: /teams/{id}/evolutions should sort by current_value desc
Closed
#115 fix: /teams/{id}/evolutions response missing player_name
Closed
#113 fix: season-stats update-game leaks SQL in 500 error for nonexistent game
Closed
#79 WP-14: Tier Completion Notifications
Closed
#77 WP-12: Tier Badge on Card Embed
Closed
#76 WP-11: /evo status Slash Command
Closed
#78 WP-13: Post-Game Callback Integration
Closed
#72 WP-07: Card State API Endpoints
Closed
#75 WP-10: Pack Opening Hook — evolution_card_state Initialization
Closed
#73 WP-08: Evaluate Endpoint
Closed
#105 feat: add ProcessedGame ledger for full idempotency in update_season_stats()
Closed
#88 WP-01: Self-Hosted Fonts
Closed
#90 WP-03: FastAPI Lifespan Hooks
Closed
#87 WP-00: Baseline Benchmarks
Closed
#89 WP-02: Persistent Browser Instance
Closed
#71 WP-06: Track Catalog API Endpoints
Closed
#67 WP-02: PlayerSeasonStats Peewee Model
Closed
#68 WP-03: Track and Threshold Seed Data
Closed
#74 WP-09: Formula Engine
Closed
#17 Batch Paperdex lookups to avoid N+1 queries in player/card list endpoints
Closed
#93 Card Evolution Phase 0 — Render Pipeline Optimization Master Tracker
Closed
#92 WP-05: Legacy Upload Script Update
Closed
#91 WP-04: Concurrent Upload Pipeline
Closed
#64 chore: pin all Python dependency versions in requirements.txt
Closed
#30 Replace 488 manual db.close() calls with middleware/dependency context manager
Closed
#27 Add type annotations to untyped path parameters
Closed
#25 Remove or fix dead CSV code in v1_cards_get_one referencing removed roster fields
Closed
#23 Fix inverted TESTING environment variable check
Closed
#22 Fix is_ai filter to respect False value in get_teams
Closed
#20 Document or reconsider SQLite synchronous=0 in production
Closed
#19 Replace per-row PitchingCardRatings lookup with batched fetch in pitcher sort
Closed
#10 Complete or remove the stub live_update_batting endpoint
Closed
#12 Fix get_one_player CSV response — data row never written to output
Closed
#6 Resolve or document the pitcher OPS aggregation formula
Closed
#29 Refactor Roster model from 26 FK columns to a junction table
Closed
#15 Replace broad except Exception blocks with specific exception types
Closed
#18 Batch BattingCard/BattingCardRatings lookups in lineup endpoints
Closed
#8 Use constant-time comparison for bearer token validation
Closed
#7 Remove plaintext bearer token from warning logs
Closed
#14 Consolidate redundant double-query in get_one_play
Closed
#13 Guard against None rating objects in pitcher sorting functions
Closed
#26 Centralize logging configuration — remove basicConfig from 30+ router files
Closed
#21 Remove duplicate ranking_max filter in get_teams
Closed
#24 Move random.randint default out of Pydantic model field
Closed
#31 Remove debug print(req.scope) from get_docs route
9 Issues created by 1 user
Opened
#11 Complete or remove the stub live_update_pitching endpoint
Opened
#16 Return normal responses instead of raising 200 HTTPExceptions
Opened
#28 Add a test suite — zero test coverage
Opened
#80 WP-15: Deployment and Smoke Testing
Opened
#81 Card Evolution Phase 1 — Master Tracker
Opened
#122 Remove legacy SQLite compatibility code
Opened
#124 Rewrite skill scripts to use API instead of direct SQLite access
Opened
#182 bug: GET /refractor/cards returns count: null with out-of-range tier filter
Opened
#183 bug: GET /refractor/cards returns count: null with very large limit