- Add experimental zstd compression support (
--zstdflag) - Implement streaming support for SSPak archives in load functions
- Add unit and integration tests
- Fix path handling in extract function to prevent duplicate folder names
- Update Go dependencies
- Increase buffer size in MySQLLoadFromGz to handle very long lines and prevent crashes
- Revert back to using fixed aliakseiz/go-mysqldump module
- Update Go dependencies
- Switch to ghru for self-updating and version checks
- Switch go-mysqldump module to local fork
- Refactor: standardize error messages and general code cleanup
- Update Go dependencies
- Add Go tests (golangci-lint)
- Remove deprecated use of io/ioutil, resolves uncommon error of
archive/tar: write too long - Update Go dependencies, update minimum Go version, downgrade go-mysqldump
- Exclude more resampled files, including converted (webp) and FocusPoint ones when using
--ignore-resampled - Workaround for Silverstripe 5 thumbnails when using
--ignore-resampled - Update Go dependencies
- Update go-mysqldump (adds support for dumping VIEW tables)
- Update Go modules
- Update GitHub workflows
- Prevent errors on import due to
STRICT_TRANS_TABLESandSTRICT_ALL_TABLES
- Allow .env loading to be skipped, and overwriting variables via environment (@ZaneA #6)
- Update Go libs
- Fix self-updater (sorry!). If you are running 1.1.0 the self-updater will not work, so you will have to update manually unfortunately.
- Update Go libraries + security updates
- Native support for importing and exporting databases, eliminating MySQL client/server version incompatibility issues
- Revert
--set-gtid-purged=OFFto dump arguments to prevent GTIDs warning - not supported on all systems - Silently ignore GTIDs warnings
- Add
--set-gtid-purged=OFFto dump arguments to prevent GTIDs warning - Update go modules
- Revert to adding password to mysqldump arguments (older MySQL clients do not support env variable)
- Add GitHub Actions to build binaries
- Add
--column-statistics=0for supported MySQL (v8) servers
- Disable pre-release versions for update notifications / updates
- Add support for
.envandassetssymbolic links
- Audit with gosec (Golang Security Checker) and security fixes
- Add support for
SS_DATABASE_PREFIX,SS_DATABASE_SUFFIX&SS_DATABASE_CHOOSE_NAME
- Bugfix: Set correct path when restoring assets to set project root
- Remove darwin 32-bit builds - no longer supported by Go 1.15
- Support for configs in parent directory
- Add
--no-tablespacesto mysqldump command to prevent MySQL user permission errors in some cases. - Pass mysql(dump) passwords on the command line. MySQL v5.7 does not support
MYSQL_PWD,--defaults-fileoverrides system settings, and--defaults-extra-fileis superseded by the existence of~/.my.cnf. This seems to be the only reliable solution for all versions of MySQL/MariaDB.
- Ensure correct path is used when detecting available space (*nix)
- Extract directories with 0755 permissions until chmod()
- Switch to compressed releases (tar.gz/zip). This release will have both compressed and uncompressed to allow older versions to catch up.
- Add drive checks to ensure enough space for sspak creation / extraction
- Update directory permissions after extraction completes
- Return errors if Cleanup() fails
- Alias
--ignore-resampledwith-i
- Save file & directory permissions, timestamps, uid & gid
- Restore file & directory permissions, timestamps, uid & gid (if permitted)
- Add
--ignore-resampledoption to save or restore without resampled images
- Add shell completion generator (see
ssbak completion -h) - Rename some core functions
- Support for MySQL port setting
- Allow exported environment values to override
.env/_ss_environment.phpvalues - Add DB type / function map, and return errors for non-supported database types
- Ignore PHP comments in
_ss_environment.php
- Initial alpha release