mORMot2 DailyDaily read of upstream commits

26 commits landed upstream

This edition has not been reviewed yet: the entries below are classified automatically from commit messages and diffs, without an editorial pass. Treat the categories as hints and follow the commit links for the truth.

Build2.4.16579 → 2.4.16604
Commits26
Lines+839 -830
Read1 min

26 of 26 entries · 26 commits upstream

# Entry Category Units
1 Critical core: fixed TRWLightLock.WriteLock - as reported by #557 - this was an awful race condition, which would corrupt the logic and maybe the memory when updating data Fixesauto mormot.core.os 7dd5c8c6+30-27

Arnaud Bouchez · 18:08 UTC · PR #557 · view the commit on GitHub →

2 High crypt: moved RandomIdentifier/RandomUtf8 from mormot.core.text - it is safer to use ThreadRandom e.g. durint the regression tests Fixesauto mormot.core.text+1 2ae4fa82+229-101
3 High soa: fixed awful missing ReadOnlyUnLock call - during TServiceFactoryServer.RetrieveInstance - would appear on FPC Linux but not on FPC Windows because of HASFASTTRYFINALLY Fixesauto mormot.rest.server+1 00693ed1+10-18
4 High orm: fixed ValueVarToVariant NULL replacement leak Fixesauto mormot.orm.base 1d68cdff+11-1
5 Medium core: fixed Assert() at startup on Delphi Fixesauto mormot.core.datetime+1 68c567e3+5-5
6 Medium lib: fixed SSPI exception message Fixesauto mormot.lib.sspi 41d58ff1+3-3
7 Medium crypt: Non Cryptographic Random Generators for Testing or IV Filling - via a new ThreadRandom function in mormot.crypt.core - initialized not from XorEntropy() but from stronger Random128/RandomLecuyer New featuresauto mormot.crypt.core c55676af+189-159

Arnaud Bouchez · 16:30 UTC · view the commit on GitHub →

8 Medium tests: rewritten all TLecuyer usage - use the new RandomThread instances - no need to propagate local transient instances any more New featuresauto 3f2450f6+50-45

Arnaud Bouchez · 16:39 UTC · view the commit on GitHub →

9 Medium net: new NetRandom32 function - lighter than plain shared Random32 on thread contention (non blocking sequence) - used e.g. for DHCP XID or WebSockets masking New featuresauto mormot.net.dhcp+3 18ce15f9+22-15
10 Medium crypt: moved RandomByteString() from mormot.core.os to mormot.crypt.core - to use the new ThreadRandom function New featuresauto mormot.core.os+1 e464080a+15-15
11 Medium core: new RawGlobalTime() OS call with no cache New featuresauto mormot.core.datetime 1a1c6698+24-2

Arnaud Bouchez · 16:24 UTC · view the commit on GitHub →

12 Medium core: new Random128(var Value: RawByteString) overload New featuresauto mormot.crypt.core+2 43b91835+14-6
13 Medium crypt: new IsIdentifierGuid() function New featuresauto mormot.crypt.core 3e4d55fd+10-2

Arnaud Bouchez · 10:02 UTC · view the commit on GitHub →

14 Medium core: rewritten FromGlobalTime() function - to use the new RawGlobalTime() OS wrapper - less contention using a RW lock - CAS clocktix acquisition to avoid syscalls Performanceauto mormot.core.datetime+1 f8774990+13-23
15 Medium net: optimized TWebSocketFrameList.Pop Performanceauto mormot.net.ws.core 3404e4eb+4-4

Arnaud Bouchez · 18:28 UTC · view the commit on GitHub →

16 Low core: removed all buggy/misleading/invalid RCU*() functions Fixesauto mormot.core.base 219d970d+2-86

Arnaud Bouchez · 16:23 UTC · view the commit on GitHub →

17 Low core: on Linux, get the env string with the aux vectors - no need to browse the env several times Compiler & platformauto mormot.core.os.posix 4c9333a2+15-18

Arnaud Bouchez · 10:01 UTC · view the commit on GitHub →

18 Low core: moved RandomGuid() to mormot.crypt.core - to use stronger and less blocking Random128() generator Under the hoodauto mormot.core.base+4 7c87152d+80-80
19 Low core: moved TSynTestCase.RandomTextParagraph - into mormot.crypt.core unit Under the hoodauto mormot.core.test d2de3e52+11-128

Arnaud Bouchez · 16:37 UTC · view the commit on GitHub →

20 Low all: refactoring since TLightLock is now 32-bit Under the hoodauto mormot.core.os+13 890f8314+20-20
21 Low net: rewritten function NetRandom32 - to use crc32c HW opcode for 32-bit distribution - still atomic, and exactly 2^32 wide Under the hoodauto mormot.net.dns+3 90df67e4+8-8
22 Low core: some refactoring with no functional change Under the hoodauto mormot.core.base+3 a7de70bb+4-8
23 Low lib: enhanced SSPI exception error message content Housekeepingauto mormot.lib.sspi 455bed18+43-30

Arnaud Bouchez · 16:17 UTC · view the commit on GitHub →

24 Low core: use ThreadRandom function whenever possible Housekeepingauto mormot.core.base+3 07235e3e+14-13
25 Low core: TLightLock now is 32-bit not PtrInt Housekeepingauto mormot.core.os+1 7a58c705+10-10
26 Low crypt: allow {{ passwordgenerate }} without length Housekeepingauto mormot.crypt.secure 6edaf0b7+3-3

Arnaud Bouchez · 10:02 UTC · view the commit on GitHub →

Upstream activity commits per day · last 60 days
Commits977
Active days44/60
Busiest2026-09-30
Peak60
2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 26 commits2026-08-28: 11 commits2026-08-29: 10 commits2026-08-30: 1 commit2026-08-31: 23 commits2026-09-01: 0 commits2026-09-02: 20 commits2026-09-03: 29 commits2026-09-04: 35 commits2026-09-05: 13 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 23 commits2026-09-09: 10 commits2026-09-10: 17 commits2026-09-11: 23 commits2026-09-12: 14 commits2026-09-13: 9 commits2026-09-14: 7 commits2026-09-15: 4 commits2026-09-16: 24 commits2026-09-17: 26 commits2026-09-18: 21 commits2026-09-19: 59 commits2026-09-20: 13 commits2026-09-21: 5 commits2026-09-22: 34 commits2026-09-23: 17 commits2026-09-24: 57 commits2026-09-25: 22 commits2026-09-26: 26 commits2026-09-27: 0 commits2026-09-28: 2 commits2026-09-29: 19 commits2026-09-30: 60 commits2026-10-01: 26 commits2026-10-02: 30 commits2026-10-03: 32 commits2026-10-04: 15 commits2026-10-05: 1 commit2026-10-06: 26 commits2026-10-07: 37 commits2026-10-08: 27 commits2026-10-09: 35 commits2026-10-10: 33 commits2026-10-11: 9 commits2026-10-12: 11 commits2026-10-13: 35 commits
2026-08-152026-10-13