2.19.0
New features
FL-2883 Management Server metrics exposed to Prometheus
FL-2880 Engine metrics exposed via Prometheus
FL-2836 End users can configure notifications for individual pipelines
Enhancements
FL-2747/FL-2888 Updated dependencies
FL-2966 Proxy: Support fetch-owner for ListObjects
FL-2832 Detailed mapping info on pipelines card
FL-2913 Web console link in admin notification email
FL-2911 Support for DigitalOcean Spaces in our Toronto (TOR1)
FL-2954 Disabled zero multipart limit for Wasabi, Storj, Scaleway, Seagate, Mino, and Yandex
FL-2955 MDisabled ETag support for GCore to avoid "No ETag in Complete Multipart Upload response" error
FL-2828 Keeping forwarding task on engine if updated task configuration is incorrect
FL-2684 Improved format and readability of migration reports
FL-2807 Proxy: support zero-size part as last in multipart upload to Azure
FL-2827 Moved engine away timeout to engine configuration
FL-2561 Moved active tasks to IGNORE during housekeeping
FL-2892 Default name of AWS launch template is now empty in engine configuration
FL-1580 Price list as metric criteria
Bug fixes
FL-2808 Proxy to Azure does not correctly handle non-consecutive multipart upload part numbers
FL-2809 Proxy to Azure ignores InvalidPartOrder for multipart upload and created an object
FL-2842 SYSTEM ERROR during object migration affects failed objects counter but are not written to migration report
FL-2852 Proxy: PUT object request - engine waits 10 minutes before returning response with error to client
FL-2872 Duplicate bucket name error when starting migration in pipeline
FL-2876 Proxy: Prohibit multiple asynchronous operations simultaneously on one channel
FL-2886 Engines might be deployed in other organization for migration
FL-2887 Error sending Authentication Refresh Failed email for Azure link
FL-2891 Azure integration error for long management credentials
FL-2894 No header for Dropbox bucket details
FL-2902 Incorrect default autodeploy limit for new organizations
FL-2905 Error when changing policies of virtual buckets with public access
FL-2909 Proxy: engine restart after 400 Bad request response from one of clouds for CompleteMultipartUpload
FL-2914 TLS connection errors are not retried by engine during migration
FL-2918 Incorrect migration duration estimation for large migrations
FL-2922 log_manager logging level is always DEBUG
FL-2926 Engine restart when migrating to Dropbox
FL-2928 Objects migrating from Backblaze B2 in a single multipart part fail with "Object changed during migration: incorrect part range" error
FL-2938 Failed to start pipeline keeps on retrying every minute and sends email every time it fails
FL-2967 Proxy: incorrect bucket name in complete multipart upload response from proxy
2.18.3
FL-2895 "Exceeded max string length" error when listing Dropbox
2.18.2
FL-2879 Proxy: Put object with Expect 100-CONTINUE fails with Bad Request
2.18.1
FL-2871 Error when creating new pipeline with default settings
2.18.0
Enhancements
FL-2673 Support for bucket names up to 512 characters
FL-2548 Improved slot tooltip
FL-2753 Simplified creating pipeline from a migration
FL-2824 Cost estimator shows price per GB if source size is not known instead of an error
FL-2831 Minor improvements and bug fixes for pipelines
Bug fixes
FL-2823 Unable to start pipeline or migration if custom log level is defined
FL-2702 Multiple retries for object with zero-size last part during migration to B2 Native with strict consistency check
FL-2817 Incorrect decoding of space in user defined metadata during migration from Backblaze B2 Native
FL-2756 Source and destination buckets displayed as New in pipeline settings when pipeline is created from completed migration
FL-2752 Engine restart during migration from Azure to Backblaze B2 with default settings
FL-2754 Engine restart after 403 'storage cap exceeded' error from Backblaze S3-compatible storage
FL-2865 [Proxy] Multi cloud proxy returns version ID with incorrect index on CompleteMultipartUpload operation
FL-2759 [Proxy] Engine restart after head object request to 4 clouds with Fastest selection policy
FL-2774 [Proxy] Engine restart after get object request to 4 clouds with Fastest selection policy
FL-2765 [Proxy] Engine returns "AWS4 signature does not match" depending on content-encoding or x-amz-object-attributes headers order
FL-2773 [Proxy] Restart while processing upload part request - "Assertion `!is_resp_complete_' failed".
FL-2860 [Proxy] Engine crash on PutObjectTagging to non-existing bucket when two Azure are attached to endpoint
FL-2870 [Proxy] Engine crash on ListObjects on multicloud endpoint with Azure+Azure and priority selection policy
FL-2776 [Proxy] StartAfter in the ListObjectsV2 response is double URL-encoded
FL-2781 [Proxy] Proxy does not return StorageClass for ListParts
FL-2839 [Proxy] ListParts returns not mapped StorageClass (Hot instead of STANDARD)
FL-2838 [Proxy] Unexpected response on ListParts with negative part-number-marker: 500 instead of 400
FL-2814 [Proxy] Proxy to Azure does not respect max-parts and part-number-marker for ListParts
FL-2822 [Proxy] Proxy to Azure returns incorrect ListObjects results when backslash (\) is used as a delimiter
FL-2857 [Proxy] Proxy to Azure returns maximum 1000 x-amz-mp-parts-count for HeadObject with partNumber
2.17.3
FL-2751 GetObject does not return the entire content when two DO accounts are attached to endpoint
2.17.2
FL-2748 Unknown server error when viewing old migrations with prefix
2.17.1
FL-2746 Empty statistics graph and error message in bucket details window
2.17.0
New features
FL-2507 Sync pipelines for scheduling regular migrations/sync
FL-2656 Strict consistency check option when migrating to Azure or B2
Enhancements
FL-2713 List Destination and List and Probe comparison methods enabled for all conflict resolution options
FL-2740 Removed "Keep both objects" conflict resolution option
FL-2576 Presigned URL support in list of objects to migrate
FL-2742 When objects list is specified, PROBE_ONLY is selected as AUTO comparison method
FL-2621 Listing less objects in destination in LIST comparison mode
FL-2675 Validation that object key filter starts with removePrefix
FL-2735 Migration default part size is set to less than default multipart limit for all clouds
FL-2708 Do not show original size (source size) if objects list is defined
FL-2676 [Proxy] Support partNumber for probeObject operation in Azure
FL-2677 [Proxy] Support partNumber for getObject operation in Azure
FL-2639 New error text when no clouds are attached to endpoint or virtual bucket
FL-2613 Validating bucket name in SQS message
FL-2642 Retry SQS errors
FL-2614 CMD: show statistics for the number of deleted objects
FL-2703 CMD: allow specifying source/destination cloud, region, and prefix via env variables
FL-2666 Improved virtual bucket policy editor
FL-2668 Minor improvements of UI
FL-2657 Proxy reports location in engines configuration
FL-2665 New engine configuration options: log-file-chunk-size / report-file-chunk-size
FL-2661 Skip logging OAuth2 refresh message for Azure link to user log
FL-2715 Updated dependencies versions
Bug fixes
FL-2361 Wrong snackbar error button color
FL-2400 Engine crash after OPTIONS request to proxy
FL-2411 Proxy: ListObjectVersions request with AWS and Backblaze B2 attached returns bad request
FL-2514 Requesting multiple object attributes using "GetObjectAttributes" with AWS SDK for Java v2 results in "403, Flexify: Authentication failed: AWS4 signature does not match"
FL-2640 HTTP method CONNECT results in 500 Internal Server Error
FL-2649 Messages are sent to dead-letter queue when engines that process SQS queue are shut down
FL-2654 Migration of multipart objects with strict consistency check to Azure or Backblaze Native API fails.
FL-2659 Integrity error for multipart objects is not logged in migration report and UI log
FL-2660 Endpoint URL on CE has two colons
FL-2662 Engine crushes and restarts when multipart object finishes while report file is being uploaded
FL-2670 Object that fail on Initiate Multipart Upload are not added to migration report
FL-2671 Log level options are not shown when admin is impersonating as user
FL-2674 Extra spaces are not excluded from headers during signature calculation by engine
FL-2680 Proxy log uses log_level_sync instead of log_level
FL-2681 [Proxy] engine hangs if stopping (Ctrl+C) while receiving an object with a long body from the cloud
FL-2682 [Proxy] Unclear message when stopping proxy when some client request in progress
FL-2688 Proxy does not return body with error description for GetObject with incorrect part number
FL-2689 Migration of multipart object in 1 stream from S3 to B2 fails on md5 consistency check
FL-2692 Multipart object with zero-size last part can't be migrated from AWS S3 with strict consistency check
FL-2693 [Proxy] Multicloud GetObject with partNumber doesn't work correctly
FL-2694 Incorrect statistics for failed objects during migration with strict consistency check and manually specified number of streams.
FL-2695 Multipart objects that have only one part can't be migrated to Backblaze B2 Native with strict consistency check
FL-2696 Engine crash during migration of multipart object with one part to Dropbox with strict consistency check.
FL-2700 Proxy: Segfault when responses for HeadObject to 2 clouds with fastest selection policy comes almost simultaneously
FL-2704 [Proxy] Crash on multicloud ProbeObject operation with fastest selection policy
FL-2707 [Proxy] Client ssl connection is not closed correctly if tcp_write_disconnected error happens while responding to client
FL-2711 "logic error: destination list is busy" when migrating with list of keys from a file with List destination comparison method
FL-2739 [Proxy] Stalled client connections
FL-2745 Failed to auto deploy engine to Azure ACI in useast
FL-2679 Statistics is missing in proxy report entry when connection is broken
FL-2705 Proxy report does not include duration of unsuccessful requests
FL-2725 [Storage cleanup] "Modified From/Modified To" is checked for storage cleanup
FL-2729 Sometimes engines stop trying to register after 5 retries
2.16.5
FL-2700 Proxy: Segfault when responses for HeadObject to 2 clouds with fastest selection policy responses comes almost simultaneously
2.16.4
FL-2697 Engine crush when cloud responds after client closed connection
2.16.3
FL-2674 Extra spaces are not excluded from headers during AWS4 signature calculation
2.16.2
FL-2672 Allow configuring all SMTP email server parameters
2.16.1
FL-2658 Incorrect default port number for HTTPS
2.16.0
New features
FL-2256 Strict consistency check
FL-1787 Notification-based synchronization from Amazon S3 (command-line only)
FL-2632 Proxy audit report
Enhancements
FL-2571 Support for Scaleway Object Storage
FL-2566 Support for custom endpoints for Seagate Lyve
FL-2610 Support for IDrive e2
FL-2589 An option to show running migrations only
FL-2650 An option to skip validation in Migration Wizard
FL-2367 Proxy: an option to accept both HTTP and HTTPS connections simultaneously
FL-2245 Automatically remove expired auth tokens, passkeys, and password tokens
FL-2379 Verify bucket only once for multiple similar migration mappings
FL-2551 Manually specifying mid-step values for Multipart limit in the Migration wizard
FL-2553 Defining and displaying load balancer configuration
FL-2565 Dates in ISO format in engine log
FL-2567 Per-user setting for migration reports level
FL-2597 An warning to recommend B2 Native instead of B2 S3 compatible
FL-2625 ARM template option to disable public access to Web Console
FL-2627 ARM template option to create private endpoint to the management server
FL-2630 ARM template: parameters for App Service Plan SKU with P0V3 as default
FL-2629 Minor UI fixes
FL-2631 Azure link minor
FL-2641 New button to test email notifications
FL-2027 Showing storage account in the virtual bucket bar
FL-2546 More accurate migration progress and remaining time estimate
FL-2554 Skipping migration cost calculation if billing is disabled
FL-2569 Showing detailed error message during SSO if connection to login.microsoftonline.com fails
FL-2637 CMD: new option to specify how long to store reports
FL-2636 CMD: new option to specify reports upload cloud
FL-2604 CMD: new defaults
FL-2617 CMD: cloud-key-id[1-8] renamed to cloud[1-8]-key-id
FL-2609 Showing a note about required roles for RBAC when linking Azure account with Entra ID
Bug fixes
FL-2593 flexifyio/ce
does not exit when Ctrl+C is pressed
FL-2598 Engine CLI: GiB is not shown
FL-2079 It's possible to create public virtual buckets with the same name on different endpoints
FL-2395 It takes long time to cancel a migration
FL-2555 HTTP requests are not canceled when leaving System page
FL-2559 Cost estimator sometimes does not shown on "start again" of migration
FL-2560 Specifying SPRING_DATASOURCE_URL when starting flexifyio/ce
does not work
FL-2575 Adding Azure storage account using generated SAS token with Access policy results to error "Invalid Access/Account Key format"
FL-2581 [Proxy] Initiating ListObjectV2 with Start After does not return the start after value in response
FL-2592 Engine crash if object is migrated as multipart and Streams/object set to 1
FL-2612 After adding new storage account in Migration wizard, error message is displayed: "Bucket/container name cannot be empty"
FL-2616 CMD: fl proxy does not start if port is not specified
FL-2626 Azure Managed App fail to deploy when existing VNet is selected
FL-2643 CMD: Prefixes are ignored by fl migrate
FL-2648 Incorrect handling of migration retries number
2.15.1
FL-2570 Secret value cannot be retrieved from Azure Key Vault
2.15.0
New features
FL-599 Reading objects content from CDN
FL-2520 An option to skip/remove headers during migration
FL-2255 GetObjectAttributes support
Enhancements
FL-2545 Added all Akamai (Linode) regions
FL-1929 S3 version IDs returned by Flexify are now URL safe
FL-2530 Upload ID are URL-safe and compatible with Jclouds AWS2 signature calculation
FL-2529 Custom multipart limit can set to lower value for multipart migration in one part
FL-2366 Virtual endpoint settings show protocols (http, https, both) supported by particular S3 endpoint
FL-2494 Support for CopyObject and UploadPartCopy operations for Azure storage accounts with Entra ID authorization
FL-2406 New versioning scheme for flexify-api-python so that it can be installed via PIP
FL-2418 Not logging text files content to DEBUG engine logs
FL-2394 Migration log and reports on/off switch for individual users
FL-2502 Support for non-MD5 S3 checksum algorithms for proxy
Bug fixes
FL-1605 Deleted user is displayed at the list of impersonators
FL-2253 ListPart without object key returns incorrect status code and error message
FL-2351 Engine report cannot be process with error message: HTTP 400 Bad Request with JSON parse error: Unexpected character ('N' (code 78)) in numeric value.
FL-2386 False positive detection of unexpected objects order in the objects list after 403 error from destination storage on the ListObjects action
FL-2511 [Proxy] Incorrect handling of the remaining request body from a client after response is already sent
FL-2527 Engine crush after authentication error and multiple retries
FL-2512 CMD PROXY: Cloud storage secret key can't be specified as environment variable if engine is started from command line
FL-2552 [Proxy] Engine breaks Connection after DeleteObjects request to Azure with invalid VersionID format
FL-2484 Command-line proxy does not stop when delete is in progress
FL-2535 Migration always detects any Azure region as Private
FL-2547 Multipart object migration to Akamai (Linode) fails with the "No ETag in Complete Multipart Upload response" error
2.14.2
FL-2543 Unable to migrate an object with Intelligent tiering with access tier of deep archive access
2.14.1
Enhancements
FL-2516 An option to allow selected users to migrate to Dropbox
Bug fixes
FL-2518 Error when migrating empty folder to Dropbox
FL-2519 Add fl-original-b2-file-id to Dropbox template to support migration from Backblaze B2
2.14.0
New features
FL-2482 Linking Azure to get the list of Storage Accounts
FL-2490 AWS China support
FL-2493 Support for response-*
query parameters for GetObject and HeadObjects
Enhancements
FL-2488 Support new OVHcloud regions
FL-2495 More convenient sorting of endpoints for Virtual Endpoints
FL-2355 Improved flexify-engine command line interface
FL-2365 Command line engine: report errors to console
FL-2439 Improved Migration Wizard loading speed
FL-2472 GOOGLE cloud code is changed to GCP
FL-2476 Default Virtual Bucket Access Policy rule is be explicitly displayed in the list of rules
Bug fixes
FL-1542 Proxy: azure etag is returned w/o quotes
FL-2115 fl-original-md5 is stored to B2 even while contentMd5 is present
FL-2244 List parts response from proxy does not have "Initiator" value
FL-2278 Hanging connections on engine proxy
FL-2301 Proxy: 307 response from a cloud is not handled correctly
FL-2404 In multi-cloud configuration with Azure, UploadPartCopy proxy returns zero Etag
FL-2408 When migrating from B2 Native multipart files are not skipped per hash match
FL-2416 CompleteMultipartUpload error is not passed back to the client
FL-2444 SYSTEM ERROR - code 336130315: read: wrong version number
FL-2452 Source size is displayed even when prefix is defined
FL-2457 Dry run migration does not show total size of objects that would be migrated
FL-2460 Objects are not distributed across slots equally
FL-2463 ListObjectVersion does not return common prefixes when request contains delimiter
FL-2464 Starting migration again leads to Region unavailable error on the Migration Wizard page
FL-2465 Improved error handling on Wen Console
FL-2466 Not possible to specify preresigned URL in the objects list source
FL-2467 Not possible to specify over 4760 MiB multipart limit when migrating to B2
FL-2468 Multipart limit greather than 4294967295 bytes does not work correctly
FL-2469 Transparent background of data selection menu of Modified from/to fields
FL-2470 Modified from/to fields are shown even when objects list source is specified
FL-2471 Migrate button is inactive after error in Migration Wizard
FL-2473 SSO token refresh does not work when impersonating
FL-2478 Running dry run migration to Backblaze native with object greater than 1 GiB causes an error
FL-2479 Dry run migration from B2 Native - errors for large objects
FL-2480 Proxy returns 403 Forbidden for presigned put object request created by JavaScript SDK
FL-2481 Migration of multipart objects to Alibaba OSS fails
FL-2483 Management server runs more simultaneous migrations than allowed by the limits
FL-2485 Waiting migrations fails if no engine with enough free memory available at the moment of start
FL-2486 Engines limit for migration calculated for each of migration's mappings individually
FL-2491 Migration to B2 Native bucket with dot (.) fails
FL-2492 Dot encode sequence for buckets is not replaced by dot (.) in storage account buckets list
FL-2497 List Object Version return isTruncated true even there is no objects left when the selection policy set to fastest
FL-2498 Incorrect handling of the Connection: keep-alive
header while getting bucket id from Backblaze B2 Native
2.13.0
New features
FL-2427 Support Device Code Flow for Microsoft Entra ID
Enhancements
FL-2376 An option to re-auth OAuth for a storage account
FL-2381 Cancel button on the Finish Auth dialog
FL-2426 Multipart upload and AWSv4 signature support for GCP
FL-2403 Updated Azure Blob API version to 2023-11-03
FL-2433 Show proper error texts for 400 errors
FL-2455 Support CompletedMultipartUpload tag in addition to CompleteMultipartUpload for compatibility with old versions of AWS SDK
Bug fixes
FL-2436 Fixed changing storage account setting when key is stored in vault
FL-2135 Expires metadata value is not written during migration to B2 via Native API
FL-2352 Engine continues to send ListObjectsV2 during migration even if it is not supported by cloud
FL-2364 Migration fails when migrating an object to Azure if user defined metadata key starts with a number.
FL-2370 ListObjectVersions does not include DeleteMarker in the response for Endpoint attached with AWS.
FL-2390 Can't add Azure storage accounts with Entra ID when impersonated
FL-2409 B2 to S3 migration skips objects due to has match even if object is different
FL-2420 Mapped storage class names are shown in statistics of Azure container
FL-2421 Engine crash after PutObject request with Content-Length: 0 and Expect: 100-Continue
FL-2432 Management server stops to assign tasks to engines when storage account with incorrect credentials from key vault is added.
FL-2435 CORS error when listing buckets by AWS Java Script SDK on Virtual endpoint enabled on Flexify CE
FL-2437 New destination container can't be created in Azure storage account during migration if SAS token is used as key
FL-2442 GET object response does not include "x-amz-tagging-count" if endpoint attached with AWS+AZURE and endpoint Settings "NEWEST"
FL-2445 Unable to change settings for Storage Accounts added with Entra ID (OAuth)
FL-2451 Engine crashes when processing multiple list object v2 request with option "start-after"
FL-2453 List Object v1 request with marker and delimiter returns an error.
FL-2454 ListObjectVersions request "Internal Server Error" when request parameter contains version-id-marker and key-marker
2.12.19
New features
FL-2356 Support for RBAC (AD) auth for Azure Storage Accounts
FL-2008 Azurite and Azure Stack support
FL-2172 Support for Azure Gov, China and Germany endpoints
FL-2350 GCore Storage support
FL-1186 CORS support on the Engine
FL-2354 Web UI option to change user limits
FL-2413 Storage classes / tier mapping between Azure and S3
Enhancements
FL-2268 Engine opens proxy port only after all proxy tasks are created
FL-2239 Different Web page titles
FL-2332 Informative error when storage info update for container in non-existent Azure storage fails
FL-2357 Dry run migration does not reads object content from source
FL-2359 PutObject supports authentication with query parameters
FL-2085 Allow migrations between different prefixes of the same bucket
FL-2250 Confirmation before stopping migration
FL-2263 AWS deployment template name moved from org to engine config
FL-2291 The limit and queue for the storage refresh tasks
FL-2294 Proxy prints generated keys to stdout
FL-2295 Support for x-amz-abort-date and x-amz-abort-rule-id for ListParts
FL-2299 Storing hashed engine passkeys in DB
FL-2300 Show all stats in tooltip popup on migration mapping and slot
FL-2327 Parsing of all S3 HTTP operations parameters
FL-2331 EU region for Impossible Cloud
FL-2333 New User-Agent value for Azure
FL-2346 Multiple DigitalOcean Droplet slugs for auto-deployment
FL-2382 Cancel during adding storage account also cancels the request to Azure
Bug fixes
FL-2251 List parts response from proxy ignores max-parts and part-number-marker values
FL-2262 Impossible to add endpoints again if previously endpoints were deleted with storage accounts attached
FL-2277 The value of secret key in endpoint card does not update after regeneration of keys
FL-2286 Proxy in multi-account configuration returns 404 Not Found for ListObjects in bucket that exists only in Azure
FL-2289 GetBucketVersioning returns Enabled status for multicloud configuration if bucket versioning is enabled only in one of clouds
FL-2290 ListObjectVersions returns multiple entries with IsLatest = True for the same key in multicloud configuration
FL-2292 Content-encoding metadata value is replaced by "aws-chunked" for chunked uploads via proxy
FL-2293 Engine crash on unexpected response from cloud
FL-2302 Storage info update always starts automatically for new bucket found during buckets list refresh
FL-2305 RefreshAwsRegionsJob and RefreshDigitalOceanRegionsJob failed: org.hibernate.LazyInitializationException: could not initialize proxy..
FL-2308 Deploying management server using ARM template and specifying upper-case character for `siteName` will result to not being able to login after creating account.
FL-2313 Multipart upload is not aborted when canceling migration
FL-2317 Null cost leads to wrong message in cost estimator
FL-2318 DELETE requests include a Content-Length header field
FL-2319 Engine can't decode List objects V2 response from cloud with Content-Encoding: gzip
FL-2320 No Microsoft SSO button in multi-user mode
FL-2321 Web console sends request with offset -1
FL-2328 Mismatch of md5 during migration to KMS-encrypted bucket
FL-2329 "Invalid Microsoft SSO auth state" error during attempt to login in more than one browser tab simultaneously
FL-2336 Proxy sends get-bucket-location request before put-object request for non-multiregional storage account
FL-2339 PUT object with invalid "contentMd5" value returns HTTP/1.1 500 Internal Server Error
FL-2341 Put object with SSE-C through Flexify endpoint with AZURE + AWS storage attached returns 502 Bad Gateway
FL-2342 Proxy: DeleteObject with incorrect versionId results in 500 Internal Server Error
FL-2345 Cost estimator is not appearing
FL-2348 Wrong 422 error translation
FL-2349 GetObjectTagging through Flexify endpoint with AZURE + AWS storage attached returns XML with no closing tag.
FL-2363 400 Bad Request: Mismatch Marker Protect for ListObjects with object key as marker value
FL-2374 Storage accounts stop updating after opening and closing storage account details dialog
FL-2391 Engine crash after ListObjectVersions and ListMultipartUploads request
FL-2398 Proxy: ListObjectVersions request with key-marker value causes 500 Internal server error
FL-2407 PutObjectTagging does not finish processing
2.12.18
New features
FL-2248 The ability to manually add bucket name to existing storage account
FL-2273 Engine warm up and warm down lifecycle stages
Enhancements
FL-2240 Added support for DigitalOcean Bangalore
FL-2246 Added API to search endpoints by auth_identity.
FL-2133 Improved migration wizard page load time
FL-2237 Admins impersonating as users now can do operations only allowed for admins
FL-2247 Logging impersonator name along with user name
FL-2275 Web UI showing secret key source/storage
FL-2078 Parallel tasks creation on engine to speed up warming up time
FL-2227 Clear Microsoft SSO error is not clear When using http
FL-2238 Reload web console when its build less than management server build number
FL-2178 Sending error response without waiting for request body to finish
FL-2249 Not showing balance warning for accounts on invoice billing
FL-2269 Allow identifying customer by INFO engine logs
FL-2276 "About the system" moved to the system tab
Bug fixes
FL-2114 CMD PROXY: skewed output when run under docker
FL-2218 Wrong last modified date when migrating from Backblaze B2
FL-2231 Proxy: multi-cloud delete object hangs
FL-2232 Incorrect text in engine deployment dialog
FL-2234 Engines may crush when proxy receives ListParts operation
FL-2235 Listing parts of just created empty multi-part upload returns 404 not found instead of empty part list
FL-2236 "Bad HTTP date format" error during migration of restored S3 objects
FL-2242 Engine requests region for DigitalOcean bucket
FL-2243 After SSO token expiration, login page does not redirect to previously open tab of Flexify management console
FL-2252 std::logic_error exception when working with proxy
FL-2258 Modified to date is not shown on migration card
FL-2260 Objects can't be uploaded to Azure via proxy if STANDARD storage class is explicitly specified by client.
FL-2265 400 Bad request when uploading to AWS S3 via proxy using Cyberduck client with direct connection to engine
FL-2266 Too many connection in CLOSE-WAIT for DeleteObject
FL-2270 403 Forbidden response from AWS S3 when sending Put Object with object tags and x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
FL-2272 400 Forbidden response from AWS S3 when using Put Object with 0 bytes and x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD
FL-2279 Engine may crash if Create Multipart Upload is sent via proxy to GCP storage
FL-2280 Engine may crash if ListObjectVersions is sent via proxy to GCP and Amazon S3
FL-2281 Engine breaks connection with client if ListObjectVersions is sent via proxy to GCP
FL-2282 403 Forbidden response if sending ListMultipartUploads to GCP via proxy
FL-2284 Engine may crash if ListBuckets request have 'uploads' or 'versions' parameter.
FL-2283 Cyberduck can't list bucket content in DO after cancellation of Multipart Upload
FL-2287 S3 Browser receives "AWS2 signature does not match" error for attempt to delete multiple objects at once.
FL-2288 Bucket name is not forwarded by proxy to B2 S3 Compatible storage in GetBucketVersioning request
2.12.17
New features
FL-2134 Storing storage account key in Azure Key Vault
FL-2222 Storing virtual endpoint key in Azure Key Vault
FL-2215 Support automatic Azure Identity on Management Server
FL-2214 lastModifiedTo filter in migration
FL-2103 Support for GetBlockList operation when proxying to Azure
Enhancements
FL-2224 First user now can sign up with SSO
FL-2226 Microsoft SSO without Management Server having internet connection
FL-2186 Restore object status is now reported in HeadObject response proxied from Azure
FL-2119 Made more clear that Objects restored from Glacier are not migrated
FL-2219 Warning in UI if migration report upload fails
FL-2206 Management server Azure managed identity configuration moved to organization configuration
FL-2193 Search and partial download in the list of users
FL-2208 Log checksum into INFO log
Bug fixes
FL-2202 'The operation is not valid for the object's storage class' error in migration log
FL-2213 Using uppercase Etags for Alibaba
FL-2223 "invalid constant string" error in migration log when migration stopped manually
FL-2228 Web console redirects to http when run behind proxy that terminates SSL
2.12.16
New features
FL-2204 Added Microsoft account option to Set Password dialog for partner user
Enhancements
FL-2127 Showing the number of endpoints and virtual buckets in engine statistics
FL-2191 Pass redirectUrl via Microsoft SSO auth
Bug fixes
FL-2139 Cancel does not work when adding storage account
FL-2170 List of users does not fit the screen
FL-2196 Multiple engine restarts when listing of content in Dropbox
FL-2197 Engine dies: limits the number of elements in an IN predicate to 2100 entries
FL-2198 Thread race when writing to engine log
FL-2199 Engine does not mark finish storage info tasks as finished
FL-2201 Migration slot hanged on the engine
FL-2203 Engine does not send reports to management server for 15-20 minutes if many storage info tasks finished simultaneously
2.12.15
New features
FL-2189 Single sign-on with Microsoft
FL-2184 DEB package for Engine
Enhancements
FL-2187 Support for DigitalOcean Spaces in Sydney
FL-2182 Removed the limits for the number of user metadata headers during migrations to B2 via Native API
FL-2111 Allow changing providers.json location
FL-2112 Automatically find certificates file
FL-2113 Rename "Downloaded to storage" to "Downloaded from storage"
Bug fixes
FL-2062 Migration fails because no space left on VM
FL-2123 Confusing logging on engine when not possible to open endpoint port
FL-2167 Error in prod log: "Cannot send email to: **** java.lang.NullPointerException"
FL-2180 fl-original-etag is erroneously set when it can be calculated from md5
FL-2181 Multipart limit and Part size values are allowed to be selected in Web-UI for migration to GCP
FL-2183 Proxy does not return Flexify-specific metadata that was set during migration by Flexify engine
FL-2188 Multi-regional storage accounts are not considered as multi-regional
2.12.14
Bug fixes
FL-2028 Copy object does not change storage class when x-amz-metadata-directive is COPY
FL-2141 100% CPU, TCP: out of memory -- consider tuning tcp_mem
FL-2159 Engine crush during migration: is_closing_session(): no DBUS_SESSION_BUS_ADDRESS in environment
FL-2162 Engine is case sensitive to header names
FL-2171 "Connection refused" is not retried
FL-2173 Migration of multipart objects from Dropbox fails with "incorrect part range" error
FL-2169 Unable to impersonate to a user account: String or binary data would be truncated
FL-2176 Log table is not fitting into the dialog box
FL-2168 Management Server DB used space is growing
2.12.13
New features
FL-2157 Added a button to remove all dead engines in one click
Enhancements
FL-2131 Log request id from cloud to INFO log
FL-2147 Include large fields only to final report for storage info tasks
FL-2148 Write connection stats to log when sending data as well
FL-2152 On engine registration, run state update only if engine is configured for forwarding
Bug fixes
FL-2110 Map AWS EU region on engine
FL-2125 Management server log: WARN | forwarding task XXX is already STOPPED and should not be included in engine report
FL-2140 Engine logs are uploaded to Azure without prefixes
FL-2141 100% CPU, TCP: out of memory -- consider tuning tcp_mem
FL-2149 Slow processing of engine task reports
FL-2160 Engine does not report destActiveMarker
FL-2163 Dead engines are not dying
2.12.12
New features
FL-2072 Virtual Bucket Access Policy
FL-2099 Support for object tagging for proxy
FL-2020 An option to set X-Bz-Custom-Upload-Timestamp when migrating to B2
FL-2056 An option to collapse and search endpoints in UI
FL-2060 Search in the list for engines
FL-2057 API and UI to revoke tokens
FL-2073 API to get status of specific engine
FL-2077 Allow to define endpoint name
FL-2069 Storj support
FL-2089 Allow adding multiple buckets for the same storage account in Web UI
FL-2116 Allow admins to manage engine registration keys
Enhancements
FL-800 Removed deadlock during storage update
FL-1904 has is used instead of verbStamp when assigning tasks to engines
FL-1918 log2 is used for charts instead of log10
FL-1947 ETag is checked as checksum for multipart upload
FL-2017 Error messages from engines are distinct from errors passed from a cloud
FL-2025 Log x-forwarded-for to log
FL-2042 Unicode code points U+FDD0 and U+FDDD are escaped for Azure
FL-2049 Engine returns "400 Bad Request" instead of "500 Internal Server Error" when unable to parse S3 reqeust
FL-2053 Support modern regex in object filter
FL-2055 Compatibility with Arkime
FL-2071 Got rid of transparent mode
FL-2080 Made POLLING_INTERVAL for web console configurable
FL-2130 Added information to INFO log about bytes processed during long request
FL-2132 User log entries are saved to Azure log after response returned to the caller
FL-2036 Write date in ISO format to migration report
FL-2046 Added ability to define log level for engine sync only
FL-2081 Support for RedHat 8
Bug fixes
FL-2068 Fixed virtual scroll for migrations
FL-2076 Not able to download Azure regions makes it impossible to add storage account
FL-2090 Range header is ignored in HEAD requests
FL-2137 Engines in New state show outdated statistics
FL-1928 deleteMarker=null is returned when delete object is proxied to Azure with versioning enabled
FL-2021 Content length changed does not result in object being skipped.
FL-2023 "connect failed with system_error (socket/connect: Protocol not available)" is not retried
FL-2024 Error if object key matches source prefix during migration
FL-2030 Task hash changes when management server restarts
FL-2032 Task with the same id is created on engine twice: statistics lost (server logic error)
FL-2037 Multipart object is missing from report of dry run migration
FL-2039 Invalid report CSV when ETag contains quotes
FL-2052 Prefix should be encoded for AZURE and B2
FL-2059 Comparison method should be N/A for overwrite
FL-2065 List objects via proxy to Azure returns empty list
FL-2082 Endpoint tasks are not assigned to engines under hight load
FL-2093 Problem with unread body in 100-continue request if final result is ready after headers are read.
FL-2095 Conflicts between virtual endpoints
FL-2096 Signature doesn't match when uploading a part using Presigned URL
FL-2104 Changing storages order in UI is not reflected in Tasks config for engines
FL-2124 Only virtual buckets with public access should be checked for duplicate names
FL-2146 Task creation exception: access key is already used by another forwarding task
FL-2128 Wrong endpoint state and endpoint does not recover even if error in configuration is fixed
FL-2138 Proxy memory leak due ta hanged connections
2.12.11
New features
FL-2018 List comparison for AWS, Azure, B2, GCP, DO, Wasabi
FL-1422 Support Azure Shared Signature (SAS)
FL-1951 Support UploadPartCopy
FL-2011 New nodelete option for virtual endpoint
Enhancements
FL-1896 Web console without internet connect
FL-2005 Support maxIncomingConnections on the management server
FL-1924 Engine returns x-amz-request-id in addition x-amz-id2
FL-1912 Rename Endpoint to Endpoints
FL-1987 Escape more Unicode code points for Azure
FL-1984 GetLocation returns engine region instead of flexify-io
Bug fixes
FL-1921 abort-multipart-upload could be sent after complete-multipart-upload if migration is cancelled
FL-1953 Incomplete multipart upload is not aborted if migration is stopped
FL-1938 Engine crashes if it does not understand response from Azure
FL-1939 Engine returns unpredictable result if connection is kept after error
FL-1949 ContainerNotFound is returned as NoSuchKey
FL-1960 Proxy: transparent mode (noconv) break connection too early if connection: close header present
FL-1964 The number of failed objects is not properly formatted under Slots
FL-1965 Proxy returns incorrect values for VersionId and ETag in CompleteMultipartUpload response for Azure with versioning enabled
FL-1968 Proxy: if object delete fails from one cloud, proxy should return failure
FL-1979 Dropbox refresh errors in production log
FL-1981 Proxy + Azure: 500 error (Incorrect UID) is returned for CopyObject request with specified VersionId
FL-1982 Proxy ignores Encoded="true" for object key from Azure
FL-1997 Proxy keeps client connections when endpoint is disabled
FL-1893 Info in UI log about multipart disappeared objects is duplicated.
FL-1894 Disappeared multipart object should not be included to failed statistic.
2.12.10
New features
FL-785 Automatic restore from Amazon Glacier
FL-1794 Priority selection when reading data from a cloud
FL-1956 Support for RestoreObject operation in proxy
FL-1800 Support for objects versioning in proxy
FL-1903 Synology C2 support
Enhancements
FL-1834 The ability to specify bucket name when adding storage account
FL-1966 CORS is enabled byd default
FL-1515 Instructions when adding GCP account
FL-1880 Retries when reading list from a file
Bug fixes
FL-1925 Support fetch-owner=false for compatibility with AWS SDK for Java
FL-1936 AWS SDK for Java fails with error when downloading multipart objects from Azure
FL-1970 Proxy: list-object-v2 with encoding-type=url does not encode returned values
FL-1905 Engine does not report migration progress if high number of streams is used
FL-1886 Engine Out of Memory restart due to large number of migration streams and/or retries
FL-1876 Engine fails to verify SSL certificate when there is port in URL
2.12.8
New features
FL-1824 Engines generate migration report
FL-881 Optimize incremental migration and cleanup to request two lists and compare them
FL-1636 Filebase support
FL-1775 Support Wasabi's us-west-1 and ap-northeast-2 region
FL-1821 Support Wasabi's eu-west-2 region
FL-1625 Exporting Dropbox non-downloadable files
FL-1551 Change the maximum value for Multipart limit for Azure
Enhancements
FL-1732 Automatic loading of more migrations when scrolling
FL-1767 Allow Flexify to connect to Flexify (but prevent cycles)
FL-1774 Rename Mail.ru to VK
FL-1755 Gray our dialog when refresh is pressed before data arrives
FL-1748 Warning message in case of removing bucket
FL-1691 Balance warning is not displayed for accounts with no initial balance
FL-1631 Do not show "remaining" for migrations without progress
Bug fixes
FL-1819 Update to Spring Boot version that brings log4j 2.17.0 or higher
FL-1815 Endless storage info update on Exoscale
FL-1812 Unable to list over 2000 objects in Dropbox
FL-1809 Errors during migration and statistics update for Airee cloud storage
FL-1802 Migration fails with "Bad file descriptor" message
FL-1788 Memory leak on Engine machine
FL-1771 Engine restarted during migration
FL-1772 "XML root doesn't match" error when migrating to Wasabi
FL-1770 Migration fails with processing EXCEPTION: std::bad_alloc
FL-1768 It's possible to edit text in a hidden field after copy icon
FL-1764 Lost connection to engines when canceling migration
FL-1763 Engine restarts during storage statistics refresh
FL-1760 Compose installations script fails to run on CentOS
2.12.0
Features
FL-1166 Automatic engine deployment
FL-1193 Migration dry run
FL-1396 Expose engine config, distributor and organizations via REST API
Enhancements
FL-1396 Expose engine config, distributor and organizations via REST API
FL-1424 Rename Microsoft Azure to Azure
FL-832 Use proper IEC measures
FL-875 Deprecate support for path style addressing along with AWS
FL-976 Show the number of buckets in each Storage Account
FL-1414 The ability to define/change organization for a user
FL-992 Improve error message when bucket name is already taken
FL-1015 Show mapping progress (percentage) in waiting state
FL-1273 Add ability to cancel add storage
FL-1330 Download and save DigitalOcean regions
FL-1364 Show deployment mode in the migration settings
FL-1378 Change error message when no auto-deploy metric is not found
FL-1381 Show exact cost in the costs table
FL-1387 Compatibility with OVH Cloud
Bug Fixes
FL-893 Incremental migration with SOURCE always copies objects >5 GB
FL-949 No info in migration log about died engine
FL-1073 Wrong host name for B2 in log
FL-1138 The error when migration starts to Alibaba Cloud OSS
FL-1269 Migration error "Host not found" is not retried
FL-1271 Retry Bad Request with RequestTimeout timeout code
FL-1283 Fix error message when PROBE returns a error
FL-1286 Don't show "null" in log message for clouds without regions
FL-1296 CE: specifying a custom container port does not work
FL-1298 Migration in 1000 streams waits in "waiting" state
FL-1319 Refresh failed due to fatal error: Invalid integer: non-digit char
FL-1333 The body of 401 "Unauthorized" response from B2 is not logged to INFO log
FL-1337 Migration "start again" keeps non-existing location
FL-1338 Automatically load regions in Add Engine dialog
FL-1339 Fix distance between elements
FL-1342 Put Block request failed: 400 The specified blob or block content is invalid during migrating 227.9 MB file to Azure
FL-1343 It's possible to specify 0 in "Part size" field
FL-1344 Texts do not fit in migration task info
FL-1349 Sometimes cost estimation during "start again" does not account for cloud/region
FL-1352 "Migration ended" is not logged
FL-1354 Traffic estimate does not work when new engines cloud is specified, but region is not
FL-1357 Single-VM / CE shows cost estimate as $0.00 instead of traffic
FL-1360 It's possible to specify the number of engines > conf_max_auto_deploy_engines_count
FL-1361 Internal server error when creating migration in case of disabled billing
FL-1362 Cost estimate is called two times
FL-1363 "Unable to find price for task" error in the log
FL-1366 Your socket connection to the server was not read from or written to within the timeout period
FL-1369 Engine fails to register with could not execute statement exception
FL-1372 Two slots are assigned to the same engine
FL-1373 Updating "region for new buckets" does not update estimate
FL-1374 Migration fatal error: 4 objects in 3 pages are not marked as done
FL-1375 Error "Part number must be in the range 1 10000" when migrating to B2
FL-1376 Failed due to fatal error: More objects finished than in the page
FL-1382 Stopping migration with unassigned slots results in the slots assigned
FL-1386 Azure ranges provider returns wrong region names
FL-1388 The list of regions is not filtered
FL-1393 Wrong engine certificates does not result in endpoint error
FL-1394 403 Forbidden when trying to access bucket with DNS name by IP
FL-1395 Wrong set password link when containerized web app is used
FL-1398 It's possible to specify new bucket name with space in the beginning which results in the malformed HTTP version error
FL-1399 Google cloud region is cleared when migration starts
FL-1400 When signing out from impersonation, the user also signs out
FL-1403 Don't perform copy retries in case of 503 "Slow Down"
FL-1405 GCP bucket names with underscore result in SSL error
FL-1409 Message about unique buckets should only be shown when creating a bucket.
FL-1412 Wrong migration part size is selected
FL-1413 Reduce connection timeout to 30 seconds
FL-1417 Stopping multi-mapping migration reassigns all slots
FL-1418 "source object disappeared" is counted as failed
FL-1419 Migration will not be assigned to engine XXX because it does not have enough available RAM.
FL-1420 Listing of B2 is done 100 objects per page (instead of 10000)
FL-1421 Sometimes objects are counted two times
FL-1437 10GB limit is not applied for automatic deployment
FL-1446 Cost estimate is not updated after changing Run on to Auto during re-migration.
FL-1448 Spinner is freezed when clicking Ok on edit profile with no changes
FL-1449 Listing of Alibaba objects results in error
FL-1466 Large files w/o MD5 are not skipped when migrating from Azure
FL-1468 Files with equal md5 and renamed is not skipped
FL-1470 Accounts with $0.00 are suspended
2.8.1
Fixes
FL-817 Vulnerability in Java API
FL-820 Automatic storage refresh does not work on prod
FL-821 Manual refresh of invalid account should not update automatic refresh interval.
FL-822 Deleting user from prod took over an hour
FL-823 Dell EMC is missing in providers list
FL-824 Custom EMC ECS is not possible to connect without SSL
FL-827 Scheduled storage refresh fails on prod at storage 368 or 377 (Samsung WSS provider)
FL-828 Pspace is not in the list of providers for on-premise installation
FL-830 Internal error in console when selecting a bucket for migration in single-vm install
FL-831 Mapping status is incorrectly shown as waiting when all slots in facts succeeded
FL-818 Proxy should return 503 when cloud breaks connection
FL-819 "Connection is not available, request timed out after 30000ms" in production logs after upgrade
2.8.0
Features
FL-768 On-premise deployment
FL-71 Support for 3rd-party S3 storage (Minio, EMC ECS and other)
FL-724 Support multipart upload to two or more storages
FL-704 Send email notifications when migration completes/fails
FL-528 Automated engine deployment for Azure
FL-547 Tag Azure Traffic
FL-779 Include region in storage stat
FL-796 DigitalOcean FRA1 Region
Fixes
FL-711 Storage refresh should wait for timeout even if refresh attempt failed
FL-734 Error message in upper left corner - red rectangle
FL-736 IllegalArgumentException: id to load is required for loading in production server log
FL-753 Error refreshig storage account io.flexify.rest.exception.FlexifyException: OPERATION_NOT_PERMITTED.BILLING_ACCOUNT_SUSPENDED
FL-756 Refresh icon sometimes continue to rotate when storage account refresh is already done
FL-757 PSPACE: S3 operation 'Head bucket daria-test-dif-symbol' failed. SDK retruned: Unable to execute HTTP request: daria-test-dif-symbol.vpn.pspace.com
FL-761 Engine does reports NULL active_marker when first start_from page is not completed yet
FL-763 ERROR in production logs: UnexpectedRollbackException for refreshStoragesStatJob
FL-765 Usability: expand storage account in a tree when user clicks on it
FL-766 Subfolder selection is not intuitive
FL-770 Storage refresh does not fail when engine unregisters
FL-772 "Starting automatic storage statistics refresh" should not be in a log if previous refresh did not finished
FL-773 Implement a user-friendly error message for the OTHER
FL-778 Specify reason in user's log when refresh fails
FL-787 CompleteMultipartUpload always fails on one engine
FL-801 Core dump when requesting list of objects and end of file is encountered
FL-802 The field " Subfolder/match pattern" with * overlaps the information window
FL-803 Increase the size of tooltips for fields when starting a new migration
FL-804 The engine stops responding when you start migrations with a large number of small files.
FL-806 Add clean up tasks to active tasks stat at engines list
FL-807 The restart of the migration in the process of clean up not going to happen in the fall of the engine.
FL-810 It took almost a minute for management server to assign 10 forwarding task to a new engine
FL-697 Web GUI polls storage accounts even when no storage accounts are displayed
FL-771 Deny requests with Agent: Flexify.IO
FL-776 Add etag_uppercase option
FL-777 Accept <Encoding-Type> in addition to <EncodingType>
FL-780 Order storages by name (if defined) in a list of storages
FL-786 Find Azure regions for Azure accounts
FL-788 Deploy Azure containers in different container groups
FL-795 GDPR