mORMot and Open Source friends
Timeline
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

500 most recent check-ins

2020-09-28
08:39
{6140} published TTextWriter.HumanReadableLevel Leaf check-in: f7639d78a8 user: ab tags: trunk
08:38
{6139} fixed TTextWriter.AddJSONToXML check-in: 31e129b231 user: ab tags: trunk
08:37
{6138} minor tweaks check-in: 1c19637fb1 user: ab tags: trunk
2020-09-17
10:59
{6137} merged https://github.com/synopse/mORMot/pull/354 check-in: 9e06043bd2 user: ab tags: trunk
2020-09-16
08:01
{6136} enhanced the documentation to state about E1025 compilation issue with packages check-in: c9dd210918 user: ab tags: trunk
2020-09-14
07:35
{6135} minor refactoring and tests enhancements check-in: 80b1e2863d user: ab tags: trunk
07:34
{6134} small documentation fixes check-in: c0c39902b3 user: ab tags: trunk
07:30
{6133} fixed Iso8601ToDateTimePUTF8CharVar/TryEncodeDate sign issue check-in: 0050d762cc user: ab tags: trunk
2020-09-10
08:04
{6132} added explicit test of TSQLRest.OneFieldValues check-in: 9ebe9fda2e user: ab tags: trunk
2020-09-08
13:34
{6131} try to avoid Delphi 10.4.1 regression by forcing {$A+} by default - see https://github.com/synopse/SynPDF/issues/40 check-in: f6aecbb473 user: ab tags: trunk
2020-09-07
08:52
{6130} another fix for https://github.com/synopse/mORMot/issues/350 check-in: a95cd85800 user: ab tags: trunk
2020-09-05
06:01
{6129} fixed SynDBUniDAC compilation - for https://github.com/synopse/mORMot/issues/350 check-in: f3600a4661 user: ab tags: trunk
2020-09-03
10:05
{6128} fixed Darwin compilation check-in: 9dbd46f5ff user: ab tags: trunk
10:04
{6127} let mORMot2 static files be generated in synch check-in: 59a54f2a85 user: ab tags: trunk
2020-09-02
08:03
{6126} small refactorings made during mORMot2 migration - no functional change check-in: c611334f21 user: ab tags: trunk
07:51
{6125} update SQLite3 static engine to latest 3.33.0 revision check-in: 0cb9b2f9c3 user: ab tags: trunk
2020-08-24
15:46
{6124} let MongoDBTests report include mORMot and OS version check-in: 217e61b2d9 user: ab tags: trunk
15:37
{6123} include floating-point ORM values to MongoDBTestCases check-in: 6e28dd5ce6 user: ab tags: trunk
14:43
{6122} LogView: recognize regular TSynLog file without header - from https://github.com/synopse/mORMot/pull/345 check-in: ab630fb1e6 user: ab tags: trunk
14:40
{6121} RemoveCommentsFromJSON() will also remove a trailing commas - from https://github.com/synopse/mORMot/pull/346 check-in: 0f4228ff20 user: ab tags: trunk
2020-08-21
16:57
{6120} small SQLFromSelect() refactoring - no functional change check-in: c901fe2d2d user: ab tags: trunk
16:56
{6119} disable paranoid check of MonoType fonts for SynMemoEx - it is up to the user to actually check a correct font check-in: bae5d49587 user: ab tags: trunk
16:55
{6118} escape the "tilde" in URI, trusting the practice, and not the last RFC - check https://synopse.info/forum/viewtopic.php?pid=32796 check-in: bbcf6fdbdd user: ab tags: trunk
06:40
{6117} some AES-GCM optimizations check-in: 122d505b1b user: ab tags: trunk
06:38
{6116} added optional timeout parameter to Bind() - see https://github.com/synopse/mORMot/pull/344 check-in: 967222a7ae user: ab tags: trunk
2020-08-20
14:26
{6115} try to properly handle connection closed in TCrtSocket.TrySockRecv check-in: 91d137c7b2 user: ab tags: trunk
2020-08-17
18:10
{6114} introducing TAESGCM AEAD encryption class check-in: ce3925a151 user: ab tags: trunk
2020-08-13
11:09
{6113} proven TAESGCMEngine code - including extensive unit tests check-in: 7241206bc5 user: ab tags: trunk
2020-08-12
19:38
{6112} initial TAESGCMEngine code - not tested yet! check-in: 36ddc13d0a user: ab tags: trunk
2020-08-11
10:40
{6111} fixed TSQLDBOracleStatement.Prepare() to handle trailing ;; - bug introduced by https://github.com/synopse/mORMot/pull/341/files check-in: 914dd25726 user: ab tags: trunk
2020-08-10
15:09
{6110} new TSynLogFamily.RotateFileNoCompression property check-in: d904f41656 user: ab tags: trunk
10:34
{6109} wait for no body for HEAD and OPTIONS requests - as a try to proper fix from https://github.com/synopse/mORMot/pull/334 check-in: e5856e8013 user: ab tags: trunk
06:21
{6108} ensure HTTP_NOTIMPLEMENTED mark the client as not opened during TSQLRestClientURI.OnBackgroundProcess - from https://github.com/synopse/mORMot/pull/337 check-in: 4945dc8211 user: ab tags: trunk
06:16
{6107} new property TSQLDBStatement.SQLCurrent - from https://github.com/synopse/mORMot/pull/338 check-in: 7845add2e6 user: ab tags: trunk
2020-08-08
18:38
{6106} Oracle: fix infinity loop in semicolon removal logic - from https://github.com/synopse/mORMot/pull/341 check-in: f1b62d888d user: ab tags: trunk
2020-08-07
13:54
{6105} fix for EchoToConsoleUseJournal - from https://github.com/synopse/mORMot/pull/340 check-in: cd8c58e6b4 user: ab tags: trunk
13:37
{6104} final fix for "ORA-00932 : inconsistent datatypes" exception - from https://github.com/synopse/mORMot/pull/339 check-in: da4a57f9a5 user: ab tags: trunk
2020-08-01
07:50
{6103} fixed FindFiles sub-folders search under Windows - from https://github.com/synopse/mORMot/pull/336 check-in: 9310fdfeaa user: ab tags: trunk
2020-07-31
16:14
{6102} circumvent URW1111 on Delphi 2010 and URW1136 on Delphi XE check-in: 80cad9a07f user: ab tags: trunk
09:51
{6101} ensure TTimeLogBits.FullText will handle 0 value as valid date check-in: 40466c1e3d user: ab tags: trunk
09:50
{6100} fixed THttpServer.WaitStarted exception check-in: ea25e7dd56 user: ab tags: trunk
09:48
{6099} TSQLDBOracleStatement: allow one trailing ';' by writing ';;' in SQL check-in: 67f2363425 user: ab tags: trunk
2020-07-30
10:23
{6098} fixed array date/time ORM binding check-in: 0b7c5ed5b1 user: ab tags: trunk
10:21
{6097} refactored ISO-8601 date/time conversion check-in: b415f46419 user: ab tags: trunk
10:20
{6096} enhanced TTextWriter stream flush check-in: 1ac797a522 user: ab tags: trunk
08:13
{6095} attempt to fix PostgreSQL date/time array binding check-in: 7e01c6b597 user: ab tags: trunk
2020-07-24
06:43
{6094} corrected dialog width when using custom width - from https://github.com/synopse/mORMot/pull/333 check-in: c88f2e00a6 user: ab tags: trunk
2020-07-22
09:17
{6093} specify how to output a '%' character via FormatUTF8() check-in: bc360e800a user: ab tags: trunk
2020-07-20
07:57
{6092} avoid Delphi 10.4 compiler hint check-in: 7572d7d83c user: ab tags: trunk
2020-07-17
14:12
{6091} try to circumvent Delphi 10.4 optimizer bug check-in: c2a35d8687 user: ab tags: trunk
2020-07-16
08:04
{6090} refreshed proper SVN revisions for FPC/Lazarus - we now use Lazarus 2.0.10 as IDE check-in: 3afe77a9be user: ab tags: trunk
2020-07-14
09:47
{6089} register the TOleDBACEConnectionProperties class for settings check-in: bcc427fb32 user: ab tags: trunk
2020-07-13
08:03
{6088} try to circumvent Delphi 10.4 optimization issue check-in: 832b1be8bb user: ab tags: trunk
07:16
{6087} fixed Delphi and FPC sample compilation check-in: 2d302cb178 user: ab tags: trunk
07:14
{6086} optimized TSQLTableJSON performance for single JSON use check-in: 7e1a666c3b user: ab tags: trunk
2020-07-10
10:47
{6085} fixed long standing random GPF bug in TSQLTableJSON due to PrivateCopy heisenbug move() overflow check-in: 74003c3fdf user: ab tags: trunk
09:36
{6084} fixed sample 31 compilation - as reported by https://github.com/synopse/mORMot/issues/330 check-in: c2b9d2116c user: ab tags: trunk
09:35
{6083} fixed sample 31 compilation - as reported by https://github.com/synopse/mORMot/issues/330 check-in: f06cd581c8 user: ab tags: trunk
2020-07-07
14:03
{6082} introducing TOleDBACEConnectionProperties check-in: f1af277af9 user: ab tags: trunk
2020-07-01
15:03
{6081} enhanced FPC/LCL Windows compatibility for LogView tool check-in: e59a9bf48b user: ab tags: trunk
15:02
{6080} fixed redundant code check-in: ef39dbcec7 user: ab tags: trunk
14:22
{6079} let TSQLDBStatementWithParams.AddParamValueAsText indentify array parameters check-in: f92a2f3872 user: ab tags: trunk
2020-06-26
15:16
{6078} fixed ExistNameValue() for HTTP headers - correct implementaiton of https://github.com/synopse/mORMot/pull/328 check-in: f754c76c06 user: ab tags: trunk
11:13
{6077} refactored SynDB logging, and also SynDBOracle performance - from https://github.com/synopse/mORMot/pull/310 check-in: 005bb47204 user: ab tags: trunk
2020-06-25
15:06
{6076} fixed Delphi compilation check-in: ae1a634eba user: ab tags: trunk
13:53
{6075} added systemd activation to sample 36 - from https://github.com/synopse/mORMot/pull/324 check-in: 1b54397400 user: ab tags: trunk
13:39
{6074} LogView LCL patch - from https://github.com/synopse/mORMot/pull/324 check-in: 52b8c1bd60 user: ab tags: trunk
13:39
{6073} introducing TSynLogFamily.EchoToConsoleUseJournal property - from https://github.com/synopse/mORMot/pull/324 check-in: 2495f613b7 user: ab tags: trunk
13:22
{6072} introducing systemd API - from https://github.com/synopse/mORMot/pull/324 check-in: fee30f9b19 user: ab tags: trunk
07:57
{6071} THttpAPIServer: Authentication tweaks - from https://github.com/synopse/mORMot/pull/325 check-in: 43f13bd2d6 user: ab tags: trunk
07:00
{6070} revert patch https://github.com/synopse/mORMot/pull/313 - problem fixed by msodbcsql17.5.2 check-in: b9cfbd807e user: ab tags: trunk
06:57
{6069} avoid compiler warning in MVC Server sample check-in: 20fef34d52 user: ab tags: trunk
06:57
{6068} FTS5 change in triggers - from https://github.com/synopse/mORMot/pull/327 check-in: ba90b52b75 user: ab tags: trunk
2020-06-24
14:45
{6067} SQLite3 static database engine upgraded to latest 3.32.3 check-in: 0a3f2adf71 user: ab tags: trunk
14:44
{6066} enhanced OpenBSD and FreeBSD support check-in: 7da305dde0 user: ab tags: trunk
11:46
{6065} let MVC web cache use FileAge() with OS-specific integer check-in: ae554f463b user: ab tags: trunk
09:57
{6064} fixed TPropInfo.IsDefaultOrVoid with variant property - and associated regression tests check-in: b12052a4c0 user: ab tags: trunk
2020-06-23
08:02
{6063} not JSON serialize void class instances if woDontStore0 is set - with the new IsObjectDefaultOrVoid() function check-in: 02fd4270fa user: ab tags: trunk
2020-06-17
09:11
{6062} introducing TSynMapFile.FromCurrentExecutable and TSynMapFile.FindStackTrace class functions check-in: 9a73c48c5d user: ab tags: trunk
2020-06-16
13:49
{6061} fixed Delphi <= 2007 compilation check-in: 5dd0b65b07 user: ab tags: trunk
09:19
{6060} explicit error when trying to compile FPC-specific units on Delphi check-in: 6eb9ea4c8c user: ab tags: trunk
09:18
{6059} ensure the FPC SVN revision is accurate in the documentation check-in: a9baa9a76f user: ab tags: trunk
09:12
{6058} some fixes to TWebSocketProcessClient thread check-in: ed462e765a user: ab tags: trunk
2020-06-15
13:39
{6057} fixed HTTP_REQUEST struct layout on Win32 check-in: be31dd9e97 user: ab tags: trunk
11:02
{6056} SQLite3 cross-compilation for FPC arm/aarch64 Linux now uses new fpcupdeluxe bins - thanks Alfred for updating fpcupdeluxe cross bins! - using native debian/ubuntu cross-compiler made linking issues with regular cross-compilers check-in: 43194d2dda user: ab tags: trunk
2020-06-13
10:13
{6055} updated HTTP_REQUEST_AUTH_INFO fields - from https://github.com/synopse/mORMot/pull/319 check-in: 74c8713250 user: ab tags: trunk
10:08
{6054} two minor fixes - intercept exception in case FPCUSEVERSIONINFO is defined but no resource info is available - use UTF-8 codepage if none is defined check-in: 6273ad17b3 user: ab tags: trunk
2020-06-12
09:51
{6053} fixed TMongoDatabase.CreateUser with MongoDB 4.x check-in: fd93a93e5e user: ab tags: trunk
09:14
{6052} fixed TMongoConnection.GetReply to properly handle latest MongoDB protocol requirements check-in: 0aba463a6d user: ab tags: trunk
2020-06-10
14:22
{6051} fixed potential GPF in PurgeHeaders() check-in: af805a398d user: ab tags: trunk
14:16
{6050} another pass on SQLite3 cross-compilation - still hoping fpcupdeluxe could provide the gcc cross-compilers, since they are a real PITA as packages check-in: fcc3300c89 user: ab tags: trunk
14:08
{6049} fixed TSQLDBOracleLib.BlobReadToStream check-in: 161e3b77df user: ab tags: trunk
14:07
{6048} a lot of fixes for proper i386 Linux (and POSIX) support - FPC codegen for Linux i386 changed late 2019 (SVN rev 43005 to 43014) to force a stackframe generation: https://www.mail-archive.com/fpc-devel@lists.freepascal.org/msg38885.html - ensure stack is always 16-bytes aligned during SOA calls - also fixed a problem with epoll struct check-in: c7be2576c0 user: ab tags: trunk
13:56
{6047} try to fix http.sys V2 API struct check-in: 7e27e1df16 user: ab tags: trunk
2020-06-09
19:13
{6046} update SQLite3 to latest 3.32.2 revision - switched to VFS pattern for encryption - sqlite3 cross-compilation is now done from Linux scripts check-in: a78b036842 user: ab tags: trunk
2020-06-05
17:05
{6045} try to circumvent issues of IObjectDynArray with Delphi 10.4 Sydney - the order of fields finalization may have changed, so the whole purpose of wrapper may have become incompatible with Delphi 10.4 and up check-in: 73a73e3bf8 user: ab tags: trunk
16:31
{6044} fixed conversion time part of date in TOracleDate record problem - from https://github.com/synopse/mORMot/pull/318 check-in: c149d0c3da user: ab tags: trunk
14:05
{6043} let _FreeMem() return the released chunk size as FPC RTL - also reformated all assembly code check-in: 319db393f0 user: ab tags: trunk
09:28
{6042} use rdtsc low-overhead opcode instead of clock_gettime() API for sleep time report in debug mode (also on Windows) check-in: d3b940a915 user: ab tags: trunk
2020-06-04
19:37
{6041} fixed Delphi Add/Delete/Clear late-binding check-in: acc12807e6 user: ab tags: trunk
13:55
{6040} use rdtsc during FPCMM_PAUSE spinning instead of counts - as recommended by http://tiny.cc/toeaqz due to SkylakeX "pause" opcode cycles change - note that from our tests, spinning is slower (at least on Linux), even if it is the recommended way of Intel check-in: 943289b9cb user: ab tags: trunk
13:48
{6039} fixed awful random GPF bug in SynFPCx64MM check-in: 439953494b user: ab tags: trunk
13:48
{6038} disabled write late-binding methods (Add/Clear/Delete) on FPC - they triggered random GPF so are unsafe due to RTL restrictions check-in: 7bbf6c8e97 user: ab tags: trunk
2020-06-03
20:27
{6037} let Getmem(0) act like GetMem(1) just like FPC RTL heap.inc check-in: 442eac1200 user: ab tags: trunk
15:05
{6036} new FPC_X64MM_WIN explicit conditional - SynFPCx64MM is not fully validated on Windows yet check-in: dde5820b3c user: ab tags: trunk
2020-06-02
17:27
{6035} wait for TAutoFlushThread to be released at shutdown - avoid unexpected memory leak report check-in: dca636a906 user: ab tags: trunk
16:56
{6034} fixed TSQLPropInfoRTTIVariant to properly handle TNullableDateTime check-in: 64eda8fc9d user: ab tags: trunk
16:35
{6033} use StrPosI() instead of ContainsUTF8() check-in: 377263dc3e user: ab tags: trunk
16:33
{6032} rewritten fpc_ansistr_compare/fpc_ansistr_compare_equal in x86_64 asm check-in: d4b447daf1 user: ab tags: trunk
2020-06-01
19:11
{6031} small SynProject refactoring (no functional change) check-in: 29cec9ea54 user: ab tags: trunk
19:10
{6030} added global RemoteIPLocalHostAsVoidInServers variable - able to disable the 127.0.0.1 -> '' default Remote-IP convention check-in: 3304d25391 user: ab tags: trunk
16:30
{6029} avoid warning with Delphi check-in: 23f342d5db user: ab tags: trunk
15:13
{6028} avoid warning with Delphi check-in: e84490f655 user: ab tags: trunk
15:13
{6027} fixed Iso8601ToDateTimePUTF8CharVar() to handle len parameter check-in: 1a424ecb13 user: ab tags: trunk
15:12
{6026} optimized SynDBZeos array binding of dates check-in: 9705eb49e4 user: ab tags: trunk
13:59
{6025} include regression test for latest commit check-in: b36db8a748 user: ab tags: trunk
13:45
{6024} fixed Iso8601ToTimeLogPUTF8Char() to properly handle L parameter check-in: b28bbab8c9 user: ab tags: trunk
10:39
{6023} small optimizations to FillCharFast and FPC RTL patches check-in: a183adcbf3 user: ab tags: trunk
10:37
{6022} introducing ColumnBlobFromStream() for 'select .. for update' statements - fixed from https://github.com/synopse/mORMot/pull/315 check-in: a1d1e1bd7d user: ab tags: trunk
09:57
{6021} properly implement ColumnBlobToStream() - fixed from https://github.com/synopse/mORMot/pull/315 check-in: 54c6b642cf user: ab tags: trunk
2020-05-31
17:40
{6020} ensure FillCharFast() rejects count<0 just as the FPC RTL - seems like FPC generics code assumes this check-in: 69f664c486 user: ab tags: trunk
2020-05-30
14:06
{6019} enhanced datetime to iso function check-in: b5eb26cc47 user: ab tags: trunk
14:06
{6018} new OnActivate event handler for LVCL check-in: 3833b700ab user: ab tags: trunk
13:59
{6017} new TSQLDBProperties.DateTimeFirstChar field - used to circumvent e.g. PostgreSQL non standard date/time during BindArray() and for the new SQLDateToIso8601Quoted() method check-in: f6ffae1346 user: ab tags: trunk
2020-05-29
16:39
{6016} introducing DOUBLE_SAME constant - 1E-11 seems less paranoid than 1E-12 check-in: a9f3a31f99 user: ab tags: trunk
09:11
{6015} fixed CreateHyperlink - from https://github.com/synopse/mORMot/pull/316 check-in: 298424b446 user: ab tags: trunk
08:51
{6014} fixed TPdfForm/TPdfFormWithCanvas check-in: 5ee988d87c user: ab tags: trunk
08:19
{6013} new thread-safe TSynValidateRest.Validate - from https://github.com/synopse/mORMot/pull/298 check-in: cd382b2dd8 user: ab tags: trunk
08:11
{6012} SynPDF bugfix: fixed font is replaced by a variable one and vice versa - from https://github.com/synopse/mORMot/pull/296 check-in: edaf5201fb user: ab tags: trunk
08:07
{6011} several SynCurl fixes - includes proper https://github.com/synopse/mORMot/pull/314 fix check-in: 64b7af1899 user: ab tags: trunk
07:59
{6010} prevent "Invalid character value for cast specification" SQL Server error for small digits like 0.01, -0.0001 in ODBC SQL server 0.01 - thanks mpv for https://github.com/synopse/mORMot/pull/313 check-in: a922028e34 user: ab tags: trunk
07:56
{6009} fix FloatStrCopy for -.01 .02: should be -0.01 0.02 - thanks mpv for https://github.com/synopse/mORMot/pull/312 check-in: 80834b10c4 user: ab tags: trunk
2020-05-28
15:56
{6008} cleaner WriteHeapStatus() after regression tests check-in: 2d296f6dc9 user: ab tags: trunk
15:56
{6007} TCrtSocket.TimeOut is now measured when nothing is written/read - necessary to read huge content on a slow connection check-in: b02df712c7 user: ab tags: trunk
15:53
{6006} don't spend too much time on DDD multi-thread tests by default check-in: 16a2675960 user: ab tags: trunk
15:52
{6005} added TSimpleHttpClient.Proxy property check-in: 3c151e90d1 user: ab tags: trunk
15:51
{6004} TMemoEx will detect and raise an exception if the font width is not consistent when bold/italic is used check-in: be0782fe34 user: ab tags: trunk
15:50
{6003} the FPC RTL x86_64 asm patches are now disabled by default - unless DOPATCHTRTL conditional is defined check-in: e86090e08f user: ab tags: trunk
15:49
{6002} notify that SynBzPas is not stable enough to be used on production check-in: 497198c923 user: ab tags: trunk
15:25
{6001} small LVCL fixes check-in: a351efe748 user: ab tags: trunk
2020-05-17
19:56
{6000} upcoming Delphi 10.4 codename seems to be "Sydney" check-in: cb25c600d5 user: ab tags: trunk
16:23
{5999} rewritten FPC SetLength(ansistring) in asm for SynFPCx64MM check-in: e112c3111c user: ab tags: trunk
16:21
{5998} optimized medium blocks SynFPCx64MM process check-in: a9f162cced user: ab tags: trunk
10:51
{5997} leverage Unicode string support - noticed after https://github.com/synopse/mORMot/pull/311 check-in: 116ca7cd50 user: ab tags: trunk
10:21
{5996} enhanced package support - from https://github.com/synopse/mORMot/pull/311 check-in: 3a3a00d76a user: ab tags: trunk
10:13
{5995} include some patches and binaries for libcurl support on Android - thanks Alfred for the input! check-in: ae38d61d4d user: ab tags: trunk
2020-05-16
19:56
{5994} patch fpc_ansistr_concat (and *_multi) on FPC_X64/POSIX at runtime check-in: 8aaff02aac user: ab tags: trunk
19:53
{5993} fixed Delphi compilation check-in: 2be557776a user: ab tags: trunk
19:52
{5992} ensure FastMM4 info can be retrieved check-in: db0e05db4f user: ab tags: trunk
19:51
{5991} disable spinning and lockless-freemem by default on SynFPCx64MM - those two alternative algorithms have been reported as actually slower check-in: 59d4f76b96 user: ab tags: trunk
2020-05-14
16:06
{5990} restore expected GetExtended() behavior on error - it should return the parsed value, just like the Delphi x87 asm check-in: 7cedb85058 user: ab tags: trunk
13:17
{5989} enhanced TDDDThreadsThread test check-in: 4787a3c7f4 user: ab tags: trunk
13:16
{5988} reduce heap allocation during THttpSocket.GetHeader - would help scaling a lot check-in: 78d4cd365f user: ab tags: trunk
13:13
{5987} enhanced WriteHeapStatus content check-in: 01301f3091 user: ab tags: trunk
09:16
{5986} introducing app modes: default mono-threaded, FPCMM_SERVER or FPCMM_BOOST - also some new asm optimizations check-in: e42d7ada03 user: ab tags: trunk
2020-05-13
22:04
{5985} new FPCMM_LOCKLESSFREE conditional to reduce OS API calls check-in: ca971c1189 user: ab tags: trunk
12:34
{5984} better SynFPCx64MM integration to raw SynCommons process check-in: 2a97ff47d5 user: ab tags: trunk
12:32
{5983} enhanced SynFPCx64MM heap status reporting and memory leak detection check-in: 6a2d4f2452 user: ab tags: trunk
2020-05-12
18:16
{5982} introduce memory leak detection to SynFPCx64MM - also fixed unexpected memory leaks in some border case uses of ReallocMem() check-in: 796ec5c965 user: ab tags: trunk
05:56
{5981} THttpSocket.GetHeader use much less memory allocations - would help proper multi-threading check-in: 8a09c94856 user: ab tags: trunk
05:50
{5980} SynFPCx64MM asm reduction - inlining SSE2 movaps seems better than small moveNNN() functions check-in: 12722469ba user: ab tags: trunk
2020-05-11
15:24
{5979} start TSynLog AutoFlush thread only if when writing check-in: 4ce85f5455 user: ab tags: trunk
13:56
{5978} deep refactoring of SynFPCx64MM - with enhanced multi-thread performance and introducing also FPCMM_ASSUMEMULTITHREAD conditional check-in: dafd1bbe3b user: ab tags: trunk
2020-05-10
19:29
{5977} round-robin of smallest blocks (<=128 bytes) for better thread scaling - also with a new FPCMM_BOOST experimental mode check-in: 85a4927449 user: ab tags: trunk
12:18
{5976} x86_64 asm patches for fpc_dynarray_* and fpc_unicodestr_* raw functions check-in: 566502b36c user: ab tags: trunk
09:19
{5975} added small fixed moves for MM check-in: 11b3055b5b user: ab tags: trunk
2020-05-09
19:46
{5974} optimized FPC RTL fpc_ansistr* patches check-in: 1aa8013810 user: ab tags: trunk
14:53
{5973} redirect FPC RTL raw fpc_ansistr* functions to some optimized x86_64 asm check-in: 166a84cb5f user: ab tags: trunk
10:05
{5972} paranoid unnested CS for socket polling check-in: 48e79dad13 user: ab tags: trunk
10:04
{5971} introducing SynFPCx64MM new Multi-thread Friendly Memory Manager for FPC written in x86_64 assembly check-in: 0374f51eb7 user: ab tags: trunk
2020-05-05
19:42
{5970} small fixes check-in: d381798784 user: ab tags: trunk
2020-05-04
07:53
{5969} mostly comments enhancements check-in: a492519eb7 user: ab tags: trunk
07:52
{5968} fixed and enhanced MVC Web Server content cache (part II) check-in: baec0444bc user: ab tags: trunk
07:36
{5967} fixed and enhanced MVC Web Server content cache check-in: 1eb998e68a user: ab tags: trunk
2020-04-30
14:46
{5966} ensure TDynArray.LoadFrom identify mORMot2 new layout with hash32=0 check-in: b28c8e6689 user: ab tags: trunk
2020-04-28
08:14
{5965} customize HTTP 'Accept: */*' default header with TWinHttpAPI.NoAllAccept - from https://github.com/synopse/mORMot/pull/307 check-in: f4f5ee72b7 user: ab tags: trunk
2020-04-27
19:51
{5964} fixed TSynAuthenticationAbstract exceptions check-in: 65b15f27d2 user: ab tags: trunk
2020-04-26
16:08
{5963} new TModel.RecordReferences public property check-in: dc67ded7cb user: ab tags: trunk
08:58
{5962} try to circumvent "Verify Method Calls" paranoid checks in FPC check-in: 36a07b26ee user: ab tags: trunk
2020-04-25
13:27
{5961} fixed TSynLogFamily.EchoRemoteStop check-in: f9dfc9b1b8 user: ab tags: trunk
2020-04-21
09:14
{5960} THttpApiServer: ensure processing threads actually ended before Free check-in: 210562c189 user: ab tags: trunk
2020-04-19
12:22
{5959} new THttpServer.WaitStarted to be called after THttpServer.Create check-in: 434798ffa8 user: ab tags: trunk
11:36
{5958} introducing TSynLogFamily.ExceptionIgnorePerThread property check-in: 07e21d977f user: ab tags: trunk
2020-04-16
18:40
{5957} refactored THttpServer internal execution flag check-in: 6934f79766 user: ab tags: trunk
17:32
{5956} Socket.Bind should throw in case of fatal error during bind - from https://github.com/synopse/mORMot/pull/309 check-in: d511e65f58 user: ab tags: trunk
11:37
{5955} fixed some typos - no functional change check-in: c5711a4971 user: ab tags: trunk
11:36
{5954} allow to decompress zero length zstream - from https://github.com/synopse/mORMot/pull/308 check-in: df3c28ee02 user: ab tags: trunk
2020-04-14
12:05
{5953} new TSQLDBConnectionProperties.FilterTableViewSchemaName property - also fixed MySQL GetTableNames/GetViewNames associated SQL check-in: 52ff7c1fd3 user: ab tags: trunk
2020-04-13
07:37
{5952} fixed typo in TSynAuthenticationAbstract.CreateSession check-in: 7fb463a104 user: ab tags: trunk
2020-04-11
14:41
{5951} fixed potential GPF at SynLog finalization - check https://github.com/synopse/mORMot/commit/3d7e6e2013722cbaabc66a348b55927ac3f74300#r38431461 check-in: af6065c772 user: ab tags: trunk
10:17
{5950} HTTP Status Code 402 added - from https://github.com/synopse/mORMot/pull/303 check-in: b04dedce33 user: ab tags: trunk
10:15
{5949} fixed W1035 Warnings in TOpenSSL* stubs - from https://github.com/synopse/mORMot/pull/304 check-in: d293f8fe0c user: ab tags: trunk
10:14
{5948} enable EventArchiveZip on Linux/BSD - from https://github.com/synopse/mORMot/pull/305 check-in: 6fa48b6c0f user: ab tags: trunk
2020-04-09
08:29
{5947} new optional TSynAuthenticationAbstract parameter for TSQLDBServerAbstract.Create() check-in: 3c8fedf874 user: ab tags: trunk
07:52
{5946} added a regression test for TDocVariantData.ToJSON/TTextWriter with huge JSON to detect any memory leak as reported earlier check-in: f9522171d3 user: ab tags: trunk
2020-04-08
23:33
{5945} fixed TRawUTF8InterningSlot.Clean check-in: 80f9619cd1 user: ab tags: trunk
23:28
{5944} fixed FPC compilation check-in: 73f7c5d32e user: ab tags: trunk
23:22
{5943} enhanced TSetWeakZeroClass.Create thread-safety check-in: 09fbbe226f user: ab tags: trunk
23:21
{5942} optimized TRawUTF8Interning check-in: b9669d49e4 user: ab tags: trunk
23:18
{5941} fixed memory leak in TDocVariant.ToJSON check-in: b8528d8633 user: ab tags: trunk
2020-04-07
09:51
{5940} circumvent FPC problem with late-binding methods during TDocVariant regression tests check-in: 33e5a745f8 user: ab tags: trunk
09:50
{5939} when using glibc heap, try to override default error handler which calls abort() check-in: c9654bf26f user: ab tags: trunk
08:31
{5938} introducing DEFAULT_WRITEOPTIONS global - including now woSQLRawBlobAsBase64 by default - to circumvent problems reported by Alf check-in: 1bb589f43f user: ab tags: trunk
2020-04-05
15:11
{5937} rename TSynThread.fOnTerminate -> TSynThread.fOnThreadTerminate - from https://github.com/synopse/mORMot/pull/302 check-in: 201cb2a097 user: ab tags: trunk
15:01
{5936} allow 'ASA' driver ID for SynDBFireDAC check-in: 40ff535f0f user: ab tags: trunk
13:52
{5935} fixed GetExtended() with xxxE32 exponent check-in: 40ff1867d7 user: ab tags: trunk
2020-04-04
23:10
{5934} ensure OCI_AL32UTF8 is used by default for UTF-8 encoding in Oracle databases check-in: 5e7dc66fa1 user: ab tags: trunk
10:13
{5933} fixed Delphi compilation check-in: 490c632f56 user: ab tags: trunk
10:06
{5932} introducing IsLeapYear() - and optimized Div100/TryEncodeDate/Int32ToStr check-in: 8fdde7e58e user: ab tags: trunk
2020-04-03
13:05
{5931} introducing TSQLDBLib.TryLoadLibrary check-in: d7b652a473 user: ab tags: trunk
10:05
{5930} several optimizations - mainly about UrlEncode - with no functional change check-in: 3da6eafd58 user: ab tags: trunk
10:02
{5929} added optional aAllFields parameter to ORMAdd/ORMUpdate DDD persistence check-in: 55e1a121b6 user: ab tags: trunk
2020-04-02
11:43
{5928} final OCI.EnvNlsCreate() fix - from https://github.com/synopse/mORMot/pull/300 check-in: ceea06658e user: ab tags: trunk
2020-04-01
19:42
{5927} fixed random GPF in OCI.EnvNlsCreate() - from https://github.com/synopse/mORMot/pull/299 check-in: 393cacab41 user: ab tags: trunk
15:37
{5926} try to circumvent random A/V with newest OCI revisions - ensure usrmempp parameter in OCI.EnvNlsCreate() is not nil check-in: b5b2ed228f user: ab tags: trunk
2020-03-31
16:24
{5925} fixed/enhanced TextToVariantNumberType/TextToVariantNumberTypeNoDouble check-in: fe73500966 user: ab tags: trunk
16:22
{5924} circumvent a Lazarus bug which crashed the IDE when browsing mORMot code (at least I am not able to reproduce it any more) check-in: 283e755d8b user: ab tags: trunk
2020-03-30
22:06
{5923} rewritten GetExtended() to use a 64-bit integer for the digits - also ensure regressions tests are a little relaxed about floating point precision check-in: 9b283604c6 user: ab tags: trunk
12:27
{5922} fixed JSONEncode() in Delphi Unicode - from TTextWriter.AddJSONEscapeW - thanks mapes for the patch! check-in: f06626ecbf user: ab tags: trunk
12:17
{5921} tuned scientific notation for floating point values - also optimized d2a_gen_digits check-in: 41b8b834bd user: ab tags: trunk
2020-03-29
17:35
{5920} small enhancements to DoubleToAscii() check-in: 4af900fc91 user: ab tags: trunk
11:04
{5919} fixed SynDBZeos BLOB process when SynCommons+7.3 is not used check-in: f008a2f59b user: ab tags: trunk
2020-03-28
16:29
{5918} stabilized d2a Grisu conversion on all targets but Delphi Win32 (which compiler is inefficient with 64-bit arithmetic) - includes updated benchmark numbers check-in: 4a50dee9e8 user: ab tags: trunk
10:01
{5917} enabled double to text Grisu conversion on Delphi Win64 - includes some benchmarking notes check-in: 98fdbf5c8d user: ab tags: trunk
09:20
{5916} fixed armfakestub when compiling with -O2 - from https://github.com/synopse/mORMot/pull/295 check-in: ac630f0207 user: ab tags: trunk
01:26
{5915} fixed awful regression in JSON parsing introduced yesterday check-in: 3a22f4e370 user: ab tags: trunk
01:14
{5914} added some new tests - and fix Delphi issue about float to text check-in: 3f7757fcce user: ab tags: trunk
00:55
{5913} it is better without the debug-to-console code ;) check-in: b5f2bbec0c user: ab tags: trunk
00:53
{5912} one last fix on d2a() check-in: 1cad78bc5a user: ab tags: trunk
00:12
{5911} another (late) pass on d2a() check-in: 16a68e98f2 user: ab tags: trunk
2020-03-27
23:22
{5910} several fixed to FastMM4 for FPC/Linux compilation - but detected an issue when sizing-up a memory block :( check-in: 810745f078 user: ab tags: trunk
23:21
{5909} optimized FloatStringNoExp() and SynLZDecompress1() check-in: 9ef9de7398 user: ab tags: trunk
22:56
{5908} huge refactoring of floating-point to text/JSON conversion - introducing Fabian Loitsch's Grisu algorithm especially compiled for double values (on FPC) check-in: 5f11b8f62b user: ab tags: trunk
2020-03-26
18:07
{5907} rewritten CompareMemSmall check-in: 7c3efd7286 user: ab tags: trunk
17:40
{5906} included latest Michael's patch for SynDBZeos check-in: 6b4f978839 user: ab tags: trunk
17:38
{5905} rewritten MoveSmall function check-in: 2789bd7c15 user: ab tags: trunk
16:48
{5904} refactored TJsonWriter buffer to use a stack buffer at first - increase performance when up to 8KB of JSON is generated: which is likely to be the case for most Retrieve() statements - then an increasing heap buffer (up to 1MB) will be used check-in: 0025ac3b41 user: ab tags: trunk
16:44
{5903} TTextWriter.FlushToStream will auto-resize also from stack buffer - could increase a lot the performance in some situations check-in: d646ed82b6 user: ab tags: trunk
09:01
{5902} tuned GetNextFieldProp() to use our lookup tables for branchless code check-in: f973a80a13 user: ab tags: trunk
08:59
{5901} enhanced TSQLDBPostgresLib to automatically try to load the libpq.so.5 then the libpq.so.4 check-in: d0d2158e9f user: ab tags: trunk
00:33
{5900} refactoring of JSON/text/numbers/uri parsing - using optimized lookup tables for branchless decoding - FPC is not efficient when compiling P^ in [....] or case P^ of .... check-in: d194dc17ef user: ab tags: trunk
2020-03-25
15:49
{5899} another speed-up of JSON serialization process (optimized escape algorithm to avoid branches) check-in: 3c413d1e92 user: ab tags: trunk
13:04
{5898} doc about possible ExecuteWhenConnected usage for SQLite3 - from https://github.com/synopse/mORMot/pull/292 check-in: 597e6342b9 user: ab tags: trunk
09:42
{5897} tuned PerfTestConsole logging check-in: cfa5eb885e user: ab tags: trunk
09:41
{5896} optimized hexadecimal, octal and base-64 encoding - targetting the FPC compiler check-in: 98c0999c28 user: ab tags: trunk
2020-03-24
19:56
{5895} updated sample 15 check-in: f3eaafd12e user: ab tags: trunk
19:12
{5894} fixed sample 15 compilation check-in: a808141a73 user: ab tags: trunk
15:58
{5893} introducing "Samples/15 - External DB performance/PerfTestConsole.dpr" new cross-platform project - to replace the old and confusing GUI version check-in: cf2408ef90 user: ab tags: trunk
15:56
{5892} refactored mORMotMongoDB logs check-in: ba53dc4a58 user: ab tags: trunk
15:55
{5891} fixed SynDBPostgres bulk insertions check-in: 0fa2151590 user: ab tags: trunk
15:54
{5890} fixed documentation about our SQLite3 proprietary AES-OFB encryption check-in: 2fc77d54ba user: ab tags: trunk
15:53
{5889} defined TSQLDBServerRemote as cross-platform safe SynDBRemote server class check-in: 124caf1f03 user: ab tags: trunk
15:53
{5888} optimized some integer-array processing functions check-in: 0c0cbf6fb3 user: ab tags: trunk
2020-03-23
21:18
{5887} rewritten the SynTests execution core check-in: 36c771a87a user: ab tags: trunk
16:31
{5886} refactored some MongoDB raw process check-in: f72cc846e6 user: ab tags: trunk
16:29
{5885} optimized TSynInvokeableVariantType.IsOfType() check-in: e83330c7e1 user: ab tags: trunk
14:49
{5884} reverted last TJSONObjectDecoder.EncodeAsSQLPrepared modification for Update with 1 field check-in: b4af70dcdc user: ab tags: trunk
14:17
{5883} fixed MongoDBTestCases for FPC check-in: c1a0c4143c user: ab tags: trunk
11:45
{5882} use PosExChar() instead of PosEx() when possible (faster on FPC) check-in: 757ee95b4c user: ab tags: trunk
11:42
{5881} introducing long-standing patches for SynDBZeos by Michael - thanks! - also introduce cPostgreBulkArray for tuned ORM generation for SynDBPostgres check-in: 6e922057bc user: ab tags: trunk
2020-03-22
22:32
{5880} minor refactoring - no functional change check-in: e7978bf9c8 user: ab tags: trunk
22:31
{5879} fixed Delphi compilation check-in: a61030c260 user: ab tags: trunk
22:13
{5878} introducing new HeadersUnFiltered optional parameter to THttpServer.Create - as an alternative to https://github.com/synopse/mORMot/pull/293 check-in: b88704258f user: ab tags: trunk
14:03
{5877} new TSQLDBStatement.SQLLogBegin/SQLLogEnd methods to have as consistent Prepare/ExecutePrepared log information in all SynDB units check-in: 012ea78b2f user: ab tags: trunk
11:22
{5876} introducing TSQLDBStatementWithParams.ReleaseRows to release the bound parameter memory ASAP (may be huge in case of array binding or blob process) check-in: a1396fa904 user: ab tags: trunk
11:06
{5875} reverted ISQLDBRows.RefCount check and introduced an explicit call to new ReleaseRows method check-in: a1dfe9124e user: ab tags: trunk
02:37
{5874} deep refactoring of SQL parameters logging - to use less resource and be more reusable - especially for SynDBSQLite3 check-in: a4ea4462fd user: ab tags: trunk
02:30
{5873} new TSQLDBStatement.ReleaseResources virtual method - called when ISQLDBStatement RefCount=1, i.e. when it is back to the cache check-in: e41e9c4085 user: ab tags: trunk
02:26
{5872} optimized TRawUTF8Interning.UniqueVariant/TTextWriter.AddQuotedStr/RawByteStringToVariant/TextToVariantNumberType* functions check-in: 53dca73459 user: ab tags: trunk
2020-03-21
23:27
{5871} small refactoring of the TSQLDBStatement*.Reset methods check-in: e3b7954cb2 user: ab tags: trunk
23:26
{5870} undefined RewindToFirst optional parameter to FetchAll* methods check-in: d995ef0660 user: ab tags: trunk
23:24
{5869} defined our inlined VarClear() also for Delphi - get rid of explicit VTYPE_STATIC check check-in: 010670a638 user: ab tags: trunk
18:21
{5868} minor TAESCTR tuning on 64-bit CPU check-in: 8c2f8fd362 user: ab tags: trunk
18:03
{5867} small comments / error message enhancement - no functional change check-in: bf806d3705 user: ab tags: trunk
18:01
{5866} introduce TAESCTR.ComposeIV() modular method instead of TAESCTRNIST - from https://github.com/synopse/mORMot/pull/290 check-in: 204c90705c user: ab tags: trunk
16:59
{5865} try to enable SynDBPostgres PostgreSQL ORM bulk insert/update/delete via nested array binding check-in: 9fe77d6f21 user: ab tags: trunk
16:26
{5864} try to enable SynDBPostgres bulk insert via 'insert into ... values (unnest...)' - more feedback and testing are needed! check-in: ae580adfca user: ab tags: trunk
16:13
{5863} new property TSQLDBConnectionProperties.ExecuteWhenConnected - from https://github.com/synopse/mORMot/pull/291 check-in: 82d953261d user: ab tags: trunk
14:58
{5862} ensure TSQLDBPostgresStatement.ColumnsToJSON returns strict ISO-8601 dates check-in: cab8be4f76 user: ab tags: trunk
14:44
{5861} introduced FloatStrCopy() and fixed TTextWriter.AddFloatStr - with new regression tests check-in: 89e91a178a user: ab tags: trunk
14:31
{5860} fixed TTextWriter.AddFloatStr - with new regression tests check-in: 67a96437c2 user: ab tags: trunk
14:21
{5859} fixed TSQLDBPostgresStatement.ColumnsToJSON ftDouble/ftCurrency and introduce JSONB support check-in: a5bd32116a user: ab tags: trunk
12:08
{5858} faster PostgreSQL BLOB process - libpg>=8.3 is not required any more, since PQunescapeBytea() is replaced by our faster HexToBin/OctToBin decoding (with no memory allocation) check-in: 435c551d32 user: ab tags: trunk
12:06
{5857} introducing OctToBin() and HexToBinFast() functions check-in: a6f327ca0b user: ab tags: trunk
00:09
{5856} introducing TAESCTRNIST as proper fix for https://github.com/synopse/mORMot/pull/288 check-in: 52ff571056 user: ab tags: trunk
2020-03-20
23:02
{5855} tuned libpq OID internal types table check-in: d0b7418757 user: ab tags: trunk
23:02
{5854} optimized TTextWriter.AddJSONEscape which is now faster with Len=0 check-in: 7b21c002ea user: ab tags: trunk
22:37
{5853} optimized TTextWriter.AddFloatStr check-in: cd0b5c5c88 user: ab tags: trunk
22:36
{5852} fixed TSQLDBPostgresStatement.ColumnsToJSON for ftDate and ensure no libpq notification slows down the process check-in: 26b0a8b1a9 user: ab tags: trunk
20:51
{5851} another pass on TSQLDBUniDACStatement.DataSetBindSQLParam by Daniel check-in: 56de45ebed user: ab tags: trunk
19:21
{5850} fixed compilation on Unicode Delphi check-in: c7e7a6af65 user: ab tags: trunk
19:20
{5849} all SynDB Prepare and ExecutePrepared methods would have the same log layout - thanks to new TSQLDBStatement.GetSQLLog method check-in: 27cf0df9d1 user: ab tags: trunk
19:06
{5848} include some SynDBUniDAC patches by itSDS - thanks for the feedback! check-in: 6a79fe05d9 user: ab tags: trunk
14:55
{5847} introducing minimal libpq library wrapper, and optimized TSQLDBPostgresStatement.ColumnsToJSON method to SynDBPostgres.pas - now it is Delphi compatible! check-in: 02d4c92dfa user: ab tags: trunk
14:53
{5846} include Hash128Index/Hash256Index tests and some IsGuidEqual() optimized use check-in: 7c897bda7e user: ab tags: trunk
14:51
{5845} paranoid multi-thred hardening of TSQLDBOracleConnectionProperties OCI initialization check-in: 584dbe8e73 user: ab tags: trunk
14:50
{5844} optimized TODBCStatement.ColumnsToJSON blob process check-in: 1dc9dd0abb user: ab tags: trunk
14:49
{5843} TSQLDBConnectionPropertiesThreadSafe will use TSynObjectListLocked mutex check-in: f70b55e459 user: ab tags: trunk
14:48
{5842} new Hash128Index/Hash256Index optimized functions instead of HashFound check-in: 249d872cc3 user: ab tags: trunk
14:44
{5841} ensure GetSystemPath() won't create a \log sub-folder on Windows unless required check-in: 29f110c73d user: ab tags: trunk
14:43
{5840} avoid null FillCharFast/MoveFast on Darwin check-in: 30ac9434dc user: ab tags: trunk
10:23
{5839} circumvent an UniDAC bug reported with BLOB updates check-in: b8ce17a449 user: ab tags: trunk
10:07
{5838} fixed SQLDBConnection.NewStatementPrepared - thanks itSDS for the feedback! check-in: ac5dc8e082 user: ab tags: trunk
2020-03-19
20:16
{5837} remove compiler hint on Delphi check-in: df7ebf21be user: ab tags: trunk
19:03
{5836} fixed TSQLDBPostgresStatement.ExecutePrepared from https://github.com/synopse/mORMot/pull/289 check-in: fa2588f021 user: ab tags: trunk
19:02
{5835} new ReplaceParamsByNumbers() and BoundArrayToJSONArray() function with proper regression tests - as used by SynDBPostgre.pas check-in: 5d5f84b91c user: ab tags: trunk
17:59
{5834} let compile when USEWININET is not defined check-in: 841bdea8de user: ab tags: trunk
17:57
{5833} tune TSQLRestStorageExternal.AdaptSQLForEngineList logs check-in: cb361529aa user: ab tags: trunk
17:57
{5832} circumvent weird (FPC compiler?) bug on Win32/Win64 in THttpClientSocket.RequestSendHeader - thanks Alf for the feedback and patch! check-in: 1b7c35ad68 user: ab tags: trunk
14:20
{5831} fixed typo check-in: a158d55993 user: ab tags: trunk
14:18
{5830} reviewed logging of SynDB units - including latest SynDBPostgres check-in: 8fe72b7036 user: ab tags: trunk
12:04
{5829} introducing SynDBPostgres.pas - deep refactoring of https://github.com/synopse/mORMot/pull/287 check-in: f8b1d80028 user: ab tags: trunk
09:44
{5828} small refactoring of FindNameValue/GotoNextLine for better performance check-in: e8d930ceda user: ab tags: trunk
2020-03-18
19:03
{5827} introducing FindNameValue() when FindIniNameValue() is not required check-in: 9a22461857 user: ab tags: trunk
10:30
{5826} fixed compilation when USE_VTYPE_STATIC is undefined (BSD+ARM) check-in: 13041e68b5 user: ab tags: trunk
10:28
{5825} some review after https://github.com/synopse/mORMot/pull/286 (still need to review SynFPCSockLIBC.inc) check-in: 9fcb261c21 user: ab tags: trunk
2020-03-17
21:45
{5824} small comment fixes - no functional change check-in: 419da8e4cc user: ab tags: trunk
09:17
{5823} fixed SynLog process - includes minor optimization refactoring for x86_64 check-in: bc7f1cfa0e user: ab tags: trunk
09:02
{5822} avoid unexpected GPF when log is disabled check-in: f3fb68c19a user: ab tags: trunk
2020-03-16
21:48
{5821} try to harden TSynLog instance creations in heavily multi-threaded environment check-in: ee2b5cceb5 user: ab tags: trunk
21:40
{5820} small refactoring while translating existing code to mormot2 - no functional change check-in: 2c81d832dd user: ab tags: trunk
2020-03-13
17:12
{5819} SynPdf bugfix: .otf files were not accepted - from https://github.com/synopse/mORMot/pull/283 check-in: 9b39099f47 user: ab tags: trunk
09:44
{5818} fixed and optimized GetLineContains() check-in: 82995dad97 user: ab tags: trunk
2020-03-12
20:58
{5817} fixed Delphi 6 compilation ;) check-in: c6b69d160e user: ab tags: trunk
20:50
{5816} slightly optimized /root/timestamp URI endpoint check-in: ef1845e4b0 user: ab tags: trunk
20:50
{5815} faster StrLenPas() and BufferLineLength() check-in: 56f226240d user: ab tags: trunk
20:49
{5814} refactored GotoNextLine() for better performance and no compiler complain check-in: 9248eaeaa1 user: ab tags: trunk
20:48
{5813} fixed GetLineSize() so that it stops on #0 when PEnd=nil check-in: 3763596bd9 user: ab tags: trunk
16:58
{5812} RawUTF8ToVariant() refactoring check-in: a3fd4cd7cb user: ab tags: trunk
16:56
{5811} small POSIX socket optimizations by mpv - from https://github.com/synopse/mORMot/pull/282 check-in: 946896debf user: ab tags: trunk
14:29
{5810} fixed compiler warning in Unit tests on Delphi check-in: f16a805321 user: ab tags: trunk
14:27
{5809} GetLineSize() will use optimized BufferLineLength() and its SSE2 asm check-in: b5223a0483 user: ab tags: trunk
14:26
{5808} fixed IdemPCharWithoutWhiteSpace() check-in: c376894b0a user: ab tags: trunk
09:46
{5807} ensure TSQLDatabaseBackupThread will first delete any previous temporary file check-in: 6f26264f2b user: ab tags: trunk
09:45
{5806} TAESPRNG.GetEntropy won't block waiting for /dev/random if not needed check-in: 980c841ea1 user: ab tags: trunk
09:44
{5805} hardened "array of const" pairs input parameters check-in: 3a4e943a37 user: ab tags: trunk
09:43
{5804} new overloaded SynReplaceAll() function check-in: b0d00acf6d user: ab tags: trunk
2020-03-11
15:48
{5803} another attempt to fix THttpApiServer stable shutdown check-in: b2c2d46be6 user: ab tags: trunk
10:12
{5802} proper unit test log on FPC check-in: 373e2285ca user: ab tags: trunk
10:08
{5801} fixed THttpApiServer random deadlock at shutdown check-in: f640a7dc40 user: ab tags: trunk
00:55
{5800} fixed Darwin 64 compilation check-in: 3d75c9b829 user: ab tags: trunk
00:17
{5799} socket HTTP server will return only meaningful HTTP headers to the processing code check-in: 93592d95a9 user: ab tags: trunk
2020-03-10
23:19
{5798} refactoring of the HTTP socket server for better stability on high load - set directly the client IP without calling GetRemoteIP/GetPeerName - do not ACCEPT any new connection when the queue is full (wait ContentionAbortDelay = 5 seconds) check-in: 62688161a7 user: ab tags: trunk
21:26
{5797} fixed recent memory leak regression in TSynCache check-in: 350928a9a8 user: ab tags: trunk
19:17
{5796} fixed long-standing issue of potential modification of TSQLRestServer memory after it has been freed - not triggered in normal cases, but when the TSQLDatabase is used after its TSQLRestServer is released check-in: 5ca0bb7e3d user: ab tags: trunk
19:16
{5795} enhanced TSQLRestServerNamedPipe stability check-in: b4fa5ea350 user: ab tags: trunk
19:15
{5794} small hasher use and regression tests optimizations check-in: ee32d41ff7 user: ab tags: trunk
19:12
{5793} small refactoring of dynamic array header rtti access - no functional change check-in: 4ae6e3fe20 user: ab tags: trunk
18:59
{5792} fixed SynCommons initialization pattern check-in: 4158d61402 user: ab tags: trunk
11:16
{5791} fixed random socket problem on Windows after https://github.com/synopse/mORMot/commit/84f29682cd2a004111a52f7b733a5dcb8245fa12 check-in: 1078ba0f05 user: ab tags: trunk
10:50
{5790} fixed FPC Win32 target check-in: 5d48ac1cd5 user: ab tags: trunk
10:49
{5789} fixed FileOpenSequentialRead() on Delphi check-in: 1a4cd74fc7 user: ab tags: trunk
01:17
{5788} FileStreamSequentialRead() will return a THandleStream and FileOpenSequentialRead() will call fpOpen only (whereas SysUtils.FileOpen calls fpOpen + fpFlock) on POSIX - assuming FileName is UTF-8 check-in: b940ac651f user: ab tags: trunk
01:14
{5787} fixed CompareStringW() compatibility function for Linux - result was all wrong :( check-in: c95867137a user: ab tags: trunk
2020-03-09
13:13
{5786} refined TSynLocker / TSynObjectListLocked documentation about thread-safety check-in: d5e9c2752d user: ab tags: trunk
11:33
{5785} reduce unnecessary calls to GetTick64() OS function (clock_gettime) during normal socket processing check-in: 606597ced5 user: ab tags: trunk
00:41
{5784} introducing TSynList/TSynObjectList/TSynObjectListLocked check-in: 1cd7d503dd user: ab tags: trunk
2020-03-08
21:41
{5783} refactored THttpApiServer and TSynThreadPool - also includes a cut-down version of https://github.com/synopse/mORMot/pull/280 check-in: 10b0598e32 user: ab tags: trunk
2020-03-07
16:05
{5782} added padding to avoid TSynThreadPool locks cpu cache line collision on 32-bit (ensure it is >128) check-in: f31fcb67b3 user: ab tags: trunk
15:44
{5781} try to reduce TSynThreadPool futex/lock contention check-in: d79db41d83 user: ab tags: trunk
15:21
{5780} optimized server socket accept() on Linux - from https://github.com/synopse/mORMot/pull/278 check-in: 4db0ea3636 user: ab tags: trunk
14:29
{5779} refactored crcblocks() function and its asm/SSE4.2 versions check-in: c1a2ae9adf user: ab tags: trunk
2020-03-06
16:12
{5778} optimized TSynAnsiFixedWidth conversions check-in: fea1bfe949 user: ab tags: trunk
16:10
{5777} ensure SynchFolders() includes the number of synched files from sub-folders check-in: 8d100cfe64 user: ab tags: trunk
16:08
{5776} let SourceCodeRep write the number of GitHub synched files to the console check-in: 98396c1a7e user: ab tags: trunk
14:44
{5775} fixed SynLZO regression introduced by https://github.com/synopse/mORMot/pull/276 check-in: e1dd33bd71 user: ab tags: trunk
14:37
{5774} ensure TPdfDocument.TTFFontPostcriptName add style to the font name retrieved from - thanks 18114532(at)qq.com for the patch check-in: ac20265e57 user: ab tags: trunk
14:06
{5773} refactoring after merged https://github.com/synopse/mORMot/pull/276 - ARM compatibility check-in: aece4bdb97 user: ab tags: trunk
11:02
{5772} introducing USERECORDWITHMETHODS conditional to use "record" instead of "object" and circumvent Delphi bugs in an unified way check-in: 969350c8fa user: ab tags: trunk
10:59
{5771} fixed Delphi unexpected Warning in SynchFolders() check-in: 8f2452f963 user: ab tags: trunk
2020-03-05
18:00
{5770} SourceCodeRep tool will use our own SynchFolders() framework function instead of robocopy/rsynch - rsynch had synch problems sometimes check-in: feeea6c40f user: ab tags: trunk
17:58
{5769} fixed SynchFolders() with SubFolder=true check-in: fc9c17602a user: ab tags: trunk
17:49
{5768} new SynchFolders/SearchRecValidFolder/HashFile functions check-in: f01266e3a1 user: ab tags: trunk
13:35
{5767} another try to prevent F2084 Internal Error: C2130 on Delphi XE3 check-in: 164a3ef3ae user: ab tags: trunk
13:26
{5766} try to prevent F2084 Internal Error: C2130 on Delphi XE3 check-in: b178f522b6 user: ab tags: trunk
2020-03-04
16:49
{5765} fixed Delphi Win64 compilation after https://github.com/synopse/mORMot/pull/275 check-in: 5677a31a9c user: ab tags: trunk
14:16
{5764} Android ARM/AARCH64 compatibility by Alfred - from https://github.com/synopse/mORMot/pull/275 check-in: a5e647d77a user: ab tags: trunk
2020-03-03
20:59
{5763} optimized GetExtended/GetCardinal overloaded functions check-in: 7193d6fc69 user: ab tags: trunk
20:24
{5762} optimized GetInteger() overloaded functions check-in: 22d2c1b775 user: ab tags: trunk
17:00
{5761} fixed (and regenerated) documentation to reflect latest units changes check-in: a04522d89e user: ab tags: trunk
16:33
{5760} fixed sample 30 compilation check-in: 5ff314baed user: ab tags: trunk
16:28
{5759} fixed samples compilation check-in: 982b336b3c user: ab tags: trunk
16:16
{5758} removed comments about changes/versioning which were old and redundant to our fossil/github source code management systems check-in: a59d412f59 user: ab tags: trunk
15:45
{5757} fixed Delphi 10.3 compilation check-in: ecc5b85c34 user: ab tags: trunk
15:22
{5756} deep refactoring of SynCommons.pas and mORMot.pas to move code into SynTable.pas - trying to reduce bloated size of those units, which tends to make the IDE very unstable check-in: 7148a6fa61 user: ab tags: trunk
15:17
{5755} enhanced cross-compiler string/dynarray internal header access check-in: d63a4f6a0b user: ab tags: trunk
2020-03-02
20:09
{5754} refactored TDocVariant sorting methods check-in: 8b408e2a75 user: ab tags: trunk
20:08
{5753} new overloaded FindPropName() function check-in: 94afbffb75 user: ab tags: trunk
11:37
{5752} try to achieve ms resolution on Windows 8+ using GetSystemTimePreciseAsFileTime() - introducing UnixMSTimeUTCFast() new function when 10-16 ms resolution is enough check-in: 9a8e9b23ad user: ab tags: trunk
09:44
{5751} small refactoring - no functional change check-in: b1a9240dec user: ab tags: trunk
2020-03-01
18:32
{5750} optimized variant arrays QuickSort check-in: a5482082af user: ab tags: trunk
18:31
{5749} optimized (AnsiString) dynamic arrays clearing process check-in: 3953ebe717 user: ab tags: trunk
2020-02-28
18:49
{5748} deep rewrite of dynamic arrays clearing process - for TDynArray/TSynDictionary and also at lower level - for better performance and consistency check-in: ea62c390fa user: ab tags: trunk
11:38
{5747} refactored TSynInvokeableVariantType/TDocVariant property lookup check-in: 781fa95be8 user: ab tags: trunk
11:35
{5746} optimized FindShortStringList* functions check-in: 0240c86985 user: ab tags: trunk
11:32
{5745} optimized GetNextItemShortString/GetNextTChar64 check-in: 004a8c47ea user: ab tags: trunk
2020-02-26
11:11
{5744} fixed longstanding bug in TDocVariantData.InitJSONInPlace check-in: a1b612b1c2 user: ab tags: trunk
10:45
{5743} introducing JSONToVariant/JSONToVariantInPlace - after fixes from https://github.com/synopse/mORMot/pull/274 check-in: a583e69e11 user: ab tags: trunk
07:57
{5742} FillZero() rewrite - no functional change check-in: 8272390537 user: ab tags: trunk
2020-02-25
18:51
{5741} rewritten FastFindWordSorted() x86_64 asm as a branchless loop check-in: 711e4b96dd user: ab tags: trunk
18:32
{5740} optimized TSQLModel.GetTableIndex/GetTableIndexPtr check-in: b85b33dc7f user: ab tags: trunk
18:32
{5739} optimization pass - especially about FastFindPUTF8CharSorted() and IntegerScan/Index/Exists Int64Scan/Index/Exists check-in: 10500a3d26 user: ab tags: trunk
18:29
{5738} new AnyScanExists() function check-in: 5520166218 user: ab tags: trunk
07:20
{5737} actual changes to prefer "mov eax,-1" to "or eax,-1" which is sometimes slower due to an unexpected dependency to previous eax value :) check-in: 12c15038e3 user: ab tags: trunk
07:19
{5736} prefer "mov eax,-1" to "or eax,-1" which is sometimes slower due to an unexpected dependency to previous eax value check-in: 35c2fa27e4 user: ab tags: trunk
07:18
{5735} enhanced FastFindIntegerSorted/FastFindInt64Sorted x86_64 asm to use branchless implementation check-in: 300be0a304 user: ab tags: trunk
2020-02-24
20:09
{5734} added FastFindIntegerSorted/FastFindInt64Sorted/FastFindWordSorted in fast x86_64 asm check-in: 7bc6b02066 user: ab tags: trunk
17:40
{5733} reimplemented crc32cfast() in fast x86_64 / i386 asm using Maxim feedback check-in: 2252d725bf user: ab tags: trunk
11:27
{5732} (hopefully) last try to circumvent Delphi 2010 compilation bug check-in: 25ac91e5c3 user: ab tags: trunk
11:16
{5731} try to circumvent Delphi 2010 compilation bug check-in: a17132b166 user: ab tags: trunk
11:13
{5730} favor movaps/movups against movadq/movudq since it performs the same and is one byte shorter - also includes minor x86_64 asm refactoring check-in: 26c04e2737 user: ab tags: trunk
2020-02-23
11:50
{5729} fixed some keyboard typo just before commit! :( check-in: ba1a1803d4 user: ab tags: trunk
2020-02-22
10:14
{5728} some fixes to TRawUTF8List - mainly documentation and thread-safety check-in: 3b88751d91 user: ab tags: trunk
2020-02-21
17:25
{5727} defined CPUX64LINUX conditional, e.g. to add tuned server-side asm check-in: 4cff2e1997 user: ab tags: trunk
16:44
{5726} fixed samples compilation - from https://github.com/synopse/mORMot/pull/258 check-in: 883b88cdef user: ab tags: trunk
16:41
{5725} minor fix in SynCrtSock.InternalSendRequest - from https://github.com/synopse/mORMot/pull/273 check-in: 10dae68d39 user: ab tags: trunk
16:37
{5724} extended UrlEncodeJsonObject to allow exclusion of query delimiter ('?') from https://github.com/synopse/mORMot/pull/272 check-in: 6a9df302e4 user: ab tags: trunk
16:22
{5723} SOA code refactoring after TRawUTF8List rewrite check-in: 07d395c464 user: ab tags: trunk
16:20
{5722} full rewrite of TRawUTF8List - confusing TRawUTF8ListHashed/Locked are now deprecated and will be removed soon check-in: 28a7876602 user: ab tags: trunk
16:17
{5721} rewritten crc32csse42() for Win32/Linux32 check-in: 915c283293 user: ab tags: trunk
16:16
{5720} several fixes and enhancements to TDynArray check-in: 17f4a9e193 user: ab tags: trunk
16:14
{5719} new overloaded FindRawUTF8(PRawUTF8) efficient search function check-in: 5356dfdc59 user: ab tags: trunk
16:13
{5718} new i386/x86_64 asm version of Hash32() - twice faster than pure pascal code check-in: 474b8c45c7 user: ab tags: trunk
16:11
{5717} enhanced Darwin compatibility check-in: effbca87b9 user: ab tags: trunk
2020-02-19
14:20
{5716} fixed framework version which was 200 numbers behind reality due to https://synopse.info/fossil/info/c53e884c8efe2a1c check-in: 4aa0ad1a80 user: ab tags: trunk
14:15
{5515} fixed THttpApiServer.Execute check-in: 6d00d4e081 user: ab tags: trunk
11:24
{5514} fixed Delphi Win64 compilation and included some other asm optimizations check-in: 1928e9192b user: ab tags: trunk
01:23
{5513} enhanced some internal ORM comparison functions check-in: d110f81131 user: ab tags: trunk
01:23
{5512} avoid performance penalty on Intel CPU due to TVarData.VType field being 16-bit check-in: 3429cfe5e4 user: ab tags: trunk
2020-02-18
23:18
{5511} deep rewrite of our TSQLRestStorageInMemory NoSQL engine as used by TSQLRestServerFullMemory check-in: 647a888d04 user: ab tags: trunk
22:59
{5510} slightly optimized FillCharFast() check-in: 90ae7a20d2 user: ab tags: trunk
22:19
{5509} slightly optimized crc32c_sse42_aesni() check-in: 82aab58bdb user: ab tags: trunk
22:18
{5508} get rid of unneeded TObjectHash - we can use TDynHasher instead check-in: ec59c65f99 user: ab tags: trunk
22:17
{5507} ensure TDynArray down resize won't reallocate memory each time for T*ObjArrays check-in: 3e392e4efd user: ab tags: trunk
22:16
{5506} optimization via branchless comparison and explicit byte() conversion check-in: 836b5a90b2 user: ab tags: trunk
22:14
{5505} use MoveFast() when MoveSmall() has little benefit check-in: 0b5e0fd18b user: ab tags: trunk
22:10
{5504} published RawObjectsClear() for efficient FreeAndNil() over an array of objects check-in: b04f578f36 user: ab tags: trunk
12:37
{5503} enhanced regression tests - especially about sorting/comparison functions check-in: c98c107ad2 user: ab tags: trunk
12:37
{5502} hardened RecordSave(TSynTempBuffer) check-in: 88d7079047 user: ab tags: trunk
12:34
{5501} fixed comments/documentation check-in: 70ca8e19a5 user: ab tags: trunk
12:33
{5500} new optimized asm versions of most-used sorting/comparison functions check-in: a9260a5b4b user: ab tags: trunk
12:32
{5499} refactored TRawUTF8ListHashed check-in: 36ae6397e1 user: ab tags: trunk
12:31
{5498} enhanced TDynArrayHasher/TDynArrayHashed check-in: 0360ff1aa6 user: ab tags: trunk
12:29
{5497} optimized ToVarUInt32/ToVarUInt64 functions check-in: 25a40b92b0 user: ab tags: trunk
12:26
{5496} new TSortedIntegerArray object storage check-in: 230e9ba953 user: ab tags: trunk
2020-02-17
09:55
{5495} overloaded TSynTestCase.NotifyTestSpeed() method check-in: dc12d11cfe user: ab tags: trunk
09:42
{5494} introducing TPrecisionTimer.Started/StopInMicroSec check-in: af830a0313 user: ab tags: trunk
09:13
{5493} new overloaded UrlEncodeJsonObject() with explicit copy of the JSON input buffer check-in: 668368aeba user: ab tags: trunk
08:49
{5492} allow TServiceFactoryClient custom class - https://github.com/synopse/mORMot/pull/271 from Sakura1977 check-in: c908a6a6a6 user: ab tags: trunk
2020-02-16
11:26
{5491} some fixes for hash reduction in TDynArrayHasher/TSynDictionary check-in: daa3dd9857 user: ab tags: trunk
2020-02-15
23:07
{5490} use Lemire's algorithm for hash reduction in TDynArrayHasher/TSynDictionary allowing to use primes with no costly integer modulo computation (especially for CPU64 or FPC compilers with efficient 64-bit multiplication) check-in: 0a8d239214 user: ab tags: trunk
12:42
{5489} fixed Mac OS X compilation check-in: 0d97ec5bce user: ab tags: trunk
12:32
{5488} extract TDynArrayHasher logic from TDynArrayHashed storage - better SOLID design to enable hashing logic reuse check-in: bb1414ffc3 user: ab tags: trunk
10:19
{5487} enhanced regression tests check-in: 7b71e5a467 user: ab tags: trunk
10:06
{5486} TDynArrayHashed refactoring - enhanced logic and use prime modulos for higher ranks check-in: 4494cd64ac user: ab tags: trunk
10:05
{5485} enhanced TObjectListHashed deletion check-in: b117925e3f user: ab tags: trunk
10:03
{5484} refactored TDynArrayHashed.FindHashedAndDelete and its associated sse2/avx2 asm check-in: 325ae1940a user: ab tags: trunk
10:01
{5483} non-temporal move/fill optimization check-in: 34ad7528dd user: ab tags: trunk
10:00
{5482} crc32c asm optimization check-in: 544170c6eb user: ab tags: trunk
09:57
{5481} record/object use refactoring - no need to mess with the compiler/IDE if there is no managed field involved check-in: 02f60697cc user: ab tags: trunk
09:54
{5480} avoid GPF in THttpServer.Destroy when socket was not opened - thanks Macc2010 for the report! check-in: 4cf75d28b7 user: ab tags: trunk
2020-02-13
17:49
{5479} minor update - no functional change check-in: 65e4d5db3e user: ab tags: trunk
17:38
{5478} new AVX code for MoveFast() for 30% speed increase - also fixed a problem in SSE2 non-temporal move check-in: e659409937 user: ab tags: trunk
15:44
{5477} try to circumvent missing files after rsynch to github repository check-in: 8d60b4bde8 user: ab tags: trunk
15:41
{5476} running TestSQL3 without the SQlite3-64 dll on XE4 won't create a GPF check-in: 8ae1101d93 user: ab tags: trunk
15:40
{5475} enhanced TSynTestCase.NotifyTestSpeed check-in: 48f8685d6d user: ab tags: trunk
15:38
{5474} TDynArrayHashed and TSynDictionary will now delete much faster and use half memory for their internal hash table (only one 32-bit integer per slot) - won't fully rehash at deletion: introducing a new algorithm and very nice SSE2/AVX2 simd code for very fast indexes adjustment in the hash table check-in: a200d83ce5 user: ab tags: trunk
15:36
{5473} regression tests for MoveFast() and FillCharFast() - with proper timing check-in: e592349cac user: ab tags: trunk
15:34
{5472} new FillCharFast() x86_64 optimized assembly function for SSE2 and AVX check-in: 87949d9e0b user: ab tags: trunk
15:33
{5471} new MoveFast() x86_64 optimized assembly function check-in: 3bf5d4c77d user: ab tags: trunk
15:26
{5470} refactored TPrecisionTimer - especially fixing Pause/Resume process check-in: c8cfb1665e user: ab tags: trunk
15:19
{5469} fixed TSQLRestStorageInMemory.SearchField check-in: 26f50ca370 user: ab tags: trunk
15:10
{5468} circumvent Delphi 2007 "C1632 internal error" bug check-in: 1ef8add4de user: ab tags: trunk
2020-02-10
13:35
{5467} documentation update check-in: 7db8ad1d9c user: ab tags: trunk
13:14
{5466} fixed Delphi compilation check-in: fed78becd6 user: ab tags: trunk
11:37
{5465} huge TDynArrayHashed/TSynDictionary optimizations: use twice less memory, and no full ReHash on deletion check-in: 9436a3ba84 user: ab tags: trunk
11:34
{5464} fixed TDynArray.Find with too optimistic optimization check-in: bc6d823e53 user: ab tags: trunk
11:33
{5463} introducing x86_64 optimized assembly for SortDynArrayAnsiString() check-in: f66caf9f4a user: ab tags: trunk
11:31
{5462} let TTimeLog use up to 40 bits, allowing year 0..9999 as per the ISO-8601 standard check-in: 139f30b6c0 user: ab tags: trunk
11:28
{5461} fixed TOracleDate limitation to 0..4095 range check-in: c04412b0b6 user: ab tags: trunk
2020-02-07
20:39
{5460} introducing GetBitsCountPtrInt() - with SSE4.2 popcnt use if available - as used also by GetBitsCount() check-in: 7ce8f3dd3f user: ab tags: trunk
20:33
{5459} ensure clock_gettime() Posix API is checked at startup check-in: 375210a39c user: ab tags: trunk
20:32
{5458} optimized TDynArrayHashed.ReHash for most common cases check-in: f44f393cd7 user: ab tags: trunk
2020-02-06
20:51
{5457} let MVC Blog sample 30 web pages include the generation time in its footer check-in: 1d6fc60089 user: ab tags: trunk
20:51
{5456} circumvent FPC memory leaks about variant in MVC Web Blog sample 30 check-in: 9c4d54d8ab user: ab tags: trunk
20:50
{5455} enhanced DotClearFlatImport() image process for MVC Web Blog sample 30 check-in: 0c36638c0d user: ab tags: trunk
20:48
{5454} deep mORMot MVC enhancements, for better performance and stability, especially under FPC/Linux check-in: bab2225b01 user: ab tags: trunk
20:46
{5453} fixed memory leak appearing only on FPC with variant function results - mORMot MVC did suffer from it check-in: dfdfc414d3 user: ab tags: trunk
20:45
{5452} introducing CacheControlMaxAge optional parameter to TSQLRestServerURIContext.Returns* methods check-in: 60c48ea74f user: ab tags: trunk
20:42
{5451} new FoundInTemplate() methods for SynMustache check-in: 80613bd3bb user: ab tags: trunk
20:42
{5450} minor JWT refactoring - no functional change check-in: 0a0c92a4e3 user: ab tags: trunk
20:41
{5449} new OutStatus optional parameter to THttpRequest Get/Post/Delete/Put class functions check-in: d537f191c3 user: ab tags: trunk
20:41
{5448} Curl HTTP requests will follow redirections by default, just like TWinHTTP check-in: 9b8541e38e user: ab tags: trunk
20:38
{5447} optimized Split() functions for FPC check-in: 0af47744d3 user: ab tags: trunk
20:38
{5446} new aValueOwned optional parameter to TDocVariantData.AddValue() check-in: 5e60ecf429 user: ab tags: trunk
20:37
{5445} minor code refactoring in implementation section - no functional change check-in: 12768858c5 user: ab tags: trunk
20:35
{5444} fixed long-standing bug in TNameValuePUTF8Char/JSONDecode on FPC/x86_64 check-in: 967e9d300d user: ab tags: trunk
20:34
{5443} new TRawUTF8List.Contains method check-in: 42099cb9cc user: ab tags: trunk
20:33
{5442} ensure dynamic arrays are made unique before their items are deleted/modified if RefCount>1 check-in: ba179e5c93 user: ab tags: trunk
20:29
{5441} new TTextWriter.PropName method - fixes e.g. record serialization in extended JSON mode check-in: 8eba1ba0b6 user: ab tags: trunk