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 CHANGED
@@ -1,7 +1,7 @@
1
1
  # Changelog
2
2
  ---
3
3
 
4
- ## [0.3.27] - 2026-03-27
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.28",
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