Releases: LOOSEKEY/code-store-releases
Release list
CODE-STORE 1.5.0
What's new
Licence keys
v1.4.0 was the first release under the commercial licence, but it had no
way to enter a key. This is the release where that exists.
A licence key is one line of text, sent to you when you buy. Open the
profile menu, choose Licence, paste it in — that is the whole
process.
It is checked on your own machine. CODE-STORE does not contact a
server to activate, now or ever, so your key works on a train, behind a
firewall, and in ten years whether or not anything is still running at
this end. The key names you, covers every update within its major
version, and does not expire.
Not entering a key takes nothing away from you. An unlicensed copy
does everything a licensed one does. Your repositories open, your history
is there, your backups run, and you can export the lot whenever you like.
A licence problem is never allowed to stand between you and your own
code, and there is a test whose entire job is to keep that true.
What an unlicensed copy does do is say so: a single line at the top of
the window telling you what CODE-STORE costs. Hide it and it stays hidden
for a week. That is the whole of the difference.
A privacy policy and a refund policy
Both ship with this release: PRIVACY.md and REFUNDS.md.
The privacy policy is short, because there is little to say. The
application has no account, no telemetry, no analytics and no update
check, and no mechanism by which any of that could be added without you
noticing. It does document the three occasions CODE-STORE contacts
anything — importing by URL, importing from GitHub, and git against a
remote you configured — because all three are you asking it to.
The refund policy is 30 days, no reason required, which is longer
than the law requires and is offered to business buyers too.
Fixed
A GitHub token could be left inside an imported repository
Importing a private repository needs a credential, and the only way to
give one to git clone without an interactive prompt is to put it in the
URL. Git then wrote that URL into the new repository's own .git/config
and left it there, so a GitHub personal access token stayed on disk long
after the import that needed it — and travelled inside whole-library
exports and scheduled backups taken months later. Per-repository ZIP
downloads were never affected; they exclude .git.
The credential is now removed as soon as the clone finishes. Nothing
in CODE-STORE ever fetches from that remote again, so it does not need
one. This applies to any credential in an imported URL, not only GitHub
tokens.
If you imported a private repository with v1.4.0 or earlier, the
token is still in that repository's config. Clear it with:
git remote set-url origin https://github.com/owner/repo.gitor revoke the token in your GitHub settings, which kills it wherever it
reached.
An installed licence key was readable by other accounts
The key file was written with default permissions rather than the
owner-only ones used for the password file. On a shared machine, another
account could read it — and since a key carries your name and email and
is valid on any of your machines, reading it is enough to use it. It is
now written at 600, like everything else CODE-STORE stores about you.
Also in this release
- A withdrawn key stops reporting as licensed. Keys that are shared
publicly can be withdrawn in a later version. This changes what the
licence panel says and nothing else — no repository, backup or export
is ever affected, including for a key withdrawn by mistake. - A download page, generated from the same scan that produces the
update manifest, so the page cannot offer a file the manifest does not
know about or a checksum that does not match the bytes.
Verifying your download
SHA256SUMS is attached to this release. To check a file against it:
# Linux and macOS
sha256sum -c SHA256SUMS --ignore-missing
# Windows (PowerShell)
Get-FileHash code-store-*-windows-x64-setup.exe -Algorithm SHA256The builds are not code-signed, so this checksum is the way to confirm
you have the file this release published. It proves the download was not
corrupted or swapped in transit; it does not prove who built it.
What that means on first run. Windows shows a SmartScreen warning —
choose More info, then Run anyway. macOS will not open the app until
you right-click it and choose Open, or run
xattr -dr com.apple.quarantine /Applications/CODE-STORE.app. Both are
expected, and neither means anything is wrong with the download. Verify
the checksum if you want certainty.
Third-party notices
Each installer ships THIRD-PARTY-NOTICES.txt, listing every bundled
component and reproducing its licence in full: the Python interpreter,
the runtime dependencies, and the vendored JavaScript. Bundled components
remain open source under their own licences, and nothing in the EULA
limits any right those licences give you.
Requirements
Git must be installed. CODE-STORE
uses it for every repository operation. Everything else — Python, the web
interface — is bundled.
Your data
Repositories, the password hash, your profile, your licence key, the
backup settings and any TLS certificate live outside the application
directory, so uninstalling never touches them, and installing this
version over an older one keeps everything:
| Platform | Location |
|---|---|
| Linux | ~/.local/share/code-store |
| macOS | ~/Library/Application Support/CODE-STORE |
| Windows | %LOCALAPPDATA%\CODE-STORE |
On first launch you will be asked to set a password. It guards the web
interface, the API and any git push to this server, so choose something
you will not forget — and note that git clients will need it too.