diff --git a/.gitignore b/.gitignore
index 500a573a..bd556dcc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -136,3 +136,10 @@ unittests/general/Several/bin32/firebirdtest.fdb
samples/WineCellarSample/winecellarclient_mobile/Android64/
samples/prometheus/articles_crud_server_prometheus/bin/data/
samples/prometheus/bin/data/
+samples/WineCellarSample/winecellarclient_mobile/Android/Debug/AndroidManifest.xml
+samples/WineCellarSample/winecellarclient_mobile/Android/Debug/colors.xml
+samples/WineCellarSample/winecellarclient_mobile/Android/Debug/splash_image_def.xml
+samples/WineCellarSample/winecellarclient_mobile/Android/Debug/strings.xml
+samples/WineCellarSample/winecellarclient_mobile/Android/Debug/styles.xml
+samples/WineCellarSample/winecellarclient_mobile/Android/Debug/styles-v21.xml
+samples/WineCellarSample/winecellarclient_mobile/Android/Debug/WineCellarMobileClient.classes/classes.dex
diff --git a/README.md b/README.md
index 2a166752..d94320fc 100644
--- a/README.md
+++ b/README.md
@@ -214,7 +214,7 @@ Congratulations to Daniele Teti and all the staff for the excellent work!" -- Ma
> "Thank you for the great framework! We are very happy with this!" -- Andreas
-## What's New in dmvcframework-3.3.0-fluorine
+## What's New in dmvcframework-3.3.0-fluorine (last stable version)
- β‘ Support for Delphi 11.3 Alexandria
- β‘ Ability to use records in swagger param and response attributes [Issue 649](https://github.com/danieleteti/delphimvcframework/issues/649)
@@ -226,7 +226,17 @@ Congratulations to Daniele Teti and all the staff for the excellent work!" -- Ma
- π FIX [Issue 652](https://github.com/danieleteti/delphimvcframework/issues/652) Thanks to [BssdTS](https://github.com/BssdTS)
- π [PR 651](https://github.com/danieleteti/delphimvcframework/pull/651) Thanks to [Francisco Zanini](https://github.com/zaniniflz)
-## What's New in dmvcframework-3.2.3-radium
+
+
+## What's New in the next "repo version" a.k.a. 3.4.0-neon
+
+π FIX [Issue 664](https://github.com/danieleteti/delphimvcframework/issues/664) Thanks to [MPannier](https://github.com/MPannier)
+
+
+
+## Hystorical Versions
+
+### What's New in dmvcframework-3.2.3-radium
- β‘ Default error responses contains the official "reason string" associated to the HTTP status code (this can be a breaking change for some generic client which doesn't correctly interpret the http status code)
- β‘ Added static method `HTTP_STATUS.ReasonStringFor(HTTPStatusCode)` wich returns the standard `ReasonString` for a given HTTP status code.
@@ -316,8 +326,7 @@ Congratulations to Daniele Teti and all the staff for the excellent work!" -- Ma
More details about dmvcframework-3.2.3-radium fixes [here](https://github.com/danieleteti/delphimvcframework/milestone/8?closed=1)
-
-## What's new in DelphiMVCFramework-3.2.2-nitrogen
+### What's new in DelphiMVCFramework-3.2.2-nitrogen
- β‘New! Support for Delphi 11.x Alexandria
@@ -616,13 +625,13 @@ More details about dmvcframework-3.2.3-radium fixes [here](https://github.com/da
- Removed deprecated constructor for `TMVCJWTAuthenticationMiddleware` - was deprecated since 2019. Just use the other one as suggested.
- Changed signature of method `IMVCMiddleware.OnAfterControllerAction`
-## What's New in DelphiMVCFramework 3.2.1-carbon
+### What's New in DelphiMVCFramework 3.2.1-carbon
> This version is the version referenced by the [DelphiMVCFramework - The Official Guide](http://www.danieleteti.it/books/) book (available in english, portuguese and spanish).
This version introduced new features in many different areas (swagger, server side view, MVCActiveRecord, renders etc.) however there is no a single-big-feature. This version contains also a good number of bugfixes. It's not a critical updated, but this is the *best version ever* (at least, so far...) and is the suggested version for starting new projects. Enjoy!
-### Improvements
+#### Improvements
- [docExpansion parameter for Swagger](https://github.com/danieleteti/delphimvcframework/issues/408)
@@ -838,8 +847,6 @@ This version introduced new features in many different areas (swagger, server si
- **Breaking Change!** `DocumentRoot` of `TMVCStaticFileMiddleware` must be a valid folder. If `DocumentRoot` doesn't exist an exception is raised.
-### Bug Fixes
-
- Fix for [issue 421](https://github.com/danieleteti/delphimvcframework/issues/421)
- Fix for [issue 424](https://github.com/danieleteti/delphimvcframework/issues/424)
@@ -864,8 +871,6 @@ This version introduced new features in many different areas (swagger, server si
Check [all the issues closed in this release](https://github.com/danieleteti/delphimvcframework/issues?q=+is%3Aissue+milestone%3A3.2.1-carbon).
-## Older Releases
-
### What's New in 3.2.0-boron
- New! Support for Delphi 10.4 Sydney!
diff --git a/packages/d113/dmvcframeworkRT.dproj b/packages/d113/dmvcframeworkRT.dproj
index 8b302be1..2be1772c 100644
--- a/packages/d113/dmvcframeworkRT.dproj
+++ b/packages/d113/dmvcframeworkRT.dproj
@@ -104,10 +104,9 @@
true
false
true
- CompanyName=Daniele Teti and the DMVCFramework Team;FileDescription=DelphiMVCFramework 3.2.2-nitrogen;FileVersion=3.2.2.0;InternalName=DelphiMVCFramework 3.2.2-nitrogen;LegalCopyright=Daniele Teti and the DMVCFramework Team - Apache License 2;LegalTrademarks=DelphiMVCFramework;OriginalFilename=$(MSBuildProjectName);ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=DelphiMVCFramework;ProductVersion=3.2.2;Comments=
+ CompanyName=Daniele Teti and the DMVCFramework Team;FileDescription=DelphiMVCFramework 3.4.0-neon;FileVersion=3.4.0.0;InternalName=DelphiMVCFramework 3.4.0-neon;LegalCopyright=Daniele Teti and the DMVCFramework Team - Apache License 2;LegalTrademarks=DelphiMVCFramework;OriginalFilename=$(MSBuildProjectName);ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=DelphiMVCFramework;ProductVersion=3.2.2;Comments=
3
- 2
- 2
+ 4
113
DMVCFramework - CopyRight (2010-2023) Daniele Teti and the DMVCFramework Team
diff --git a/sources/MVCFramework.pas b/sources/MVCFramework.pas
index cdd2d9a3..022eca30 100644
--- a/sources/MVCFramework.pas
+++ b/sources/MVCFramework.pas
@@ -3372,9 +3372,9 @@ begin
if AContext.Request.HTTPMethod in [httpGET, httpHEAD] then
begin
lIfModifiedSince := AContext.Request.Headers['If-Modified-Since'];
+ FileDate := IndyFileAge(AFileName);
if lIfModifiedSince <> '' then
begin
- FileDate := IndyFileAge(AFileName);
IfModifiedSinceDate := GMTToLocalDateTime(lIfModifiedSince);
if (IfModifiedSinceDate <> 0) and (abs(IfModifiedSinceDate - FileDate) < 2 * (1 / (24 * 60 * 60))) then
begin