changelog
Versions
Every release of galewind-npm, pulled from
the package's own changelog. Current version, fetched live from the
npm registry:
loading…
# install the latest version
npm install -g galewind-npm
# or update if you already have it
gwin i -g galewind-npm
1.4.2
Latest
Fixed
gwin -w <name> iwith no package name now installs each project folder's dependencies into the workspace's sharednode_modulesinstead of each project's own — so projects in the same workspace reuse a package that's already been fetched instead of each downloading their own copy.
1.4.1
Added
gwin --daemon-enableruns a background gwin process so most commands skip Node startup and module loading on future runs;gwin --daemon-disableturns it off and stops it. Can also be enabled per-project with"daemonEnabled": trueingalewind.config.json.gwin loginandgwin publishalways run outside the daemon, since they need an interactive prompt.gwin config set <key> <value>writes straight to~/.galewind/config.json, so tweaks likegwin config set concurrency 8no longer require hand-editing JSON.gwin publish -w <name>(or from a bound workspace) now publishes every project folder inside a workspace independently, reporting a per-project pass/fail summary.gwin -w <name> iwith no package name installs each project's own dependencies the same way.
Changed
- An unknown command now prints a short "command not found" message pointing at
gwin --helpinstead of dumping the full help text. gwin --helpis much shorter — a compact command list instead of a full reference. Everything else lives in the README.- Lifecycle scripts (
preinstall/install/postinstall) now run asynchronously instead of blocking the whole process while each one executes. - Package downloads and extraction now respect the
concurrencysetting instead of running every package in a dependency-tree level at once. - gwin's own registry calls (login, publish) use Node's built-in
fetchinstead of thenode-fetchdependency, which is now dropped entirely.
Fixed
gwin cache cleanno longer crashes on Windows with anEPERMerror — it was trying to unlink the metadata cache directory as if it were a file.
1.4.0
Changed
- Installs are noticeably faster, especially the second time around. gwin now remembers a package's listing for a few minutes after looking it up, so a repeated package in your dependency tree — or a second
gwin ishortly after the first — reuses that answer instead of asking the registry again. - When your project already has a lockfile and the exact versions it pins are already in your local cache, gwin skips asking the registry entirely and installs straight from the cache — the biggest win for a clean
gwin ci, or a repeatgwin ion an unchanged project. gwin loginandgwin publishare no longer marked beta — the browser login and 2FA flow have been through enough real-world testing to be trusted for everyday use.
Fixed
gwin publishnow actually completes for accounts using a security key or passkey as 2FA — the publish request now tells the registry gwin can finish 2FA in the browser, and the browser step-up result is handled as the one-time code it actually is instead of a replacement login token.
1.3.0
Added
gwin login/gwin logout/gwin whoami— gwin's own login for the npm registry, kept in~/.galewind/auth.json, fully separate fromnpm login. Uses the browser-based "web login" flow by default (security key, passkey, or authenticator app), falling back to a username/password prompt on registries that don't support it (orgwin login --legacy). Runninggwin publishwhile logged out launchesgwin loginautomatically.- Global installs now add
~/.galewind/global/binto your PATH automatically the first time you install, update, or promote a package globally. On Windows, gwin writes setup instructions to~/.galewind/PATH_SETUP.txtinstead. - The shared download cache now keeps usage stats in a
.pkg_cachefile (hit counts and last-used timestamps) instead of relying on filesystem timestamps, so eviction removes whichever cached packages have genuinely been used the least.
1.2.0
Changed
- Repo folders are now called workspaces. Everything works the same, just under a new name and flag:
-winstead of-p, andgwin workspacesinstead ofgwin repos. - If a project needs a package that isn't in its own workspace, gwin now also checks every other registered workspace for a copy before downloading.
Deprecated
- The old
-pflag still works exactly like-w, but is now off by default. Enable it withgwin --projects-enableif you're not ready to switch scripts over.
1.1.0
Fixed
gwin -vand the quiet post-install version check were looking up a package namedgwininstead ofgalewind-npm— its actual published name — so they always failed with a 404.- Installing into a repo folder could offer that same folder as its own link source, corrupting the install with a broken junction. Repo folders no longer offer themselves as a link source for their own installs, and linking a package to itself is now refused outright as a hard safety check.
gwin publishno longer wrongly insists you're logged out because a separatenpm whoamipre-check failed — it now runsnpm publishdirectly and only prompts for login on an actual auth error, then retries once.
Changed
- Reworked dependency-tree installs to resolve one depth level at a time, with existence checks, downloads, and unpacking all running concurrently within a level — and unpacking one level no longer blocks discovering the next.
gwin publishmarked beta, with a reminder printed each run.
Added
gwin iwith no package name now readspackage.jsondirectly — no lockfile required just to install from a manifest.- The shared download cache now evicts least-recently-used entries once it passes a size cap (default 3GB, override with
GWIN_CACHE_MAX_BYTES), instead of growing forever.
1.0.0
First release, published as galewind-npm on npm.
Added
gwin i/gwin i -g— install a package locally or globally, pulling in dependencies automatically.gwin rm/gwin update— remove or update packages, locally or globally.gwin lsandgwin outdated— see what's installed and what has updates.gwin search,gwin init,gwin run— search npm, scaffold a package.json, run scripts.gwin ci/gwin clean— exact lockfile reinstall, or remove node_modules.gwin cache size/gwin cache clean— inspect or empty the shared download cache.- Repo folders — register a folder so every project inside shares one set of installed packages, with its own install/update/remove/ci/clean commands plus
gwin bind/gwin unbind. gwix— run a package's CLI from a repo folder's installed packages.gwin link— reuse a package already installed in another repo folder instead of downloading it again.gwin promote— copy a package already installed in a project or repo folder into your global install.gwin -v/gwin --version— shows your version, checks npm for the latest, and gives the update command if you're behind.- A safety default: gwin never runs a package's setup scripts automatically — use
--scriptsto opt in. - A cache for downloaded packages, plus a custom color theme, animated progress indicator, and running stopwatch shown while gwin works.