Patch notes

What changed on the website, the CLI, the SDK, the desktop client and the service, newest first.
  1. CLI 0.34.0

    The arrow keys stay put at the edge of a list of files

    • Website
    • CLI
    • Desktop client
    • In My files and in the desktop client, an arrow key that would go past the edge of the list no longer jumps along the row: Down on the bottom row stays on the file you are on rather than moving to the last file, and Up on the top row stays rather than moving to the first. Where there is more of the page that way, it scrolls instead, so what is above or below the list can still be read.
  2. SDK 0.20.0

    Copy, folder icons, everything inside a folder at once, and names with a dot kept out of the way

    • Website
    • Desktop client
    • SDK
    • Copy to..., beside Move to... in a file's or a folder's menu, copies it, with everything inside a folder, into the folder you choose. A copy is a file of its own: it stays when the original is deleted, and counts towards your storage as the original does. One put beside its original is numbered, such as notes (2).txt. Share links and old versions are not copied.
    • A folder can have an icon of its own. Change icon, in its menu, offers fourteen drawn ones, or a picture from your files or your computer, and the folder shows it wherever it is, on your public page and in a link too. Only small squares made of the picture are kept for it. Use the plain folder takes it away.
    • Show everything inside, in one list, beside the grid and list buttons, lists every file in a folder and in the folders inside it, each with the folders it is in under its name, so photos synced from a phone into many folders can be seen together. Show in its folder opens where one is.
    • Names that start with a dot, such as .env, are hidden until the eye button beside the grid and list buttons shows them: in My files, Move, the pickers, search and the desktop client's view of the computer. The choice is kept for your account. Programs and the CLI still see every name.
    • Move to..., Copy to... and the folder pickers can make a folder where they are looking, with New folder here, and open it at once.
    • In the desktop client, a folder on the computer has New folder, and what you choose has Rename, Move to... and Move to the Trash, which asks first. They keep to the folders Settings allows, and leave alone a folder kept in step with FileFreak.
    • The developer API's files.list takes kinds, such as image,pdf, for only the files of those kinds, folders kept, a page at a time as before. In the SDK, files.list({ kinds: "image,pdf" }).
    • In the SDK, files.sendIcon(id, picture) gives a folder a picture for its icon in one call, and files.copy, there since 0.19.0, now works for every app.
  3. CLI 0.33.0

    My files filters by type, and a folder on a disk that cannot lock a file is kept in step

    • Website
    • CLI
    • Desktop client
    • My files has a Type control in its toolbar. Tick pictures, videos, PDFs, code or any of the other kinds, and only files of those kinds are listed, with the folders left in place to go into. What is ticked is kept in the page's address, and Clear lists everything again.
    • The desktop client has the same Type control, in My files and in the computer's own folders.
    • A folder kept in step on a disk that cannot lock a file, such as an SD card on Android, no longer stops with "Function not implemented". The CLI keeps that folder's lock beside its own settings instead, which still keeps two runs of it from working on the folder at once.
  4. CLI 0.32.0

    The desktop client signs a computer in from its own page

    • CLI
    • Desktop client
    • A computer that is not signed in can be signed in from the desktop client, with no terminal: Sign in shows a code and opens the page on FileFreak's website to approve it, signed in as you, and the client carries on by itself once it is approved. The key stays with the CLI, as after filefreak login, and a code that runs out before it is approved is replaced by signing in again.
    • Settings in the desktop client shows at once that the service was set to start at sign-in, or no longer is, where it could take half a minute to catch up.
  5. CLI 0.30.0

    The desktop client matches the website, and its window's links open on Windows

    • CLI
    • Desktop client
    • Service
    • The desktop client's Settings has the website's Profile, with your picture, Notifications and Files tabs, beside This computer's own. Shared with me, Messages and People are the website's own pages there too, so a computer signed in with filefreak login reads and writes messages, finds and follows people, and opens what was shared with you. Security, Plan and billing and Account say they open on the website, and do. Run filefreak update to have it.
    • A picture in My files can be made your profile picture from its menu in the desktop client, as on the website. An app's page there is as wide as the website's, and the grid or list chosen on one page is the same on the others.
    • The desktop app's window, 0.1.1, opens links to the website, such as a public profile or the Hub, in your browser on Windows, where before they did nothing, and Contact support opens your mail program. filefreak update brings an installed window up to date.
    • A computer signed in with filefreak login no longer changes the alerts that guard your account: the email after each sign-in, the spending warnings, and how you are told of a new sign-in or of spending and usage near a limit. The desktop client shows them in Notifications and says they are changed on the website, signed in, so that whoever has a taken computer cannot quiet them.
  6. CLI 0.29.0

    Cloning a public repository with no sign-in

    • CLI
    • filefreak git clone username/name clones anybody's public repository with no sign-in at all, as the command on a public repository's page says. A private one is refused with what to do, filefreak login, rather than a password prompt. Run filefreak update to have it.
    • filefreak repo is another name for filefreak git, so filefreak repo clone username/name does the same.
  7. CLI 0.28.0

    The desktop client in the new look

    • CLI
    • Desktop client
    • The desktop client, which filefreak ui and the desktop app's window show, takes the website's new look: Inter for what is written, Geist Mono for what is typed, and the new colours, light and dark. Run filefreak update to have it.
  8. SDK 0.18.0

    Direct links in the SDK

    • SDK
    • A share link has directUrl, its direct address, for an <img>, a video player or a download tool. For a link to one file with no password it is the file itself; a link to a folder, one with a password, and one to a shard-protected file are sent on to its page, url, which does what each needs.
  9. The Hub, with stars and saves

    • Website
    • The Hub is drawn again: search and Share at the top, its pages on the left, and Trending this week, people to follow and your own public page on the right. One feed of cards, under For you, Following, Trending and New, which can be narrowed to one kind.
    • A post can share one of your git repositories, shown with the command that clones it. Sharing a private one asks first, as sharing a private file does. The Files and Repos pages list what is public.
    • Trending is the last week's likes, replies, views, downloads and clones, the newer counting for more. Views, downloads and clones of what is public are counted once a day for each visitor.
    • Star a public repository, or save a post or a public file, and find them under Saved, the last first. Once a day the bell says, in one line, how many new stars and saves your own things had.
    • A site can be listed on the Hub from its page, with a few words about it, and is shown on the Hub's Sites page with its address. A site that asks for a password is never listed.
    • Somebody not signed in reads the first cards and the first replies, and is asked to sign in to read on.
  10. A new look

    • Website
    • The home page is drawn again, with Fred in 3D through it: waving in the hero beside what is true of the service, or the desktop client's window, whichever you choose; the tools as a set of cards; Shard Protection on a navy band; and the plans with three promises under them. The command that installs the CLI is under the buttons from the start, with a button to copy it.
    • Across the site, Inter for what is written and Geist Mono for what is typed, in place of Kanit, Montserrat and Rubik. Buttons are the lighter blue with dark writing, the bar at the top is navy with Fred peeking over the name, and in the dark theme the pages are navy too.
  11. Sharing with people, and messages

    • Website
    • Desktop client
    • A file or folder can be shared with one of your contacts, somebody you follow who follows you back, from the Share window's People part, which finds them as their name is typed. They are told in the bell, and by email unless they have turned that off, and find it under Shared with me, a place in the sidebar, where it is opened, previewed and downloaded as a link's file is. It stops when you remove them, when they take it off their list, or when either of you blocks the other.
    • Messages, in the sidebar: write to a contact from their profile, or from New message, with a file or folder of your own attached if you like, which is shared with them as the message is sent. The sidebar counts what is unread, and somebody who leaves a message unread for ten minutes is emailed that one is waiting, never what it says. Your own message can be deleted, for both of you, and a conversation can be left. Messages are kept on FileFreak and are not end-to-end encrypted.
    • The desktop client's Share window has People, and its sidebar has Messages, with the number unread.
  12. Videos shown by their name, and protected previews sooner

    • Website
    • Service
    • A file stored without a type is shown by its name, as an upload is typed: a video uploaded as clip and renamed clip.mp4 plays on its page, its public page and through a link, where it was offered only as a download. What a browser may not safely show in place is still saved instead.
    • Previews of shard-protected files ask for their keys together, rather than one by one, and the file grid asks for all of its previews at once, so a folder of them fills in sooner.
  13. CLI 0.27.0

    Organizations, moving apps and git repositories from the CLI

    • CLI
    • --org does a command in an organization you are in, by its handle, as far as your role there lets you: filefreak --org acme ls. filefreak orgs lists your organizations and the invitations waiting for you, and filefreak confirm confirms it's you, with your password or a second factor's code, for what an organization asks that of first. sync, service, transfers, ui and desktop are your own account's, and refuse it.
    • filefreak apps give moves an app, with everything it holds, to another account: at once to your own or an organization where you may make apps, keeping its keys, or offered for a week to anybody else, with --keep-keys to keep its keys working once it is taken. apps offers lists the apps offered to you, apps accept and apps decline answer one, and apps withdraw takes back an offer.
    • Git repositories: filefreak git clone name clones one of yours and keeps git pull and git push in the clone signed in as the computer, and git setup does that for every repository. git list, create, show, update and rm do what the Git repositories page does. git update name --visibility public makes one public, git list marks the public ones, and git show gives a public one's page.
  14. SDK 0.17.0

    Public git repositories and moving apps in the SDK

    • SDK
    • A git repository says who may read it, visibility, and while it is public, page, the address anybody reads it at. ff.git.update takes visibility, public or private.
    • ff.apps.give moves an app to another account or offers it, ff.apps.transfer says where it can go and which move is open, and ff.apps.withdrawTransfer takes back an offer. ff.transfers.list, ff.transfers.accept and ff.transfers.decline answer the apps offered to the account. Like ff.git.update, these are the person's, with the key a computer signed in with filefreak login holds: an app's key cannot.
  15. Git repositories, and public ones

    • Website
    • Service
    • Git repositories: pushed, cloned and fetched with git as it is, Git LFS included, from a computer or from CI. They are under Developers, Git repositories, with the commands to copy. On a computer signed in with the CLI, git needs nothing more; anywhere else, a personal key made on that page, which clones and fetches, or pushes too.
    • A repository's page shows its files at any branch, tag or commit, each beside the last commit to change it, a folder's README under its files, the license it is under, the languages it is written in, and its history, with the changes each commit made.
    • A repository can be made public, under Settings on its page. Anybody then clones and fetches it with git and no key, Git LFS files included, and reads it on a page of its own, which your public profile lists under Repositories. What they fetch counts toward your downloads. Only you push to it, and making it private again shuts it to everybody else at once.
  16. Organizations

    • Website
    • An organization is an account several people work in, with its own drive, plan, apps and log. One is made on the Organizations page, and the sidebar lists each organization you are in, under your own places, and the invitations waiting for you.
    • Members are invited by username or by email address, each with a role that says what they may do there, and the log says who did what. An owner can change the organization's handle. Making a key, inviting, removing a member, changing the plan and the like ask a member to confirm it's them first, with their password or a second factor's code, which counts for ten minutes.
  17. People, the bell, and profile pictures

    • Website
    • People: find somebody by name or username on the People page, see who you follow and who follows you, and who follows back, and block somebody from their profile, which ends every follow between you. "Let people find me", in Settings, Profile, keeps you out of the search.
    • The bell, at the top of every page, lists what has happened to your account, with a number for what is unread, and the alerts page has every line kept, a page at a time. A new follower is one of them. Settings, Notifications chooses how each kind comes: in the bell, by email, and on Pro by text.
    • A profile picture, chosen in Settings, Profile, is shown in the sidebar, on your public page, beside your posts and comments, and in lists of followers. It is cut to a square in your browser, so a photo's place and camera stay on your computer.
  18. Moving an app, a password on a site, and the footer strip

    • Website
    • Service
    • An app moves to another account from its page, under Move this app, with everything it holds: its drive, sites, repositories, databases and analytics. At once to your own account or an organization where you may make apps, keeping its keys, or offered for a week to anybody else, who takes it or declines it.
    • A site can have a password, set on the site's page. Every address of the site asks for it before anything of the site's is shown, and a right answer is remembered in that browser for seven days.
    • Every page of a site on filefreak.page ends with a thin strip, "Hosted on filefreak.io", in light, dark or as each visitor's device is set, chosen on the site's page under Footer strip. On a domain of your own, it is your choice.
    • Site analytics shows where visitors are right now: the globe, and the countries of the last five minutes.
  19. CLI 0.26.0

    What you do on the website, from the CLI

    • CLI
    • filefreak trash lists what is in the trash, the latest put there first. trash restore puts something back where it was, trash rm deletes one thing for good, and trash empty empties it, each asking first. With --app, an app's drive.
    • An app's page, from the CLI: filefreak apps update, apps picture, apps protect, apps usage, apps log, apps show and apps keys, and apps move --site gives a site to another app. apps list adds each app's cost so far this month, and filefreak usage --apps each app's use.
    • Sites: filefreak sites delete, sites remove-deploy, and sites deploy ff:/folder to deploy a folder already in your drive.
    • Analytics: filefreak analytics watch watches a site of yours, or one that is not on FileFreak and prints the line its pages carry. pause, resume and stop; errors; rules, add-rule, remove-rule, pause-rule and resume-rule; sends, what the rules sent; and phone, where alert texts go. analytics report takes --from, --to and --source.
    • FreakDB: filefreak db keys lists, makes and removes a database's publishable keys. db usage, db import, db query with in and select, and db export -o to a file.
  20. SDK 0.16.0

    The trash and site analytics from the SDK

    • SDK
    • ff.files.trash lists the trash a page at a time, the latest put there first, for a key allowed files:read, and ff.files.emptyTrash empties it, for one allowed files:delete. A key kept to one folder has no trash of its own, and is refused.
    • A key allowed site analytics watches a site with ff.analytics.watch, or one that is not on FileFreak with ff.analytics.watchElsewhere, which answers with the line its pages carry. ff.analytics.setWatching pauses and resumes one, ff.analytics.setRule turns a rule on or off, and ff.analytics.sends lists what its rules sent.
    • ff.db.keys lists a database's publishable keys.
  21. A proper page for an address with nothing at it, and sites that load faster the second time

    • Service
    • A site with no 404.html of its own, and an address on filefreak.page with no site at it, show a page in the website's own design, with the mascot.
    • A file named after what is in it, as a bundler names what it builds (index-B4dk9Xq2.js, anything under /_next/static/), is kept by a visitor's browser for a year, so a visitor coming back loads none of them again. Pages are still checked on every visit, so a new deploy is seen at once.
    • With analytics on, an error arrives with its file, line and stack. "Script error." with nothing more to say, and errors from a visitor's browser extensions, are left out.
    • A visit to an address with nothing at it is counted as "(not found)" in Pages, so mistyped and junk addresses stay out of the top pages, and the addresses themselves are listed under Pages not found.
    • In a single-page app, each page keeps its own title and speed figures, and clicks on phone and email links are counted.
  22. CLI 0.25.0

    Every download from the CLI is checked

    • CLI
    • Service
    • filefreak cp and filefreak get check every file they download against the SHA-256 it was uploaded with, and a file under Shard Protection by its seals, and end by saying so: verified sha256 ... for one file, or how many of several were verified.
    • A download that does not match what was uploaded is deleted rather than kept, and the command fails.
    • A download to your computer asked for from the website is checked the same way.
    • A file under Shard Protection no longer gives a SHA-256 in the developer API, on a share link or on a public page, as the reference says: its seals are what check it.
  23. SDK 0.15.0

    Every download from the SDK is checked

    • SDK
    • Website
    • Service
    • Every file uploaded from the website, and from the SDK from 0.15.0, is sent with its SHA-256, which FileFreak keeps with the file. The CLI already sent one.
    • The SDK checks every download against that SHA-256 and refuses one that does not match, keeping nothing of it, so a file changed after it was uploaded, in storage or on its way, is caught. A file under Shard Protection is checked by its seals, as it was.
    • Each download says how it was checked, and @filefreak.io/sdk/badge shows that on a web page as a badge.
    • A share link gives the SHA-256 of each file in it, so get checks every file it saves.
  24. Selecting no longer moves your files

    • Website
    • Service
    • Selecting a file or folder no longer pushes the files down. The bar of what can be done with it lies over the row of buttons above them, so the second click of a double-click lands on what the first did. What the bar has no room for is under More.
    • With two computers online, the bar names each one you can download to.
    • Pro's storage bar shows what Pro includes and what is held past it, and says so when there is no limit past it at all.
    • Exporting a FreakDB database of up to 2,000 rows is ready at once, where every export waited up to five minutes for a job.
    • A page that a publishable key refuses, because the key does not list its address, is shown beside the key and in the app's log, and each key shows the script that uses it from a page with the SDK's PublicDatabase.
    • Where FreakDB or Shard Protection is not set up on a server, it says so, instead of reading as though it were switched off for you.
  25. CLI 0.24.0

    The desktop client catches up with the website

    • CLI
    • Desktop client
    • filefreak ui draws the website's new developer dashboard: apps as tiles, breadcrumbs, tabs with icons, and the wizards for a key and a database.
    • The Hub by its new name, the sidebar's icons, and the phone input with its list of countries.
    • A site's Analytics tab as the website has it: the charts with the figures for each moment, errors grouped and searched, and export.
  26. SDK 0.14.0

    Analytics you can read, search and take away

    • Website
    • Service
    • SDK
    • The traffic and last half hour charts are drawn sharp at any width, and a line follows the pointer with the figures for that moment.
    • Each term on a site's Analytics tab says what it means, where it is shown.
    • Errors are grouped by their message, and can be searched or narrowed to one page.
    • What the tab shows can be exported as CSV or JSON.
    • The developer API answers a site's errors at GET /v1/analytics/sites/:id/errors, and the SDK has analytics.errors.
  27. One phone number for every use, and a second step that sends its code

    • Website
    • Service
    • A number shown to be yours is offered wherever a number is needed: codes by text, and a site's alerts. Choosing it needs no new code, and agreeing to texts is still asked for each use.
    • A number is typed with its country chosen from a list. Texts reach the United States and Canada.
    • Settings, Security lists your numbers, and forgets one that nothing sends to.
    • Signing in, the second step sends its code as it opens, by the first way you set up. Use a recovery code and Try another way are under the code.
  28. The developer dashboard in tiles, the Hub, and the mascot in SVG

    • Website
    • Apps are square tiles, and an app's page has breadcrumbs, its address with a copy button, and its tabs with icons, which scroll sideways on a phone.
    • A key is made in steps: what it is for, what it may do, where, its name and when it ends. A database is made in steps too, or from its schema as JSON.
    • An app's picture is cropped, zoomed and moved before it is sent.
    • Exchange is now the Hub, at /hub. Links to /exchange still lead there.
    • Each place in the sidebar has a drawing of its own, and Settings is a cog.
    • The mascot is drawn in SVG and is sharp at any size. The pages for an address with nothing at it, and for an error, carry the brand and a way home.
    • A PDF's pages keep their shape in the viewer. They were squeezed to fit the view.
  29. CLI 0.23.0SDK 0.13.0

    An app's drive from the CLI, public and protect, and single-page sites from CI

    • CLI
    • SDK
    • ls, cp, mv, rm, mkdir, share, public and protect take --app <name> to work in that app's drive.
    • filefreak public makes a file or folder public or private, or has it follow its folder. filefreak protect does the same for Shard Protection, on a plan that includes it.
    • filefreak sites update <name> --single-page true|false changes whether a site is a single-page app, and --name renames it.
    • A download for filefreak update or filefreak desktop install that is refused says whose refusal it was.
    • In the SDK, files.image(id, { size }) gives a copy of an image no more than that many pixels on its longest side, as WebP with the camera's details removed.
  30. CLI 0.22.0

    Signing in from a terminal with a password or a phone, in colour

    • CLI
    • filefreak login asks which way: a code with a QR code beside it, so a phone can approve the sign-in, or a username or email and password, with the second factor asked for every time.
    • On a terminal the CLI is in colour, a wait is a spinner, and a copy is a progress bar. What goes to a file or another program is the plain text it always was.
    • A key that cannot do what was asked says which key to make instead.
  31. CLI 0.21.0

    Every picture shows, an iPhone's HEIC and a WebP among them

    • Website
    • Service
    • Desktop client
    • A picture no browser shows as it is, such as an iPhone's HEIC, a TIFF or an SVG, is shown by a copy made as it is uploaded. While it is being made the viewer says so, and shows it once it is ready.
    • Its owner, somebody with a link to it, and a stranger on a public page each see it, and looking at it is never counted as a download.
  32. A home page for developers, and a page for sites

    • Website
    • Service
    • The home page leads with the tools, with the storage they stand on underneath, and its laptop plays a scene for each tool.
    • /sites says what hosting a site here means: HTTPS, a domain of your own, deploying from CI, which plan has them, and what is not built yet. The CLI and the desktop client have pages of their own.
    • A site on a domain of its own sends plain HTTP to the same address over HTTPS.
    • In My files, the bar for what is selected takes one row, with its close button beside it.
  33. CLI 0.19.0

    Sync and deploy from where the files are

    • Website
    • CLI
    • Desktop client
    • A folder's three dots offer Deploy to a site, in My files and, in the desktop client, on this computer.
    • In the desktop client, Sync options choose the other folder by walking to it, or name a new one where the walk ends, and Settings lists every synced folder with Edit, Pause and Stop syncing.
    • This computer's folders list the names that start with a dot, such as a project's .next.
Patch notes - FileFreak