# Release: 2.1.0.112 (Canary) 2025-03-26

**URL:** https://forum.duplicati.com/t/release-2-1-0-112-canary-2025-03-26/20413
**Category:** Releases
**Created:** [March 26, 2025, 9:10pm UTC](https://forum.duplicati.com/t/release-2-1-0-112-canary-2025-03-26/20413 "2025-03-26T21:10:57Z")
**Posts on this page:** 1
**Showing post:** 18

<div class="post-metadata">

### Author: ![ts678](https://forum.duplicati.com/letter_avatar_proxy/v4/letter/t/8491ac/32.png) [@ts678](https://forum.duplicati.com/u/ts678)
#### Post date: [April 10, 2025, 2:39pm UTC](https://forum.duplicati.com/t/release-2-1-0-112-canary-2025-03-26/20413/18 "2025-04-10T14:39:44Z")

</div>

> [@Sami\_Lehtinen](#):
>
> Even if encryption is disabled, then there’s transaction error:

Is this just on FTP? There was a bug/fix on a report of FTP leaving connections open, but the fix was actually in BackendManager. Bug might exist but be hard to notice elsewhere.

Regardless, I’m not seeing this on local folder or Backblaze B2 backups done in the GUI.

A different regression new to 2.1.0.112 that has gotten a second report is one I can repro:

[Restore time error after upgrade](https://forum.duplicati.com/t/restore-time-error-after-upgrade/20504)

First report below had me wondering if this was the locale-sensitive time parsing issue/fix:

> [@Error "File hash mismatch" on Restore](https://forum.duplicati.com/t/error-file-hash-mismatch-on-restore/20486/3):
>
> Warning: 2025-04-09 17:47:03 +02 - [Warning-Duplicati.Library.Main.Controller-OptionValidationError]: Der Wert “20250405T100003Z”, der an --time ausgegeben wird, stellt keine gültige Zeit dar

Second report and my own testing on `en-US` GUI setting and CLI makes me doubt that.

My popup shows up when I open Restore in GUI, with or without `restore-legacy` true.

Interestingly, with GUI Commandline `restore`, whatever’s going wrong doesn’t happen.

Poking further with Export As Command-line, the help text for `time` gives me examples.

```plaintext
Duplicati supports absolute and relative dates and times:

  now --> The current time

  1234567890 --> A timestamp, seconds since 1970.

  "2009-03-26T08:30:00+01:00" --> An absolute date and time. You can also use the local date and time format of your system like e.g. "01-14-2000" or "01 jan. 2004".

  Y, M, D, W, h, m, s --> Relative date and time: year, month, day, week, hour, minute, second. Example: 2M10D5h is now + 2 months + 10 days + 5 hours.

```

All work in 2.1.0.111 restore with `time` option, as does the style posted above. 2.1.0.112:

`now` fail  
`1234567890` pass  
`2009-03-26T08:30:00+01:00` fail  
`2M10D5h` pass  
`20250328T131220Z` fail

I’m not testing for proper interpretation, just for whether ot not option value gets rejected.

It’s not like 2.1.0.111 lets in everything, but there seems to be two levels which might fail:

```plaintext
Restore started at 4/10/2025 10:35:24 AM
The value "wrong" supplied to --time does not represent a valid time
Checking remote backup ...
  Listing remote folder ...
The operation Restore has failed with error: Unparsed data: wrong => Unparsed data: wrong

System.Exception: Unparsed data: wrong
   at Duplicati.Library.Utility.Timeparser.ParseTimeInterval(String datestring, DateTime offset, Boolean negate)
   at Duplicati.Library.Utility.Timeparser.ParseTimeInterval(String datestring, DateTime offset)
   at Duplicati.Library.Main.Options.get_Time()
   at Duplicati.Library.Main.Operation.RestoreHandler.PrepareBlockAndFileList(LocalRestoreDatabase database, Options options, IFilter filter, RestoreResults result)
   at Duplicati.Library.Main.Operation.RestoreHandler.DoRunNewAsync(IBackendManager backendManager, LocalRestoreDatabase database, IFilter filter, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Operation.RestoreHandler.RunAsync(String[] paths, IBackendManager backendManager, IFilter filter)
   at Duplicati.Library.Main.Controller.<>c __DisplayClass23_0.<<Restore>b__ 0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Utility.Utility.Await(Task task)
   at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Func`3 method)
   at Duplicati.Library.Main.Controller.Restore(String[] paths, IFilter filter)
   at Duplicati.CommandLine.Commands.Restore(TextWriter outwriter, Action`1 setup, List`1 args, Dictionary`2 options, IFilter filter)
   at Duplicati.CommandLine.Program.ParseCommandLine(TextWriter outwriter, Action`1 setup, Boolean& verboseErrors, String[] args)
   at Duplicati.CommandLine.Program.RunCommandLine(TextWriter outwriter, TextWriter errwriter, Action`1 setup, String[] args)

```

The complaint which has gotten touchy in 2.1.0.112 is the first style, maybe a pre-check.

EDIT:

I see I reported this myself [here](https://forum.duplicati.com/t/release-2-1-0-112-canary-2025-03-26/20413/7) using an image, two weeks ago, but here’s more testing.

---

_[View the full topic](https://forum.duplicati.com/t/release-2-1-0-112-canary-2025-03-26/20413)._
