free-coding-models 0.3.66 → 0.3.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -12
- package/bin/free-coding-models.js +1 -9
- package/changelog/v0.1.1.md +3 -0
- package/changelog/v0.1.10.md +3 -0
- package/changelog/v0.1.11.md +10 -0
- package/changelog/v0.1.12.md +16 -0
- package/changelog/v0.1.13.md +3 -0
- package/changelog/v0.1.14.md +3 -0
- package/changelog/v0.1.15.md +3 -0
- package/changelog/v0.1.16.md +13 -0
- package/changelog/v0.1.17.md +3 -0
- package/changelog/v0.1.18.md +3 -0
- package/changelog/v0.1.19.md +3 -0
- package/changelog/v0.1.2.md +3 -0
- package/changelog/v0.1.20.md +14 -0
- package/changelog/v0.1.21.md +12 -0
- package/changelog/v0.1.22.md +6 -0
- package/changelog/v0.1.23.md +16 -0
- package/changelog/v0.1.24.md +9 -0
- package/changelog/v0.1.25.md +13 -0
- package/changelog/v0.1.26.md +6 -0
- package/changelog/v0.1.27.md +6 -0
- package/changelog/v0.1.28.md +5 -0
- package/changelog/v0.1.29.md +5 -0
- package/changelog/v0.1.3.md +3 -0
- package/changelog/v0.1.31.md +10 -0
- package/changelog/v0.1.32.md +8 -0
- package/changelog/v0.1.33.md +5 -0
- package/changelog/v0.1.34.md +6 -0
- package/changelog/v0.1.35.md +5 -0
- package/changelog/v0.1.36.md +16 -0
- package/changelog/v0.1.37.md +5 -0
- package/changelog/v0.1.38.md +9 -0
- package/changelog/v0.1.39.md +3 -0
- package/changelog/v0.1.4.md +3 -0
- package/changelog/v0.1.40.md +3 -0
- package/changelog/v0.1.41.md +11 -0
- package/changelog/v0.1.42.md +3 -0
- package/changelog/v0.1.43.md +3 -0
- package/changelog/v0.1.44.md +17 -0
- package/changelog/v0.1.45.md +6 -0
- package/changelog/v0.1.46.md +9 -0
- package/changelog/v0.1.47.md +6 -0
- package/changelog/v0.1.48.md +11 -0
- package/changelog/v0.1.49.md +10 -0
- package/changelog/v0.1.5.md +3 -0
- package/changelog/v0.1.50.md +7 -0
- package/changelog/v0.1.51.md +4 -0
- package/changelog/v0.1.52.md +10 -0
- package/changelog/v0.1.54.md +41 -0
- package/changelog/v0.1.55.md +3 -0
- package/changelog/v0.1.56.md +11 -0
- package/changelog/v0.1.57.md +7 -0
- package/changelog/v0.1.58.md +7 -0
- package/changelog/v0.1.59.md +7 -0
- package/changelog/v0.1.6.md +3 -0
- package/changelog/v0.1.60.md +7 -0
- package/changelog/v0.1.61.md +9 -0
- package/changelog/v0.1.62.md +9 -0
- package/changelog/v0.1.63.md +15 -0
- package/changelog/v0.1.64.md +22 -0
- package/changelog/v0.1.65.md +15 -0
- package/changelog/v0.1.66.md +22 -0
- package/changelog/v0.1.67.md +40 -0
- package/changelog/v0.1.68.md +38 -0
- package/changelog/v0.1.69.md +3 -0
- package/changelog/v0.1.7.md +3 -0
- package/changelog/v0.1.70.md +7 -0
- package/changelog/v0.1.71.md +7 -0
- package/changelog/v0.1.72.md +7 -0
- package/changelog/v0.1.73.md +7 -0
- package/changelog/v0.1.74.md +3 -0
- package/changelog/v0.1.75.md +9 -0
- package/changelog/v0.1.76.md +13 -0
- package/changelog/v0.1.77.md +13 -0
- package/changelog/v0.1.78.md +7 -0
- package/changelog/v0.1.79.md +8 -0
- package/changelog/v0.1.8.md +3 -0
- package/changelog/v0.1.80.md +7 -0
- package/changelog/v0.1.81.md +19 -0
- package/changelog/v0.1.82.md +9 -0
- package/changelog/v0.1.83.md +22 -0
- package/changelog/v0.1.84.md +25 -0
- package/changelog/v0.1.85.md +19 -0
- package/changelog/v0.1.86.md +17 -0
- package/changelog/v0.1.87.md +7 -0
- package/changelog/v0.1.88.md +167 -0
- package/changelog/v0.1.89.md +22 -0
- package/changelog/v0.1.9.md +3 -0
- package/changelog/v0.2.0.md +30 -0
- package/changelog/v0.2.1.md +17 -0
- package/changelog/v0.2.10.md +7 -0
- package/changelog/v0.2.11.md +6 -0
- package/changelog/v0.2.12.md +16 -0
- package/changelog/v0.2.13.md +16 -0
- package/changelog/v0.2.14.md +6 -0
- package/changelog/v0.2.15.md +6 -0
- package/changelog/v0.2.17.md +14 -0
- package/changelog/v0.2.2.md +16 -0
- package/changelog/v0.2.3.md +7 -0
- package/changelog/v0.2.4.md +7 -0
- package/changelog/v0.2.5.md +12 -0
- package/changelog/v0.2.7.md +3 -0
- package/changelog/v0.2.8.md +107 -0
- package/changelog/v0.2.9.md +10 -0
- package/changelog/v0.3.0.md +30 -0
- package/changelog/v0.3.1.md +17 -0
- package/changelog/v0.3.11.md +20 -0
- package/changelog/v0.3.12.md +18 -0
- package/changelog/v0.3.13.md +4 -0
- package/changelog/v0.3.14.md +6 -0
- package/changelog/v0.3.15.md +4 -0
- package/changelog/v0.3.16.md +3 -0
- package/changelog/v0.3.17.md +4 -0
- package/changelog/v0.3.18.md +12 -0
- package/changelog/v0.3.19.md +12 -0
- package/changelog/v0.3.2.md +5 -0
- package/changelog/v0.3.21.md +13 -0
- package/changelog/v0.3.22.md +29 -0
- package/changelog/v0.3.23.md +12 -0
- package/changelog/v0.3.24.md +34 -0
- package/changelog/v0.3.25.md +40 -0
- package/changelog/v0.3.26.md +85 -0
- package/changelog/v0.3.28.md +3 -0
- package/changelog/v0.3.29.md +107 -0
- package/changelog/v0.3.3.md +11 -0
- package/changelog/v0.3.30.md +3 -0
- package/changelog/v0.3.31.md +113 -0
- package/changelog/v0.3.32.md +123 -0
- package/changelog/v0.3.33.md +129 -0
- package/changelog/v0.3.34.md +156 -0
- package/changelog/v0.3.35.md +173 -0
- package/changelog/v0.3.36.md +186 -0
- package/changelog/v0.3.37.md +182 -0
- package/changelog/v0.3.38.md +3 -0
- package/changelog/v0.3.39.md +3 -0
- package/changelog/v0.3.4.md +9 -0
- package/changelog/v0.3.40.md +18 -0
- package/changelog/v0.3.41.md +7 -0
- package/changelog/v0.3.42.md +9 -0
- package/changelog/v0.3.43.md +13 -0
- package/changelog/v0.3.44.md +10 -0
- package/changelog/v0.3.45.md +12 -0
- package/changelog/v0.3.46.md +5 -0
- package/changelog/v0.3.47.md +4 -0
- package/changelog/v0.3.48.md +10 -0
- package/changelog/v0.3.49.md +18 -0
- package/changelog/v0.3.5.md +5 -0
- package/changelog/v0.3.50.md +41 -0
- package/changelog/v0.3.51.md +37 -0
- package/changelog/v0.3.52.md +43 -0
- package/changelog/v0.3.54.md +55 -0
- package/changelog/v0.3.55.md +62 -0
- package/changelog/v0.3.56.md +53 -0
- package/changelog/v0.3.57.md +61 -0
- package/changelog/v0.3.58.md +10 -0
- package/changelog/v0.3.59.md +3 -0
- package/changelog/v0.3.6.md +12 -0
- package/changelog/v0.3.60.md +3 -0
- package/changelog/v0.3.61.md +3 -0
- package/changelog/v0.3.62.md +3 -0
- package/changelog/v0.3.63.md +20 -0
- package/changelog/v0.3.64.md +10 -0
- package/changelog/v0.3.65.md +10 -0
- package/{CHANGELOG.md → changelog/v0.3.66.md} +2 -0
- package/changelog/v0.3.67.md +45 -0
- package/changelog/v0.3.68.md +18 -0
- package/changelog/v0.3.9.md +10 -0
- package/package.json +3 -3
- package/sources.js +6 -8
- package/src/changelog-loader.js +41 -41
- package/src/cli-help.js +2 -3
- package/src/router-daemon.js +351 -15
- package/web/dist/assets/{index-BKwbbLPp.js → index-Cfy_uz7_.js} +1 -1
- package/web/dist/index.html +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog v0.3.52 - 2026-04-18
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- **OpenCode WebUI Support** — Added `--opencode-web` flag to open the OpenCode WebUI dashboard after configuring the selected model. This mirrors the existing `--opencode-desktop` behavior.
|
|
6
|
+
|
|
7
|
+
## [0.3.51] - 2026-04-11
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **NVIDIA NIM moved to #1** — Now listed first in README, TUI Settings page, and `D` key filter cycling (per user request). Provider order across all surfaces is now: NVIDIA NIM → Groq → Cerebras → Google AI Studio → Cloudflare → ... → iFlow.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **Provider generosity ranking** — README subtitle now includes "ranked by free tier generosity" and the full 25-provider ranking table. This reflects the same order used in the TUI Settings screen and `D` key cycling.
|
|
16
|
+
|
|
17
|
+
### Provider order (as shown in TUI and README)
|
|
18
|
+
|
|
19
|
+
1. NVIDIA NIM (~40 RPM, 46 models)
|
|
20
|
+
2. Groq (30 RPM, 1K-14.4K req/day, 8 models)
|
|
21
|
+
3. Cerebras (30 RPM, 1M tokens/day, 4 models)
|
|
22
|
+
4. Google AI Studio (15-60 RPM, 250-1.5K req/day, 6 models)
|
|
23
|
+
5. Cloudflare Workers AI (10K neurons/day, 15 models)
|
|
24
|
+
6. OpenRouter (50 req/day free, 25 models)
|
|
25
|
+
7. DeepInfra (200 concurrent requests, 4 models)
|
|
26
|
+
8. HuggingFace (~$0.10/month, 2 models)
|
|
27
|
+
9. Perplexity (~50 RPM tiered, 4 models)
|
|
28
|
+
10. SambaNova (generous dev quota, 13 models)
|
|
29
|
+
11. Fireworks AI ($1 credits, 4 models)
|
|
30
|
+
12. Hyperbolic ($1 credits, 13 models)
|
|
31
|
+
13. OVHcloud AI (2 req/min/IP free, 8 models)
|
|
32
|
+
14. Replicate (6 req/min free, 2 models)
|
|
33
|
+
15. Codestral (30 RPM, 2K req/day, 1 model)
|
|
34
|
+
16. ZAI (generous free quota, 7 models)
|
|
35
|
+
17. Scaleway (1M tokens, 10 models)
|
|
36
|
+
18. Alibaba DashScope (1M tokens/90 days, 11 models)
|
|
37
|
+
19. SiliconFlow (100 req/day + $1 credits, 6 models)
|
|
38
|
+
20. Rovo Dev CLI (5M tokens/day, 5 models)
|
|
39
|
+
21. Gemini CLI (1K req/day, 3 models)
|
|
40
|
+
22. Chutes AI (free community GPU, 4 models)
|
|
41
|
+
23. OpenCode Zen (free with account, 7 models)
|
|
42
|
+
24. Together AI (❌ no free tier, 19 models)
|
|
43
|
+
25. iFlow (⚠️ shutting down April 17, 2026, 11 models)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Changelog v0.3.54 - 2026-04-18
|
|
2
|
+
|
|
3
|
+
### Changed
|
|
4
|
+
|
|
5
|
+
- **Improved OpenCode WebUI Launch** — The `--opencode-web` flag now correctly spawns the `opencode web` command, providing a integrated browser-based coding experience with pre-configured model selection.
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Kilo CLI Support** — Added `--kilo` flag to launch the Kilo CLI with the selected model. Kilo is a fork of OpenCode and shares the same configuration structure (stored in `~/.config/kilo/opencode.json`).
|
|
10
|
+
|
|
11
|
+
## [0.3.53] - 2026-04-18
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **OpenCode WebUI Support** — Added `--opencode-web` flag to open the OpenCode WebUI dashboard after configuring the selected model.
|
|
16
|
+
|
|
17
|
+
## [0.3.52] - 2026-04-18
|
|
18
|
+
|
|
19
|
+
## [0.3.51] - 2026-04-11
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **NVIDIA NIM moved to #1** — Now listed first in README, TUI Settings page, and `D` key filter cycling (per user request). Provider order across all surfaces is now: NVIDIA NIM → Groq → Cerebras → Google AI Studio → Cloudflare → ... → iFlow.
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- **Provider generosity ranking** — README subtitle now includes "ranked by free tier generosity" and the full 25-provider ranking table. This reflects the same order used in the TUI Settings screen and `D` key cycling.
|
|
28
|
+
|
|
29
|
+
### Provider order (as shown in TUI and README)
|
|
30
|
+
|
|
31
|
+
1. NVIDIA NIM (~40 RPM, 46 models)
|
|
32
|
+
2. Groq (30 RPM, 1K-14.4K req/day, 8 models)
|
|
33
|
+
3. Cerebras (30 RPM, 1M tokens/day, 4 models)
|
|
34
|
+
4. Google AI Studio (15-60 RPM, 250-1.5K req/day, 6 models)
|
|
35
|
+
5. Cloudflare Workers AI (10K neurons/day, 15 models)
|
|
36
|
+
6. OpenRouter (50 req/day free, 25 models)
|
|
37
|
+
7. DeepInfra (200 concurrent requests, 4 models)
|
|
38
|
+
8. HuggingFace (~$0.10/month, 2 models)
|
|
39
|
+
9. Perplexity (~50 RPM tiered, 4 models)
|
|
40
|
+
10. SambaNova (generous dev quota, 13 models)
|
|
41
|
+
11. Fireworks AI ($1 credits, 4 models)
|
|
42
|
+
12. Hyperbolic ($1 credits, 13 models)
|
|
43
|
+
13. OVHcloud AI (2 req/min/IP free, 8 models)
|
|
44
|
+
14. Replicate (6 req/min free, 2 models)
|
|
45
|
+
15. Codestral (30 RPM, 2K req/day, 1 model)
|
|
46
|
+
16. ZAI (generous free quota, 7 models)
|
|
47
|
+
17. Scaleway (1M tokens, 10 models)
|
|
48
|
+
18. Alibaba DashScope (1M tokens/90 days, 11 models)
|
|
49
|
+
19. SiliconFlow (100 req/day + $1 credits, 6 models)
|
|
50
|
+
20. Rovo Dev CLI (5M tokens/day, 5 models)
|
|
51
|
+
21. Gemini CLI (1K req/day, 3 models)
|
|
52
|
+
22. Chutes AI (free community GPU, 4 models)
|
|
53
|
+
23. OpenCode Zen (free with account, 7 models)
|
|
54
|
+
24. Together AI (❌ no free tier, 19 models)
|
|
55
|
+
25. iFlow (⚠️ shutting down April 17, 2026, 11 models)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Changelog v0.3.55 - 2026-04-18
|
|
2
|
+
|
|
3
|
+
### Changed
|
|
4
|
+
|
|
5
|
+
- **Direct Launch Attempt** — Tool launchers for OpenCode and Kilo now attempt to spawn the command directly instead of blocking with a pre-installation check. Installation instructions are now provided via the process error handler for a more seamless experience.
|
|
6
|
+
- **Fixed OpenCode NPM Command** — Updated the suggested installation command for OpenCode to `npm install -g opencode-ai`.
|
|
7
|
+
|
|
8
|
+
## [0.3.54] - 2026-04-18
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **Improved OpenCode WebUI Launch** — The `--opencode-web` flag now correctly spawns the `opencode web` command, providing a integrated browser-based coding experience with pre-configured model selection.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **Kilo CLI Support** — Added `--kilo` flag to launch the Kilo CLI with the selected model. Kilo is a fork of OpenCode and shares the same configuration structure (stored in `~/.config/kilo/opencode.json`).
|
|
17
|
+
|
|
18
|
+
## [0.3.53] - 2026-04-18
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **OpenCode WebUI Support** — Added `--opencode-web` flag to open the OpenCode WebUI dashboard after configuring the selected model.
|
|
23
|
+
|
|
24
|
+
## [0.3.52] - 2026-04-18
|
|
25
|
+
|
|
26
|
+
## [0.3.51] - 2026-04-11
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- **NVIDIA NIM moved to #1** — Now listed first in README, TUI Settings page, and `D` key filter cycling (per user request). Provider order across all surfaces is now: NVIDIA NIM → Groq → Cerebras → Google AI Studio → Cloudflare → ... → iFlow.
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
|
|
34
|
+
- **Provider generosity ranking** — README subtitle now includes "ranked by free tier generosity" and the full 25-provider ranking table. This reflects the same order used in the TUI Settings screen and `D` key cycling.
|
|
35
|
+
|
|
36
|
+
### Provider order (as shown in TUI and README)
|
|
37
|
+
|
|
38
|
+
1. NVIDIA NIM (~40 RPM, 46 models)
|
|
39
|
+
2. Groq (30 RPM, 1K-14.4K req/day, 8 models)
|
|
40
|
+
3. Cerebras (30 RPM, 1M tokens/day, 4 models)
|
|
41
|
+
4. Google AI Studio (15-60 RPM, 250-1.5K req/day, 6 models)
|
|
42
|
+
5. Cloudflare Workers AI (10K neurons/day, 15 models)
|
|
43
|
+
6. OpenRouter (50 req/day free, 25 models)
|
|
44
|
+
7. DeepInfra (200 concurrent requests, 4 models)
|
|
45
|
+
8. HuggingFace (~$0.10/month, 2 models)
|
|
46
|
+
9. Perplexity (~50 RPM tiered, 4 models)
|
|
47
|
+
10. SambaNova (generous dev quota, 13 models)
|
|
48
|
+
11. Fireworks AI ($1 credits, 4 models)
|
|
49
|
+
12. Hyperbolic ($1 credits, 13 models)
|
|
50
|
+
13. OVHcloud AI (2 req/min/IP free, 8 models)
|
|
51
|
+
14. Replicate (6 req/min free, 2 models)
|
|
52
|
+
15. Codestral (30 RPM, 2K req/day, 1 model)
|
|
53
|
+
16. ZAI (generous free quota, 7 models)
|
|
54
|
+
17. Scaleway (1M tokens, 10 models)
|
|
55
|
+
18. Alibaba DashScope (1M tokens/90 days, 11 models)
|
|
56
|
+
19. SiliconFlow (100 req/day + $1 credits, 6 models)
|
|
57
|
+
20. Rovo Dev CLI (5M tokens/day, 5 models)
|
|
58
|
+
21. Gemini CLI (1K req/day, 3 models)
|
|
59
|
+
22. Chutes AI (free community GPU, 4 models)
|
|
60
|
+
23. OpenCode Zen (free with account, 7 models)
|
|
61
|
+
24. Together AI (❌ no free tier, 19 models)
|
|
62
|
+
25. iFlow (⚠️ shutting down April 17, 2026, 11 models)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Changelog v0.3.56 - 2026-05-04
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- **Major free-model catalog refresh** — Rebuilt the active catalog to **180 models across 16 vetted free or free-limited providers**.
|
|
6
|
+
- **GitHub Models provider** — Added GitHub Models with 15 API models and `GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_MODELS_TOKEN` support.
|
|
7
|
+
- **Mistral La Plateforme provider** — Added a general Mistral provider for Experiment-plan usage, separate from the existing Codestral shortcut provider for backward compatibility.
|
|
8
|
+
- **OpenRouter live free-model coverage** — Added current free models such as `tencent/hy3-preview:free`, Poolside Laguna, Ling 2.6, Nemotron 3, OpenRouter Free, Owl Alpha, Gemma 4, and LFM free models.
|
|
9
|
+
- **Smart Router Daemon** — Added a local OpenAI-compatible daemon with model failover, health tracking, daemon status, dashboard integration, and router set persistence.
|
|
10
|
+
- **`--sync-set` router discovery** — Added automatic model discovery and live probing for configured providers so router sets can be rebuilt from working models.
|
|
11
|
+
- **Router Dashboard** — Added a local web dashboard for router health, latency heatmaps, failover activity, and quota visibility.
|
|
12
|
+
- **Kilo CLI integration** — Added Kilo as a launch target and endpoint install target.
|
|
13
|
+
- **Discord commit log webhook** — Added `DISCORD_WEBHOOK_URL` support for compact push notifications.
|
|
14
|
+
- **Graphify integration** — Added codebase graph analysis artifacts and tracking support for architecture inspection.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **Free-provider policy tightened** — Removed paid-only, trial-credit-only, shutdown, extremely tiny-credit, unclear, and tool-specific providers from the active catalog.
|
|
19
|
+
- **Providers removed from active core** — `iFlow`, `Together AI`, `Perplexity API`, `DeepInfra`, `Replicate`, `Fireworks`, `Hyperbolic`, `Hugging Face`, `SiliconFlow`, `Chutes AI`, and `Rovo` are now documented outside the core free-provider list when useful.
|
|
20
|
+
- **Provider catalogs refreshed** — Updated NVIDIA NIM, OpenRouter, Google AI Studio, Gemini CLI, Cloudflare Workers AI, OVHcloud AI Endpoints, ZAI, SambaNova, Scaleway, Qwen DashScope, and OpenCode Zen model IDs.
|
|
21
|
+
- **SambaNova catalog corrected** — Reduced the provider to the current public model set and restored `DeepSeek-V3.2` after verifying it is present in the live `/v1/models` endpoint.
|
|
22
|
+
- **Google/Gemini IDs corrected** — Replaced stale Gemma-style IDs with current Gemini API model IDs for Google AI Studio and Gemini CLI.
|
|
23
|
+
- **ZAI catalog reduced** — Kept only free Flash models in the active provider list.
|
|
24
|
+
- **Scaleway EOL cleanup** — Removed EOL entries from the active Scaleway list and kept only useful current text models.
|
|
25
|
+
- **Codestral key handling normalized** — `MISTRAL_API_KEY` is now the primary environment variable; `CODESTRAL_API_KEY` remains accepted as an alias.
|
|
26
|
+
- **OpenRouter free detection improved** — Live OpenRouter discovery now treats zero-priced public models as free even when their ID does not end in `:free`.
|
|
27
|
+
- **Provider filters now derive from the catalog** — Command Palette provider filters are generated from `sources`, so new providers do not need a hardcoded UI update.
|
|
28
|
+
- **Router model set expanded** — Default router candidate selection now supports up to 8 models and uses refreshed high-ranking defaults.
|
|
29
|
+
- **External tool configs generalized** — OpenCode and Kilo can now auto-configure newly added OpenAI-compatible providers through shared provider metadata.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- **Router upstream hardening** — Fixed unsupported request parameter stripping, retryable failover behavior, content-type canonicalization, and long-stream timeout handling.
|
|
34
|
+
- **Router auth/quota semantics** — Router now returns 401/429 when all candidates fail because of auth or quota instead of masking those cases as 503.
|
|
35
|
+
- **OpenRouter sync-set filtering** — Router discovery no longer drops `openrouter/free` and `openrouter/owl-alpha` just because their IDs do not end with `:free`.
|
|
36
|
+
- **Provider key probes** — Updated probe model priorities for NVIDIA, SambaNova, GitHub Models, and Mistral to avoid stale or slow first-choice checks.
|
|
37
|
+
- **OpenCode Desktop launcher** — Fixed launcher setup for newly added OpenAI-compatible providers such as GitHub Models and Mistral.
|
|
38
|
+
- **pnpm lock conflict** — Regenerated the lockfile from `package.json` to resolve the merge conflict state.
|
|
39
|
+
|
|
40
|
+
### Docs
|
|
41
|
+
|
|
42
|
+
- **README provider table updated** — Updated badges, provider count, model count, free-tier descriptions, environment variables, audit cleanup notes, and caveats.
|
|
43
|
+
- **Provider inclusion policy documented** — Added explicit notes explaining why Vercel AI Gateway, Cohere, Ollama Cloud, trial-credit providers, and tiny-credit providers are not treated as core free providers.
|
|
44
|
+
- **Other Free AI Resources reorganized** — Moved curated external resources to the bottom of the README and separated permanent free tiers from trial-credit providers.
|
|
45
|
+
- **Router PRD and sync-set docs** — Added and updated router design notes and `--sync-set` documentation.
|
|
46
|
+
- **Contributors updated** — Added new contributor acknowledgements.
|
|
47
|
+
|
|
48
|
+
### Dependencies
|
|
49
|
+
|
|
50
|
+
- **react** bumped to 19.2.5.
|
|
51
|
+
- **vite** bumped to 8.0.10.
|
|
52
|
+
- **vite-plus** bumped to 0.1.20.
|
|
53
|
+
- **pnpm/action-setup** bumped to 6.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Changelog v0.3.57 - 2026-05-04
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- **Major free-model catalog refresh** — Rebuilt the active catalog to **180 models across 16 vetted free or free-limited providers**.
|
|
6
|
+
- **GitHub Models provider** — Added GitHub Models with 15 API models and `GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_MODELS_TOKEN` support.
|
|
7
|
+
- **Mistral La Plateforme provider** — Added a general Mistral provider for Experiment-plan usage, separate from the existing Codestral shortcut provider for backward compatibility.
|
|
8
|
+
- **OpenRouter live free-model coverage** — Added current free models such as `tencent/hy3-preview:free`, Poolside Laguna, Ling 2.6, Nemotron 3, OpenRouter Free, Owl Alpha, Gemma 4, and LFM free models.
|
|
9
|
+
- **Smart Router Daemon** — Added a local OpenAI-compatible daemon with model failover, health tracking, daemon status, dashboard integration, and router set persistence.
|
|
10
|
+
- **`--sync-set` router discovery** — Added automatic model discovery and live probing for configured providers so router sets can be rebuilt from working models.
|
|
11
|
+
- **Router Dashboard** — Added a local web dashboard for router health, latency heatmaps, failover activity, and quota visibility.
|
|
12
|
+
- **Kilo CLI integration** — Added Kilo as a launch target and endpoint install target.
|
|
13
|
+
- **Discord commit log webhook** — Added `DISCORD_WEBHOOK_URL` support for compact push notifications.
|
|
14
|
+
- **Graphify integration** — Added codebase graph analysis artifacts and tracking support for architecture inspection.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- **Free-provider policy tightened** — Removed paid-only, trial-credit-only, shutdown, extremely tiny-credit, unclear, and tool-specific providers from the active catalog.
|
|
19
|
+
- **Providers removed from active core** — `iFlow`, `Together AI`, `Perplexity API`, `DeepInfra`, `Replicate`, `Fireworks`, `Hyperbolic`, `Hugging Face`, `SiliconFlow`, `Chutes AI`, and `Rovo` are now documented outside the core free-provider list when useful.
|
|
20
|
+
- **Provider catalogs refreshed** — Updated NVIDIA NIM, OpenRouter, Google AI Studio, Gemini CLI, Cloudflare Workers AI, OVHcloud AI Endpoints, ZAI, SambaNova, Scaleway, Qwen DashScope, and OpenCode Zen model IDs.
|
|
21
|
+
- **SambaNova catalog corrected** — Reduced the provider to the current public model set and restored `DeepSeek-V3.2` after verifying it is present in the live `/v1/models` endpoint.
|
|
22
|
+
- **Google/Gemini IDs corrected** — Replaced stale Gemma-style IDs with current Gemini API model IDs for Google AI Studio and Gemini CLI.
|
|
23
|
+
- **ZAI catalog reduced** — Kept only free Flash models in the active provider list.
|
|
24
|
+
- **Scaleway EOL cleanup** — Removed EOL entries from the active Scaleway list and kept only useful current text models.
|
|
25
|
+
- **Codestral key handling normalized** — `MISTRAL_API_KEY` is now the primary environment variable; `CODESTRAL_API_KEY` remains accepted as an alias.
|
|
26
|
+
- **OpenRouter free detection improved** — Live OpenRouter discovery now treats zero-priced public models as free even when their ID does not end in `:free`.
|
|
27
|
+
- **Provider filters now derive from the catalog** — Command Palette provider filters are generated from `sources`, so new providers do not need a hardcoded UI update.
|
|
28
|
+
- **Router model set expanded** — Default router candidate selection now supports up to 8 models and uses refreshed high-ranking defaults.
|
|
29
|
+
- **External tool configs generalized** — OpenCode and Kilo can now auto-configure newly added OpenAI-compatible providers through shared provider metadata.
|
|
30
|
+
- **Footer collapse removed** — The main TUI table now always keeps the full footer visible, matching the sticky header behavior and avoiding hidden navigation hints.
|
|
31
|
+
- **Main table header simplified** — Removed the extra `Search / Tier / Provider / Verdict / Health` filter row from the primary TUI table. Active tier/provider state still appears in the title row, and the column header now sits directly under the app/version row.
|
|
32
|
+
- **Router UI hidden from the main flow** — Removed the visible Smart Router upgrade banner, footer daemon status, help entry, command palette entry, and README TUI shortcut documentation. The router implementation stays available, but the main table no longer advertises it.
|
|
33
|
+
- **Footer now sticks to the terminal bottom** — The footer is padded into the bottom rows even when only a few models are visible, while the header remains fixed at the top.
|
|
34
|
+
- **Release docs narrowed for router** — README now documents router CLI commands without promoting the in-TUI dashboard path to normal users.
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- **Sticky TUI header visibility** — Fixed the main table line budget so the app/version row, column headers, model rows, and footer are all reserved before rows are rendered. This prevents the alternate screen from scrolling the header out of view.
|
|
39
|
+
- **Shift+R router shortcut restored** — Re-enabled `Shift+R` as an unadvertised tester shortcut after it had been temporarily disabled.
|
|
40
|
+
- **Footer line budgeting hardened** — Optional update, custom-filter, and release-date footer rows are now included in viewport calculations so temporary footer rows cannot push the table header off-screen.
|
|
41
|
+
- **Router upstream hardening** — Fixed unsupported request parameter stripping, retryable failover behavior, content-type canonicalization, and long-stream timeout handling.
|
|
42
|
+
- **Router auth/quota semantics** — Router now returns 401/429 when all candidates fail because of auth or quota instead of masking those cases as 503.
|
|
43
|
+
- **OpenRouter sync-set filtering** — Router discovery no longer drops `openrouter/free` and `openrouter/owl-alpha` just because their IDs do not end with `:free`.
|
|
44
|
+
- **Provider key probes** — Updated probe model priorities for NVIDIA, SambaNova, GitHub Models, and Mistral to avoid stale or slow first-choice checks.
|
|
45
|
+
- **OpenCode Desktop launcher** — Fixed launcher setup for newly added OpenAI-compatible providers such as GitHub Models and Mistral.
|
|
46
|
+
- **pnpm lock conflict** — Regenerated the lockfile from `package.json` to resolve the merge conflict state.
|
|
47
|
+
|
|
48
|
+
### Docs
|
|
49
|
+
|
|
50
|
+
- **README provider table updated** — Updated badges, provider count, model count, free-tier descriptions, environment variables, audit cleanup notes, and caveats.
|
|
51
|
+
- **Provider inclusion policy documented** — Added explicit notes explaining why Vercel AI Gateway, Cohere, Ollama Cloud, trial-credit providers, and tiny-credit providers are not treated as core free providers.
|
|
52
|
+
- **Other Free AI Resources reorganized** — Moved curated external resources to the bottom of the README and separated permanent free tiers from trial-credit providers.
|
|
53
|
+
- **Router PRD and sync-set docs** — Added and updated router design notes and `--sync-set` documentation.
|
|
54
|
+
- **Contributors updated** — Added new contributor acknowledgements.
|
|
55
|
+
|
|
56
|
+
### Dependencies
|
|
57
|
+
|
|
58
|
+
- **react** bumped to 19.2.5.
|
|
59
|
+
- **vite** bumped to 8.0.10.
|
|
60
|
+
- **vite-plus** bumped to 0.1.20.
|
|
61
|
+
- **pnpm/action-setup** bumped to 6.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Changelog v0.3.58 - 2026-05-04
|
|
2
|
+
|
|
3
|
+
### Changed
|
|
4
|
+
|
|
5
|
+
- **E key filter ("Working only") now also hides `noauth` and `auth_error` models** — Previously E only filtered by missing API key. Now it also filters out models whose provider returned a 401/403 auth rejection, while still keeping `timeout` and `429` (rate-limited) models visible.
|
|
6
|
+
- **Google AI Studio renamed to Google AI** — Shortened to avoid column overflow in the provider column.
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
|
|
10
|
+
- **NVIDIA NIM column label** — The provider column in the TUI table now shows `NVIDIA NIM` instead of `NIM` to match the official provider branding.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Changelog v0.3.6 - 2026-03-16
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
- **AI `/testfcm` workflow**: Added a repo-local PTY runner, workflow doc, slash-command prompts, and artifact/report directories so an agent can drive the real TUI, launch a tool, send `hi`, and write a Markdown bug report with evidence.
|
|
5
|
+
- **Mock tool verification path**: Added a tiny fake `crush` binary plus `test:fcm:mock` so maintainers can validate the TUI → launcher → prompt plumbing even when a real coding tool is not installed locally.
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **`--json` startup crash**: JSON mode now reuses the same provider-aware ping function as the TUI without crashing on `pingModel is not a function`.
|
|
9
|
+
- **Managed endpoint installs no longer resurrect stale disk entries**: install/refresh saves now replace the tracked `endpointInstalls` snapshot so old provider-tool records from another config state do not leak back into the current catalog set.
|
|
10
|
+
- **Favorites persistence is now much harder to break**: favorite toggles now reload the latest disk config before saving, keep the active profile snapshot in sync, and use atomic config writes so pinned rows no longer disappear after unrelated saves or updates.
|
|
11
|
+
- **API key saves no longer clobber the rest of the config**: editing one provider now persists only that provider against the latest on-disk snapshot, preserves rotated extra keys, and stops stale config writes from wiping other saved keys.
|
|
12
|
+
- **Configured Only no longer hides favorites**: starred rows now stay visible and pinned at the top even when the provider has no currently configured key.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Changelog v0.3.63 - 2026-05-05
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **Router daemon auth error false positives** — Fixed `health.every([])` returning `true` for empty arrays, which caused all models to be incorrectly marked as AUTH_ERROR when the daemon had no health data yet. Added explicit `health.length > 0` guards before `.every()` checks.
|
|
6
|
+
- **Daemon API key priority** — `getApiKeyForProvider` no longer falls back to shell env vars when a config key exists. The daemon now exclusively uses keys from `~/.free-coding-models.json`, preventing test/fake keys in shell env from overriding real configured keys.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- **Shift+R now launches OpenCode** — Pressing Shift+R opens the Router Dashboard AND launches OpenCode with the currently selected model from the main table. If dashboard is already open, just resets scroll. Previously Shift+R only opened the dashboard without launching anything.
|
|
11
|
+
- **Favorites sync to router on launch** — When a model is launched from the TUI, it and the user's full favorites chain are synced to the daemon as the active set via `/sets/fast-coding`.
|
|
12
|
+
- **Router Dashboard install flow** — The "Install Router Endpoint to CLI Tool" button now opens the Install Endpoints overlay directly with `fcm_router` pre-selected, skipping the provider selection phase.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **README_ROUTER.md** — New comprehensive documentation for the FCM Router daemon, covering setup, endpoints, routing behavior, and tool configuration.
|
|
17
|
+
|
|
18
|
+
### Changed (general)
|
|
19
|
+
|
|
20
|
+
- **CTX column gradient improved** — Context window colorization now goes from red (32k) → orange (64k) → yellow (128k) → green (256k) → cyan/teal fluo (400k) → bold cyan+underline (1M+) so the biggest context windows stand out visually.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Changelog v0.3.64 - 2026-05-06
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **E footer spacing and color** — Fixed the active `E` footer label so the hotkey letter keeps its distinct hotkey color and is separated from the active filter text by a readable space. This makes the active filter state easier to scan in the TUI footer.
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- **Clearer E filter names** — Renamed the `E` cycle from `Working only` / `Best mode` to `Configured only` / `Usable only`. The behavior is unchanged: `Configured only` keeps configured providers visible, while `Usable only` narrows the table to models with healthy status and usable verdicts.
|
|
10
|
+
- **README TUI key reference** — Updated the `E` shortcut documentation to describe the full visibility cycle: `Active only → Configured only → Usable only`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Changelog v0.3.65 - 2026-05-06
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **Live Usable only filtering** — `Usable only` now refreshes continuously while pings run, so models enter the table as soon as they become usable and leave the table as soon as they stop being usable. The filter now reflects the current `UP` state and usable verdicts instead of staying stuck on the state from when the filter was toggled.
|
|
6
|
+
- **Sticky favorites no longer bypass Usable only health** — Favorites can still stay visible across tier, provider, and text filters when sticky favorites mode is enabled, but `Usable only` now takes precedence. A favorite that times out, goes down, hits auth errors, or otherwise stops being usable is removed from the view like any other model.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- **Safer cursor behavior during live filtering** — When live filtering removes the selected row, the TUI now clamps the cursor and scroll offset to the remaining visible rows so selection and launch behavior keep matching what is on screen.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Changelog v0.3.67 - 2026-05-17
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- **🐳 Docker Packaging**: First-class Docker support so you can run FCM without installing Node.js. The official image is published to `ghcr.io/vava-nessa/free-coding-models` on every release and tag push.
|
|
6
|
+
- Multi-arch friendly `Dockerfile` based on `node:20-alpine`, running as a non-root `fcm` user.
|
|
7
|
+
- `docker-entrypoint.sh` auto-generates `~/.free-coding-models.json` from any `*_API_KEY` / `*_API_TOKEN` env vars you pass to the container — no manual config step.
|
|
8
|
+
- `docker-compose.yml` template wired up for every supported provider.
|
|
9
|
+
- GitHub Actions workflow (`.github/workflows/docker.yml`) handles build + publish to GHCR on `release: published`, `push: v*.*.*` tags, and `workflow_dispatch` (with a `test_mode` dry-run input).
|
|
10
|
+
- Trivy vulnerability scan blocks releases that introduce any CRITICAL/HIGH CVEs.
|
|
11
|
+
- Quick start: `docker run -p 19280:19280 -e OPENROUTER_API_KEY=... ghcr.io/vava-nessa/free-coding-models:latest`.
|
|
12
|
+
- **🌐 Combined Daemon + Web Dashboard**: The router daemon now serves the web dashboard from the same port — no more juggling two processes. New REST surface area baked into the daemon:
|
|
13
|
+
- `GET /api/models` — full model catalog with latency stats, status, p95, jitter, stability, verdict, uptime, and `inRouterSet` flag.
|
|
14
|
+
- `GET /api/config` — provider catalog with masked API keys (`••••••••XXXX`) and enabled state.
|
|
15
|
+
- `GET /api/events` — SSE stream the dashboard subscribes to for live updates.
|
|
16
|
+
- `GET /api/key/<provider>` — reveal the raw API key for a configured provider (same-origin only).
|
|
17
|
+
- `POST /api/settings` — save API keys and per-provider enabled flags from the dashboard, then trigger a probe burst.
|
|
18
|
+
- When you add a new provider's API key from the dashboard, FCM now mirrors `--sync-set` behavior and automatically adds that provider's best-tier model to your active router set.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- **`--web` flag removed**: replaced by `--daemon`, which now serves both the OpenAI-compatible router API and the dashboard on the same port. Existing tooling using `--web` should switch to `--daemon`.
|
|
23
|
+
- **Preserve user-created router sets on daemon start**: previously the daemon rebuilt the active set from favorites or defaults on every restart, silently overwriting sets created with `--sync-set`. Named sets are now preserved.
|
|
24
|
+
- **Faster config reload**: `CONFIG_RELOAD_INTERVAL_MS` shortened from 60s → 10s so dashboard-driven changes (toggling providers, adding keys) propagate quickly.
|
|
25
|
+
- **Contributors**: welcome [@stgreenb](https://github.com/stgreenb) 🎉 — author of the daemon-web merge and Docker packaging work.
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
|
|
29
|
+
- **🔒 Path traversal in dashboard static file serving (security)**: requests like `GET /../../etc/passwd` could escape `web/dist/` and read arbitrary files reachable by the daemon user. The mitigation (`127.0.0.1` bind) was bypassed inside Docker where the daemon binds `0.0.0.0`. All static paths are now resolved against `WEB_DIST_DIR` and rejected with 403 when they escape.
|
|
30
|
+
- **🔒 Cross-site write / key exfiltration on dashboard endpoints (security)**: `POST /api/settings` (writes API keys) and `GET /api/key/<provider>` (reveals raw keys) previously accepted any request, including those triggered by malicious tabs visiting a page that fetched `http://localhost:19280/...`. Both now enforce a same-origin / loopback `Origin` header check. Header-less CLI callers (curl, native apps) keep working.
|
|
31
|
+
- **🔒 Config file permissions tightened in Docker**: the entrypoint previously created `~/.free-coding-models.json` with mode `0666`. Tightened to `0600` since it stores plaintext API keys.
|
|
32
|
+
- **🐛 `/api/key/:provider` route never matched**: the handler compared `url.pathname === '/api/key/:provider'` literally, so the endpoint was unreachable. Now correctly matches via `startsWith` and 404s unknown providers.
|
|
33
|
+
- **🐛 "Excellent" verdict for fully-down models**: when a model had probe history but every ping failed, `avg` collapsed to `0` and the dashboard showed "Excellent". Verdict now correctly returns `—` whenever no usable latency sample exists.
|
|
34
|
+
- **🐛 `--daemon-bg` mode signalled "down" for everything in dashboard**: the type-mismatch comparison (`===` between string code and number) made every model render as `down`. Codes are now compared as strings.
|
|
35
|
+
- **⚙️ Docker GitHub Actions workflow YAML repaired**: the top-level `env:` block and the GHCR login step were incorrectly indented and would have prevented GitHub from parsing the workflow at all.
|
|
36
|
+
- **⚙️ Docker container lifecycle**: the container no longer outlives a crashed daemon. The entrypoint now runs the daemon in the foreground (`--daemon` instead of `--daemon-bg`) so Docker's restart policy can recover from crashes instead of waiting for the healthcheck to time out.
|
|
37
|
+
|
|
38
|
+
### Internal
|
|
39
|
+
|
|
40
|
+
- Removed a dead `createReadStream` import in `router-daemon.js`.
|
|
41
|
+
- Hoisted `routerConfig()` and `getSet()` lookups out of the per-model loop in `getWebModelsPayload()` — saves ~200 redundant runtime calls per dashboard refresh — and uses a `Set` index for in-set membership checks.
|
|
42
|
+
- Renamed a local `window` variable to `probeWindow` to avoid shadowing globals.
|
|
43
|
+
- Removed a nested `router` shadow in `/api/settings`.
|
|
44
|
+
- Added `X-Content-Type-Options: nosniff` header on all static dashboard responses.
|
|
45
|
+
- Added 6 new tests covering path-traversal blocking, cross-origin write rejection, same-origin write success, CLI key fetch, and unknown-provider 404. Total: 371 tests, all green.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Changelog v0.3.68 - 2026-05-26
|
|
2
|
+
|
|
3
|
+
### Changed
|
|
4
|
+
|
|
5
|
+
- **📁 Per-version changelogs**: Migrated from a single root `CHANGELOG.md` to a `changelog/` directory with one file per version (`changelog/vX.Y.Z.md`). Every version from v0.1.1 to v0.3.67 now has its own changelog file, extracted from GitHub Release notes and git commit history. The root `CHANGELOG.md` has been deleted.
|
|
6
|
+
- **`src/changelog-loader.js`**: Refactored to scan the `changelog/` directory for `v*.md` files instead of reading a single `CHANGELOG.md`. The TUI changelog display continues to work identically.
|
|
7
|
+
- **`.github/workflows/release.yml`**: The "Extract changelog" step now reads `changelog/vX.Y.Z.md` directly instead of parsing a monolithic file for a version section. Simpler and more reliable.
|
|
8
|
+
- **`package.json`**: Replaced `CHANGELOG.md` with `changelog/` in the `files` array so per-version changelogs are included in the npm package.
|
|
9
|
+
- **`AGENTS.md`**: Updated changelog instructions and the `/bump` workflow to create per-version files in `changelog/` instead of rewriting a single root file. Added a mandatory rule that the changelog content must always be used as the GitHub Release body.
|
|
10
|
+
- **`docs/development.md`**: Updated the release step to reference the new changelog path.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **NVIDIA NIM catalog cleanup** (`sources.js`): Removed 10 deprecated or 404-ing models from the NVIDIA NIM provider:
|
|
15
|
+
- Removed (deprecated): `minimax-m2`, `qwen3-next-80b-a3b-thinking`, `granite-34b-code-instruct`
|
|
16
|
+
- Removed (404): `llama-3.1-nemotron-ultra-253b-v1`, `llama-3.3-nemotron-super-49b-v1.5`, `llama-3.3-70b-instruct`, `mixtral-8x22b-instruct-v0.1`, `llama-3.1-8b-instruct`
|
|
17
|
+
- Replaced: `llama-3.1-8b-instruct` → `llama-3.2-11b-vision-instruct` (active replacement in B tier)
|
|
18
|
+
- Added inline comments documenting all removals and reasons
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Changelog v0.3.9 - 2026-03-16
|
|
2
|
+
|
|
3
|
+
### Improved
|
|
4
|
+
- **Enhanced `--premium` flag**: Now applies strict elite-only constraints. Shows only **S/S+** tier models with perfect health (**UP**) and a good verdict (**Perfect**, **Normal**, or **Slow**). Models with 429 errors, auth failures, or poor performance are automatically hidden.
|
|
5
|
+
- **Accurate Token Usage Tracking**: The "Used" column now uses the persistent `token-stats.json` file as the source of truth, providing accurate historical totals instead of only the most recent logs.
|
|
6
|
+
- **Enhanced Log Transparency**: The request log page now always shows the requested model and the actual upstream model (e.g., `llama-3.1-405b → meta/llama-3.1-405b-instruct`) whenever they differ.
|
|
7
|
+
- **Pretty Provider Labels**: The request log page now uses human-readable provider labels (e.g., "NVIDIA NIM", "SambaNova") instead of raw internal keys.
|
|
8
|
+
- **Fixed Tier Filtering Family Logic**: Updated `--tier S` behavior to correctly include both **S** and **S+** models (matching documentation).
|
|
9
|
+
|
|
10
|
+
---
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "free-coding-models",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "Find the fastest coding LLM models in seconds
|
|
3
|
+
"version": "0.3.68",
|
|
4
|
+
"description": "Find the fastest coding LLM models in seconds \u2014 ping free models from multiple providers, pick the best one for OpenCode, Cursor, or any AI coding assistant.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nvidia",
|
|
7
7
|
"nim",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"patch-openclaw-models.js",
|
|
48
48
|
"README.md",
|
|
49
49
|
"LICENSE",
|
|
50
|
-
"
|
|
50
|
+
"changelog/"
|
|
51
51
|
],
|
|
52
52
|
"scripts": {
|
|
53
53
|
"start": "node bin/free-coding-models.js",
|
package/sources.js
CHANGED
|
@@ -50,8 +50,6 @@ export const nvidiaNim = [
|
|
|
50
50
|
['stepfun-ai/step-3.5-flash', 'Step 3.5 Flash', 'S+', '74.4%', '256k'],
|
|
51
51
|
['qwen/qwen3-coder-480b-a35b-instruct', 'Qwen3 Coder 480B', 'S+', '70.6%', '256k'],
|
|
52
52
|
// ── S tier — SWE-bench Verified 60–70% ──
|
|
53
|
-
['minimaxai/minimax-m2', 'MiniMax M2', 'S', '69.4%', '128k'],
|
|
54
|
-
['qwen/qwen3-next-80b-a3b-thinking', 'Qwen3 80B Thinking', 'S', '68.0%', '128k'],
|
|
55
53
|
['qwen/qwen3-next-80b-a3b-instruct', 'Qwen3 80B Instruct', 'S', '65.0%', '128k'],
|
|
56
54
|
['qwen/qwen3.5-397b-a17b', 'Qwen3.5 400B VLM', 'S', '68.0%', '128k'],
|
|
57
55
|
['openai/gpt-oss-120b', 'GPT OSS 120B', 'S', '60.0%', '128k'],
|
|
@@ -60,27 +58,27 @@ export const nvidiaNim = [
|
|
|
60
58
|
['mistralai/mistral-small-4-119b-2603', 'Mistral Small 4', 'S', '60.0%', '128k'],
|
|
61
59
|
['qwen/qwen3.5-122b-a10b', 'Qwen3.5 122B', 'S', '64.0%', '128k'],
|
|
62
60
|
// ── A+ tier — SWE-bench Verified 50–60% ──
|
|
63
|
-
['nvidia/llama-3.1-nemotron-ultra-253b-v1', 'Nemotron Ultra 253B', 'A+', '56.0%', '128k'],
|
|
64
61
|
['mistralai/mistral-large-3-675b-instruct-2512', 'Mistral Large 675B', 'A+', '58.0%', '256k'],
|
|
65
62
|
['nvidia/nemotron-3-super-120b-a12b', 'Nemotron 3 Super', 'A+', '56.0%', '128k'],
|
|
66
63
|
['nvidia/nemotron-3-nano-omni-30b-a3b-reasoning','Nemotron 3 Omni', 'A+', '52.0%', '128k'],
|
|
67
64
|
// ── A tier — SWE-bench Verified 40–50% ──
|
|
68
|
-
['nvidia/llama-3.3-nemotron-super-49b-v1.5', 'Nemotron Super 49B', 'A', '49.0%', '128k'],
|
|
69
65
|
['nvidia/nemotron-3-nano-30b-a3b', 'Nemotron Nano 30B', 'A', '43.0%', '128k'],
|
|
70
66
|
['openai/gpt-oss-20b', 'GPT OSS 20B', 'A', '42.0%', '128k'],
|
|
71
67
|
['google/gemma-4-31b-it', 'Gemma 4 31B', 'A', '45.0%', '256k'],
|
|
72
68
|
// ── A- tier — SWE-bench Verified 35–40% ──
|
|
73
|
-
['meta/llama-3.3-70b-instruct', 'Llama 3.3 70B', 'A-', '39.5%', '128k'],
|
|
74
69
|
['bytedance/seed-oss-36b-instruct', 'Seed OSS 36B', 'A-', '38.0%', '32k'],
|
|
75
70
|
['stockmark/stockmark-2-100b-instruct', 'Stockmark 100B', 'A-', '36.0%', '32k'],
|
|
76
71
|
// ── B+ tier — SWE-bench Verified 30–35% ──
|
|
77
|
-
['mistralai/mixtral-8x22b-instruct-v0.1', 'Mixtral 8x22B', 'B+', '32.0%', '64k'],
|
|
78
72
|
['mistralai/ministral-14b-instruct-2512', 'Ministral 14B', 'B+', '34.0%', '32k'],
|
|
79
|
-
['ibm/granite-34b-code-instruct', 'Granite 34B Code', 'B+', '30.0%', '32k'],
|
|
80
73
|
// ── B tier — SWE-bench Verified 20–30% ──
|
|
81
|
-
['meta/llama-3.
|
|
74
|
+
['meta/llama-3.2-11b-vision-instruct', 'Llama 3.2 11B Vision','B', '28.0%', '128k'],
|
|
82
75
|
// ── C tier — SWE-bench Verified <20% or lightweight edge models ──
|
|
83
76
|
['microsoft/phi-4-mini-instruct', 'Phi 4 Mini', 'C', '14.0%', '128k'],
|
|
77
|
+
// Removed (2026-05-26): minimax-m2 (deprecated), qwen3-next-80b-a3b-thinking (deprecated),
|
|
78
|
+
// llama-3.1-nemotron-ultra-253b-v1 (404), llama-3.3-nemotron-super-49b-v1.5 (404),
|
|
79
|
+
// llama-3.3-70b-instruct (404), mixtral-8x22b-instruct-v0.1 (404),
|
|
80
|
+
// granite-34b-code-instruct (deprecated), llama-4-scout-17b-16e-instruct (deprecated, not in nvidiaNim),
|
|
81
|
+
// llama-3.1-8b-instruct (404) → replaced by llama-3.2-11b-vision-instruct
|
|
84
82
|
]
|
|
85
83
|
|
|
86
84
|
// 📖 Groq source - https://console.groq.com
|