Releases: no-src/gofs
Releases · no-src/gofs
v0.8.2
Fixed
- Fix the dead link for Vue.
Enhancements
- Add the
Size
structure to support humanize size units. - Support custom the timezone in docker.
- Add go1.22 support and remove go1.20.
- Support all the cache drivers.
- Remove the
encrypt_test
build tag. - Remove unsupported vfs type.
- Update dependency schedule interval to monthly.
- Update dependency, golang.org/x/time v0.4.0 => v0.5.0.
- Update dependency, golang.org/x/crypto v0.15.0 => v0.18.0.
- Update dependency, golang.org/x/oauth2 v0.14.0 => v0.16.0.
- Update dependency, github.com/quic-go/quic-go v0.40.0 => v0.41.0.
- Update dependency, github.com/minio/minio-go/v7 v7.0.64 => v7.0.66.
- Update dependency, google.golang.org/grpc v1.59.0 => v1.61.0.
- Update dependency, google.golang.org/protobuf v1.31.0 => v1.32.0.
- Update dependency, actions/setup-go 4 => 5.
- Update dependency, github/codeql-action 3 => 4.
v0.8.1
Fixed
- Fix push MinIO and SFTP files once are ineffective.
- Update duration to 100 years that test certificate is valid for.
Enhancements
- Add windows arm64 release.
- Move the common code to the nsgo package.
- Support specifying MinIO path in MinIO synchronization scenes.
- Add the
Path
structure. - Update README docs, add the Contributing section.
- Update dependency, golang.org/x/oauth2 v0.12.0 => v0.14.0.
- Update dependency, golang.org/x/crypto v0.13.0 => v0.15.0.
- Update dependency, golang.org/x/net v0.16.0 => v0.17.0.
- Update dependency, golang.org/x/time v0.3.0 => v0.4.0.
- Update dependency, github.com/quic-go/quic-go v0.39.0 => v0.39.3.
- Update dependency, github.com/fsnotify/fsnotify v1.6.0 => v1.7.0.
- Update dependency, google.golang.org/grpc v1.58.2 => v1.59.0.
- Update dependency, github.com/schollz/progressbar/v3 v3.13.1 => v3.14.1.
v0.8.0
Fixed
- Add
init-env.sh
script to fix the UDP buffer sizes.
Enhancements
- Remove the
ssh_key
flag and add some parameters forsource
anddest
flags to configure the authentication info for SFTP. - Add the
copy_link
andcopy_unsafe_link
flags to control the synchronization of the symbolic links in the local disk mode. - Update
scripts/build-release.sh
, add linux arm64 and macOS arm64 releases. - Update release scripts, get last git commit from
HEAD
. - Remove the
CBool
structure and code refactoring. - Remove the unused global variables.
- Add docker test and release test workflows to GitHub Actions.
- Add govulncheck workflow.
- Replace
minio.statDirEntry
andsftp.statDirEntry
withfs.FileInfoToDirEntry
. - Replace the global log with local log.
- Refactor the
build-release.sh
andbuild-docker.sh
scripts to make it more generic. - Update
install-minio.sh
script, use-q
flag for wget command to avoid print progress logs. - Rename function
NewDecryptReader
tonewDecryptReader
. - Update dependency, github.com/quic-go/quic-go v0.38.0 => v0.39.0.
- Update dependency, github.com/minio/minio-go/v7 v7.0.62 => v7.0.63.
- Update dependency, github.com/no-src/log v0.3.0 => v0.3.1.
- Update dependency, golang.org/x/oauth2 v0.11.0 => v0.12.0.
- Update dependency, google.golang.org/grpc v1.57.0 => v1.58.2.
v0.7.2
Fixed
- Fix some special characters may break the file path.
Enhancements
- Add some integration tests for
SFTP
. - Support synchronizing symbolic link itself.
- Implement read link info in the file query api.
- Add
go1.21
support. - Remove
go1.19
support. - Add the
symlink
action. - Add the
LinkTo
field for theFileInfo
structure. - Add the
fs.IsSymlink
function. - Add
Symlink
,Lstat
andReadLink
functions for theDriver
interface. - Update README docs, replace the bat with bash to recognize the
Run in Terminal
shortcut button. - Update README docs, add the
Web UI
section. - Update dependency, github.com/quic-go/quic-go v0.36.0 => v0.38.0.
- Update dependency, github.com/minio/minio-go/v7 v7.0.58 => v7.0.62.
- Update dependency, google.golang.org/grpc v1.56.0 => v1.57.0.
- Update dependency, github.com/no-src/log v0.2.3 => v0.3.0.
- Update dependency, golang.org/x/oauth2 v0.9.0 => v0.11.0.
- Update dependency, github.com/pkg/sftp v1.13.5 => v1.13.6.
- Update dependency, github.com/no-src/fsctl v0.1.1 => v0.1.2.
- Update dependency, golang.org/x/crypto v0.10.0 => v0.11.0.
v0.7.1
Fixed
- Fix the example in the relay docs.
- Fix stops the grpc client causing panic.
- Fix the test case for synchronizing files to server scene.
Enhancements
- Add the
dry_run
flag to support the gofs is started without actual sync operations in dry run mode. - Add some MinIO integration tests.
- Update the description of the gofs program.
- Return the db field of type int in the
parseRedisConnection
function. - Add some save functions for the
Loader
interface. - Update the build scripts, switch to branch main before building.
- Update dependency, github.com/gin-gonic/gin v1.9.0 => v1.9.1.
- Update dependency, github.com/quic-go/quic-go v0.34.0 => v0.36.0.
- Update dependency, github.com/minio/minio-go/v7 v7.0.55 => v7.0.58.
- Update dependency, google.golang.org/grpc v1.55.0 => v1.56.0.
- Update dependency, github.com/no-src/log v0.1.10 => v0.2.3.
- Update dependency, github.com/no-src/nscache v0.1.0 => v0.1.1.
- Update dependency, golang.org/x/oauth2 v0.8.0 => v0.9.0.
- Update dependency, google.golang.org/protobuf v1.30.0 => v1.31.0.
v0.7.0
Fixed
- Fix data race error in the
grpcServer
. - Remove the redundant permission field in the client side.
- Fix invalid assign causes panic.
Enhancements
- Add the task api to support distributing tasks.
- Release the resource that is used by the sync component when close the monitor.
- Add the
task_client_max_worker
flag to limit the max concurrent workers in the task client side. - Add support
boltdb
loader. - Add the
conf.ToString
function and tests. - Move the
parseFlags
function to independentflag
package. - Add some integration tests of the task mode.
- Replace the text diagrams with
mermaid
sequence diagrams. - Update README docs, add the
Task Mode
section. - Update README docs, introduce how to enable the HTTP3 protocol.
- Update dependency, github.com/minio/minio-go/v7 v7.0.52 => v7.0.55.
- Update dependency, golang.org/x/crypto v0.8.0 => v0.9.0.
- Update dependency, golang.org/x/oauth2 v0.7.0 => v0.8.0.
- Update dependency, google.golang.org/grpc v1.54.0 => v1.55.0.
v0.6.2
Fixed
- Ignore gocyclo check for the
testEncrypt
function.
Enhancements
- Replace the custom protocol that is based on tcp with gRPC.
- Add some integration tests that synchronize files to server.
- The
signal.Notify
function support stop receiving signals. - Remove the global logger in the
Daemon
structure. - Modify the
conf.Parse
function to generics. - Add the
conf.ParseContent
function. - Use the
bytes.TrimSuffix
function to simplified code. - Remove
syscall.SIGKILL
. - Update README docs, add the rate limit section.
- Update dependency, github.com/minio/minio-go/v7 v7.0.50 => v7.0.52.
- Update dependency, github.com/quic-go/quic-go v0.33.0 => v0.34.0.
- Update dependency, golang.org/x/crypto v0.7.0 => v0.8.0.
v0.6.1
Fixed
- Update deviation to 8 in the rate tests.
Enhancements
- Add the
-max_tran_rate
flag to support limit the max transmission rate in the server and client sides. - Add the
core.FlagSet
structure and avoid using the globalflag.CommandLine
. - Remove the global variables in the
hashutil
,server
,httputil
,ignore
,daemon
,conf
andreport
packages. - Add the
Config.ToArgs
function and avoid using the global memberos.Args
in thedaemon.Daemon
. - Move the fsctl to a new standalone project => https://github.com/no-src/fsctl.
- Update base image in the Dockerfile,
alpine:3.15.4
=>alpine:latest
. - Move the
version
andabout
packages to theinternal
package. - Move the
resource.go
to theserver
package. - Add the
yamlutil
package. - Add scripts/clear-release.sh script to clear the files that are produced by release.
- Update scripts/build-release.sh script, support to release macOS software.
- Update dependency, github.com/minio/minio-go/v7 v7.0.48 => v7.0.50.
- Update dependency, github.com/schollz/progressbar/v3 v3.12.2 => v3.13.1.
- Update dependency, golang.org/x/crypto v0.6.0 => v0.7.0.
v0.6.0
Fixed
- Update README-CN doc, retrieve the missing example in the
SFTP Pull Client
section. - Fix the member
Err
is nil in theos.SyscallError
.
Enhancements
- Changes the encryption algorithm to AES.
- Add the
-http3
flag to support HTTP3 server and client. - Add the
print
command and some tests. - Add the
include
command and some tests, support to include other config files in the command config file. - Code refactoring for the
sync
package, move some functions to thehashutil
package and add some tests. - The
WaitDone
supports calling theWait
function many times. - Use the
runtime
package to get information about the version of Go being used and then remove theversion/go_version
file and related scripts and codes. - Implement the
CBool
byatomic.Bool
. - Changes the driver name of minio to lower-case and print the driver name in the log.
- Add some unit tests and benchmark tests for the
clist
andtoplist
packages. - Code refactoring, replace the
Mutex
in theCList
structure with theRWMutex
. - Add more tests for the
encrypt
package. - Remove
go1.18
support and add supportgo1.20
. - Add support for
macOS
. - Update build-docker.sh script, support to build the image with a specified tag that provided by the user.
- Update .gitignore, add
go.work
and.run/
rules. - Add govulncheck.sh script.
- Update README docs, add some flow diagrams.
- Create CODE_OF_CONDUCT.md.
- Update dependency, github.com/minio/minio-go/v7 v7.0.46 => v7.0.48.
- Update dependency, golang.org/x/net v0.4.0 => v0.7.0.
- Update dependency, github.com/no-src/log v0.1.9 => v0.1.10.
- Update dependency, github.com/quic-go/quic-go v0.32.0 => v0.33.0.
- Update dependency, github.com/gin-gonic/gin v1.8.2 => v1.9.0.
v0.5.2
Enhancements
- Add the
fsctl
tool. - Remove the
session_mode
flag, use thesession_connection
flag to recognize the session mode. - Mask the encrypt secret and decrypt secret of report api.
- Add the
hostname
field for report api. - The
PrintVersion
function supports specifying the program name. - Code refactoring, register all commands to the global variable and add the
Name
function to display the command name. - Initialize the
writeMap
with a specified size. - Update dependency, github.com/gin-gonic/gin v1.8.1 => v1.8.2.
- Update dependency, github.com/minio/minio-go/v7 v7.0.44 => v7.0.46.
- Update the build badge(#67).