projectsend.org

Changelog

ProjectSend 2.0.0

ProjectSend, rebuilt from the ground up: a REST API, comments, file versions, a notification centre, folder sharing and a redesigned interface — installed fresh, with a migration tool for existing sites

ProjectSend, rebuilt from the ground up. This is a new application rather than an update to the one before it: it installs fresh, and an optional tool imports your existing site into it. The previous generation continues to be available as ProjectSend Legacy.

Everything you already rely on came across — roles and granular permissions, folders, two-factor authentication, LDAP, single sign-on, per-file download limits, S3-compatible storage, custom fields, per-client quotas, zip downloads, resumable uploads, thumbnails, editable email templates, client portal themes and the activity log. What follows is what is genuinely new. If you are running the previous version, read the upgrade notes first.

Added

A REST API

Files, clients, groups and comments — and, on self-hosted installations, staff accounts — with scoped tokens, documentation the application generates itself, and a usage dashboard. There was previously no programmable surface at all.

Comments on Files

The conversation about a file lives on the file, with a per-comment choice of who can see it and strict separation between clients.

File Versions

Mark an upload as replacing an earlier one and the two stay linked: the older file is marked Outdated everywhere, sharing is inherited, and recipients are notified.

A Notification Centre

A bell with an unread count on every screen for staff and clients alike, a full history, and per-person control over what also arrives by email.

Folder Sharing

Share a folder with a client or group and everything inside follows, including files added later.

Per-Person Timezones

Every date reads in the timezone of whoever is looking at it, detected once from their browser, instead of one setting for the whole installation.

Recoverability, and Real Erasure

Deleted files and accounts can be restored. Self-service account deletion runs a disclosed grace period and then a genuine erasure, activity log included.

Scoped Staff Access

"Limit to assigned clients" narrows a staff member's entire view, not just who they may upload to.

Sixteen Languages, and a Menu You Curate

Choose which languages your clients are offered and which one everybody starts in.

Themed Email

Four independent email themes, with a live preview of a real message.

Guided Setup

A two-minute first run or fully unattended provisioning, a database that migrates itself on boot, and upgrade instructions matching how you actually installed.

Improved

Uploads Survive the Connection

Pause and resume, retrying the missing pieces rather than the whole file — and clients and API callers get the identical pipeline staff use.

Zip Downloads No Longer Tie Up the Server

Built in the background, with the folder structure preserved inside, and still recorded against every file bundled.

The Interface

Dark mode, drag-and-drop moves, a details panel with sharing and history in tabs, and the same search-and-filter toolbar on every list — with filters in the address bar, so a view can be bookmarked or sent to a colleague.

A Storage Floor, Not Just Ceilings

A site-wide default quota that individual clients override, so an installation with self-registration is no longer unbounded.

Categories Your Clients Can Read

Flat, cross-cutting and colour-coded, shown everywhere the file appears — including the client portal and public pages.

Upgrade Notes

This is not an in-place upgrade. Install this release fresh, then bring your old site into it with the migration tool. Nothing is ever written to your old installation, it keeps running throughout, and any import can be undone with a single command.

Your clients will sign in with their email address, not their username. Their existing passwords keep working, so nobody has to reset anything.

Three things the previous version could do are not here yet: IP allow and deny lists, email as a second factor, and encryption at rest. If you depend on any of them, stay on Legacy for now.

Two accounts cannot share an email address. The previous version allowed it, because it signed people in by username. The import refuses to start and names the accounts to fix, rather than silently merging two people into one.

Nested categories become flat. Each keeps its full path as its name — "Clients / Acme / Invoices" — so nothing is lost and no two categories collapse into one. Rename them afterwards if you would rather.

Files encrypted at rest, or held on external cloud storage, are not imported. They are listed for you individually before the run starts, and skipped rather than guessed at.