summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 2e05e7b41f6479516c6337209e4836bdfb23345f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Implemented `WalletTransaction` tracking and `get_wallet_transactions` in `backend/src/esi/api.py` to reconcile and deduct filled orders locally without requiring full region re-polls.
- Requested `esi-wallet.read_character_wallet.v1` scope via SSO `scripts/setup_auth.py` to enable route confirmation.
- Introduced an in-memory SQLite database via `aiosqlite` in `backend/src/market.py` for efficient arbitrage querying and volume state updates.
- Added `GET /settings`, `POST /settings`, and `POST /set_waypoints` FastAPI endpoints in `backend/src/main.py`.
- Developed `LegMetrics` and graph caching mechanism in `backend/src/graph.py` to dramatically speed up route optimization.
- Upgraded the React frontend `Options.js` to allow real-time UI configuration of cargo size, speeds, risk values, and profit thresholds.
- `scripts/haul.sh` CLI for unified backend/frontend dependency checking, running, and EVE data bootstrapping.
- `scripts/setup_auth.py` and `scripts/setup_eve_data.py` scripts to fetch OAuth credentials and base CSV game data.
- `.env.example` to ease SSO configuration.
- Custom Copilot Chat prompt for documenting changes under `.github/prompts`.

### Changed
- Migrated all primary ESI networking and dataset initialization in `backend/src/` to `asyncio` and `aiohttp` for non-blocking I/O.
- Redesigned `create_route` no longer auto-sets waypoints; players must now use the explicit "Set in Game" button to push route locations to the client.
- Switched frontend components (`Path.js`, `Info.js`) from HTTP polling to strictly using Server-Sent Events (`useSSE`) for real-time dataset rendering.
- Rewrote the arbitrage shortlist capabilities using SQLite queries ranking to limit calculation matrix overhead strictly.
- Overhauled triplet routing optimizations (`backend/src/route.py`) to reduce duplicate calculations when evaluating top candidates.
- Refactored `backend/src/manager.py` to fix graph instantiations, updated ship properties to feature larger cargo, lower subwarp/warp speed, and accurately lower ship ISK value.
- Re-aligned route and item capital checks across `backend/src/manager.py` and `backend/src/pathfinder.py` by transitioning the `Ship` attribute references from dataclasses to dictionaries.
- Reduced initial max capital layout cap to `20,000,000` in `backend/src/arbitrage.py` to be more cautious about early-game up-front ISK demands.
- Updated `backend/src/loader.py` to handle edge cases where `solar_system_id` was returned as 'None'.
- Enhanced graph generation to reliably build its parent directory for `PATHS_FILE`.
- Adjusted `.gitignore` to track standard Python and Node virtual environment directories properly.

### Fixed
- Addressed ESI rate limit errors by enforcing an active semaphore limit and 429 backoff mechanism inside ESI client requests.
- Fixed uninitialized class name alias by swapping `Graph` to `NavigationGraph` across references.
- Remedied route step structure by moving away from hardcoded dataclass references (`RouteStep`) to generic dictionaries in `backend/src/route.py`.
- Checked and resolved printing of `snipe` variable references within `backend/src/manager.py` loops arrays versus strings.