New features
- EventManager: this is the major new feature in this release, it allows custom workflows based on server events or schedules. Take a look at the docs and some common use cases.
- Allow to set environment variables from files inside the
env.d
directory relative to config dir. This is the recommended method to configure SFTPGo if you are not using it in Docker/Kubernetes, so that after updating SFTPGo you will avoid merging your custom settings with the updated configuration file. Take a look at the updated getting started guide. - WebAdmin: allow to simplify the add/update user page.
- WebClient: allow partial downloads from shares.
- Allow to refuse an upload if the post-upload hook/action fails.
- Allow cross virtual folder renaming if the underlying resource is the same.
- SFTP: fix relative symlinks handling.
- Postgres data provider: switch to pgx driver and add multi hosts support.
- Experimental HTTPFs storage backend: you can implement your own storage backend by implementing a REST API.
- Multi-node installations: added support for inter-node communications. The list of active sessions includes clients from all nodes.
- Added support for graceful shutdown.
- More granular log level control.
- WebDAV: allow to set last modification time.
- WebDAV: allow to disable the WWW-Authenticate header if the authentication fails.
- FTP/WebDAV: add support for anonymous users.
- FTP: allow to require TLS on a per-user basis.
- Allow to parametrize the default expiration for shares.
- Allow a client if its IP is both allowed and denied. So you can define a default group deny policy that can be overridden on a per-user basis.
- Allow to disable REST API.
- Command hooks: allow to set custom arguments.
- Build: added support for embedding templates and other static files.
- Add support for checking sha256crypt passwords.
- Azure Blob: port to the latest SDK.
- Other minor fixes and improvements.
Backward incompatible changes:
- Removed the auto-backup feature from the configuration file. You can now schedule backups using the EventManager.
- Removed the log-verbose flag from the
serve
sub-command. Replaced from the more generic log-level flag. - Replaced retention report emails with CSV reports.
- Script based hooks don't receive anymore global environment variables for security reasons. You have to explicitly set any environment variable such as
PATH
etc., in the "command" configuration section, if you need them.