|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to the CS2 Float API will be documented in this file. |
| 4 | + |
| 5 | +## [1.4.1] - 2025-11-01 |
| 6 | + |
| 7 | +### Fixed |
| 8 | +- **Steam Inventory Sync**: Fixed item names saving incorrectly |
| 9 | + - Changed from `item.name` to `item.market_name` |
| 10 | + - Items now save as "AK-47 | Redline (Field-Tested)" instead of just "AK-47" |
| 11 | + - Location: `index.js:4119` |
| 12 | + |
| 13 | +- **Steam Inventory Sync**: Fixed price fetching from cache |
| 14 | + - Changed from `cachedPrice?.price` to `cachedPrice?.lowestPrice` |
| 15 | + - Prices now properly retrieved from cache structure |
| 16 | + - Location: `index.js:4107` |
| 17 | + |
| 18 | +- **Manual Portfolio Add**: Added missing user_steam_id field |
| 19 | + - Items added manually now properly associated with Steam ID |
| 20 | + - Fixes issue where manually added items wouldn't appear in portfolio |
| 21 | + - Location: `index.js:1266-1280` |
| 22 | + |
| 23 | +- **Batch Portfolio Add**: Added missing user_steam_id field |
| 24 | + - Batch added items now properly associated with Steam ID |
| 25 | + - Location: `index.js:2141-2167` |
| 26 | + |
| 27 | +### Added |
| 28 | +- **Testing Suite**: Complete test coverage for all portfolio endpoints |
| 29 | + - `test-portfolio-api.js`: Tests 14 portfolio endpoints |
| 30 | + - `test-steam-endpoints.js`: Tests Steam inventory endpoints |
| 31 | + - All tests passing ✅ |
| 32 | + |
| 33 | +- **Feature Roadmap**: Comprehensive roadmap with 18 major features |
| 34 | + - `ROADMAP.md`: Based on analysis of CS2SkinTracker and similar projects |
| 35 | + - Organized by priority (P0-P3) and timeline (Q1-Q4 2025) |
| 36 | + - Includes: Price alerts, analytics dashboard, CSV export, leaderboards, and more |
| 37 | + |
| 38 | +### Improved |
| 39 | +- **Steam Inventory Sync**: Added duplicate detection |
| 40 | + - Prevents adding items that already exist in portfolio |
| 41 | + - Auto-skips non-weapon items without wear values |
| 42 | + |
| 43 | +- **Error Logging**: Enhanced logging for inventory sync operations |
| 44 | + - Better visibility into sync process |
| 45 | + - Detailed error messages for failed items |
| 46 | + |
| 47 | +## [1.4.0] - 2025-10-XX |
| 48 | + |
| 49 | +### Added |
| 50 | +- Investment scoring algorithm |
| 51 | +- Float rarity detection |
| 52 | +- Pattern detection (Blue Gems, etc.) |
| 53 | +- Better Auth + Steam OAuth integration |
| 54 | +- Multi-market pricing (Buff163, Skinport, CSFloat, Steam) |
| 55 | + |
| 56 | +## [1.3.0] - 2025-09-XX |
| 57 | + |
| 58 | +### Added |
| 59 | +- Steam inventory integration |
| 60 | +- Inventory value calculation |
| 61 | +- Portfolio snapshots and history |
| 62 | +- CSV/JSON export |
| 63 | + |
| 64 | +## [1.2.0] - 2025-08-XX |
| 65 | + |
| 66 | +### Added |
| 67 | +- Better Auth integration |
| 68 | +- Realized vs unrealized profit tracking |
| 69 | +- Record sales (full and partial) |
| 70 | +- Batch operations |
| 71 | + |
| 72 | +## [1.1.0] - 2025-07-XX |
| 73 | + |
| 74 | +### Added |
| 75 | +- Float inspection (single and bulk) |
| 76 | +- Float ranking (top 1000) |
| 77 | +- Ownership history tracking |
| 78 | +- Sticker detection |
| 79 | + |
| 80 | +## [1.0.0] - 2025-06-XX |
| 81 | + |
| 82 | +### Added |
| 83 | +- Initial portfolio tracking |
| 84 | +- Add/Edit/Delete investments |
| 85 | +- Track purchase price, quantity, marketplace |
| 86 | +- Portfolio statistics (total invested, current value, ROI) |
| 87 | +- Price caching (5 min TTL) |
| 88 | + |
| 89 | +--- |
| 90 | + |
| 91 | +## Testing Results (2025-11-01) |
| 92 | + |
| 93 | +All 14 portfolio endpoints tested and verified working: |
| 94 | + |
| 95 | +✅ POST /api/portfolio/add |
| 96 | +✅ GET /api/portfolio/:userId |
| 97 | +✅ GET /api/portfolio/stats/:userId |
| 98 | +✅ POST /api/portfolio/sale |
| 99 | +✅ DELETE /api/portfolio/delete/:investmentId |
| 100 | +✅ GET /api/portfolio/allocation/:userId |
| 101 | +✅ GET /api/portfolio/health/:userId |
| 102 | +✅ POST /api/portfolio/batch/add |
| 103 | +✅ GET /api/portfolio/activity/:userId |
| 104 | +✅ GET /api/portfolio/export/:userId |
| 105 | +✅ POST /api/portfolio/snapshot/create/:userId |
| 106 | +✅ GET /api/portfolio/snapshot/history/:userId |
| 107 | +✅ GET /api/portfolio/chart/:userId |
| 108 | +✅ GET /api/portfolio/pnl/:userId |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +## Known Issues |
| 113 | + |
| 114 | +### Low Priority |
| 115 | +- Price cache is empty for most items (requires population) |
| 116 | +- Authentication not enforced on all endpoints (security improvement needed) |
| 117 | + |
| 118 | +### Future Improvements |
| 119 | +See `ROADMAP.md` for planned features and improvements. |
| 120 | + |
| 121 | +--- |
| 122 | + |
| 123 | +## Versioning |
| 124 | + |
| 125 | +This project follows [Semantic Versioning](https://semver.org/): |
| 126 | +- **MAJOR** version for incompatible API changes |
| 127 | +- **MINOR** version for new functionality (backwards compatible) |
| 128 | +- **PATCH** version for bug fixes (backwards compatible) |
0 commit comments