http://open-source-security-software.net/project/seaweedfs/releases.atom Recent releases for seaweedfs 2024-11-15T19:35:49.980831+00:00 python-feedgen seaweedfs v0.69 seaweedfs v0.69 2015-04-21T18:08:06+00:00 1. Add "weed volume -port.public=xxx" option for read only access. 2. Change from "publicIp" to free-text "publicUrl". 3. Change master if master leader changes. 4. Correctly handle .tar.gz file uploads, avoiding auto unzip. 5. Avoid wrong way to handle write failure for replicated writes, which could lead to volume .dat file format error. 6. Support in-memory/leveldb/boltdb mode tuning for memory/performance balance. 7. Started basic admin ui. 8. Add option for filer to disable directory listing. 2015-04-21T18:08:06+00:00 seaweedfs v0.70 seaweedfs v0.70 2016-04-12T17:39:30+00:00 1. Add "weed backup" command. 2. Better file chunk support for large files. 3. misc fixes over about 1 year. 2016-04-12T17:39:30+00:00 seaweedfs 4.0.0 seaweedfs 4.0.0 2016-07-20T16:44:09+00:00 # RTIR 4.0.0 - 2016-07-20 We're very excited to announce the availability of RTIR 4.0.0: the first release for the next major version of RTIR. We have completely rearchitected RTIR queues in order to significantly improve RTIR's flexibility and performance. As this is a new major version number, with many changes throughout the entire system, we urge you to carefully test your configuration and customizations. Additionally, RTIR 4.0.0 is the first release of RTIR compatible with RT 4.4. A quick note on the version number: while this next version of RTIR was under development, we had naturally labelled it RTIR 3.4. However, to reflect the significant architectural changes we made for constituencies and multiple queues, we decided to give this release a new major version number. If you're looking for the version of RTIR compatible with RT 4.4, RTIR 4.0 is it! If you are also upgrading to RT 4.4, be sure to also read its documentation, available at https://docs.bestpractical.com/rt/4.4/UPGRADING-4.4.html https://download.bestpractical.com/pub/rt/release/RT-IR-4.0.0.tar.gz https://download.bestpractical.com/pub/rt/release/RT-IR-4.0.0.tar.gz.asc SHA1 sums b660855cd7467cad1fec60b4050437dacb77cb91 RT-IR-4.0.0.tar.gz f0d9051b250e1d29570e64cd8c6d78310aeb7f64 RT-IR-4.0.0.tar.gz.asc A list of the major new features in RTIR 4.0.0 is included below. We'll be describing and demoing these new features in a series of blog posts on https://bestpractical.com/blog/ in the coming weeks. - Shawn M Moore, for Best Practical - The constituency system has been completely redesigned from the ground up. Don't worry, your existing constituencies will be migrated as part of the upgrade. Now constituencies get a full-fledged queue for each stage of the incident response workflow (one for each of reports, incidents, investigations, and countermeasures). This lets constituency queues tap into much more of RT's flexibility around custom fields, watchers, scrips, etc. This addresses many longstanding limitations around the previous constituency queue design, and significantly improves performance as well. - You may now have multiple queues for each type of RTIR queue: multiple Incident Report queues, multiple Incident queues, etc. Each of these queues may have its own custom fields, watchers, permissions, scrips, templates, and so on. We're excited to hear about how you make use of this new flexibility. - If a user has permissions to work with multiple constituencies, it is now possible to limit RTIR's web interface to a single constituency by clicking a link from the new "Work with constituency" box on the RTIR homepage. - Blocks have been renamed to Countermeasures to reflect their more generic use case. There were many, many changes throughout RTIR to support these major new features. Here is an abbreviated list of additional changes: General user UI - The main navigation menu for RTIR has been rearranged; RT's menus have been moved to underneath the RT heading. - Maintain message format when launching an Investigation (I#30786) - IPs, email addresses, etc which are annotated with buttons in messages now look like buttons (I#31259) - Clean up the visual design of the Lookup tool page - Make the blue header bar darker to hint you're within RTIR (I#31297) - It is currently no longer possible to simultaneously launch an Investigation on the Incident creation page due to the new architecture - Fix lowercase lifecycle display names on Lookup tool - Fix grammar error in Lookup tool - Improve support for infinite scroll (I#32137) - Fix broken attachment download links under infinite scroll (I#32084) - Suppress lookup and other RTIR auto linking in SelfService (I#31868) - Avoid error when all queues of a type are disabled - Avoid double concatenation of ?id=X on txn anchors - Allow users to set SLA on create, view the value, and update (I#32167) - Fix Search Builder submit for non-root WebPath Command-line - add_constituency now produces less output in the ordinary case, but if you want to see every change it makes, you can pass the new --verbose flag Mail - X-RT-Mail-Extension no longer sets constituency; instead you can now use ordinary RT features to filter incoming mail into the correct queue Web Administration - DutyTeams now have the ForwardMessage right by default - Different queues may now have a different default whois server, controlled by the "RTIR default WHOIS server" custom field Server Administration - $MaxInlineBody's default has changed from unlimited, which can cause performance issues, to 25kb - Bail out from `make initdb` early if RT::IR isn't in Plugins (I#31961) - Update required RT version from 4.4.0 to 4.4.1 (I#32093) Developer - Many of the methods in RTIR's codebase now produce explicit return values - RT::IR::FlushCustomFieldsCache is now a supported API - RT::IR::Test::Web's unused merge_ticket method has been removed - The guts of bin/add_constituency have been factored out into an RT::IR::ConstituencyManager which makes it much easier to create constituencies programmatically - Added a RT::IR->HREFTo helper function which maintains the user's currently-selected constituency - Innumerable API changes were made to support RTIR's constituency queues - The Lookup tool page now has four callbacks (BeforeCurrent, AfterCurrent, BeforeTools, AfterTools) - The body HTML tag now has an "rtir" class to aid in styling Documentation - Fix several POD errors - Improve clarity around RTIR install instructions A complete changelog is available from git by running: git log 3.2.0..4.0.0 or visiting https://github.com/bestpractical/rtir/compare/3.2.0...4.0.0 2016-07-20T16:44:09+00:00 seaweedfs 0.72.release seaweedfs 0.72.release 2017-01-04T07:06:08+00:00 2017-01-04T07:06:08+00:00 seaweedfs 0.74 seaweedfs 0.74 2017-01-18T17:46:40+00:00 2017-01-18T17:46:40+00:00 seaweedfs 0.75 seaweedfs 0.75 2017-03-27T17:20:23+00:00 2017-03-27T17:20:23+00:00 seaweedfs 0.76 seaweedfs 0.76 2017-05-28T17:42:29+00:00 2017-05-28T17:42:29+00:00 seaweedfs 0.77 seaweedfs 0.77 2018-05-13T07:51:51+00:00 accumulated changes since last 12 months. The next release will default to a new filer implementation with more POSIX-like features. Current filer users may want to remember this version in case the upgrade is not so smooth. 2018-05-13T07:51:51+00:00 seaweedfs 0.90beta seaweedfs 0.90beta 2018-05-31T06:00:31+00:00 2018-05-31T06:00:31+00:00 seaweedfs 3.2.1 seaweedfs 3.2.1 2018-06-21T13:24:56+00:00 RTIR 3.2.1 - 2018-06-19 ----------------------- We're pleased to announce the general availability of RTIR 3.2.1. It contains several improvements and also a few bug fixes. The list of changes included with this release is below. RTIR should always be run with the correct corresponding version of RT. The 3.2.1 release runs best with RT 4.2.15. As noted in the upgrading documentation, when upgrading, both RTIR and RT should be upgraded at the same time. https://download.bestpractical.com/pub/rt/release/RT-IR-3.2.1.tar.gz https://download.bestpractical.com/pub/rt/release/RT-IR-3.2.1.tar.gz.asc SHA-256 sums 331f11d915002ba8e8e0ebdd4e0f13feb70a0522b137cff31a8d7fefebb1f67e RT-IR-3.2.1.tar.gz ee79b22b4efe6605b91e97644dbd21ea887308bf4dde1b1ac35e59abe3e9cf2c RT-IR-3.2.1.tar.gz.asc General * The default MaxInlineBody is increased. It is still not unlimited by default because very large message bodies can cause performance issues with content that is automatically converted to links. * Update with a new RTIR logo. * Compatibility with Perl 5.26.1. Bugs * Show only statuses applicable to the current queue when creating a new ticket. * Remove incorrect duplicate id parameters in links in ticket history. * Many fixes to various incorrect or failing tests and updates to align tests with changes in core RT. * Update two uses of the Mason redirect with RT's redirect which makes sure redirects work for all conditions including running on non-standard ports. * Correctly handle custom fields, including those in custom field groupings, to avoid warnings when creating an incident and investigation at the same time. A complete changelog is available from git by running: git log 3.2.0..3.2.1 or visiting https://github.com/bestpractical/rtir/compare/3.2.0...3.2.1 2018-06-21T13:24:56+00:00 seaweedfs 0.90 seaweedfs 0.90 2018-06-24T01:44:13+00:00 fixed an important bug: during compaction, there could be some deletion. In old version, there would be some error and the compaction always fails. This version handles the deletion well. 2018-06-24T01:44:13+00:00 seaweedfs 4.0.1 seaweedfs 4.0.1 2018-06-26T15:53:02+00:00 RTIR 4.0.1 - 2018-06-28 ========================== We're pleased to announce the general availability of RTIR 4.0.1. It contains several improvements and also bugfixes. The list of changes included with this release is below. https://download.bestpractical.com/pub/rt/release/RT-IR-4.0.1.tar.gz https://download.bestpractical.com/pub/rt/release/RT-IR-4.0.1.tar.gz.asc SHA-256 sums da942cd2e9facb65809518757b8b8ec010b83a140677f1a296c209b06f210b5e RT-IR-4.0.1.tar.gz bd924a10710c03c17cc567d55d59c6e1c597d9b9190a01c1ebf04797b02e03c0 RT-IR-4.0.1.tar.gz.asc General user UI * Fix charting to be inline with RT 4.4.1 * Fix compatibility with RT's new status selector in search * Improve due and start date field widths on incident create (I#31870) * On RT 4.4.2, support new recently-viewed ticket feature (I#32484) * Improve alignment of Link and New buttons on Incident (I#31748) * Make Link, New, Take, Lookup buttons on IRs smaller * Respect rich-text input preference on incident pages (I#32166) * Fix Show Email link when show history pref is set to "immediate" * Include the new RTIR logo * Add button to save whois and traceroute results to ticket (I#31257) * Remove extra ?id= in transaction history links (I#30744) * Remove Type arg from call to UpdateData to load correct editor on Incidents * Add button to save Whois and Traceroute results to a ticket (I#31257) * Remove extra table row at bottom of RTIR ticket display * Restore styling for single column create/update layout * Provide a new option to use RT's search page directly rather than always redirecting to the RTIR search page * Add Lifecycle as an extra arg on Link * Update IPv6 matching to use stronger boundary conditions and avoid matches with non-IPv6 strings * Handle emails with +tags in 'Investigate to' MakeClicky links Server Administration * Avoid dependency on Sort::Versions * Avoid regex deprecation warnings on perl 5.21.1+ * Remove stale callback on upgrade from RTIR 3.2 that broke admin UI for ticket custom fields (I#32100) * Include RT 4.4.2 schema changes in the RTIR upgrade test * Remove unnecessary query debug log for Charts * Use Lifecycle to load queue-specific Formats * Wrap RT upgrade to catch warnings * During upgrades, correctly derive status from state CF for all cases * Only enable Net::Whois debug logs if RT's log level is debug Developer * Add AfterWorked callback to /RTIR/Update.html * Add AfterHidden callback to /RTIR/Incident/Reply/index.html * Add AfterHidden callback to /RTIR/Incident/Create.html * Add ARGSRef and SaveChanges parameters to Initial callback on /RTIR/Edit.html * Add BeforeDisplay callback to /RTIR/Display.html * Add TicketObj parameter to BeforeDisplay callback on /RTIR/Incident/Create.html * Improve test compatibility with RT 4.4.2 * Fix test failure with HTML::Mason versions prior to 1.52 * Use RT's new version of SelectStatus * Remove unused EditComponentName callback file on upgraded systems * In RTIR/Update.html Initial callback, pass ARGS as a reference Internals * Use RT::Handle's cmp_version function in upgrade version checks * Various fixes for perl 5.26 compatibility * Redirect to the correct display page from Update.html * Normalize SkipNotification checkbox value to an arrayref * Differentiate RTIR Reports menu from RT Reports in tests * Confirm TicketObj is defined before checking for queue whois server * Remove explicit require of Auth::Crypt that could cause errors when not installed * Stop parsing empty URIs to avoid warnings * Convert a queue name reference in tests to use lifecycle * When merging, default to empty string values for unset constituencies * In tests, use lexical iterator so inline test server can render articles * Filter CFs when creating Incident and Investigation at the same time A complete changelog is available from git by running: git log 4.0.0..4.0.1 or visiting https://github.com/bestpractical/rtir/compare/4.0.0...4.0.1 2018-06-26T15:53:02+00:00 seaweedfs 0.91 seaweedfs 0.91 2018-07-22T09:14:32+00:00 1. faster loading volumes with boltdb or leveldb needle map 2. heartbeat to detect disconnected volume servers 3. filer add dir list size limit 4. mount a filer folder to a local folder 5. "weed mount" now supports changing attributes, e.g., chown, chmod 6. add "weed s3" to support Amazon S3 API, with basic PUT/GET/HEAD/DELETE bucket, PUT/GET/HEAD/DELETE objects 2018-07-22T09:14:32+00:00 seaweedfs 0.92 seaweedfs 0.92 2018-07-24T09:09:27+00:00 Fix possible nil bug merged from a pull request. Last release for version2 volume storage. Switching to version3 volume storage in next release. 2018-07-24T09:09:27+00:00 seaweedfs 0.93 seaweedfs 0.93 2018-08-20T04:56:47+00:00 1. add back recursively delete a folder 2. speed up leveldb bolddb loading 3. fix problem with master submit error "multipart handled by ParseMultipartForm". 4. default to v3 volume format 5. add master client to listen for volume location updates 6. add 128 bit needle id. see https://github.com/chrislusf/seaweedfs/wiki/Optimization#customize-needle-id-to-128-bit 7. add filer notification on change events 8. assert master server count is odd 9. add redis cluster store for filer 10. filer UI add upload and drop & drop 11. add "weed scaffold" command to generate configuration files 2018-08-20T04:56:47+00:00 seaweedfs 0.94 seaweedfs 0.94 2018-08-23T07:06:16+00:00 * Fix bug when starting with old filer.toml * Add filer.export to copy meta data between different stores. * Fix bug with filer on Redis 2018-08-23T07:06:16+00:00 seaweedfs 0.95 seaweedfs 0.95 2018-09-04T03:58:21+00:00 * Fix a possible data racing problem. * Fix weed s3 upload file support for S3 v4 API. AWS S3 Multipart upload is still working in progress. 2018-09-04T03:58:21+00:00 seaweedfs 0.96 seaweedfs 0.96 2018-09-07T21:46:00+00:00 * fix large file copying error with "weed mount" * fix file copying permission setting 2018-09-07T21:46:00+00:00 seaweedfs 0.97 seaweedfs 0.97 2018-09-28T04:53:24+00:00 * weed s3 * Add Amazon S3 Multipart Upload APIs * Fix bug with buckets when redirecting reads to volume server. * weed mount * Fix bug when write intervals are not continuous * Default directory list limit to a large number 100K * Default replication to empty, so filer can decide the replication. * Fix "du" on linux. * Fix reading empty file on linux. * weed filer * Default directory list limit to a large number 100K * weed filer.replicate * Add this feature to asynchronously replicate from one filer to anther filer * weed volume * when leveldb or boltdb is used, remove old indexes when committing the compaction. * other commands * Fix "weed backup" error when rerunning 2018-09-28T04:53:24+00:00 seaweedfs 0.98 seaweedfs 0.98 2018-10-11T04:59:10+00:00 * Filer * Filer replicates to Amazon S3, Google Cloud Storage, Azure. * Increase filer directory operation concurrency, by skipping an unnecessary deduplication error. * minor * Embed images, javascripts into servers, avoid external http resources. * Fix profiling bug. 2018-10-11T04:59:10+00:00 seaweedfs 0.99 seaweedfs 0.99 2018-10-14T07:32:51+00:00 * weed mount * Drastically improve file IO performance * weed volume * Added gRpc port, which is volume port(default to 8080) + 10000, default to 18080 * use gRpc to replace batch delete http API "/delete" * weed master * use gRpc to replace batch volume id lookup http API "/vol/lookup" 2018-10-14T07:32:51+00:00 seaweedfs 1.00 seaweedfs 1.00 2018-11-05T06:34:04+00:00 * Volume Server * Fix vacuum problem on windows * Filer * Configuration separate into filer.toml and notification.toml * Replicate * Support bootstrapping to replicate existing files * Support BackBlaze B2 * Support message queue AWS SQS, Google Pub/Sub 2018-11-05T06:34:04+00:00 seaweedfs 1.01 seaweedfs 1.01 2018-11-05T17:23:58+00:00 2018-11-05T17:23:58+00:00 seaweedfs 1.02 seaweedfs 1.02 2018-11-07T20:03:20+00:00 * weed mount * much improved "ls -al" performance 2018-11-07T20:03:20+00:00 seaweedfs 1.03 seaweedfs 1.03 2018-11-08T17:16:03+00:00 2018-11-08T17:16:03+00:00 seaweedfs 1.04 seaweedfs 1.04 2018-11-09T06:39:34+00:00 * weed mount * much improved "ls -al" performance with O(1) metadata fetching * weed s3 * fix get object error 2018-11-09T06:39:34+00:00 seaweedfs 1.05 seaweedfs 1.05 2018-11-14T08:04:43+00:00 * weed mount * fix possible filehandle confliction 2018-11-14T08:04:43+00:00 seaweedfs 1.06 seaweedfs 1.06 2018-11-15T07:52:45+00:00 * weed mount * improved performance * avoid possible file handle conflicts * much improved "ls -al" performance with O(1) metadata fetching * weed s3 * fix get object error 2018-11-15T07:52:45+00:00 seaweedfs 1.07 seaweedfs 1.07 2018-11-18T16:13:16+00:00 * weed mount * avoid memory leak for FUSE * improved performance * avoid possible file handle conflicts * much improved "ls -al" performance with O(1) metadata fetching * weed s3 * fix get object error 2018-11-18T16:13:16+00:00 seaweedfs 1.08 seaweedfs 1.08 2018-11-19T06:43:45+00:00 * weed mount * avoid memory leak for FUSE * improved performance * avoid possible file handle conflicts * much improved "ls -al" performance with O(1) metadata fetching * weed s3 * fix get object error 2018-11-19T06:43:45+00:00 seaweedfs 1.09 seaweedfs 1.09 2018-11-22T00:42:50+00:00 * weed mount * avoid memory leak for FUSE * improved performance * avoid possible file handle conflicts * much improved "ls -al" performance with O(1) metadata fetching * fix corrupted file with missing sections when out-of-order writes on Linux https://github.com/chrislusf/seaweedfs/issues/774 * weed s3 * fix get object error 2018-11-22T00:42:50+00:00 seaweedfs 1.10 seaweedfs 1.10 2018-11-29T17:15:30+00:00 * statically build executables, https://github.com/chrislusf/seaweedfs/issues/775 * weed master * "/submit" handler add "count" parameter to allocate multiple file ids * weed volume * default "-images.fix.orientation" to false * weed filer * avoid a directory and a file with the same name overwriting each other https://github.com/chrislusf/seaweedfs/issues/777 * weed mount * add support for "df" to display free disk space 2018-11-29T17:15:30+00:00 seaweedfs 1.11 seaweedfs 1.11 2018-12-08T08:40:19+00:00 * Add Hadoop Compatible File System! Run your hadoop jobs on SeaweedFS! https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System * weed filer * default to leveldb store in current directory if no filer.yaml defined * weed mount * use gzip to transmit data if possible 2018-12-08T08:40:19+00:00 seaweedfs 1.12 seaweedfs 1.12 2018-12-15T16:21:46+00:00 * weed volume * reduce needle map memory usage by 25% * weed mount * paginate through list results https://github.com/chrislusf/seaweedfs/issues/787 * Java * Hadoop compatible file system 1.02 * fix bug on mkdirs * Seaweed-client 1.02 * adding more functions, refactored from seaweed-hadoop-client 2018-12-15T16:21:46+00:00 seaweedfs 1.14 seaweedfs 1.14 2018-12-17T18:04:58+00:00 * weed filer * paginate through large folders * weed volume * reduce needle map memory usage by 25% * weed mount * paginate through list results https://github.com/chrislusf/seaweedfs/issues/787 * paginate when "rm" and "mv" * Java * Hadoop compatible file system 1.03 * fix bug on mkdirs * Seaweed-client 1.03 * adding more functions, refactored from seaweed-hadoop-client * paginate through large folders 2018-12-17T18:04:58+00:00 seaweedfs 1.15 seaweedfs 1.15 2018-12-23T20:55:05+00:00 A Christmas Release! Happy Holidays! * weed filer, volume, HCFS * report original file size * Hadoop client (HCFS) * fix #793 first-level directory creation * fix #797 list directory * weed volume * enhance on detecting gzippable content * avoid ".gz" auto decompression * fix #793 clean up ".idx" files * weed backup * pull changes via gRpc streaming * fix problem with compact map iterating 2018-12-23T20:55:05+00:00 seaweedfs 1.16 seaweedfs 1.16 2018-12-28T23:14:38+00:00 * weed mount * support soft links * Performance improvements * weed filer.copy * limit to copying to a folder 2018-12-28T23:14:38+00:00 seaweedfs 1.17 seaweedfs 1.17 2018-12-29T21:20:47+00:00 * weed mount * keep mount point existing permissions fix https://github.com/chrislusf/seaweedfs/issues/806 * improve performance by switching to https://github.com/seaweedfs/fuse , related to https://github.com/chrislusf/seaweedfs/issues/805 2018-12-29T21:20:47+00:00 seaweedfs 1.18 seaweedfs 1.18 2018-12-30T08:53:33+00:00 * weed mount * keep mount point existing permissions fix https://github.com/chrislusf/seaweedfs/issues/806 * reduce memory footprint by switching to https://github.com/seaweedfs/fuse , related to https://github.com/chrislusf/seaweedfs/issues/805 * improve performance by caching, 60% faster in 32 threads mode, ~ 400% faster in single thread mode. 2018-12-30T08:53:33+00:00 seaweedfs 1.19 seaweedfs 1.19 2019-01-02T22:25:24+00:00 * weed mount * async file chunk deletion * weed s3 * fix list all buckets * fix reported file data size after "s3cmd put" * weed filer * add Last-Modified to HEAD requests 2019-01-02T22:25:24+00:00 seaweedfs 1.20 seaweedfs 1.20 2019-01-06T18:55:36+00:00 * many default parameter adjustments and optimizations * weed volume * retry read if the volume is committing the compaction 2019-01-06T18:55:36+00:00 seaweedfs 1.21 seaweedfs 1.21 2019-01-17T04:54:36+00:00 Do not use the previous 1.19 and 1.20 releases, which have a bug fixed in 27093bc. * weed mount * misc performance and memory usage improvements * weed s3 * fix list buckets * fix s3cmd put * weed volume * read waits when volume is committing compaction * fix volume writes error introduced from 1.19 27093bc * weed master * Speed up heartbeat to new master leader 41fe31b * weed filer * support TTL with Cassandra and Redis filer store 2019-01-17T04:54:36+00:00 seaweedfs 1.23 seaweedfs 1.23 2019-01-18T22:29:18+00:00 * weed mount * misc performance and memory usage improvements * weed s3 * fix list buckets * fix s3cmd put * weed volume * read waits when volume is committing compaction * fix volume writes error introduced from 1.19 27093bc * weed master * Speed up heartbeat to new master leader 41fe31b * Change to separate gRpc port due to https://github.com/soheilhy/cmux/issues/64 * weed filer * support TTL with Cassandra and Redis filer store 2019-01-18T22:29:18+00:00 seaweedfs 1.24 seaweedfs 1.24 2019-01-26T06:19:03+00:00 * weed mount * set file attributes, fix #847 * weed volume * report 404 for deleted files with memory needle map, fix #850 2019-01-26T06:19:03+00:00 seaweedfs 1.25 seaweedfs 1.25 2019-02-25T08:51:24+00:00 * Add JWT based access control. The "white-list" based access control will be removed in later releases. See https://github.com/chrislusf/seaweedfs/wiki/Security-Overview#jwt-based-access-control * Support mutual TLS on all gRPC connections. * weed master * fix possible split brain 2019-02-25T08:51:24+00:00 seaweedfs 1.26 seaweedfs 1.26 2019-03-11T08:12:22+00:00 * weed master * add back "/cluster/status" (fix #870) * add option to disable http operations * weed server * fix option error coming from moving raft to grpc (fix #872) * weed filer * support windows backslash file path separator (fix #868) * UI: synchronous file uploads (fix #807) * weed volume * JWT checks for batch assigned file ids (fix #867) * weed mount * add option to disable "allow others" (fix #877) * weed s3 * add namespace in XML responses (fix #863) 2019-03-11T08:12:22+00:00 seaweedfs 1.27 seaweedfs 1.27 2019-03-23T21:27:15+00:00 * weed shell add a few real commands * list volumes * list collections * file system disk usage * fix under-replicated volumes * weed filer: * fix gRpc port to port + 10000 * notification: add Go CDK pubsub support (https://github.com/chrislusf/seaweedfs/pull/895 by @jba from Google) * weed benchmark * add replication flag (https://github.com/chrislusf/seaweedfs/pull/893 by @PapaYofen from SenseTime) * weed master * add option to disable http, only uses gRpc * miscellaneous bugs: #886 2019-03-23T21:27:15+00:00 seaweedfs 1.28 seaweedfs 1.28 2019-03-31T06:23:04+00:00 * Support atomic renaming! Works well with Hadoop! * weed master * redirect to leader for default admin UI, fix #898 * weed backup * efficient delta backup, fix #399 * weed filer * detect mime type better * Added weed shell with the following commands: ``` collection.list # list all collections fs.du # show disk usage fs.ls # list all files under a directory fs.tree # recursively list all files under a directory volume.fix.replication # add replicas to volumes that are missing replicas volume.list # list all volumes ``` 2019-03-31T06:23:04+00:00 seaweedfs 1.29 seaweedfs 1.29 2019-04-09T05:42:26+00:00 * weed volume * add builds for large disk. volume size can be up to 8000GB. * weed s3 * multipart upload goes to the right bucket * fix aws s3 ls lists directories but not files (fix #911) * weed replicate * replicate atomic renaming to other systems * add GoCDK PubSub support * weed filer * mysql/postgres use ReadCommitted transaction isolation level * increase default mysql/postgres dir or name length to 65535 (just instruction changes) * fix directory cache invalidation error (fix #910) * weed shell * add fs.cd, fs.pwd to change to a directory and print current directory * weed filer.copy * set default chunk size to 32MB * parallelize weed filer.copy * client side gzip compression * keep original file owner id and group id * weed upload * set default chunk size to 32MB 2019-04-09T05:42:26+00:00 seaweedfs 1.30 seaweedfs 1.30 2019-04-12T02:41:10+00:00 * weed filer * optimized leveldb memory usage * removed btree and boltdb options * added leveldbMedium and leveldbLarge options * docker * added cronjob mode to run "volume.fix.replication" every 5 hours * important fix * close gRPC connections if failure happens 2019-04-12T02:41:10+00:00 seaweedfs 1.31 seaweedfs 1.31 2019-04-21T21:20:06+00:00 * shell * add fs.meta.save, fs.meta.load * add fs.meta.notify, removing command "weed filer.export" * add volume.copy, volume.move, volume.mount, volume.unmount, volume.delete * filer * rename -port.public to -port.readonly * add locking for in memory filer store * filer.copy add local compression level * adjust mysql database DDL * volume * reset leader if error happens * support http status NotModified 304 2019-04-21T21:20:06+00:00 seaweedfs 1.32 seaweedfs 1.32 2019-04-22T19:50:28+00:00 * UI * fix volume server metrics (#935) * shell * add fs.cat to see file content 2019-04-22T19:50:28+00:00 seaweedfs 1.33 seaweedfs 1.33 2019-05-04T00:35:49+00:00 * Added WebDAV * volume * optionally slow down compaction (b335f81a4fb51e57b0da37b2b662e823369459f6) * filer * listen on specified ip address (dabc9c9a891b7b563ae17dbb4030ddecdde73483) * remove customizable grpc port (21fe5bde7cf0e619b4d9f2b2a15f8541988a646b) * server * add option to start S3 API gateway 2019-05-04T00:35:49+00:00 seaweedfs 1.34 seaweedfs 1.34 2019-05-18T07:16:23+00:00 * NOTICE: For filer with a large leveldb store, initial upgrading will trigger overdue background compactions, to optimize the leveldb files. This can cause high CPU and disk usage. Just let it run. * filer * add leveldb2 for faster local leveldb * optimize leveldb parameters. * master * configurable JWT expires_after_seconds * shell * add volume.balance command * volume * add option to throttle background volume compaction * add weedfuse for fstab 2019-05-18T07:16:23+00:00 seaweedfs 1.35 seaweedfs 1.35 2019-06-11T04:37:40+00:00 * Support Rack-Aware 10.4 Erasure Coding for warm storage. See https://github.com/chrislusf/seaweedfs/wiki/Erasure-Coding-for-warm-storage * Security: support JWT for volume server read access 2019-06-11T04:37:40+00:00 seaweedfs 1.36 seaweedfs 1.36 2019-06-21T20:13:18+00:00 * filer: fix issue https://github.com/chrislusf/seaweedfs/issues/986 if you are using filer in 1.34, 1.35, please upgrade ASAP. * erasure coding: supports blob deletion * metrics: support Prometheus gateway 2019-06-21T20:13:18+00:00 seaweedfs 1.37 seaweedfs 1.37 2019-06-22T03:57:35+00:00 * erasure coding: supports blob deletion * metrics: support Prometheus gateway * filer * fix issue https://github.com/chrislusf/seaweedfs/issues/986 if you are using filer in 1.34, 1.35, please upgrade ASAP. * fix Cassandra creating file via FUSE mount 2019-06-22T03:57:35+00:00 seaweedfs 1.38 seaweedfs 1.38 2019-06-24T07:39:35+00:00 * metrics * publish metrics to Prometheus Gateway * shared Grafana dashboard https://grafana.com/dashboards/10423 2019-06-24T07:39:35+00:00 seaweedfs 1.39 seaweedfs 1.39 2019-06-30T07:50:43+00:00 * filer * default to leveldb2 store if not configured * add metrics for go memory, gc stats * avoid concurrent modification to result slice, fix #972 * volume * fix bug with 8000GB version if using in memory index * default file ttl to volume ttl, related to #992 2019-06-30T07:50:43+00:00 seaweedfs 1.40 seaweedfs 1.40 2019-07-03T04:44:31+00:00 * filer * default to leveldb2 store if filer store is not configured * add metrics for go memory, gc stats * avoid concurrent modification to result slice, fix #972 * volume * fix bug with 8000GB version if using in memory index * default file ttl to volume ttl, related to #992 2019-07-03T04:44:31+00:00 seaweedfs 1.41 seaweedfs 1.41 2019-07-08T03:42:18+00:00 * filer * leveldb2: fix directory listing https://github.com/chrislusf/seaweedfs/issues/1001 2019-07-08T03:42:18+00:00 seaweedfs 1.42 seaweedfs 1.42 2019-07-22T05:02:50+00:00 * master: * ensure only one exclusive vacuum process * volume * vacuum related optimizations and bug fixes * fix volume count metrics bug #1013 * write requests also checks matching cookies #1014 * shell * add fs.mv * filer * set file name when uploading to a directory (#1005) * default filer.copy to chunk at 32MB * detect a filer path is a file or a directory #1004 * s3 * add location for multipart upload #1002 2019-07-22T05:02:50+00:00 seaweedfs 1.43 seaweedfs 1.43 2019-09-03T18:30:45+00:00 * Released 1.1.6 Hadoop clients, verified working with HDFS/Spark/HBase. * master * master followers can also lookup and redirect, improves master scalability * clients are redirected to new leader, instead of looping through all masters. * filer * support Etcd as filer store, avoiding any SPOF. * fix redis configuration typo for database. #1031 * volume * fail the volume deletion if compaction is in progress, #1035 * protect against nil needle map, #1037 * truncating the temp files when compacting, avoid wrong .dat file after compaction. * mount * add umask option, related to #978 * shell * added an option to set the output file name * added an option to see verbose output, default to non-verbose mode * weed backup * add ttl and replication parameter 2019-09-03T18:30:45+00:00 seaweedfs 1.44 seaweedfs 1.44 2019-10-12T07:06:52+00:00 * Filer * follow the redirected master #1070 * Recursive deletion optionally ignore any errors #1062 * avoid hard-coded upload timeout * Hadoop Compatible File System * fix jar issues on Cloudera HDFS CDH * Volume * in rare cases when volume is created but no superblock #1079 * skip readonly volume checking when destroy #1063 * avoid nil needle map #1061 * Experimental * grpc API for server side json select pushdown * increase thread safety by avoiding rand 2019-10-12T07:06:52+00:00 seaweedfs 1.45 seaweedfs 1.45 2019-11-23T07:20:47+00:00 * shell * fs.meta.save missed directory data with more than 1024 entries (#1130) * ec.balance did not balance correctly (#1111) * add current filer directory default value * master * add option to store file sequence to etcd * assign volume can optionally specify the number of volumes to grow * volume * ec reading error if file size is greater than a limit (#1106) * use read lock to avoid hang during heartbeat * filer * parallelize weed filer.copy for single file * support tikv as filer store 2019-11-23T07:20:47+00:00 seaweedfs 1.46 seaweedfs 1.46 2019-12-14T20:05:18+00:00 * Feature * beta version of transparent cloud integration * support tiering to S3 * Filer * support memsql * add "mode" parameter when uploading * Hadoop Compatible File System * release 1.2.4 * Performance * mount * add option "-dirListCacheLimit" to speed up large directory long-format listing ("ls -l") * Filer * async directory deletion, separate deletion for metadata and data * shell * faster filer.meta.save in parallel * Bugs * WebDav * fix writing file (#1114 ) * Tweaks * docker-compose set to correct master IP option. * master submit support "dataCenter" parameter * Experts * Filer deletion add option skipChunkDeletion * Replication will check healthy volume servers first (https://github.com/chrislusf/seaweedfs/commit/3727d2488fac473bc49af8239c15f440e9552adb) * Graceful volume server shutdown (https://github.com/chrislusf/seaweedfs/commit/a9dbd52e063263cf418bb30805f90e6a9f69fd1a) * fuse: check mount point available before do runmount(https://github.com/chrislusf/seaweedfs/commit/0b822a6fb546e642daaf81947a2f943f396e255b) * gRPC change directory listing to streaming 2019-12-14T20:05:18+00:00 seaweedfs 1.47 seaweedfs 1.47 2019-12-17T23:16:31+00:00 * FUSE mount * Fix nil directory problem * Volume Server * Fix missing leading dot in extension 2019-12-17T23:16:31+00:00 seaweedfs 1.48 seaweedfs 1.48 2020-01-01T17:40:59+00:00 * Tiered Storage * Support reverting cloud tier to local tier. * Erasure Coding * Support reverting EC volumes to normal volumes. * Filer * Support extended attributes. * Add route by latency option for Redis store. * Returns 404 if not found. * Optional default recursive deletion. * Add `fs.meta.cat` to see file meta data. * Fix `fs.meta.save` concurrency problem. * Volume * Lower readonly volume memory usage. * Support deletions on read only volumes. * Avoid core dump when creating volumes and disk is full. 2020-01-01T17:40:59+00:00 seaweedfs 1.49 seaweedfs 1.49 2020-01-08T17:53:47+00:00 This has a fix for a compaction bug introduced in 1.48 * volume: fix compaction * weed fix: generate .idx files correctly 2020-01-08T17:53:47+00:00 seaweedfs 1.50 seaweedfs 1.50 2020-01-09T06:10:16+00:00 * Filer: fix filer read error (https://github.com/chrislusf/seaweedfs/issues/1179) 2020-01-09T06:10:16+00:00 seaweedfs 1.51 seaweedfs 1.51 2020-01-21T04:32:17+00:00 Fixed miscellaneous `weed mount` problems. 2020-01-21T04:32:17+00:00 seaweedfs 1.52 seaweedfs 1.52 2020-01-27T05:15:16+00:00 * volume * better compaction: avoid sharing volume dat file handle(#1184) * filer * file creation follows O_EXCL flag, to stop creation if the file already exists * mount * misc fixes to make git clone work (#1182) * docker * small (34MB) docker image with latest changes `docker pull chrislusf/seaweedfs:dev` 2020-01-27T05:15:16+00:00 seaweedfs 1.53 seaweedfs 1.53 2020-01-31T09:01:21+00:00 * S3 * Add S3 copy * Mount * More robust with retries and large file writes * Volume * Support wav file compression This release also added a feature to overwrite TOML file configurations with environment variables, making it easier to dynamically pass variables, such as database password. 2020-01-31T09:01:21+00:00 seaweedfs 1.54 seaweedfs 1.54 2020-02-10T02:11:30+00:00 * Volume Server * Reduce memory usage when generating read only volumes, avoiding OutOfMemory * Sync index file before closing * Master server * Add configurable volume growth toml setting * Filer * Upload chunked file in streams, reduce memory usage * Shell * add volume.configure.replication to change volume replication 2020-02-10T02:11:30+00:00 seaweedfs 1.55 seaweedfs 1.55 2020-02-12T07:03:00+00:00 Two small but important fixes. * Filer Server * Recursively batch delete file chunks, fix https://github.com/chrislusf/seaweedfs/issues/1197 * Volume Server * Return 204 for unchanged file uploads, fix #1196 2020-02-12T07:03:00+00:00 seaweedfs 1.56 seaweedfs 1.56 2020-02-17T20:58:22+00:00 * S3 API Server * Add [S3 Authentication](https://github.com/chrislusf/seaweedfs/wiki/Amazon-S3-API#authentication) * Volume Server * Avoid segment fault, fixing https://github.com/chrislusf/seaweedfs/pull/1198 2020-02-17T20:58:22+00:00 seaweedfs 1.57 seaweedfs 1.57 2020-02-23T05:38:36+00:00 * S3 API * Access control limited by bucket * Handle nil during edge cases * Filer * Avoid possible timeouts for frequent updates and deletions * Shell * volume.balance ensures dc and rack does not change for replicated volumes * Volume Server * Move server stats to gRpc. 2020-02-23T05:38:36+00:00 seaweedfs 1.58 seaweedfs 1.58 2020-03-02T01:59:46+00:00 * Filer * dynamically create buckets under /buckets folder * S3 API * Implemented DeleteMultipleObjects API * Mount * Able to handle large amount of files. Previously gRPC context was resetting some requests. * Able to run outside of docker cluster. * Volume Server * Fix readonly status reporting * Fix compaction on windows * Shell * Add commands to create/delete/list buckets 2020-03-02T01:59:46+00:00 seaweedfs 1.59 seaweedfs 1.59 2020-03-09T05:03:10+00:00 * Kubernetes * @LazyDBA247-Anyvision Added Helm Charts for Kubernetes! #1216 * Filer * Automatically create collections for folders under `/buckets` * Volume * Weighted volume allocation #1219 by @song-zhang * Experimental * Added option to [encrypt data on volume servers](https://github.com/chrislusf/seaweedfs/wiki/Filer-Data-Encryption) * Bugs * Filer * fix reported uploaded file size * fix listing for TTL on Redis store * Weed mount * fix nil during entry lookup #1221 #1223 2020-03-09T05:03:10+00:00 seaweedfs 1.60 seaweedfs 1.60 2020-03-10T05:33:30+00:00 * Filer * Add TTL support for all filer stores * Filer fix ttl parsing * Volume Server * Fix memory leak during volume compaction. The bug was introduced since 1.48. It shows up if there are lots of compactions. 2020-03-10T05:33:30+00:00 seaweedfs 1.61 seaweedfs 1.61 2020-03-11T08:17:48+00:00 * Filer * Add TTL support for all filer stores * Filer fix ttl parsing * Volume Server * Fix memory leak during volume compaction. The bug was introduced since 1.48. It shows up if there are lots of compactions. * Fix compaction error on windows 2020-03-11T08:17:48+00:00 seaweedfs 1.63 seaweedfs 1.63 2020-03-14T21:26:48+00:00 * Volume * properly handle read only volumes after compaction * vacuum uses pre-allocate variable * vacuum follows compactionBytePerSecond * Fix a nil pointer problem with replicated writes. * HDFS compatible * Released HDFS client v1.25 to support encrypted data storage * Filer * Postgres store skips empty password 2020-03-14T21:26:48+00:00 seaweedfs 1.64 seaweedfs 1.64 2020-03-17T17:59:26+00:00 This release is mostly bug fixes. * Volume * correctly report readonly status after compaction * redirect writes to the right volume servers if volume is moved * consistent etag for replicated writes * Filer * server shutdown closes the filer store 2020-03-17T17:59:26+00:00 seaweedfs 1.65 seaweedfs 1.65 2020-03-20T07:06:08+00:00 * Volume * sync the dat file right before compaction * Tiered Storage * Add option to configure S3 endpoint to support private S3 implementation * weed upload * add usePublicUrl option to copy to volume server by its public url 2020-03-20T07:06:08+00:00 seaweedfs 1.67 seaweedfs 1.67 2020-03-21T06:43:11+00:00 * Filer * Add back image resizing capability * Fix where deletion can be missed under high concurrency. The bug is introduced in 1.57, and impact systems with frequent updates or deletions. * S3 API * Fix DeleteMultipleObjectsHandler * Minor * Fix master UI connection count reporting 2020-03-21T06:43:11+00:00 seaweedfs 1.69 seaweedfs 1.69 2020-03-27T11:52:50+00:00 * weed shell * Added "volume.fsck" command to detect and purge orphan data not referenced by Filer * Volume * Added "-max=0" option to automatically configure max volume count on linux * FUSE Mount, WebDAV * Faster buffered read without repeated http requests * FUSE mount rename correctly across folders * Docker * Optimize volume size and count configurations. 2020-03-27T11:52:50+00:00 seaweedfs 1.70 seaweedfs 1.70 2020-03-30T04:08:17+00:00 * FUSE mount * Speed up (~4.8x) with new chunk caches, [Opimization 1](https://github.com/chrislusf/seaweedfs/wiki/_compare/f10f1217c7011f625a8d20782456253765e591e0), [Optimization 2](https://github.com/chrislusf/seaweedfs/wiki/_compare/f10f1217c7011f625a8d20782456253765e591e0...0278f8d744123fad66047c71591ce5fe56bf76c6) * Hadoop compatible file system * Speed up reads with new chunk read cache 2020-03-30T04:08:17+00:00 seaweedfs 1.71 seaweedfs 1.71 2020-04-06T05:04:37+00:00 * Volume * volume.fsck also checks erasure encoded volumes * volume.fix.replication supports complicated replications * volume copying adds cleaning up on failed attempts * able to resize image uploaded via filer * Fuse Mount * Fail early if cannot connect to the filer * Filer * Fail early if master address is wrong * Increase gRPC message size to support TB-sized files with default 4MB chunk size. 2020-04-06T05:04:37+00:00 seaweedfs 1.72 seaweedfs 1.72 2020-04-09T05:35:54+00:00 * FUSE mount * Fix data write issue under high concurrency * Filer * Add back support for If-None-Match and If-Modified-Since * Minor * Fix `filer.toml` settings for S3 buckets folder * Filer replication adds endpoint for in house S3 storage 2020-04-09T05:35:54+00:00 seaweedfs 1.73 seaweedfs 1.73 2020-04-10T04:45:00+00:00 * FUSE mount * Wait for master * fix a nil pointer error * Volume Server * Automatic detect IP address if not set * Shell * Simplify CLI option for filer 2020-04-10T04:45:00+00:00 seaweedfs 1.74 seaweedfs 1.74 2020-04-13T17:26:24+00:00 * FUSE Mount * Add on disk caching * Volume Server * Add optional fsync on writes. * S3 * Add fsync buckets * Filer * Add redis2 for faster large directory listing * Shell * Only allow one `weed shell` connected to manage the cluster * Replication * Fix replicating via Amazon SQS 2020-04-13T17:26:24+00:00 seaweedfs 1.75 seaweedfs 1.75 2020-04-22T05:03:33+00:00 * FUSE mount * Added asynchronous meta data caching * Added tiered chunk caching * Filer * Filer store supports Mongodb by @bukton123 (https://github.com/chrislusf/seaweedfs/pull/1280) * Add gRPC API to append to a file * New work waiting for comments! * Add pub/sub feature with examples at https://github.com/seaweedfs/messaging-client-go 2020-04-22T05:03:33+00:00 seaweedfs 1.76 seaweedfs 1.76 2020-04-23T06:32:38+00:00 * FUSE mount * Meta data caching works under high concurrency * Master * Temporarily disable the exclusive `weed shell` restriction. 2020-04-23T06:32:38+00:00 seaweedfs 1.77 seaweedfs 1.77 2020-04-26T12:55:24+00:00 * FUSE Mount * Default to use local meta data. This brings great performance improvements. * Master and Shell * Add lock/unlock for shell scripts, to exclusively manage the cluster. Existing volume operations need to lock first before continuing. * Support semicolon separated multiple commands in one line. * Hadoop Compatible File System * Add 1.2.7 release to fix HBase related issues. * [seaweedfs-hadoop2-client-1.2.7.jar](https://oss.sonatype.org/service/local/repositories/releases/content/com/github/chrislusf/seaweedfs-hadoop2-client/1.2.7/seaweedfs-hadoop2-client-1.2.7.jar) * [seaweedfs-hadoop3-client-1.2.7.jar](https://oss.sonatype.org/service/local/repositories/releases/content/com/github/chrislusf/seaweedfs-hadoop3-client/1.2.7/seaweedfs-hadoop3-client-1.2.7.jar) 2020-04-26T12:55:24+00:00 seaweedfs 1.78 seaweedfs 1.78 2020-05-18T18:11:23+00:00 * Added Message Broker! * Faster fsync writes! (#1299) * Filer * Fix directory deletion in MongoDB (#1303) * FUSE mount * Atomic local cache updates * Avoid possible directory deletion error * Master * Prevent race condition with possible transient volume server disconnection. * Minor * Fix Prometheus verbose log * S3 : print out time in UTC format (fix #1297) * Benchmark randomized the content * Benchmark add fsync option * Filer faster image resizing * Filer copy HDFS user name and group names 2020-05-18T18:11:23+00:00 seaweedfs 1.79 seaweedfs 1.79 2020-05-19T15:22:33+00:00 Fix compilation problem with 8000GB volume version. 2020-05-19T15:22:33+00:00 seaweedfs 1.80 seaweedfs 1.80 2020-06-05T22:30:15+00:00 * Filer * default leveldb store add auto recovery, report correct error * Hadoop * HBase can work properly * Volume * On windows, support `-max=0` to auto set volume max count * Able to set volume readonly if below a configurable free disk space percentage * Master * Remove option to change CLI option `-pulseSeconds` * WebDAV * Fix an error when file size is less than 512 and content type is not detectable by file name extension due to`/etc/mime.types` is not installed. 2020-06-05T22:30:15+00:00 seaweedfs 1.81 seaweedfs 1.81 2020-06-10T20:01:20+00:00 * Volume Server * Add a fix for possible dead lock when volume is over 32GB. * FUSE Mount * fix possible file reading EOF bug introduced from 1.80. 2020-06-10T20:01:20+00:00 seaweedfs 1.82 seaweedfs 1.82 2020-06-19T20:48:24+00:00 * Released SeaweedFS CSI Driver! https://github.com/seaweedfs/seaweedfs-csi-driver * FUSE Mount * Lazy metadata syncrhonization. (fix #1322) * [Hadoop Compatible File System](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) * Fixed a concurrency issue when running HBase on SeaweedFS * Volume * Add a hard limit to ensure volume file correctness (7ccc31853cac1833a3a1372aac2327e744a7c5ba) * Minor * S3 return ErrNoSuchKey if not found * Fix issues with Erasure Coding encode/decode 2020-06-19T20:48:24+00:00 seaweedfs 1.83 seaweedfs 1.83 2020-06-27T22:50:36+00:00 * Volume Server * Fix logic to detect mime type and gzip accordingly. * Remove fixJpgOrientation feature * Add default minFreeSpacePercent #1366 * Add optional MD5 verification of uploaded data #1371 * Erasure Coding generate ec shard first, before generating the ec index file, in case of possible EC encoding interruption. * S3 API gateway * DeleteObject API also support deleting a folder recursively * Miscellaneous changes * Master * Always clear up previous master meta data when startup * FUSE mount * Prevent concurrent modification eror 2020-06-27T22:50:36+00:00 seaweedfs 1.84 seaweedfs 1.84 2020-06-28T14:29:37+00:00 * S3 gateway * Fix wrong md5 validation during PUT. https://github.com/chrislusf/seaweedfs/issues/1374 2020-06-28T14:29:37+00:00 seaweedfs 1.85 seaweedfs 1.85 2020-07-13T00:34:57+00:00 * Replication * Support active-active filer replication. * Volume Server * Default to minimum 1% free disk space. * (minor) Default the number of volumes in a volume server to 8. Adding one for logs in case all 7 volumes are allocated. * FUSE mount * Switch to async meta data caching. * Released [Hadoop Compatible File System](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) 1.3.2 * Reuse HTTP connections. * Docker * Dockerfile can support multiple architecture. #1377 * Bug * Fix missing metadata notification for folder deletion. 2020-07-13T00:34:57+00:00 seaweedfs 1.86 seaweedfs 1.86 2020-07-21T06:40:25+00:00 * Overall * [Support super large files](https://github.com/chrislusf/seaweedfs/wiki/Data-Structure-for-Large-Files) * Hadoop * Read/Write performance improvements. * Large file handling. * Reduce memory overhead. * Better support for Hadoop 3. * Minor * command line allows tilde in directory parameter 2020-07-21T06:40:25+00:00 seaweedfs 1.87 seaweedfs 1.87 2020-07-30T20:52:29+00:00 * FUSE mount * changes to make mongodb to run on SeaweedFS mount (#1398 #1400) * [Hadoop Compatible File System](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) * 1.4.3 for faster reads by caching volume id locations and buffering. * S3 * Add support for requests * Remove directory listing size limit * fix s3api auth bug * fix s3api copy object handler SerializationError * Volume server * HEAD response sets Content-Disposition 2020-07-30T20:52:29+00:00 seaweedfs 1.88 seaweedfs 1.88 2020-08-09T05:55:47+00:00 * [Hadoop Compatible File System 1.44](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) * Improve read and write performance with better caching, GC, read ahead, compression. * S3 * Control access for anonymous users * Volume * Report Content-MD5 in response header * Filer * Auto chunking for PUT requests, similar to existing POST requests handling. * Stores md5 metadata for files uploaded through filer * Report Content-MD5 in response header * FUSE Mount * report EEXIST when deleting non-empty folders 2020-08-09T05:55:47+00:00 seaweedfs 1.90 seaweedfs 1.90 2020-08-17T04:24:53+00:00 * Support reading and writing random access files. * FUSE mount * works correctly with random access files. * miscellaneous changes for renaming, set attributes, locking, etc. * Filer * fixes for stale directories when using multiple filers. * add file upload retries for edge cases. * Hadoop 1.4.6 * remove unnecessary jars for better compatibility. * read random access files. * S3 * ListObjects and listObjectsV2 supports sub directories #1418 2020-08-17T04:24:53+00:00 seaweedfs 1.91 seaweedfs 1.91 2020-08-24T01:31:52+00:00 * FUSE mount * many tests and changes for writing and reading random access files * S3 * fix listObjectsV2 response format #1426 * Filer * SQL store insert falls back to update #1429 * Volume server * Able to read last deleted file id with URL params readDeleted=true 2020-08-24T01:31:52+00:00 seaweedfs 1.92 seaweedfs 1.92 2020-08-31T05:57:11+00:00 * Filer * Ensure http connection reuse. * S3 * Avoid possible completeMultipartUpload re-tries that can overwrite uploaded content. * List bucket permission change from admin to read #1430. * Volume Server * Anonymous read access to status handler. * Add option preStopSeconds to drain volume server traffic before shutdown #1433. * Fix EC error if multiple disks are configured in one volume server. * Mount * Fix issue found when running [UrBackup with SeaweedFS FUSE](https://github.com/chrislusf/seaweedfs/wiki/UrBackup-with-SeaweedFS-FUSE) 2020-08-31T05:57:11+00:00 seaweedfs 1.93 seaweedfs 1.93 2020-09-06T19:12:38+00:00 * Filer * [Active-Active or Active-Passive Filer Store replication](https://github.com/chrislusf/seaweedfs/wiki/Filer-Store-Replication)! * New ElasticSearch backend as filer store #1446 #1449 * GRPC API supports prefixed query #1431 * Volume Server * Check disk space before compaction #1440 * FUSE Mount * Map user id and group id between local OS and filer. 2020-09-06T19:12:38+00:00 seaweedfs 1.94 seaweedfs 1.94 2020-09-07T20:14:59+00:00 * Fix ElasticSearch startup error. #1452 2020-09-07T20:14:59+00:00 seaweedfs 1.95 seaweedfs 1.95 2020-09-10T08:37:03+00:00 * Filer * Cross Data Center [Active-Active Asynchronous Replication](https://github.com/chrislusf/seaweedfs/wiki/Filer-Active-Active-xDC-synchronization) * ElasticSearch filer store adds more options. #1455 * Helm Charts upgrades #1456 * Shell * `volume.fix.replication` also purge over replicated volumes * Bugs * Close http response in order to reuse connections. * Properly cancel context for streaming grpc. 2020-09-10T08:37:03+00:00 seaweedfs 1.96 seaweedfs 1.96 2020-09-11T02:52:33+00:00 * Fix a bug introduced in 1.95 where `lock` in `weed shell` always fail on the first attempt. 2020-09-11T02:52:33+00:00 seaweedfs 1.97 seaweedfs 1.97 2020-09-11T20:49:00+00:00 * Volume Server * Fix an issue where volumes are wrongly considered readonly if the last change is a deletion. 2020-09-11T20:49:00+00:00 seaweedfs 1.98 seaweedfs 1.98 2020-09-12T11:13:23+00:00 * Feature * Balance volumes by ratio of fullness. * Bug Fixes * Volume Server: validate volume correctness if last entry is a deletion * Filer Store: etcd store avoid read with nil option #1463 * S3 API: fix ListParts output xml format #1461 * Minor * Reduce `-preStopSeconds` default wait time from 30s to 10s 2020-09-12T11:13:23+00:00 seaweedfs 1.99 seaweedfs 1.99 2020-09-12T20:47:20+00:00 * Filer * Fix postgres failed to start #1465 * Fix a problem where mysql/postgres would insert and then update the same record immediately again. * Volume Server * Revert back the "read deleted entry" feature introduced in 1.96. It caused problems when checking .dat file integrity. 2020-09-12T20:47:20+00:00 seaweedfs 2.00 seaweedfs 2.00 2020-09-20T07:47:48+00:00 * [HDFS 1.4.7](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) * Add `fs.seaweed.buffer.size` option. Dramatically improved performance! * Shell * Add volumeServer.leave command * Add volumeServer.evacuate command * S3 API Gateway * Add support for PostPolicy API #1426 * Emit metrics to prometheus gateway. * [Updated grafana dashboard for Seaweed](https://grafana.com/dashboards/10423) adds S3 metrics and possible cost if run in AWS. * Filer * Add capability to [create an empty directory by http POST](https://github.com/chrislusf/seaweedfs/wiki/Filer-Server-API#create-an-empty-folder) #1161 * gRPC server also supports `ip.bind` * Mongodb update bug #1471 * Docker * Add image for large disk version. `docker pull chrislusf/seaweedfs:2.00_large_disk` * WebDAV * Support files larger than 2GB #1468 * Volume * load configuration from master at the start, to support cloud tier in `weed server` running mode #1469 2020-09-20T07:47:48+00:00 seaweedfs 2.01 seaweedfs 2.01 2020-09-28T06:40:30+00:00 * FUSE Mount * Support Hard Link! * Shell * Consistently use flags for command options. * Hadoop on SeaweedFS * Spark cannot create empty file #1494 * Filer * Ensure file names are valid UTF-8 #1493 * Cassandra store adds authentication #1490 * Enable file extended properties * S3 * Can be started together with Filer with `weed filer -s3` * Fix get object metadata behavior #1491 * Handle `response-content-encoding` in the header #1487 * Fix listing multipart uploads * Volume * Replicated volume can be writable after compaction #1485 * Master * Fix a deadlock with KeepConnected and SendHeartbeat #1475 * Other * Add Prometheus http port #1489 * `weed upload` respects `-usePublicUrl` for large files #1492 2020-09-28T06:40:30+00:00 seaweedfs 2.02 seaweedfs 2.02 2020-10-01T14:22:28+00:00 * Volume Server * Avoids dead lock when deleting volumes. #1501 introduced since version 1.93 * Filer * Replication uses master default value if not specified * S3 * Metrics adds http status code #1502 2020-10-01T14:22:28+00:00 seaweedfs 2.03 seaweedfs 2.03 2020-10-05T05:03:30+00:00 * FUSE mount * Increase large file read performance with prefetching, avoid duplicated reads and fix caching bugs. * Master * Add "resumeState" option to avoid transient state loss if all masters are restarted at the same time. * S3 API * Added object tagging. * GetObjectTagging * PutObjectTagging * DeleteObjectTagging 2020-10-05T05:03:30+00:00 seaweedfs 2.04 seaweedfs 2.04 2020-10-12T04:25:46+00:00 * Breaking Changes! * S3 Added support for "List" action. Now the previous "Read" permission is split into "Read" and "List". The "Read" permission previously allow reading and listing, but now can only read one file. So your s3 config file should add the "List" action if desired. * `weed mount -outsideContainerClusterMode` now uses volume server publicUrl. * Filer, Mount, Hadoop * Support retrying to read from alternative locations. * Exponential backoff when retrying for failed reads. * Mount * Mount adds configurable read wait time option `-readRetryTime` * Fix a race condition when recursively deleting large folders #1514 * Filer * Adds a QR code in the file listing page, to make it easy to transfer files with mobile devices. * Hadoop 1.5.0 * Fix reading ORC file tail. * Fix error reporting when creating a file or folder. * S3 * Adds "List" and "Tagging" actions for configuring access. Bug fixes: * Volume: avoid hanging when stopping a volume server * Master: check peers for existing leader before starting a leader election #1509 2020-10-12T04:25:46+00:00 seaweedfs 2.05 seaweedfs 2.05 2020-10-17T09:43:17+00:00 * FUSE Mount * Parallel write requests with 4x speed increase for large files. * Fix empty folder when `weed mount -filer.path=...` parameter. #1528 * Add retry for directory listing with filer #1530 * Filer * Fix `weed filer.sync` with MySql, Postgres and Cassandra stores. * Fix support for streaming range requests. * WebDAV * Fix dead loop when files smaller than 512 and unknown extenstion. #1344 * Filer * Avoid early disconnection when reading large files. * Volume * Add metrics for read only volumes. * S3 * Avoid duplicated buckets. 2020-10-17T09:43:17+00:00 seaweedfs 2.06 seaweedfs 2.06 2020-10-25T19:37:27+00:00 * Hadoop * Hadoop-Compatible-File-System 1.5.1 reports block size correctly. * Mount * Fix reading stale content on replicated changes. * Performance improvements: async file copying, less memory usage. * Fix sporadic read errors #1541 * S3 * Report error to s3 when updating an object but it is already a directory. #1545 * Multiple domain names for multiple buckets. #1553 * Docker * Allow custom command arguments #1547 * Filer * Support default rack 2020-10-25T19:37:27+00:00 seaweedfs 2.07 seaweedfs 2.07 2020-10-26T05:06:39+00:00 * Mount * A better way to invalidate in-memory cache. Previous fix could be slow for large directories. This release is just to prevent possible performance degradation. 2020-10-26T05:06:39+00:00 seaweedfs 2.08 seaweedfs 2.08 2020-11-01T20:45:57+00:00 * Mount * Add retries to all gRPC operations. #1589 * Add CLI option to limit concurrent writers * S3 * Return `x-amz-tag-count` header in GET requests #1566 * Support `X-Amz-Storage-Class` in request header. * Support `X-Amz-Tagging` in request header. * Support `X-Amz-Meta-` in request header. * Filer * Add CORS support * Volume Server * Add CORS support * Trim out unreachable content left from abrupt shutdown. * Add special handling for content outside of 32GB. * Shell * Add `volume.mark -readonly` #1574 * Fixes * `weed filer.copy` had filename as the directory. * Add back upload retries. 2020-11-01T20:45:57+00:00 seaweedfs dev seaweedfs dev 2020-11-04T17:41:35+00:00 The latest build on every commit. 2020-11-04T17:41:35+00:00 seaweedfs 2.09 seaweedfs 2.09 2020-11-09T06:06:19+00:00 * [Hadoop Compatible File System](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) 1.5.3 * Close file system cleanly. https://github.com/chrislusf/seaweedfs/commit/c709059b690e2e5c70b262f4c884bb784cd1781a * Filer * Write request headers with `Seaweed-` prefix will be stored as metadata. * Volume Server * Detect max volume count changes based on disk usage #1594 * S3 * Avoid blank response for 404 2020-11-09T06:06:19+00:00 seaweedfs 2.10 seaweedfs 2.10 2020-11-11T07:18:05+00:00 Last release has a small issue with `weed version`. It does not affect actual usage. * Filer * Add API to tag a file. * Some tiny fixes: * adjust verbose logs for disk size checking outputs * adjust logic to pick the old volumes when purging over-replicated volumes. 2020-11-11T07:18:05+00:00 seaweedfs 2.11 seaweedfs 2.11 2020-11-16T04:26:40+00:00 * Shell * Add `fs.configure` command to [configure path-specific setting for replication/collection/ttl/fsync](https://github.com/chrislusf/seaweedfs/wiki/Path-Specific-Configuration). * S3 * Add bucket owner attribute and use it for permission checking. #1612 #1613 #1616 * Fix multipart copy operation. #1609 * Filer * Read from volumes in preferred data center #1610 * Volume * Retry-able http POST operations. #1592 * [Hadoop Compatible File System](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) 1.5.4 * Add volume id cache to drastically improve read performance. a2962604 * Java * Add example to watch a folder 3e362451d226d9e19b4b652a02926dedc02f6cf9 2020-11-16T04:26:40+00:00 seaweedfs 2.12 seaweedfs 2.12 2020-11-23T01:21:20+00:00 * S3 * Deprecating "filer.options.buckets_fsync" in filer.toml. Use `fs.configure` to [configure path specific options](https://github.com/chrislusf/seaweedfs/wiki/Path-Specific-Configuration) for the bucket specific options. * Avoid nil when response has error. #1622 * Filer * `fs.configure` adds configurable volume growth * [Hadoop Compatible File System](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) 1.5.6 * add replication parameter `fs.seaweed.replication` * fix ordering in `FileSystem.close()` * [One independent benchmark with HDFS showed comparable results, with much faster reads.](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Benchmark#independent-benchmarks) * Volume * Fix `volume.balance` wrong volume placement #1626 2020-11-23T01:21:20+00:00 seaweedfs 2.13 seaweedfs 2.13 2020-11-30T01:01:47+00:00 * Volume Server * Support `-dir.idx` option for separate index file storage, which can be on faster SSDs. * Detect volume data file disk errors, and reported them as deleted. * Filer * Only retry broken network calls, but not normal errors. https://github.com/chrislusf/seaweedfs/issues/1639 * S3 * Remove empty folders. #1637 2020-11-30T01:01:47+00:00 seaweedfs 2.14 seaweedfs 2.14 2020-12-07T03:01:57+00:00 * Filer * Small files can be cached directly to filer store, avoiding additional http read to volume server. See `-cacheToFilerLimit` option. * WebDAV * Much improved WebDAV write performance. 2020-12-07T03:01:57+00:00 seaweedfs 2.15 seaweedfs 2.15 2020-12-13T11:46:00+00:00 * Shell * fix `fs.configure` for path-specific storage configuration, e.g., Replication, TTL, Collection. * add `s3.configure` to update the s3 identities without restart * FUSE mount * Avoid memory leaking * S3 * move "delete-directory-if-empty" operation to read time * Fix listing with sub folders #1656 * Avoid cross-collection file rename * Filer * Paginate through large folders * Change to `/etc/seaweedfs/filer.conf` on filer for path-specific configuration. 2020-12-13T11:46:00+00:00 seaweedfs 2.16 seaweedfs 2.16 2020-12-20T23:30:38+00:00 * Volume Server * Avoid repeated loading the same volume. #1682 * Filer * [Support path-specific filer store](https://github.com/chrislusf/seaweedfs/wiki/Path-Specific-Filer-Store). The meta data for one branch of the directory tree can be stored on a separate filer store, for better efficiency and scalability. * Fix Mysql/Postgres error handling for non-english languages. * Return http status 499 for client closed connection. #1684 * Minor * Expose master UI when http APIs are disabled. #1650 * Detect IP address better. #1671 * Prevent mistakenly delete empty collection. #1677 * `filer.copy` errors a little bit more obviously. #1678 2020-12-20T23:30:38+00:00 seaweedfs 2.17 seaweedfs 2.17 2020-12-26T07:58:50+00:00 * Filer * Redis, Cassandra can [support super large directories](https://github.com/chrislusf/seaweedfs/wiki/Super-Large-Directories) * Add HBase for filer store * Make path-specific stores portable by trimming out common prefixes * Add `-defaultStoreDir` so that `filer.toml` can be skipped #1659 * S3 * Fix a bug causing loop with empty folders #1701 * Fix bucket-specific Admin permissions 2020-12-26T07:58:50+00:00 seaweedfs 2.18 seaweedfs 2.18 2020-12-28T20:37:49+00:00 * S3 * Fix a regression causing nil #1707 * Add `-allowEmptyFolder` option to disable auto removing empty folders. * Filer * Add `namePattern` to [search files by name within one folder](https://github.com/chrislusf/seaweedfs/wiki/Filer-Server-API#list-files-under-a-directory) 2020-12-28T20:37:49+00:00 seaweedfs 2.19 seaweedfs 2.19 2021-01-04T01:24:28+00:00 # New * Filer * Add RockDB as filer store # Bug fixes * S3 * Fix prefix listing #1722 * Respect Content-Type on PUT #1720 * Shell * Support `shell.toml` to switch cluster easily #1664 * Mount * Fix `weed mount` with TLS #1714 * Master * Fix nil snapshot #1718 2021-01-04T01:24:28+00:00 seaweedfs 2.20 seaweedfs 2.20 2021-01-10T06:55:38+00:00 * Mount * Default to 128 concurrent writers to avoid OOM * Filer * RocksDB adds native support for TTL * Upgrade redis module * Cloud Tiering * Fix s3 upload "use of closed network connection" #1734 * Add `weed filer.cat` command * Read files directly from volume servers, without proxying through filer * Server * Add option to disable master 2021-01-10T06:55:38+00:00 seaweedfs 2.21 seaweedfs 2.21 2021-01-18T09:51:13+00:00 * Filer * Small values are saved to filer store only, saving one network hop to volume server. * Fix bug to ensure seamless meta data replication under stress loads. * Add leveldb3 to have dedicated filer store for each bucket, for instant large bucket deletion. * Avoid http status 206 when error happens for range requests. * Mount * Fix a data read error due to a race condition when write and then read back quickly. * Filer meta tail * Add feature to submit metadata updates to ElasticSearch. * S3 * Bug fix: #1741 key count during list objects * Minor fixes * Fix viper concurrent modification when starting servers. * Filer store: nil entry error if not found 2021-01-18T09:51:13+00:00 seaweedfs 2.22 seaweedfs 2.22 2021-01-24T22:06:47+00:00 * Filer Store * Add mysql2, postgres2 for dedicated tables for each bucket. This ensures instant bucket deletion even for large buckets. * Filer * Support appending to a file with "op=append" URL parameter. * Fix http status 206 setting #1753 * Fuse Mount * Use DIRECT_IO on linux to avoid page cache and ensure write-once-read-many with multiple `weed mount` instances. #1752 * Limit background requests and congestion threshold * Filer meta * Watch meta data changes in JSON format by `weed filer.meta.tail`. * Filer Sync * `weed filer.sync` can optionally use filer as a proxy to access volume servers, avoid network setup to expose all volume servers. * S3 * Fix for listing objects if more than 1000 in the folder 2021-01-24T22:06:47+00:00 seaweedfs 2.23 seaweedfs 2.23 2021-02-01T04:19:33+00:00 * Filer * Fix filer store leveldb and hbase miss files when listing large directories more than 1024 entries #1768 * Fix filer store etcd listing bugs #1767 * FUSE Mount * Invalidate kernel cache properly #1752 * Add `volumeServerAccess` modes for `publicUrl` and `filerProxy` * Report error when `flush()` * S3 * Optimized `DeleteMultipleObjectsHandler` * Replicate * Add `local` and `local_incremental` to backup to local file systems #1759 #1761 #1762 * Shell * `volume.fix.replication` adds collectionPattern with wildcard characters #1758 * Minor * Fix concurrent map reads * FUSE Mount on FreeBSD skip daemon timeout * Avoid possible nil reader #1754 2021-02-01T04:19:33+00:00 seaweedfs 2.24 seaweedfs 2.24 2021-02-08T07:04:50+00:00 * WebDAV * Can start together with filer or server as `weed filer -webdav` or `weed server -webdav`. * S3 * `DeleteMultipleObjects` efficiently clean up leftover empty folders #1772 * Return 204 when deleting nonexistent files #1776 * Replication * RabbitMQ adds delayed retries with dead letter exchange #1773 * Filer * Fix regression with ElasticSearch filer store #1774 * Java * Adds official Java client API with [examples](https://github.com/chrislusf/seaweedfs/wiki/SeaweedFS-Java-Client), with user friendly SeaweedInputStream and SeaweedOutputStream. * [Hadoop compatible file system](https://github.com/chrislusf/seaweedfs/wiki/Hadoop-Compatible-File-System) * Adds optional `fs.seaweed.volume.server.access` to access volume servers via their publicUrl settings, or use filer as a proxy. * Enabled `flush()` function. 2021-02-08T07:04:50+00:00 seaweedfs 2.26 seaweedfs 2.26 2021-02-15T21:41:23+00:00 S3 * Fix a critical bug with S3 in 2.24, 2.25 releases #1806 Critical - S3 Delete Multiple Objects, delete the bucket * Tiering * Support SSD volumes https://github.com/chrislusf/seaweedfs/wiki/Tiered-Storage * Java * Refactored SeaweedFS Java client https://github.com/chrislusf/seaweedfs/wiki/SeaweedFS-Java-Client * Kubernetes * Updated Helm charts #1789 #1790 * FUSE mount * Fix with correct filer path #1799 * Ensure proper release #1803 * Minor * Fail fast if idx files are missing #1796 * Replication has a few changes with RabbitMQ #1801 * Add http max idle connections per host #1802 * Performance increase with fasthttp client * Mount remove unnecsary flush on release 2021-02-15T21:41:23+00:00 seaweedfs latest seaweedfs latest 2021-02-17T10:09:56+00:00 2021-02-17T10:09:56+00:00 seaweedfs 2.27 seaweedfs 2.27 2021-02-22T03:31:19+00:00 * Support command line arguments in a configuration file #1823 * Filer * Fix `postgres2` `mysql2` avoid repeatedly creating tables * Fix `fs.configure` should try to read from entry content #1792 * Volume * Heartbeat should fail fast #1820 * Minor * filer: do not print password on error #1809 * webdav: add replication setting #1817 2021-02-22T03:31:19+00:00 seaweedfs 2.28 seaweedfs 2.28 2021-02-23T06:54:58+00:00 This is a minor release. Adding back `weed scaffold -config=xxx` * Tiered Storage * Support custom tags for tiers. * Add `volume.tier.move` to move data from one tier to the other. * Minor fixes * filer: avoid encryption and compression at the same time #1828 * volume: avoid fixed vacuum timeout for large volumes 2021-02-23T06:54:58+00:00 seaweedfs 2.29 seaweedfs 2.29 2021-03-01T02:09:09+00:00 * Add `filer.backup` command * Avoids external message queue. Supports S3, GCP, Azure, B2, local disk, etc. * Adds `incremental` backup mode for daily new or updated files. * `filer.tier.move` * avoid repeated move for replicated volumes #1792 * S3 * return http status code 200 for empty files #1830 #1831 * Java Client * ByteBuffer.clear supports higher JDK versions #1836 * command line options * Use `-options` for saved CLI options https://github.com/chrislusf/seaweedfs/wiki/Use-Config-File-for-Command-Line-Options 2021-03-01T02:09:09+00:00 seaweedfs 2.30 seaweedfs 2.30 2021-03-07T23:02:20+00:00 * Filer * Adds `weed filer.meta.backup` command to backup metadata to a different filer store. * Cloud Tier * Upload to non-AWS S3 gateways * S3 * ListBuckets show accessible buckets #1837 * MultipleObjectDelete also deletes folders #1857 * Volume Server * Fix EC shard count logic #1863 * Add experimental TCP support * In general * Support IPv6 * Misc fixes for nil objects 2021-03-07T23:02:20+00:00 seaweedfs 2.31 seaweedfs 2.31 2021-03-09T20:54:58+00:00 Fixing a problem that `.vif` file for each volume is not generating. It can cause failures when moving volumes during rebalancing or fix replication. 2021-03-09T20:54:58+00:00 seaweedfs 2.32 seaweedfs 2.32 2021-03-15T04:32:35+00:00 * FUSE Mount * Resolve memory leak by adding BatchForget in fuse library. The leak was introduced in version 2.23. * Shell * Fix a problem with `volumeServer.evacuate` and `volume.balance` #1534 * add `s3.clean.uploads` to clean up stale multipart uploads #1855 * Minor * S3 escape special characters in file names #1884 * Filer leveldb, rocksdb metadata store automatically create metadata folers #1901 * Filer mysql2, postgres2 trigger actions on bucket creation and deletion #1877 * `-ip.bind` default to empty 2021-03-15T04:32:35+00:00 seaweedfs 2.34 seaweedfs 2.34 2021-03-16T10:01:41+00:00 * FUSE Mount * regression: `filer.path` option results in empty mount in 2.32 #1906 * S3 * count correction for the number of files in the dir #1904 * Minor * remove `fasthttp` package 2021-03-16T10:01:41+00:00 seaweedfs 2.35 seaweedfs 2.35 2021-03-22T07:19:03+00:00 * Shell * Add `volume.check.disk` to fix inconsistency for replicated volumes #1923 * S3 * CopyObject endpoint support copying object to itself #1922 * dir with slash key does not exist #1917 2021-03-22T07:19:03+00:00 seaweedfs 2.36 seaweedfs 2.36 2021-03-29T02:10:41+00:00 * Master * Supports snowflake file key generation. #1945 * Filer * MySQL store ensures name column is case sensitive #1931 * Java Client * Support running on windows * Minor * Master avoid possible nil when nodes are disconnected #1928 * Mount releases resources when Forget() is called. * Shell: `volume.check.disk` adds optional slow mode #1930 2021-03-29T02:10:41+00:00 seaweedfs 2.37 seaweedfs 2.37 2021-04-05T01:47:10+00:00 * Filer * Add customizable upsertQuery for sql file stores. #1946 #1948 * Add concurrent upload size limit to avoid OOM * Ensure creating tables #1957 * Java client 1.6.4 * ByteBuffer.clear supports higher JDK versions * Volume * Add concurrent upload size limit to avoid OOM 2021-04-05T01:47:10+00:00 seaweedfs 2.38 seaweedfs 2.38 2021-04-06T06:30:24+00:00 * Mount * Add Read Only mode #1961 * Filer * Fix possible nil chunk when uploading #1966 2021-04-06T06:30:24+00:00 seaweedfs 2.39 seaweedfs 2.39 2021-04-12T02:48:09+00:00 * Add `weed gateway` for easier submitting blobs * FUSE Mount * Release view cache to avoid OOM * Filer * Avoid stuck uploader #1980 * Add a basic FTP server in Java #1968 2021-04-12T02:48:09+00:00 seaweedfs 2.40 seaweedfs 2.40 2021-04-18T20:58:37+00:00 * FUSE mount * Much more efficient memory usage. * Bugs * volumeServer.evacuate uniform movement #1990 * volume.check.disk skipping readonly volume loop #2002 * volume.tier.move: avoid data loss when destination volume server already has the volume #2001 * avoid loop with volume assign alternative request #1996 * `weed shell` return to the terminal correct #1995 * filer pload to a directory without "/" suffix #1988 2021-04-18T20:58:37+00:00 seaweedfs 2.41 seaweedfs 2.41 2021-04-24T23:55:47+00:00 * FUSE mount * delay new file creation until file is closed, unless file is opened exclusively * Volume Server * Erasure Code: transient errors may cause thundering herd effect #2012 * Do not add new volumes when below minFreeSpacePercent #2017 * Filer * Mysql/Postgres may have some leftover entries in database when deleting folders #2006 * Minor * filer directory listing adds `namePatternExclude` #2023 * filer directory listing ensures case sensitive when checking name patterns * `weed shell` lock shows which server holds the lock #1983 * `weed filer.copy` includes empty folders #2016 * volume server report errors properly #2012 2021-04-24T23:55:47+00:00 seaweedfs 2.42 seaweedfs 2.42 2021-04-30T10:40:00+00:00 * FUSE Mount * Handle random reads more memory efficient #2037 * S3 * authorization uses bucket wild cards #2030 * Minor * Volume server: `-minFreeSpace` option supports specific free space size #2025 * Do not compress on brotlii archives #2031, rar files #2032 2021-04-30T10:40:00+00:00 seaweedfs 2.43 seaweedfs 2.43 2021-05-01T07:39:25+00:00 * FUSE Mount * Fix regression on data inconsistencies between multiple mounts #2038 * Handle random reads more memory efficient #2037 * S3 * authorization uses bucket wild cards #2030 * Minor * Volume server: `-minFreeSpace` option supports specific free space size #2025 * Do not compress on brotlii archives #2031, rar files #2032 2021-05-01T07:39:25+00:00 seaweedfs 2.45 seaweedfs 2.45 2021-05-10T20:54:34+00:00 * FUSE mount * temporary reverting from temp file upload (2.44) back to in memory write and upload 2021-05-10T20:54:34+00:00 seaweedfs 2.47 seaweedfs 2.47 2021-05-11T17:13:17+00:00 * Volume * ahead of time volume assignment #2049 * add retry to assign volumes #2056 * FUSE Mount * write to local temporary file before uploading * Filer * delete specific tags #2041 * fix wrong log error #2051 * Shell * optional parallel copy ec shards #2048 * S3 * return 404 if bucket does not exist #2039 * Java Client * Add exists() function * make SeaweedInputStream throw FileNotFoundException 2021-05-11T17:13:17+00:00 seaweedfs 2.48 seaweedfs 2.48 2021-05-14T17:27:12+00:00 * Mount * Fix bugs related to renaming files and directories #2068 #2064 * Fix reading file when file is still being written #2065 * weed filer.copy * Adds option to skip copying files if file sizes are the same #2067 2021-05-14T17:27:12+00:00 seaweedfs 2.49 seaweedfs 2.49 2021-05-23T07:58:59+00:00 * FUSE Mount * Support multiple filers! #2015 #1531 * Filer * Receate grpc connections if having transport error #2070 * Waits in case master lost connection temporarily * bootstrap from peer filer #1861 * Master * avoid possible nil when node is disconnected from its parent #2073 * S3 * Adds errors if requests are signed but no authentication is setup #2075 * Deprecate `filer.options.buckets_fsync`. Use path-specific configuration instead. * Java Client 1.6.6 * Fix replication setting not passed to filer * Throw exception when assign fails 2021-05-23T07:58:59+00:00 seaweedfs 2.50 seaweedfs 2.50 2021-05-31T03:40:54+00:00 * Fuse Mount * Add fuse subcommand to use weed with mount #2085 #2099 * Filer Store * Support sqlite as filer meta store * Filer.bacup * backup to local directory optionally is incremental #2084 * escape colon from path on windows #2084 * S3 * Object write cache control and expires #2079 * Object get with If-Match: bogus ETag #2080 * Fix saving metadata during put-object #2092 * Minor * recreate grpc connections if too many errors #2098 * `weed server` fix free space parameters 2021-05-31T03:40:54+00:00 seaweedfs 2.52 seaweedfs 2.52 2021-06-07T19:13:47+00:00 * FUSE mount * Support macfuse 4.x on MacOS * Add current and parent directoreis `.` and `..` #2105 * Avoid file handle locking when `setattr` * Invalidate FUSE cached entries #2108 * Filer * Add path-specific option to enforce read only * Parallelize file data uploading to volume servers. (Performance Improvement) * Filer Store * Fix error on Mongodb `E11000 duplicate key error collection: seaweedfs.filemeta index: directory_1_name_1 dup key` * Improvements * use bytes.Buffer to reduce memory allocations and garbage collections (Performance Improvement) * keep alive for streaming connections #2096 * optionally disable current upload limit 2021-06-07T19:13:47+00:00 seaweedfs 2.53 seaweedfs 2.53 2021-06-14T00:12:55+00:00 * Filer * when deleting a bucket, remove all bucket metadata for mysql and postgres filer stores. (mysql2, postgres2, and sqlite stores are not affected.) #2118 * Minor * Return correct exitcode when `wheed upload` fails #2115 2021-06-14T00:12:55+00:00 seaweedfs 2.54 seaweedfs 2.54 2021-06-19T10:49:19+00:00 * FUSE mount * Fix a deletion bug #2138 introduced in 2.53. This would cause the file chunks are not actually deleted, which can be fixed by running `volume.fix` in `weed shell`. * Skip flushing if file is deleted. This enables WinFsp to mount SeaweedFS on windows via sshfs #2110 * Master * fix stats when a collection is deleted 2021-06-19T10:49:19+00:00 seaweedfs 2.55 seaweedfs 2.55 2021-06-23T07:41:27+00:00 This is a release to resolve the binary build issue caused by travis-ci migration. * FUSE * Daemonized `weed fuse` #2141 * Master * Avoid repeated leader redirection #2146 * Add process metrics of weed itself #2147 2021-06-23T07:41:27+00:00 seaweedfs 2.56 seaweedfs 2.56 2021-06-28T06:34:42+00:00 * Filer * slow metadata topic read may lose some change events #2117. This affects `weed filer.sync` over slow network. This is also useful for consistent metadata with `weed mount`, and affects gRPC subscribe metadata changes. * Shell * `volume.fsck -findMissingChunksInFiler` checks missing chunks in filer * `weed fuse` * Fix: Loosing environment variables at StartProcess #2160 2021-06-28T06:34:42+00:00 seaweedfs 2.57 seaweedfs 2.57 2021-07-03T22:11:42+00:00 * Volume * Fix bug with in-memory index in `large_volume` version #2162 * Reduce memory consumption for in-memory index in environments wtih high concurrent writes * Add `readMode.redirect=proxy` mode to deal with volumes not on current volume server. #2168 * Address `unaligned 64-bit atomic operation` on 32-bit systems #2177 * Filer * Better range query for mp4 video #2156 * Cassandra store supports TokenAwareHostPolicy #2179 * Daemonized Fuse * fix `weed fuse` parameters parsing #2178 * Mount * Recursively rename directory locally #2169 * S3 * Authorization: StreamingSigned mode enforces access control #2180 * Add metadata with multipart upload #2173 #2174 2021-07-03T22:11:42+00:00 seaweedfs 2.58 seaweedfs 2.58 2021-07-12T08:34:31+00:00 * Volume Server * default readMode to proxy. * Minor * fixes related to 64 bit alignment on 32 bit OS. * Shell: `volume.fsck` fix purging orphaned chunks #2188 2021-07-12T08:34:31+00:00 seaweedfs 2.59 seaweedfs 2.59 2021-07-15T22:53:14+00:00 * S3 * Fixed an important bug where files larger than 4MB will fail the upload. #2195 The bug was introduced since 2.51 (June 6th, 2021). * Shell * `volume.check.disk` adds retries in case the volumes are just moved #2194 * `volume.fsck` deletes a volume if the volume has only orphaned data #2190 * Volume * Change all writes to fsync during graceful stopping. #2193 2021-07-15T22:53:14+00:00 seaweedfs 2.60 seaweedfs 2.60 2021-07-26T05:10:29+00:00 * Filer * Fix deletion of large directories in postgres and sqlite. * LevelDB and RocksDB add bloom filter for faster existence checking #2211 * Optimization: improve random range query read speed for large files * Shell * Adds `fs.rm` to remove files or directories #2208 * Adds `fs.mkdir` to make directories * Adds `-retry` option for `volume.fix.replication` #2191 * Adds `-retry` option for `volumeServer.evacuate` #2191 * `s3.bucket.delete` avoid waiting for large object metadata * `volume.check.disk` skips errors and check next volumes #2129 * Volume * Add `webp` extension for resizing #2217 * Master * Ensure unique ids for `snowflake` sequencer #2213 * Filer.copy * Fail early if assign request failed #2216 * `weed fuse` * Fix error handling #2209 * Minor * `weed -h` subcommand list is not sorted, makes discovery difficult #2214 * `weed scaffold -config=` should output to stdout #2212 2021-07-26T05:10:29+00:00 seaweedfs 2.61 seaweedfs 2.61 2021-08-01T22:51:50+00:00 * Shell: * `volume.tier.move` adds capability to use wildcard to specify collections #2221 * `collection.list` calculates size and file count for a collection #2224 * Add `volume.deleteEmpty` to purge empty volumes * Volume * Deletion can skip volume size checking #2225 2021-08-01T22:51:50+00:00 seaweedfs 2.62 seaweedfs 2.62 2021-08-09T06:34:06+00:00 New Features: * Adds `weed autocomplete` for auto completion * Volume * Add `concurrentDownloadLimitMB` to limit concurrent file download size, to avoid possible memory growth Minor Improvements: * Shell * `volume.tier.move` distribute volumes better to avoid moving all volumes to one destination * `volume.tier.move` skip not found error on deletion * `volume.fix.replication` avoid retries even when there is no error #2235 * `volume.balance` balance read only volumes first * `filer.backup`, `filer.meta.backup`, `filer.meta.tail`, `filer.sync` * Add TLS grpc support 2021-08-09T06:34:06+00:00 seaweedfs 2.63 seaweedfs 2.63 2021-08-16T07:14:50+00:00 **Big New Feature!** * Remote Storage Cache https://github.com/chrislusf/seaweedfs/wiki/Remote-Storage-Architecture It can cache S3 cloud storage data and metadata to local. Effectively this is a local cache with unlimited size. Only S3 is implemented for now. It works with all existing FUSE/Hadoop/S3/WebDAV/HTTP protocols. The local changes can be write back to cloud, to work with existing cloud ecosystems. New Feature: * Add `weed master.follower` for scalable volume id lookup. Improvements: * Filer * Stream read from volume servers to reduce memory usage. * Shell * volume copying: clean up stale volume data files #2250 * `volume.tier.move` makes up changes if volume move failed. * `volume.tier.move`, `volume.balance`, etc fix empty cookie reading problem. * Parallelized `volume.tier.move` * Volume Server * Move volume lookup operations to gRPC. * S3 * Add liveness or readiness probe for s3 api handler on `/status` path. #2245 Bug Fixes: * Filer * gRpc connection error on filer when no volume left #2243 * Volume Server * [Version 2.62] Volume server crash when i access file from public url #2247 2021-08-16T07:14:50+00:00 seaweedfs 2.64 seaweedfs 2.64 2021-08-23T07:55:15+00:00 * [Cloud Drive](https://github.com/chrislusf/seaweedfs/wiki/Cloud-Drive-Architecture) cache and sync cloud data to local SeaweedFS cluster * Support Google Cloud Storage, in addition to existing AWS S3. * Build with Go 1.17 * Mount * Increase concurrency with pooled goroutines #2263 * Fix a mounting issue #2275 * Filer, S3, Volume servers * Read write with streaming gzip, #2274 showed 10% overall performance improvement and 90% memory allocation reduced for small compressible files 2021-08-23T07:55:15+00:00 seaweedfs 2.65 seaweedfs 2.65 2021-08-28T12:28:16+00:00 * [Cloud Drive](https://github.com/chrislusf/seaweedfs/wiki/Cloud-Drive-Architecture) cache and sync cloud data to local SeaweedFS cluster * Supports Azure * Supports BackBlaze * Supports Aliyun * Supports Tencent * Supports Wasabi * Distributed parallel downloading. * Mount * Invalidate mount meta cache #2289 2021-08-28T12:28:16+00:00 seaweedfs 2.66 seaweedfs 2.66 2021-09-05T23:22:54+00:00 * [Cloud Drive](https://github.com/chrislusf/seaweedfs/wiki/Cloud-Drive-Architecture) cache and sync cloud data to local SeaweedFS cluster * Adds [Gateway to Remote Object Storage](https://github.com/chrislusf/seaweedfs/wiki/Gateway-to-Remote-Object-Storage) to automatically create or delete buckets on remote object storage. * Adds support for Storj. * Adds support for Filebase * Adds support for HDFS (WIP) * Volume Server * Moving files also copies modification time, to ensure TTL volumes can work as expected. * Filer Store * Supports TiKV * S3 API * CopyObject return http Status 400 Bad Request for non-existing source #2306 Improvements * Detect IPv6 adddresses #2310 * Grafana page improves on S3 cost analysis #2290 2021-09-05T23:22:54+00:00 seaweedfs 2.67 seaweedfs 2.67 2021-09-07T09:40:55+00:00 * S3 * Fix wrong checking during object copy. * `filer.remote.sync` * Automatically detect the primary remote storage * Randomize bucket name in remote storage to avoid bucket name conflicts. 2021-09-07T09:40:55+00:00 seaweedfs 3.32 seaweedfs 3.32 2022-10-17T03:55:39+00:00 ## What's Changed * Volume Server * revert disabling FSync for non Mac by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3814 * Optimize leveldb metric by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/3830 * Set the default value of "hasSlowRead" to true by @famosss in https://github.com/seaweedfs/seaweedfs/pull/3710 This value will be default and this option will be removed. * avoid load volume file with BytesOffset mismatch by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3841 * ensure monotonic n.AppendAtNs [#3852](https://github.com/seaweedfs/seaweedfs/issues/3852) * Java * fix bug : read error when position after 2147483647 by @livehl in https://github.com/seaweedfs/seaweedfs/pull/3829 * Filer * Get directory metadata by @zemul in https://github.com/seaweedfs/seaweedfs/pull/3833 * Filer Store * Redis stores reduce from 2 redis operations to 1 for updates. * Sqlite serialize sqlite operations [#3827](https://github.com/seaweedfs/seaweedfs/issues/3827) * Master * Fix interruption through ctrl+c by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3834 * vacuum metrics and force sync dst files by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3832 * Cloud Tier * add retry when copying data file [#3828](https://github.com/seaweedfs/seaweedfs/issues/3828) * Shell * `volume.move` handles volume moved to cloud tier [#3803](https://github.com/seaweedfs/seaweedfs/issues/3803) * `volume.tier.upload` clean up replicated copies [#3804](https://github.com/seaweedfs/seaweedfs/issues/3804) * `volume.fsck` by volume by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3851 * `volume.fsck` hotfix apply purging and add option verifyNeedle #3860 by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3861 * `filer.sync` * fix invalid memory address or nil pointer dereference [#3826](https://github.com/seaweedfs/seaweedfs/issues/3826) * Code Improvements: * avoid data race of LogBuffer isStopping by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3859 * avoid data race of TraverseBfs by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3856 ## New Contributors * @livehl made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/3829 * @zemul made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/3833 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.31...3.32 2022-10-17T03:55:39+00:00 seaweedfs 3.33 seaweedfs 3.33 2022-10-31T16:34:19+00:00 This release fixed a long time bug: when creating new replicated volumes, sometimes one of the replica creation fails because of disk space, failed disk, or limited file handles, etc. Previously the other successfully created volume replicas are not purged. But these volumes are not in use since they are under replicated. So a lot of empty volumes are created quickly. This release purges these partially replicated volumes. ## What's Changed * Master * Remove extra volume if creating one of the replicated volumes failed. * avoid vacuum if not enough replica copies by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3924 * Volume Server * add Content-MD5 header when UploadData to replication in ReplicatedWrite by @paochiang in https://github.com/seaweedfs/seaweedfs/pull/3881 * ReadNeedleMeta recovery panic occurred by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3883 * ensure monotonic n.AppendAtNs in each place by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3880 * Other * Corrected the dashboard to use the new series name. by @egguy in https://github.com/seaweedfs/seaweedfs/pull/3887 * fix volume statefulset helm chart's tolerations by @theRealWardo in https://github.com/seaweedfs/seaweedfs/pull/3911 * S3 * Fix err info for ErrMalformedDate by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/3893 * fix: set user metadata key to lowercase by @famosss in https://github.com/seaweedfs/seaweedfs/pull/3894 * fix: isTruncated returns problematic by @famosss in https://github.com/seaweedfs/seaweedfs/pull/3907 * Shell * avoid fix missing of deleted needles by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3909 * [voluche.chek.disk] needles older than the cutoff time are not missing yet by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3922 * [volume.chek.disk] sync of deletions the fix by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3923 * `weed fix` * add param for ignore error by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3918 ## New Contributors * @egguy made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/3887 * @theRealWardo made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/3911 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.32...v3.33 2022-10-31T16:34:19+00:00 seaweedfs 3.34 seaweedfs 3.34 2022-11-07T07:10:12+00:00 ## What's Changed * Shell * [volume.fsck] check needles status from volume server by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3926 * [volume.fsck] param volumeId is comma separated the volume id by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3933 * [volume.fsck] collect ids without cut off time for finding missing data from volumes by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3934 * [filer.backup] add retention_duration by @zemul in https://github.com/seaweedfs/seaweedfs/pull/3941 * S3 * Bug fix: empty key in DeleteMultipleObjects request caused bucket delete by @pavelzhurov in https://github.com/seaweedfs/seaweedfs/pull/3939 * `filer.remote.sync` * fix sync to azure with metadata and ContentType by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/3949 ## New Contributors * @pavelzhurov made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/3939 * @645775992 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/3947 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.33...3.34 2022-11-07T07:10:12+00:00 seaweedfs 3.35 seaweedfs 3.35 2022-11-14T08:25:06+00:00 ## What's Changed * Filer Store * filer store: skip disabled location specific filer store initialization [#3971](https://github.com/seaweedfs/seaweedfs/issues/3971) * Filer UI * file name escape uri [#3969](https://github.com/seaweedfs/seaweedfs/issues/3969) * `filer.remote.sync` * Replace dashes with underscores in x-amz-meta headers by @aronneagu in https://github.com/seaweedfs/seaweedfs/pull/3965 * Volume Server * Lazy loading by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/3958 * S3 * feat:add a uuid after uploadid by @famosss in https://github.com/seaweedfs/seaweedfs/pull/3963 * fix 'NoSuchUpload' when upload part by @shichanglin5 in https://github.com/seaweedfs/seaweedfs/pull/3968 ## New Contributors * @aronneagu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/3965 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.34...3.35 2022-11-14T08:25:06+00:00 seaweedfs 3.36 seaweedfs 3.36 2022-12-05T07:40:36+00:00 I am started to work on https://github.com/seaweedfs/seaweed-up , which can help to create a SeaweedFS cluster quickly. Hackers are welcome to participate! ## What's Changed * Volume Server * Include meta in ReadAllNeedles by @jameshartig in https://github.com/seaweedfs/seaweedfs/pull/3991 * Include name/mime in ReadAllNeedles by @jameshartig in https://github.com/seaweedfs/seaweedfs/pull/4005 * Filer * fix: Lost Content-Encoding metadata by @famosss in https://github.com/seaweedfs/seaweedfs/pull/4010 * Return ETag from remote when file doesn't exist on Filer by @aronneagu in https://github.com/seaweedfs/seaweedfs/pull/4025 * Metrics * [metrics] Add the ability to control bind ip by @JiffsMaverick in https://github.com/seaweedfs/seaweedfs/pull/4012 * S3 * avoid recursive deleting newly created empty directories by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4016 * Shell * `volume.list` show volumes only from the specified dc/rack/dn by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4024 ## New Contributors * @JiffsMaverick made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4012 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.35...3.36 2022-12-05T07:40:36+00:00 seaweedfs 3.37 seaweedfs 3.37 2022-12-12T05:13:39+00:00 ## What's Changed * Rotate log files. * Mount * Fix hardlink counting by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4042 * Fix a bug introduced by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/4035 * Filer * Fix uri escape during renaming by @JiffsMaverick in https://github.com/seaweedfs/seaweedfs/pull/4039 * `filer.sync` * add chunk etag when downloading from remote storage [#3987](https://github.com/seaweedfs/seaweedfs/issues/3987) ## New Contributors * @wusongANKANG made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4042 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.36...3.37 2022-12-12T05:13:39+00:00 seaweedfs 3.38 seaweedfs 3.38 2023-01-03T07:36:17+00:00 Happy New Year! This release has a much more solid FUSE mount implementation. There are multiple bugs fixed in #4089. This was tested by running a virtual machine on top of the mounted directory. It is basically a random read and write process on a large file in 10s of GB. ## What's Changed * FUSE Mount * more solid weed mount by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/4089 * S3 API * sort tags by key by @shichanglin5 in https://github.com/seaweedfs/seaweedfs/pull/4047 * fix response not allowed by @shichanglin5 in https://github.com/seaweedfs/seaweedfs/pull/4057 * WebDAV * add -filer.path to webdav command by @lfhy in https://github.com/seaweedfs/seaweedfs/pull/4061 * Helm Charts * Fixes: 4076: Host path prefix should be configurable by @nadenf in https://github.com/seaweedfs/seaweedfs/pull/4077 * Fixes 4074: S3 Gateway fails to start when installed via Helm by @nadenf in https://github.com/seaweedfs/seaweedfs/pull/4075 * Add logtostderr option in helm chart by @Programmeris in https://github.com/seaweedfs/seaweedfs/pull/4080 * `weed shell` * fs.verify needles status of file by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4060 * support enable/disable vacuum by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/4087 * Misc * Fix ide warning by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/4082 * add more help message, in case of misunderstanding by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/4092 * Filer Store * filer.store.mysql: Escape table columns in SQL query by @CommanderRoot in https://github.com/seaweedfs/seaweedfs/pull/4095 * filer.store.mysql: Replace deprecated upsert syntax by @CommanderRoot in https://github.com/seaweedfs/seaweedfs/pull/4096 * filer.store.mysql: Use utf8mb4 instead of 3 byte UTF8 by @CommanderRoot in https://github.com/seaweedfs/seaweedfs/pull/4094 ## New Contributors * @lfhy made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4061 * @nadenf made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4077 * @Programmeris made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4080 * @CommanderRoot made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4095 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.37...3.38 2023-01-03T07:36:17+00:00 seaweedfs 3.39 seaweedfs 3.39 2023-01-09T02:24:36+00:00 ## What's Changed * Mount * Faster write operation on large files * Filer * Handle offset change in stream reader #4112 * Volume Server * batch delete EC needles #4107 * Misc * add mount log by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4101 * add code of conduct by @wzrdtales in https://github.com/seaweedfs/seaweedfs/pull/4109 * Add image cropping. by @monchickey in https://github.com/seaweedfs/seaweedfs/pull/4117 ## New Contributors * @wzrdtales made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4109 * @monchickey made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4117 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.38...3.39 2023-01-09T02:24:36+00:00 seaweedfs 3.40 seaweedfs 3.40 2023-01-16T04:16:56+00:00 In this release, the FUSE mount write performance is improved. The larger the file size, the more saving. Previously there was an O(n) operation on file chunks, for each file sync operation. This version removed this bottleneck. ## What's Changed * Mount * merge chunks during upload by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/4130 * Improve write performance by skipping an costly unnecessary operation * Fixed a couple of nil cases * Filer Store * mysql: Missed escaping column name #4129 * Misc * use time.NewTicker instead of time.Tick. by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/4119 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.39...3.40 2023-01-16T04:16:56+00:00 seaweedfs 3.41 seaweedfs 3.41 2023-01-30T07:03:55+00:00 ## What's Changed * Shell * Add command `fs.meta.changeVolumeId` to change volume id in all files. * Mount * Reduce memory usage when writing large files. * fix metacache update during renaming by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4161 * S3 * fix IAM deletion https://github.com/seaweedfs/seaweedfs/issues/4144 by @guol-fnst in https://github.com/seaweedfs/seaweedfs/pull/4158 * Misc * Use semver 2 in Chart.yaml by @cr1cr1 in https://github.com/seaweedfs/seaweedfs/pull/4142 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.40...3.41 2023-01-30T07:03:55+00:00 seaweedfs 3.42 seaweedfs 3.42 2023-02-06T05:34:57+00:00 ## What's Changed * Mount * memchunk save content twice by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4174 * minor: delete redundant code by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4173 * S3 * make directory lister trigger if mime type is `httpd/unix-directory` by @elee1766 in https://github.com/seaweedfs/seaweedfs/pull/4169 * HDFS on S3 * Fix HDFS client copying large files to S3 API with MultipartUpload #4170 * Filer * system log dir does not make subscribe event by @neo-v in https://github.com/seaweedfs/seaweedfs/pull/4172 * `filer.remote.sync` * filer.remote.sync on a S3 cloud mount #4175 * Remote Storage * adding support for B2 region by @hallaj in https://github.com/seaweedfs/seaweedfs/pull/4177 ## New Contributors * @elee1766 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4169 * @neo-v made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4172 * @hallaj made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4177 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.41...3.42 2023-02-06T05:34:57+00:00 seaweedfs 3.43 seaweedfs 3.43 2023-02-21T01:04:41+00:00 ## What's Changed * `filer.remote.sync` * fix empty file content [#4194](https://github.com/seaweedfs/seaweedfs/issues/4194) * Volume Server * Fix return if Replicate write error by @neo-v in https://github.com/seaweedfs/seaweedfs/pull/4188 * S3 * s3 bucket name verification by @lyang24 in https://github.com/seaweedfs/seaweedfs/pull/4189 * FUSE Mount * Fix read file-data in entry.content by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4207 * CSI Driver * compatibility patch for csi driver by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4208 #4217 * Helm Chart * Added helm chart publish github actions to github pages on tagging by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4219 * `weed shell` * Fix bugs when balancing volumes with s3 tiering in place [#4195](https://github.com/seaweedfs/seaweedfs/issues/4195#issuecomment-1426100904) ## New Contributors * @washcycle made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4208 * @raphaelauv made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4223 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.42...3.43 2023-02-21T01:04:41+00:00 seaweedfs 3.44 seaweedfs 3.44 2023-03-20T03:39:34+00:00 ## What's Changed * S3 * Fix s3api_object_list_handlers returning contents less than the specified limit when more data actually exists by @shichanglin5 in https://github.com/seaweedfs/seaweedfs/pull/4240 * Filer * add -disk to filer command by @lfhy in https://github.com/seaweedfs/seaweedfs/pull/4247 * fix chunk.ModifiedTsNs by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4264 * added secret envs to filer by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4284 * set http status code to 409 if dir already exists by @rohitchormale in https://github.com/seaweedfs/seaweedfs/pull/4287 * The filer does not set defaultReplication to the defaultReplication o… by @shichanglin5 in https://github.com/seaweedfs/seaweedfs/pull/4315 * Filer UI defaults to a `-DirListingLimit` #4258 (this is subject to further changes) * Heml Chart * Helm Chart Documentation and CI Updates by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4243 * Official Artifact Hub Metadata Resources by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4257 * Volume Server * fix_read_tomb_needle_meta by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4263 * `weed mount` * Skip parent directory creation in mount by @Woellchen in https://github.com/seaweedfs/seaweedfs/pull/4310 * Master * Fix volume not found if marked as read only #4088 * Fix -raftHashicorp and -raftBootstrap flag propagation. by @stewartmiles in https://github.com/seaweedfs/seaweedfs/pull/4309 * Use exponential backoff to query leader. by @stewartmiles in https://github.com/seaweedfs/seaweedfs/pull/4313 * Retry until a leader is selected. by @stewartmiles in https://github.com/seaweedfs/seaweedfs/pull/4318 * `weed shell` * Fs.verify.concurrency by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4293 * Misc * Fix binding metrics to ipv6 by @nivekuil in https://github.com/seaweedfs/seaweedfs/pull/4286 * Updated the deprecated ioutil dependency by @zachary-walters in https://github.com/seaweedfs/seaweedfs/pull/4239 * fix(weed/topology/node.go): typo in error message by @tnyeanderson in https://github.com/seaweedfs/seaweedfs/pull/4292 ## New Contributors * @zachary-walters made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4239 * @rohitchormale made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4287 * @tnyeanderson made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4292 * @stewartmiles made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4309 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.43...3.44 2023-03-20T03:39:34+00:00 seaweedfs 3.45 seaweedfs 3.45 2023-04-03T05:56:06+00:00 ## What's Changed * FUSE Mount * weed mount default EnableACL,Support chmod chown by @renweijun in https://github.com/seaweedfs/seaweedfs/pull/4335 * update entry Attributes.Mtime = time.Now().Unix() #4337 * Master * avoid lowercasing commands #4321 * add validate config for raft by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4332 * Filer * fix key corrupt when fs.configure copy path trie by @shichanglin5 in https://github.com/seaweedfs/seaweedfs/pull/4353 * Minor * style: clerical error by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4361 * Update artifacthub-repo-stable.yml by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4330 ## New Contributors * @renweijun made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4335 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.44...3.45 2023-04-03T05:56:06+00:00 seaweedfs 3.46 seaweedfs 3.46 2023-04-17T05:01:25+00:00 ## What's Changed * Mount * Mount concurrent read by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4400 * update fuse client log which should output the fh of FileHandle. by @chengyu-l in https://github.com/seaweedfs/seaweedfs/pull/4404 * Shell * File Path Configuration TTL Validation by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4376 * adjusted regex to be from 1 to 255 for the value by @washcycle in https://github.com/seaweedfs/seaweedfs/pull/4377 * Helm Charts * fix(chart): use hostpath filer persistence when deprecated enablePVC is unset by @samcday in https://github.com/seaweedfs/seaweedfs/pull/4384 * Fixing a service deployment bug by @ProjectInitiative in https://github.com/seaweedfs/seaweedfs/pull/4392 * fix(chart): use filer data PVC correctly by @samcday in https://github.com/seaweedfs/seaweedfs/pull/4398 * S3 * s3 fix get fake dir object key by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4390 * s3 fix get list of dir object key with slash suffix by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4391 * fix test prefix is a directory by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4393 * try fix s3test test_bucket_listv2_delimiter_prefix by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4396 * fix s3test test_bucket_listv2_delimiter_prefix_ends_with_delimiter by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4399 ## New Contributors * @samcday made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4384 * @ProjectInitiative made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4392 * @chengyu-l made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4404 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.45...3.46 2023-04-17T05:01:25+00:00 seaweedfs 3.47 seaweedfs 3.47 2023-04-24T05:50:35+00:00 ## What's Changed * Remote Volume Storage * Rclone storage backend by @dalbani in https://github.com/seaweedfs/seaweedfs/pull/4402 * Misc * use env for flags with dot in name by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/4415 * FUSE mount * mount: add retry for read only case by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4416 * Writables inconsistency by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4417 * [mount]Fix copy file range by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4407 * weed shell * ec.decode` fix decoding error when a volume server has multiple directories #4365 * Remote Object Store Gateway * reset local file content if remote file is updated #4289 ## New Contributors * @dalbani made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4402 * @SmsS4 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4415 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.46...3.47 2023-04-24T05:50:35+00:00 seaweedfs 3.48 seaweedfs 3.48 2023-05-01T05:22:01+00:00 ## What's Changed * Volume Server * Volume range read use sync.pool by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4422 * Filer * allow deleting only older empty dir without recursion by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4430 * Fix: http rename move dir to subdir by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4432 * [Filer] post add param:saveInside by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4434 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.47...3.48 2023-05-01T05:22:01+00:00 seaweedfs 3.50 seaweedfs 3.50 2023-05-10T06:45:39+00:00 ## What's Changed * Raft * Update to seaweedfs/raft v1.1.3 to fix index out-of-bounds issue https://github.com/seaweedfs/raft/pull/7 * Shell * fix shell volume.balance bug by @themarkchen in https://github.com/seaweedfs/seaweedfs/pull/4447 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.48...3.50 ## New Contributors * @themarkchen made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4447 2023-05-10T06:45:39+00:00 seaweedfs 3.51 seaweedfs 3.51 2023-05-22T06:46:34+00:00 ## What's Changed * Filer Store * Etcd: support username/password authentication for etcd filer store s… by @mhameed in https://github.com/seaweedfs/seaweedfs/pull/4477 * Etcd: etcd filer store keys should have customizable prefix by @mhameed in https://github.com/seaweedfs/seaweedfs/pull/4484 * Filer/S3 * Use filerGroup for s3 buckets collection prefix by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/4465 * support swift by @mervynzhang in https://github.com/seaweedfs/seaweedfs/pull/4480 * Master * fix no more writables volumes while disk free space is sufficient by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4491 * Other * Fix build binary for windows. ## New Contributors * @mhameed made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4477 * @mervynzhang made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4480 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.50...3.51 2023-05-22T06:46:34+00:00 seaweedfs 3.52 seaweedfs 3.52 2023-06-05T05:37:32+00:00 ## What's Changed * Master * reduce the window size between unregistering a volume server and creating volumes on that server #4467 * Filer * add return for error handle by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4502 * fix deadlock for filer upload by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4527 * S3 * S3 TLS credentials Refreshing by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4506 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.51...3.52 2023-06-05T05:37:32+00:00 seaweedfs 3.53 seaweedfs 3.53 2023-06-26T06:02:16+00:00 ## What's Changed * Master * Fix no more writable volumes by delay judgment by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4548 * fix: deletes newly created volumes by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4551, https://github.com/seaweedfs/seaweedfs/pull/4561, https://github.com/seaweedfs/seaweedfs/pull/4573 * Healthz check for deadlocks by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4558 * Volume Server * avoid data race read volume.IsEmpty by @bai-jie in https://github.com/seaweedfs/seaweedfs/pull/4574 * doIsEmpty() return error if v.DataBackend is nil by @bai-jie in https://github.com/seaweedfs/seaweedfs/pull/4587 * Helm Chart * Helm chart fixes: by @werdnum in https://github.com/seaweedfs/seaweedfs/pull/4539 * Fix Helm chart enableSecurity flag by @werdnum in https://github.com/seaweedfs/seaweedfs/pull/4537 * chart with optional https port for s3 by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4507 * Add secret support for filer environment variables. by @werdnum in https://github.com/seaweedfs/seaweedfs/pull/4538 * Filer * fix 404 not found by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4536 * avoid overwriting non-nil uploadReaderToChunks.uploadErr with nil value by @bai-jie in https://github.com/seaweedfs/seaweedfs/pull/4560 * fix get file stats for IsEmpty by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4576 * S3 * optional https port for s3 by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4482 * Dashboard * feat: Add datasource as variable by @achetronic in https://github.com/seaweedfs/seaweedfs/pull/4584 * Cloud-Tier Storage * Support templating name of files stored via Rclone backend by @dalbani in https://github.com/seaweedfs/seaweedfs/pull/4606 ## New Contributors * @werdnum made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4539 * @bai-jie made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4560 * @agipson33 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4572 * @achetronic made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4584 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.52...3.53 2023-06-26T06:02:16+00:00 seaweedfs 3.54 seaweedfs 3.54 2023-07-17T05:58:03+00:00 ## What's Changed * S3 * Unix Socket listener for S3 server by @yeganemehr in https://github.com/seaweedfs/seaweedfs/pull/4621 * Fix the segment fault from not setting s3 https port by @hencoappel in https://github.com/seaweedfs/seaweedfs/pull/4667 * Fix S3 API multipart upload on Windows by @hencoappel in https://github.com/seaweedfs/seaweedfs/pull/4666 * Filer * Second filer bootstrap hanging https://github.com/seaweedfs/seaweedfs/issues/4639 * Volume Server * Fix DataBackend nil pointer by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4641 * refresh max volume count after adjust by @shichanglin5 in https://github.com/seaweedfs/seaweedfs/pull/4662 * fix copying level db files during commit [#4635](https://github.com/seaweedfs/seaweedfs/issues/4635) * Mount * Fix data racing: add lock for meta cache by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4664 * create mount root on filer https://github.com/seaweedfs/seaweedfs-csi-driver/issues/127 * `filer.remote.gateway` * Concurrency works better by @mervynzhang in https://github.com/seaweedfs/seaweedfs/pull/4663 * Shell * clone volume locations in case they are changed [#4642](https://github.com/seaweedfs/seaweedfs/issues/4642) * Custom gRPC ports not honored by master.peers and weed shell env vars https://github.com/seaweedfs/seaweedfs/issues/4607 * Minor * Fix buff use by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4628 * README.md: minor fixes by @natmaka in https://github.com/seaweedfs/seaweedfs/pull/4652 * avoid logging nil error by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4659 ## New Contributors * @yeganemehr made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4621 * @hencoappel made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4667 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.53...3.54 2023-07-17T05:58:03+00:00 seaweedfs 3.55 seaweedfs 3.55 2023-07-24T06:14:38+00:00 ## What's Changed * Mount * Fix large file chunks deleted by mistake by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4678 * S3 API * s3api should return 500 code from filer by @SmoothDenis in https://github.com/seaweedfs/seaweedfs/pull/4699 * Helm Chart * Add variabilisation of RBAC by @armandleopold in https://github.com/seaweedfs/seaweedfs/pull/4692 * Go module * patch go-m1cpu to build with macOS < 12 by @chenrui333 in https://github.com/seaweedfs/seaweedfs/pull/4679 ## New Contributors * @chenrui333 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4679 * @armandleopold made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4692 * @SmoothDenis made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4699 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.54...3.55 2023-07-24T06:14:38+00:00 seaweedfs 3.56 seaweedfs 3.56 2023-09-11T05:18:19+00:00 ## What's Changed * Volume Server * Fix resource leaks by @Zamony in https://github.com/seaweedfs/seaweedfs/pull/4737 * Save disk space metrics immediately by @Zamony in https://github.com/seaweedfs/seaweedfs/pull/4740 * weed/storage/erasure_coding: Error Handling Fixes by @alrs in https://github.com/seaweedfs/seaweedfs/pull/4819 * Master * Implement SRV lookups for filer by @Cottand in https://github.com/seaweedfs/seaweedfs/pull/4767 * Add stream API to assign file id to reduce connection overhead. * Helm Chart * fix: replace volume.pvc_exists with master.pvc_exists by @togettoyou in https://github.com/seaweedfs/seaweedfs/pull/4762 * fix bugs: seaweedfs master ingress host configuration do not work by @gfhe in https://github.com/seaweedfs/seaweedfs/pull/4781 * [helm] add possibility to use array for imagePullSecrets by @tikhon-opsfleet in https://github.com/seaweedfs/seaweedfs/pull/4782 * [helm] fix log to stderr and default host for ingress by @Dimonyga in https://github.com/seaweedfs/seaweedfs/pull/4787 * [heml] complete redesign of labels by @Dimonyga in https://github.com/seaweedfs/seaweedfs/pull/4788 * k8s: allow configuring serviceAccountName by @aviau in https://github.com/seaweedfs/seaweedfs/pull/4790 * helm: allow setting master.toml config by @aviau in https://github.com/seaweedfs/seaweedfs/pull/4797 * [heml] fix default affinity and allow owerride ingress annotations by @Dimonyga in https://github.com/seaweedfs/seaweedfs/pull/4799 * improve k8s probes templating in helm chart by @Programmeris in https://github.com/seaweedfs/seaweedfs/pull/4805 * S3 API * Improve S3 request signing performance by @Woellchen in https://github.com/seaweedfs/seaweedfs/pull/4148 * Fix s3.clean.uploads by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/4766 * Add time to first byte metric for s3 by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/4768 * ErrInvalidPart when completed parts has extra parts. https://github.com/seaweedfs/seaweedfs/discussions/4746 * Metrics * Add master servers to grafana dashboard by @ginn13 in https://github.com/seaweedfs/seaweedfs/pull/4801 * Java API * SeaweedOutputStream add option to pass in collection. * Mount * add separate cache directory `-cacheDirWrite` for write buffers. * Minor * minor by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4723 * Update weed fix description by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/4745 * weed/util: fix dropped errors by @alrs in https://github.com/seaweedfs/seaweedfs/pull/4803 ## New Contributors * @Zamony made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4737 * @togettoyou made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4762 * @t3hmrman made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4769 * @dimm0 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4736 * @gfhe made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4781 * @tikhon-opsfleet made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4782 * @Cottand made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4767 * @Dimonyga made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4787 * @aviau made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4790 * @alrs made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4803 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.55...3.56 2023-09-11T05:18:19+00:00 seaweedfs 3.57 seaweedfs 3.57 2023-09-25T04:36:13+00:00 ## What's Changed * S3 API * Fix s3 api object list with params max-keys and prefix by @annluda in https://github.com/seaweedfs/seaweedfs/pull/4834 * [s3] optimization iam lookup for reducing algorithm complexity by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4857 * [s3acl] Step 0: Put bucket ACL only responds success if the ACL is private. by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4856 * [iam] Replace action read/write to readAcp/writeAcp for handlers with acl by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4858 * FUSE Mount * Fix mount write proxy filer by @zemul in https://github.com/seaweedfs/seaweedfs/pull/4840 * Ordered read write locks for each file handle * Helm Charts * Wrong default value for volume.resource by @armandleopold in https://github.com/seaweedfs/seaweedfs/pull/4855 * Minor * avoid pass lock by value by @wusongANKANG in https://github.com/seaweedfs/seaweedfs/pull/4839 * fix: weed/storage: dropped error by @alrs in https://github.com/seaweedfs/seaweedfs/pull/4841 ## New Contributors * @annluda made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4834 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.56...3.57 2023-09-25T04:36:13+00:00 seaweedfs 3.58 seaweedfs 3.58 2023-10-30T06:25:48+00:00 ## What's Changed * Volume * fix: make dev_tls with volume https by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4866 * weed/replication/sub: fix dropped error by @alrs in https://github.com/seaweedfs/seaweedfs/pull/4865 * fix: avoid error file name too long when writing a file by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4876 * Erasure Coding: volumes created by foreign collection due to bug in ec balance by @wzrdtales in https://github.com/seaweedfs/seaweedfs/pull/4864 * S3 * [s3acl] Step1: move s3account.AccountManager into to iam.S3ApiConfiguration by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4859 * remove compare to fix #4668 issue by @lakeland1990 in https://github.com/seaweedfs/seaweedfs/pull/4924 * [s3] do reload s3 static config by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4923 * fix copying .vif file in VolumeCopy by @zehweh in https://github.com/seaweedfs/seaweedfs/pull/4943 * Shell * fix: avoid deleting more than one replica by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4873 * fix: avoid deleting one replica without sync by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4875 * fix: logger place msg by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4880 * fix: skipping checking active volumes with the same number of files at the moment by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4893 * add fs.mergeVolumes command into shell by @yeganemehr in https://github.com/seaweedfs/seaweedfs/pull/4907 * fix has changes false if deleted result size eq zero by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4909 * Helm Charts * Allow override internalTrafficPolicy by @aronneagu in https://github.com/seaweedfs/seaweedfs/pull/4877 * add ingress for seaweedfs s3 by @Programmeris in https://github.com/seaweedfs/seaweedfs/pull/4887 * Helm chart jwt signing configuration by @yuvalyacoby in https://github.com/seaweedfs/seaweedfs/pull/4894 * Helm use external certificates by @yuvalyacoby in https://github.com/seaweedfs/seaweedfs/pull/4913 * Remove hardcoded podManagmentPolicy value in a helm chart by @Programmeris in https://github.com/seaweedfs/seaweedfs/pull/4941 * Misc * weed/operation: fix dropped error by @alrs in https://github.com/seaweedfs/seaweedfs/pull/4888 * Fix filer.backup local sink to propagate file mode changes by @werdnum in https://github.com/seaweedfs/seaweedfs/pull/4896 * golang up version to 1.21.3 by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4911 * Add optional flags to enable mTLS with verification of client certificate by @jameskhedley in https://github.com/seaweedfs/seaweedfs/pull/4910 * add make benchmark with WARP by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4914 * see_dat add print name by @binbinshi in https://github.com/seaweedfs/seaweedfs/pull/4930 * Filer * added healthz endpoint to filer by @yuvalyacoby in https://github.com/seaweedfs/seaweedfs/pull/4899 * Filer Store * Fix: Filer's tikv filestore's prefix query error #4950 by @duanhongyi in https://github.com/seaweedfs/seaweedfs/pull/4952 ## New Contributors * @yuvalyacoby made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4894 * @jameskhedley made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4910 * @lakeland1990 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4924 * @zehweh made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4943 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.57...3.58 2023-10-30T06:25:48+00:00 seaweedfs 3.59 seaweedfs 3.59 2023-11-13T06:16:40+00:00 ## What's Changed * Volume Server * Add ErrorGetNotFound and ErrorGetInternal to volume server metrics by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/4960 * Fix twice increase metric counter by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/4961 * Replace an invalid method in a metric with an invalid one by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4987 * Helm Charts * Add podLabels & podAnnotations to all pods by @tehasdf in https://github.com/seaweedfs/seaweedfs/pull/4959 * S3 API * Pass correct Filer's gRPC port to S3 server. by @tired-engineer in https://github.com/seaweedfs/seaweedfs/pull/4972 * chore(tests): update S3 compat tests by @t3hmrman in https://github.com/seaweedfs/seaweedfs/pull/4992 * WebDAV * refactor webdav subdirectory, fixes #4967 by @Cottand in https://github.com/seaweedfs/seaweedfs/pull/4969 * weed/server: fix dropped webdav error by @alrs in https://github.com/seaweedfs/seaweedfs/pull/4990 * Shell * fix isMisplaced() in command_volume_fix_replication.go by @zehweh in https://github.com/seaweedfs/seaweedfs/pull/4988 * ec.decode: mount the collected ec shards by @cctags in https://github.com/seaweedfs/seaweedfs/pull/4995 ## New Contributors * @tehasdf made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4959 * @tired-engineer made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4972 * @cctags made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/4995 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.58...3.59 2023-11-13T06:16:40+00:00 seaweedfs 3.60 seaweedfs 3.60 2024-01-02T03:31:30+00:00 ## What's Changed * FUSE Mount * Waiting for writes to complete with acquired lock may lead to deadlock by @kvaster in https://github.com/seaweedfs/seaweedfs/pull/ * Fix OOM from increasing RSS memory usage on long term https://github.com/seaweedfs/seaweedfs/issues/5082 * Weed Fix * Fix weed fix by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/5020 * Filer * Set allowed origins in config by @jerebear12 in https://github.com/seaweedfs/seaweedfs/pull/5109 * chore: add dsn for connection to mysql by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5060 * [filerstore] mysql falls back to update only if error contains msg "duplicate entry" by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5085 * Add a way to use a JWT sent in an HTTP only cookie by @jerebear12 in https://github.com/seaweedfs/seaweedfs/pull/5077 * verify content-md5 in header by @julor in https://github.com/seaweedfs/seaweedfs/pull/5016 * S3 * [s3api] add default response for GetBucketVersioning by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4998 * Helm Charts * fix: k8s-chart-helm master metrics scraping by @sberthier in https://github.com/seaweedfs/seaweedfs/pull/5142 * Fix: helm: remove deprecated values that caused helm template error for post install hook by @jessebot in https://github.com/seaweedfs/seaweedfs/pull/5108 * Update helm_ci.yml - add `ct` flag `--target-branch ${{ github.event.repository.default_branch }}` by @jessebot in https://github.com/seaweedfs/seaweedfs/pull/5106 * #5122 Add support for sidecar containers by @Davidsod in https://github.com/seaweedfs/seaweedfs/pull/5125 * Always include volumes in statefulsets by @dzsibi in https://github.com/seaweedfs/seaweedfs/pull/5081 * Helm: add post install hook to support creating default buckets by @cloudymax in https://github.com/seaweedfs/seaweedfs/pull/5048 * Use `global.serviceAccountName` to populate `ServiceAccount`, `ClusterRole`, and `ClusterRoleBinding` by @jessebot in https://github.com/seaweedfs/seaweedfs/pull/5049 * support tls in master-ingress by @Programmeris in https://github.com/seaweedfs/seaweedfs/pull/4946 * Helm chart: Allow existing S3 config secret for the filer statefulset and the s3 deployment by @jessebot in https://github.com/seaweedfs/seaweedfs/pull/5039 * Enable support for Restic-based tools (K8up, Velero) to perform backup and restore operations by @cloudymax in https://github.com/seaweedfs/seaweedfs/pull/5034 * Update helm_chart_release.yml - run helm chart release on push to master on changes to k8s/chart files by @jessebot in https://github.com/seaweedfs/seaweedfs/pull/5035 * helm chart: fix annotations templating for s3.ingress.annotations and document it and s3.ingress.tls in values.yaml by @jessebot in https://github.com/seaweedfs/seaweedfs/pull/5023 * [helm] fix: use metricsPort correctly by @niuqg in https://github.com/seaweedfs/seaweedfs/pull/5010 * Shell * shell meta load add concurrency by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4529 * Add modifyTimeAgo to volume.fsck by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/5133 * Fix cutoffTimeAgo in findMissingChunksInFiler by @SmsS4 in https://github.com/seaweedfs/seaweedfs/pull/5132 * fs.mergeVolumes: Make a plan based on volumes size by @yeganemehr in https://github.com/seaweedfs/seaweedfs/pull/4999 * fs.mergeVolumes: change dir to a named parameter by @yeganemehr in https://github.com/seaweedfs/seaweedfs/pull/5003 * Filer Backup * filer backup add option for exclude file names that match regexp to sync on filer by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5002 * fix: add doDeleteFile option for filer backup by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5018 * Filer Remote Sync * Using filer.remote.sync concurrency in filer.remote.gateway by @itsfarbod in https://github.com/seaweedfs/seaweedfs/pull/5123 * Remote gateway Bug fix by @itsfarbod in https://github.com/seaweedfs/seaweedfs/pull/5100 * Fix wrong option https://github.com/seaweedfs/seaweedfs/pull/5102 * Filer Copy * Add option to filer.copy with public volume server url https://github.com/seaweedfs/seaweedfs/pull/5126 * Minor * Minor cleanup & gitignore update by @varunu28 in https://github.com/seaweedfs/seaweedfs/pull/5144 * weed/server: remove unneeded err from streamReadOneVolume() signature by @alrs in https://github.com/seaweedfs/seaweedfs/pull/5143 * weed/storage: fix dropped test errors by @alrs in https://github.com/seaweedfs/seaweedfs/pull/5083 * logging PickForWrite error by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/4920 * fix TestMisplacedChecking() and add test-case by @zehweh in https://github.com/seaweedfs/seaweedfs/pull/5040 * weed/command: fix dropped error by @alrs in https://github.com/seaweedfs/seaweedfs/pull/5027 * Fix shell 'help' for all commands by @yeganemehr in https://github.com/seaweedfs/seaweedfs/pull/5000 ## New Contributors * @niuqg made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5010 * @jessebot made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5023 * @julor made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5016 * @cloudymax made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5034 * @dzsibi made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5081 * @itsfarbod made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5100 * @Davidsod made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5125 * @vivekkoya made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5134 * @sberthier made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5142 * @varunu28 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5144 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.59...3.60 2024-01-02T03:31:30+00:00 seaweedfs 3.61 seaweedfs 3.61 2024-01-08T08:08:12+00:00 ## What's Changed * Filer * Fix v3.60 bug : panic: runtime error: invalid memory address or nil pointer dereference #5153 * WebDAV * fix: return etag with md5 in webdav responses by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5158 * fix: webdav avoid create empty files by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5160 * chore: add maxMB option for webdav by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5165 * S3 API * Fix missing VersionConfiguration node in get-bucket-versioning response by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5162 * Filer Sync * chore: filer sync add doDeleteFiles option for create only mode by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5166 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.60...3.61 2024-01-08T08:08:12+00:00 seaweedfs 3.62 seaweedfs 3.62 2024-01-16T04:47:52+00:00 ## What's Changed * Filer * Removed problematic if statement by @jerebear12 in https://github.com/seaweedfs/seaweedfs/pull/5180 * chore: add status code for request_total metrics by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5188 * Volume Server * fix write volume over size MaxPossibleVolumeSize by @kungf in https://github.com/seaweedfs/seaweedfs/pull/5190 * can vacuum volume when size mismatch by @kungf in https://github.com/seaweedfs/seaweedfs/pull/5200 * factor in existing ec volume count when estimating max volume count [#5191](https://github.com/seaweedfs/seaweedfs/issues/5191) * Filer.sync * Fix filer sync set offset by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5197 * Fix doDeleteFiles deletes files by @kmlebedev in https://github.com/seaweedfs/seaweedfs/pull/5198 ## New Contributors * @kungf made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/5190 **Full Changelog**: https://github.com/seaweedfs/seaweedfs/compare/3.61...3.62 2024-01-16T04:47:52+00:00