Release Notes

Flexify.IO

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