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