Skip to content

Releases: no-src/gofs

v0.8.2

01 Mar 01:58
04a7410
Compare
Choose a tag to compare

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

04 Dec 02:30
2055a71
Compare
Choose a tag to compare

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

06 Oct 16:31
f61f8d2
Compare
Choose a tag to compare

Fixed

  • Add init-env.sh script to fix the UDP buffer sizes.

Enhancements

  • Remove the ssh_key flag and add some parameters for source and dest flags to configure the authentication info for SFTP.
  • Add the copy_link and copy_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 and sftp.statDirEntry with fs.FileInfoToDirEntry.
  • Replace the global log with local log.
  • Refactor the build-release.sh and build-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 to newDecryptReader.
  • 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

23 Aug 02:57
acc8920
Compare
Choose a tag to compare

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 the FileInfo structure.
  • Add the fs.IsSymlink function.
  • Add Symlink, Lstat and ReadLink functions for the Driver 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

01 Jul 18:09
cf2e83c
Compare
Choose a tag to compare

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

01 Jun 02:07
5a7e455
Compare
Choose a tag to compare

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 independent flag 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

27 Apr 16:26
cb3c56f
Compare
Choose a tag to compare

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

31 Mar 16:48
21e6235
Compare
Choose a tag to compare

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 global flag.CommandLine.
  • Remove the global variables in the hashutil, server, httputil, ignore, daemon, conf and report packages.
  • Add the Config.ToArgs function and avoid using the global member os.Args in the daemon.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 and about packages to the internal package.
  • Move the resource.go to the server 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

01 Mar 02:04
0645cab
Compare
Choose a tag to compare

Fixed

  • Update README-CN doc, retrieve the missing example in the SFTP Pull Client section.
  • Fix the member Err is nil in the os.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 the hashutil package and add some tests.
  • The WaitDone supports calling the Wait function many times.
  • Use the runtime package to get information about the version of Go being used and then remove the version/go_version file and related scripts and codes.
  • Implement the CBool by atomic.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 and toplist packages.
  • Code refactoring, replace the Mutex in the CList structure with the RWMutex.
  • Add more tests for the encrypt package.
  • Remove go1.18 support and add support go1.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

19 Jan 09:04
Compare
Choose a tag to compare

Enhancements

  • Add the fsctl tool.
  • Remove the session_mode flag, use the session_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).