free-coding-models 0.3.28 → 0.3.30
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/CHANGELOG.md +8 -1
- package/README.md +3 -1
- package/package.json +1 -1
- package/src/app.js +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
---
|
|
3
3
|
|
|
4
|
-
## [0.3.
|
|
4
|
+
## [0.3.29] - 2026-03-27
|
|
5
5
|
|
|
6
6
|
### Added
|
|
7
7
|
- **Fluorescent green UPDATE AVAILABLE banner** — impossible-to-miss fluo green (🚀⬆️) banner at the bottom of the TUI when a new version is detected; click it to update instantly
|
|
@@ -11,11 +11,18 @@
|
|
|
11
11
|
- **Background version re-check every 5 minutes** — if a new version is published while the TUI is open, the banner appears live without restarting
|
|
12
12
|
- **Aggressive pre-TUI update prompt** — fluorescent green header, and "Continue without update" warns that reminders will follow
|
|
13
13
|
- **Last release date in footer** — light pink `Last release: Mar 27, 2026, 09:42 PM` shows when the package was last published to npm, so users know how fresh the model data is
|
|
14
|
+
- **Demo2 GIF** — added `demo2.gif` to README for visual showcase of the TUI
|
|
14
15
|
|
|
15
16
|
### Fixed
|
|
16
17
|
- **Auto-update now detects the correct package manager** — bun, pnpm, and yarn users no longer get duplicate npm installs (fixes #46)
|
|
17
18
|
- Update banner in footer shows the correct install command for your package manager
|
|
18
19
|
|
|
20
|
+
## [0.3.28] - 2026-03-27
|
|
21
|
+
|
|
22
|
+
_(Skipped — published as 0.3.28 without changelog in commit message, all changes are in 0.3.29)_
|
|
23
|
+
|
|
24
|
+
## [0.3.27] - 2026-03-27
|
|
25
|
+
|
|
19
26
|
## [0.3.26] - 2026-03-27
|
|
20
27
|
|
|
21
28
|
### Added
|
package/README.md
CHANGED
|
@@ -130,7 +130,9 @@ If the active CLI tool is missing, FCM now catches it before launch, offers a ti
|
|
|
130
130
|
|
|
131
131
|
> 💡 You can also run `free-coding-models --goose --tier S` to pre-filter to S-tier models for Goose before the TUI even opens.
|
|
132
132
|
|
|
133
|
-
|
|
133
|
+
<p align="center">
|
|
134
|
+
<img src="demo2.gif" alt="free-coding-models TUI demo" width="100%">
|
|
135
|
+
</p>
|
|
134
136
|
|
|
135
137
|
## 🚀 Usage
|
|
136
138
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "free-coding-models",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.30",
|
|
4
4
|
"description": "Find the fastest coding LLM models in seconds — ping free models from multiple providers, pick the best one for OpenCode, Cursor, or any AI coding assistant.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nvidia",
|
package/src/app.js
CHANGED
|
@@ -296,7 +296,6 @@ export async function runApp(cliArgs, config) {
|
|
|
296
296
|
// 📖 Replaces static openrouter entries in MODELS with fresh data.
|
|
297
297
|
// 📖 Fallback: if fetch fails, the static list from sources.js stays intact + warning shown.
|
|
298
298
|
const lastReleaseDate = await fetchLastReleaseDate()
|
|
299
|
-
state.lastReleaseDate = lastReleaseDate
|
|
300
299
|
const dynamicModels = await fetchOpenRouterFreeModels()
|
|
301
300
|
if (dynamicModels) {
|
|
302
301
|
// 📖 Remove all existing openrouter entries from MODELS
|
|
@@ -484,6 +483,9 @@ export async function runApp(cliArgs, config) {
|
|
|
484
483
|
customTextFilter: null, // 📖 Active free-text filter string (null = off). Matches model name, ctx, provider key/name.
|
|
485
484
|
}
|
|
486
485
|
|
|
486
|
+
// 📖 Apply the pre-fetched last release date now that state is initialized
|
|
487
|
+
state.lastReleaseDate = lastReleaseDate
|
|
488
|
+
|
|
487
489
|
// 📖 Re-clamp viewport on terminal resize
|
|
488
490
|
process.stdout.on('resize', () => {
|
|
489
491
|
const prevCols = state.terminalCols
|