All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Fix races, unbounded growth and per-request locking in the security lists (2026-09-10 – tempraturbo) TRALSecurity is consulted on every request of every engine, and the lists it keeps were locked three times per request to answer nothing: CheckBlockClientIP asked Exists on the black and white lists whatever the options said, and UnblockClient walked the blocked list on every successful request. All three sit behind IsEmpty now, and IsEmpty reads the count without the lock - the answer was already stale the instant it returned either way. That cost nothing while Nagle held each connection to ten requests a second; at a few thousand a second with hundreds of threads it is a convoy. BlockClient and CheckFlood checked and then inserted through two separate acquisitions. Two threads both found nothing, both built an object, and the sorted list's dupIgnore swallowed the second insert without a word: the loser leaked and the try counter went back to one, so the attempt that should have crossed MaxTry did not. Both hold the lock across the whole sequence now, and so does TRALWebModule.CreateSession, where the same gap between drawing the session GUID and inserting it handed two clients one session. TRALStringListSafe.AddObject reports whether it inserted, which is what makes that trap visible at all. The blocked list grew forever: BlockClient ran from the 401 and 403 labels whatever the options said, nothing read those entries back with rsoBruteForceProtection off, and ClearExpiredIPs refused to prune them. Blocking follows the option now, pruning follows ExpirationTime, and ClearExpiredIPs runs at the top of ValidateRequest instead of the last line, which the 413 and 415 branches skip by exiting. A verb outside AllowedMethods answers 405 and counts nothing. It used to land on the 403 label, which counts a failed try and fires OnClientBlock, so three preflights locked an address out for the whole ExpirationTime. Unchanged on purpose and marked in the code: CheckFlood still counts the first request of every address as a flood, because TRALClientList.Create stamps LastAccess with Now.
-
Add SSL.Pin, SSL.Required and OnValidateServerCert to the client (2026-09-08 – tempraturbo) A client can now say which server certificate it accepts, with nothing installed on the machine: SSL.Pin holds the SHA-256 of the expected certificate, OnValidateServerCert takes the decision in code, SSL.Required refuses plain http. They live on TRALClient and not on an engine, which is what keeps them identical whatever EngineType is set to - each engine only translates its own callback into TRALCertInfo, the same record on every compiler and platform, and asks TRALClientHTTP.AcceptServerCert, where the single rule lives: the event decides, else the pin, else the engine's own verdict. Same shape as SetTransportError for the retry rule. Defaults are untouched, and that is checked and not assumed: plain http and https against a public CA answer 200 on every engine with neither property set. In particular Indy and fpHTTP still do not verify certificates at all unless one of the two asks for it - enabling that for everyone would break plain HTTPS on Windows, where the OpenSSL they load has no certificate store. Where an engine cannot produce a fingerprint it refuses the request and names itself, instead of comparing something weaker - a security option that quietly degrades is worse than one that refuses. That is netHTTP on every platform (the RTL's TCertificate carries no fingerprint) and mORMot2 when it falls back to SChannel, which never calls the TLS callbacks. Four engine details that are easy to get backwards, and are documented in CLAUDE.md:
- netHTTP: on Windows the RTL calls OnValidateServerCertificate from SENDING_REQUEST exactly when its own validation PASSED, handing Accepted = True so the application may veto a good certificate. The handler is therefore hooked up per request and only when asked, and TRALCertInfo.Trusted comes from that incoming verdict.
- mORMot2: IgnoreCertificateErrors maps to SSL_VERIFY_NONE and makes it skip the callback entirely; and the TLS context is reset with InitNetTlsContext on every connection, because TCrtSocket.Open copies it back into the caller's record once connected.
- mORMot2: the callback fires per chain link with no depth, so the verdict is taken after the handshake and before the first byte goes out.
- fpHTTP: VerifyPeerCert aborts the handshake before its own callback runs, and PeerFingerprint returns raw bytes, not hex. Exercised against a TLS server with a self-signed certificate and against a public HTTPS server: Indy, mORMot2 and netHTTP on Delphi (Win32/Win64), fpHTTP and mORMot2 on FPC 3.2.2.
-
Fix brute-force blocking at the first wrong password, and the flood list growing forever (2026-09-06 – tempraturbo) The blocked list is where TRALSecurity counts failed tries, and CheckBlockClientIP only tested membership: with rsoBruteForceProtection one 401 locked the client out until ExpirationTime, whatever MaxTry said. It now blocks from MaxTry failed tries on (below 1 means 1); a successful login keeps clearing the counter, and every failure renews LastAccess so the expiration counts from the last attempt. ClearExpiredIPs, called on every request, also trims the flood list: with rsoFloodProtection it gained one entry per distinct source address and never lost any. Entries idle for a minute, or ten times FloodTimeInterval, go. BlockedCount and FloodCount expose both sizes.
- Breaking: JWT callbacks take a method, and a renew keeps the payload expiration (2026-09-07 – tempraturbo) TRALOnTokenJWT - behind TRALServerJWTAuth.OnGetToken and .OnValidate - was the only callback in RALAuthentication.pas declared without "of object"; TRALOnValidate, TRALOnBeforeGetToken, TRALOnResolve and TRALOnGetTokenSecret, declared in the same block, all have it. TRALServerBasicAuth.OnValidate already took a method while TRALServerJWTAuth.OnValidate, same property name and same unit, took a plain procedure. Nothing needed it that way: the library calls both directly, with no RTTI in between. What it cost the caller is real - deciding who gets a token means reading a database, so the handler wants the object that owns the connection, and a plain procedure has no Self. Assigning one now stops compiling with E2009; the caller turns the handler into a method. Nothing inside src/ assigned them, so it lands entirely downstream. The second one is a plain defect. GetToken writes the expiration only when FExpSecs > 0, leaving zero to mean "the payload owns the exp" - how an application ties a token to something else's lifetime, setting Expiration from OnGetToken. RenewToken did the same assignment unguarded, so with ExpirationSecs = 0 a renew wrote IncSecond(Now, 0) = Now and handed back a token that had already expired, in the same second. Same field, same object, two different rules. With a non-zero ExpirationSecs nothing changes.
-
Add OnBeforeExecute and OnAfterExecute to the client (2026-09-12 – tempraturbo) Both live in TRALClientHTTP.BeforeSendUrl, the single funnel every engine already goes through, so one implementation serves all six engines on Delphi and FPC without touching an engine unit. They report an attempt, not a call: the BaseURL failover and the 401 resend fire the pair again with Attempt one higher, which is the only way a handler can see the failover and time the right thing. OnBeforeExecute runs after the URL and its TLS policy are settled and before any network work, the token fetch included, and may refuse the attempt through ACancel/ACancelReason - failing it with the new rteCancelled, appended so every existing TRALTransportError value keeps its ordinal and CanSwitchURL's else already declines to resend it. OnAfterExecute always pairs with it, the refusal included, so a handler may count in one and discount in the other.
-
Speed up the request path; fix StringToBytesUTF8 destroying invalid bytes (2026-09-10 – tempraturbo) The class registries kept only the class NAME and went through GetClass on every lookup, and System.Classes.GetClass takes MonitorEnter on the RTL class registry - a process-wide lock, taken a handful of times per request because GetBestCompress takes one per registered compressor. The registration routines already receive the class, so they keep the pointer now: compressors in an array indexed by the enum, engines and database drivers in the Objects[] of their definition list, storage links cached on first use. Name comparison no longer leaves StringRAL. On Delphi SameText has no AnsiString overload and converted both sides from UTF-8 to UTF-16 on every call - two heap allocations per comparison, in lookups that run once per param of every request. RALSameName compares ASCII byte by byte and hands anything above 127 back to the RTL, so case equivalence is unchanged. It reaches the param and route lookups, IsTyped, DecodeAuth on every engine, the JWT claims, multipart part headers, cookies and the storage field lookups. StringToBytesUTF8 was calling TEncoding.UTF8.GetBytes over a string that is already UTF-8: a full round trip that also substituted U+FFFD for every invalid sequence, which is what RALHashBase works around with HMACAsDigest. It moves the bytes straight through now, matching BytesToStringUTF8. FixRoute walks the string once instead of rebuilding it per pair of slashes, HTTP method names and TFieldType names go through memoised tables instead of RTTI, and CheckCORS stops building the allowed-method list when OPTIONS is not allowed. Measured on the mORMot2 sample, 70300 requests per server: 22 to 25 percent less CPU per request and 37 to 51 percent more throughput at 50 concurrent connections, with p99 latency down by about a third. Behaviour is unchanged - an equivalence program compared old and new over every route shape, name, verb, encoding header and field type.
-
Turn SSL.Pin into SSL.Pins, resolved per connection (2026-09-08 – tempraturbo) One pin was the wrong shape for the case that actually shows up: an application talks to several servers with different characters - some with a certificate from a public CA, some self-signed - and only the second kind should be pinned. With a single value, pinning one server broke every other one, because "a pin is set" was a property of the client instead of a question about where it was going. SSL.Pins is a list, one line each: AB12CD... accepted from any host 192.168.0.11=CD34EF... accepted only from that host 10.0.0.7:8443=90FFEE... only from that host on that port [2001:db8::1]:9988=1234... IPv6 goes in brackets and the rule is per connection: if any line applies to the host being called, only a certificate whose SHA-256 is one of those lines is accepted, even one the machine's store trusts; if no line applies, the certificate is validated as usual. That is what leaves the public CA servers alone - they need no entry and nothing breaks when they renew - and it is also why "this engine cannot pin" now raises only when a pin applies to the connection at hand, instead of on every call the moment a pin existed anywhere. Several lines for the same host all count, which is how a certificate is rotated without a window where nothing connects. The place and the hash are separated by '=' and not by ':' because both sides are full of colons: AB:CD:... as openssl prints a fingerprint, and [::1]:8443 for an IPv6 host. RALSplitHostPort is the single place that parses either, and it is published, so whatever writes this configuration can read it back the same way: brackets mean the port comes after ']', a single colon separates a port, and more than one colon without brackets means the whole thing is an IPv6 address. TRALCertInfo also carries Host and Port now - filled by RAL itself, so no engine had to change - which is what lets one OnValidateServerCert handler serve several servers with policies the list cannot express. Matrix run on both compilers: 68 cases on Delphi Win32 and 53 on FPC 3.2.2 Win64, no failures, including a pin for one host leaving a public CA server reachable on the very engine that cannot pin at all.
-
Add SSL.Verify, and report a refused certificate as rteCertificate (2026-09-08 – tempraturbo) Two gaps the certificate work left behind, both found by running the whole matrix rather than by reading it. SSL.Verify says what the ENGINE does about the certificate, which until now was not the same thing everywhere and could not be changed: netHTTP and mORMot2 validate, Indy and fpHTTP do not verify at all, and the only way to get either behaviour was to pick an engine. svEngine (the default) keeps exactly what each one already did, so nothing moves for anybody; svAlways turns verification on where it is off; svNever accepts anything. It only decides when there is neither a pin nor an event - those two, when set, are the decision. Each engine implements only the direction it lacks. A refused certificate now reports TransportError = rteCertificate on every engine, so a caller can tell it apart from a server being down without matching message text - which is what it had to do before, since the four engines word it differently. The value is last in the enum, so the four that were there keep their ordinal, and CanSwitchURL never resends it: its else already declines what it does not know. Getting that classification right needed one thing per engine, none of them guessable:
- Indy raises EIdOSSLUnderlyingCryptoError when OpenSSL refuses (SSL_ERROR_SSL, not the EIdOSSLConnectError the message text suggests), and something indistinguishable when our own callback refuses - hence a flag.
- fpHTTP reports every refusal as a failed connect, so it needs the same flag; and svAlways goes through the callback instead of VerifyPeerCert, which aborts the handshake before FPC ever calls it and throws the reason away.
- mORMot2 folds every TLS cause into one formatted message, and the usable signal is ENetSock.LastError = nrUnknownError - what ENetSock.Create stores when the raise carried no TNetResult, as DoTlsAfter's does, while a real transport failure carries nrRefused or nrTimeout. In that engine RAL also leaves through SetTransportError instead of raising: a raise inside SendUrl is caught by SendUrl's own handler, reclassified as a transport failure, and the message replaced by the response body - which was still carrying the multipart boundary of the request. Matrix run again after the change, certificate (public CA, self-signed) x case (no pin, right pin, wrong pin, event accepts, event refuses, svAlways, svNever) x engine: 56 cases on Delphi Win32 and 42 on FPC 3.2.2 Win64, no failures, and every refusal classified.
-
Fix a response leaked on every request that fails at transport level (2026-09-08 – tempraturbo) ExecuteSingle creates the response and hands it over through the return value, which the var-AResponse overloads assign at the call site. When BeforeSendUrl raises - and any transport failure makes it raise - that assignment never runs: the caller is left with nil, has nothing to free, and the response is orphaned along with its params, streams and crypto options. One whole response per failed request, which a client polling a server that goes up and down accumulates quietly, since the failure is already handled. AcquireEngine can raise as well, when the engine class is not registered, and the finally ran anyway - freeing an uninitialised pointer.
-
Fix the fpHTTP server thread freed alive, Sagui thread pool set after listen, SQLite busy waits and sqldb library loading under concurrency (2026-09-07 – tempraturbo) All four found by the new connection-pool suite of the orchestrator. TRALfpHttpServerThread.Destroy never called inherited, so TThread.Destroy never terminated or waited for the thread: a server stopped with Active := False and then freed left its accept loop alive on freed memory with the port still bound, and the next connection to that port took the process down (the access violation once blamed on AcceptIdleTimeout, and most likely the Linux process that would not exit). The destructor now terminates and waits first, Active := False makes the wake-up GET itself so the port is free at once, and connections run on the RAL's own thread class so the server is only freed after every handler is gone (fcl-web decrements ConnectionCount before the thread leaves the list its destructor frees). TRALSaguiServer applied PoolCount after sg_httpsrv_listen, where libsagui ignores it, so every request was served on one thread. Eight concurrent writers on SQLite lost rows to SQLITE_BUSY on the FPC drivers: Zeos gets busytimeout=10000 when the user set none, sqldb calls sqlite3_busy_timeout after the open. Eight sqldb connections opening at once crashed in the non-thread-safe reference counts of sqlite3dyn and ibase60dyn: open, close and free are serialized in a unit-level lock, queries still run in parallel.
-
Fix response cookies on every engine, JWT client payload, port change on a live server, Indy keep-alive, multipart edge cases; stop copying the received body twice (2026-09-06 – tempraturbo) A response cookie is an rpkCOOKIE param and every engine now builds its Set-Cookie lines from TRALResponse.GetParamsCookies: a param named Set-Cookie holds a complete cookie text (what AddCookie(TRALCookie) stores) and goes out as it is, a plain name=value gets CookieLife. mORMot2 wrote every cookie param as a header named after the cookie, Indy and fpHTTP turned the Set-Cookie param into a cookie called Set-Cookie, so TRALServerJWTAuth.UseCookie never produced a usable raltoken. The netHTTP client hands response cookies over as rpkCOOKIE params too: WinHTTP keeps Set-Cookie for its jar and does not list it. TRALClientJWTAuth.SetToken decodes the payload as base64url, as RFC 7515 defines the segments. TRALIndyServer.SetPort and TRALSaguiServer.SetPort call inherited before reactivating, so the rebind uses the new port. Indy treats HTTP/1.1 as persistent unless the client says close. The multipart decoder no longer gives an empty part a negative size, and the encoder's boundary is random instead of the clock. GetSuportedCompress and GetBestCompress call CheckCompressDefs first. DecodeBody used to copy the engine's stream, decrypt and inflate into new ones, copy the last into the body param and hand it back to the caller, who kept it next to the param's copy: a 100 MB upload went through half a gigabyte. It runs the stages on the caller's stream, hands the one it owns to the param without a copy (TRALParam. AdoptStream) and returns nil; the client response and the server request assemble ResponseStream/RequestStream from the params on demand.
-
Fix JWT time claims, compare secrets in constant time and add OnValidateSQL to TRALDBModule (2026-09-06 – tempraturbo) exp, iat and nbf came from Now (local time) and went through DateTimeToUnix, which treats its input as UTC: a token issued at UTC-3 claimed to expire three hours early, and tokens from other libraries were read with the zone offset as the error. The claims now go out via RALDateTimeToGMT and come back via the new RALGMTToDateTime, because the AInputIsUTC parameter is not available on every supported compiler. RALSameSecret replaces "=" on the JWT signature and on the Basic user name and password: the plain comparison stops at the first wrong character, so the time to refuse grew with the length of the correct prefix. Every statement opensql, execsql, applyupdates and getsqlfields run comes from the client as text. OnValidateSQL fires before the driver is touched; a refused statement answers 500 with emDBSQLRejected. Unassigned keeps the old behaviour. Found by the new test: TRALDBBufDataset never cleared FOpening after an Open that failed, so every later Open on the same dataset skipped the server and died inside TBufDataset.
-
Fix AES integrity, JWT token issuing and table-name SQL injection (2026-09-04 – tempraturbo) AES: the wire now ends with an HMAC-SHA256 over IV+ciphertext, keyed with SHA-256(key || 'ral-mac') and compared in constant time before a single block is decrypted. A wrong key or a byte altered on the wire raises emCryptInvalidMAC instead of handing back garbage. HMACAsDigest of RALHashBase is public for that; RALSameBytes lives in RALTools. JWT: the token route renews a valid Bearer with its original claims and otherwise only issues through OnGetToken. Without the event it answers 401 instead of signing whatever JSON the client posted, and RenewToken no longer lets the request body rewrite the payload. DB module: GetFields rejects a table name that is not an identifier, since SQLite and MySQL concatenated it straight into the SQL text.
-
Make AES real CBC with a random IV, and validate the padding on decrypt (2026-09-04 – tempraturbo) RALCriptoAES ciphered block by block with no IV and no chaining while the Content-Encription header announced aesNNNcbc_pkcs7. Equal plaintext blocks came out as equal ciphertext blocks, and nothing outside RAL could read the body as the CBC it claimed to be. The wire format is now a random 16-byte IV followed by the ciphertext, PKCS#7 padded; the padding is checked on the way in, so a wrong key or an altered body raises instead of handing back garbage. An empty body stays empty on both sides, since a GET without content still passes through the cipher when the connection is encrypted. This changes the wire: a client and a server on opposite sides of this commit cannot talk to each other, because the old side reads the IV as the first block. Ship both together. The IV comes from RandomBytes, which now uses RtlGenRandom on Windows and /dev/urandom elsewhere; it used to be Randomize plus Random, reseeded from the clock on every call, so two calls in the same millisecond gave the same bytes for the nonce, the token id and now the IV. The per-buffer thread pool that split every stream among RALCPUCount threads is gone. CBC cannot be parallelised on the way in, and it never paid for itself anyway: a hundred-byte body spawned seven threads of sixteen bytes and a Sleep(1) polling loop. The full Delphi matrix went from 1013 s to 147 s. Proven both ways against openssl enc -aes-{128,192,256}-cbc, and by the full matrix: 22172 cases, the cross Delphi x FPC suite with AES in both directions among them.
-
Keep the auth vars list alive for as long as it is used (2026-09-02 – tempraturbo) BeforeSendUrl created vParams inside the "fetch a token" branch and freed it right there, then handed the same variable to SetAuthHeader further down. Worse, when a token already existed the branch never ran at all and SetAuthHeader got an uninitialised variable. Basic and JWT ignore that argument, which is why nothing blew up, but Digest and OAuth read it. The list now lives for the whole iteration and is freed once, at the end.
-
Stop base64 decoding from writing past the output buffer (2026-09-02 – tempraturbo) DecodeBase64 walks whole groups of four and emitted three bytes for every group, valid or not, while GetSizeDecode reserved Round(ASize / 4 * 3) bytes. Any input whose length is not a multiple of four therefore overflows: 54 chars in reserves 40 bytes and writes 42. Nothing in RAL hit it because everything here pads its base64 - except a JWT, whose segments are base64url with no padding. Decoding a token corrupted the heap, which showed up as an access violation inside TRALBase64 and took the server on the other end down with it a moment later. Now only the valid bytes of the last group are written, and the size calculation rounds up instead of to nearest.
-
Feat: Adicionada propriedade LibLocation no DBModule e nos componentes DAC Fix: Limpeza de fonte, ajustes de documentação diversos (2026-09-01 – mobius1qwe)
-
add connection pool to TRALDBModule (2026-08-31 – tempraturbo) New TRALDBConnectionPool in src/database/RALDBPool.pas keeps open TRALDBBase connections and hands them out one request at a time, so the driver no longer has to connect and disconnect on every call. Off by default: with PoolOptions.Enabled = False the module behaves exactly as it did before. Configuration lives in TRALDBModule.PoolOptions - MinSize/MaxSize, WaitTimeout, OnExhausted (HTTP 503 or an overflow connection), QueueSize, IdleTimeout, MaxLifetime, MaxUses and ValidateOnAcquire. TRALDBBase gains the contract the pool needs: Connect, Disconnect, IsConnected, ResetSession, TestConnection and ValidationSQL. Each driver implements ResetSession according to its own transaction model - FireDAC and Zeos roll back a leftover transaction, while SQLDB closes the transaction with caCommitRetaining, which is what persists the request now that the driver is reused instead of being freed. Routes go through AcquireDatabase/ReleaseDatabase, and a pool timeout is answered as HTTP 503. String constant emDBPoolTimeout in the three language files.
-
fix: .AsInt64 Corrigido pra funcionar feat: novo leitor .AsDateTime e .AsDateTime(FormatSettings) para RALParams (2026-08-23 – mobius1qwe)
-
- implementado funcao AddMIMEType, para usuario adicionar um novo MIMEType no sistema - Melhoria para busca de uma extensão para Lazarus - Criado vetor com as extensões antes adicionadas em SetDefaultTypes (2026-07-30 – Fernando Castelano Banhos)
-
feat: capacidade de autenticação via cookie e melhoria de tratamento de cookies (2026-07-28 – mobius1qwe)
-
feat: Adição de instruções para agentes de IA (2026-07-13 – mobius1qwe)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-09-08 – mobius1qwe)
-
Merge remote-tracking branch 'origin/dev' into dev (2026-09-07 – tempraturbo)
-
Merge remote-tracking branch 'origin/dev' into dev (2026-09-07 – tempraturbo)
-
Rename the Portuguese identifiers and comments introduced since 31/08 to English (2026-09-06 – tempraturbo) PascalRAL is a global project and its sources are in English. The work of the last week left 27 Portuguese names behind - locals, fields, a parameter, a global and two methods - plus a few comments; all renamed with the same meaning: IsSocketError, SocketIsDead, Reconnect, FSocketReused, vReusing, vRetry, vAttempt, vStart (fpHTTP and Indy clients); vRepeat, vTriedToken, vList, vPending, vMainThread, vAnswer, vRemaining (RALClient); ACompressMultipart, vFile, vTail, vDashes, vClose, vLast, vSize (RALParams); vEnd (AES, URL coder); vCode, vError (netHTTP); gFirebirdPinned (sqldb); PublishRoute (Swagger); vReplace (FireDAC memtable). The older tratarExcecao of the fpHTTP and netHTTP clients became HandleException in the same pass. Translations of the messages in ralconsts_ptbr and ralconsts_eses are on purpose and stay.
-
Make multipart bodies survive the Sagui engine (2026-09-04 – tempraturbo) libsagui hands every multipart body to its upload machinery, and that machinery materialises only the parts that name a file. RAL named none of them, so typed params, plain bodies and cookies reached the handler empty on a server that answered 200 and looked healthy. Every part now carries a filename, falling back to its own name. The engine also never installed upload callbacks, while TRALSaguiUploadMap.AppendToParams already cast the upload handle to TStream - a cast that could not be true. The callbacks are here now, each part backed by a TMemoryStream, which also spares a temporary file per request. A compressed multipart body cannot work on that path at all: libmicrohttpd parses the parts before any decompression layer exists. Multipart REQUESTS therefore go out uncompressed, and Content-Encoding says so. Responses are untouched - what reads those is RAL's own client, which decompresses first - so they keep compressing, and the negotiation contract with them is unchanged. DecodeBody now decides by the bytes instead of the flag: a body that already starts with a delimiter is not inflated. Two TRALParams in one process are both born with CompressType = gzip and no header connects them, and senders from before this change still send their multipart compressed - a deflate stream opens with 0x1F 0x8B and only a plain one opens with two dashes, so both cases land right. Sagui goes from aborting the run to completing it: 368 cases, and what still fails is the AES transport, where an encrypted body is likewise still declared multipart. Indy x Indy, mORMot2 x netHTTP and mORMot2 x mORMot2 stay at 1046/1046.
-
Merge remote-tracking branch 'origin/dev' into dev (2026-09-02 – tempraturbo)
-
Reconnect instead of retrying on a dead keep-alive socket (2026-09-02 – tempraturbo) KeepConnection is what makes fphttpclient reuse a connection; the header on its own does nothing. It was assigned once in the constructor, so a client with KeepAlive turned off stopped sending the header while still reusing the socket. It now follows Parent.KeepAlive on every request. The second half matters more. When the server closes a kept-alive connection the next write raises EWriteError, and retrying on the same socket raises it again - BeforeSendUrl spent all of its attempts that way and reported failure against a server that was answering fine. Clearing KeepConnection in the error path makes fphttpclient disconnect, so the retry opens a fresh socket. This is what made the JWT flow look broken on fpHTTP: the token request left the connection closed and every attempt at the real request died on it.
-
Merge remote-tracking branch 'origin/dev' into dev (2026-09-02 – tempraturbo)
-
Let the driver choose a connection charset instead of leaving it blank (2026-09-02 – tempraturbo) TRALDBModule built its FireDAC and sqldb connections without any charset, so Firebird refused accented text with "Malformed string" - the DBWare stack could not store a single accented character, and nothing in the component let anyone configure it. TRALDBBase gains a CharacterSet property, published on TRALDBModule. Empty no longer means "leave it unset": the driver picks, and for Firebird that is UTF8. A legacy base in another charset can still point it elsewhere.
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-09-02 – tempraturbo)
-
Make ctDeflate mean raw deflate on Delphi too (2026-09-02 – tempraturbo) TRALCompressZLib is written once per compiler and the two halves disagreed. Delphi sent ctDeflate through the same branch as gzip, so it framed the stream with windowBits 31 - gzip - while the header still announced "deflate". FPC writes raw deflate for that format, which is what the wire name means, so gzip interoperated across compilers and deflate never did. Delphi now maps ctDeflate to windowBits -15 on both compression and decompression, matching FPC's skipheader path. For the same input the two compilers produce byte-identical output. Nobody noticed because deflate carries the lowest CompressWeight and is never picked by GetBestCompress while gzip is registered - it only shows up when a client asks for it explicitly.
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-09-01 – tempraturbo)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-09-01 – mobius1qwe)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-08-31 – tempraturbo)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-08-31 – tempraturbo)
-
pool exhaustion now answers HTTP 429 instead of 503 (2026-08-31 – tempraturbo) TRALDBModule.AnswerException maps ERALDBPoolTimeout to 429 Too Many Requests, which describes the situation better than 503: the server is up, the caller just asked for more concurrent connections than the pool allows. Along with it: the HTTP_TooManyRequests constant in RALConsts, the SError429/SError429Page strings in the three language includes, and the matching default response page in TRALResponsePages. The 503 constant, strings and page stay untouched.
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-08-27 – Fernando Castelano Banhos)
-
- modulo pascal_brotli atualizado (2026-08-27 – Fernando Castelano Banhos)
-
- Adicionado path para localizar static libs (2026-08-27 – Fernando Castelano Banhos)
-
- Adicionado search path para static lib (2026-08-27 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-08-23 – mobius1qwe)
-
- correção do package ralbrotlicompress, para aceitar statics links - correção do arquivo PascalRAL.inc diretivas RALApple (2026-08-04 – Fernando Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-07-31 – Fernando Castelano Banhos)
-
- melhorado pesquisa de mimes para MAC - melhorado pesquisa de mimes para Linux (2026-07-31 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-07-30 – Fernando Castelano Banhos)
-
Merge remote-tracking branch 'remotes/origin/master' into dev (2026-07-25 – mobius1qwe)
-
Merge remote-tracking branch 'remotes/origin/master' into dev (2026-07-24 – mobius1qwe)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-07-24 – mobius1qwe)
-
Merge remote-tracking branch 'remotes/origin/master' into dev (2026-07-21 – mobius1qwe)
-
ai: melhoria de arquivos de agentes com novas instruções (2026-07-13 – mobius1qwe)
-
refactor: modificação inicial de estrutura de nova versão (2026-07-13 – mobius1qwe)
-
Merge remote-tracking branch 'remotes/origin/master' into dev (2026-07-13 – mobius1qwe)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-07-13 – mobius1qwe)
-
Hallucination fix (2026-09-19 – mobius1qwe)
-
Fix the data race on an authenticator shared by several clients (2026-09-12 – tempraturbo) TRALClient.Authentication takes a FreeNotification and never ownership, so one authenticator is meant to be shared - the FireDAC DAO alone needs one client per dataset, and all of them want the same token. The only lock around that token was TRALClient.LockSession, which is per client and therefore never serialised anything the clients actually share. Measured with eight clients on one authenticator: eight /gettoken where one was enough, and a hammer on SetToken (8 threads x 30000 real JWTs) raised 239768 exceptions in 240000 writes - access violations writing to 0x8, EInvalidPointer, and the payload's own TStringList read while another thread cleared it. After the change: one /gettoken, and no exception at all over the same hammer. TRALAuthClient now carries the lock and BeforeSendUrl holds it across the whole SetAuthToken. It is reentrant on purpose, since SetTokenJWT reads IsAuthenticated and assigns Token on the thread that already holds it - Win32 critical sections and FPC's recursive pthread mutex both allow that. SetToken also stopped clearing FToken as its first statement: every other thread read IsAuthenticated = False during the decode and went for a token of its own, so a single expiry became one /gettoken per client even when the refresh was succeeding. It now publishes only what parsed. Payload stays published for configuration and gained GetClaim, which reads one claim under the lock, because the object behind it is replaced on every SetToken.
-
Fix the Sagui server dying under load with the memory manager unlocked (2026-09-10 – tempraturbo) Every worker thread of that engine is started inside libsagui/libmicrohttpd and enters Pascal through a cdecl callback, so BeginThread never runs and IsMultiThread stays False. That flag is what the memory manager reads to decide whether to lock at all: LockAllSmallBlockTypes and LockMediumBlocks in getmem.inc both open with "if IsMultiThread then", and so does the assembler path of FastGetMem. A hundred foreign threads then allocate and free on unlocked free lists, the heap corrupts, and the process vanishes with no exception and no dialog - it blows up inside a callback invoked from C. One request at a time is always fine and a handful of threads usually is too: it takes real concurrency for two threads to land in the allocator together. Seen at 100 and at 300 JMeter threads, clean at 1. Indy, mORMot2 and fpHTTP were never affected, for the same reason Sagui was: they all start their workers through TThread, which turns the flag on for the whole process. DoRequestCallback also initialises vStrMap to nil. The block that first assigns it is skipped whenever ValidateRequest already answered 4xx, so a raise before the response headers were built handed FreeAndNil whatever the stack happened to hold - the same silent death, by a narrower path.
-
Fix the ~40 ms per-request stall on the Indy and fpHTTP engines (2026-09-10 – tempraturbo) Both engines write a response as two sends and left Nagle on, so the second one waited for the peer's delayed acknowledgement: a fixed floor of about 40 ms on every request, and about 10 requests per second on one connection. Measured on the Indy sample over a LAN, one thread, 5000 samples: 10 req/s before and 1218 after, with the minimum latency going from 41 ms to 0. At full concurrency it is still worth 54%. TCP_NODELAY now goes on every socket RAL owns: the Indy server and client through UseNagle, the fpHTTP server on the accepted socket and the fpHTTP client through its socket handler. mORMot2 was already doing it on its own; Sagui, netHTTP, UniGUI and CGI give no access to the socket.
-
Fix the mORMot2 client rejecting every certificate on Windows with OpenSSL (2026-09-08 – tempraturbo) Once OpenSSL is loaded, mORMot uses it instead of SChannel - and on Windows OpenSSL has no certificate store of its own, so SetupCtx fell back to SSL_CTX_set_default_verify_paths, which finds nothing there. The result was that no certificate could be verified at all: an https request to a public CA failed with "certificate verify failed", while the same client on SChannel, or on POSIX, worked. The TLS context now fills CASystemStores with mORMot's own default set ([scsCA, scsRoot]) on Windows, which makes SetupCtx load the OS roots - cached, once per process - instead of looking for files that are not there. Windows only on purpose: on POSIX the default verify paths do find /etc/ssl/certs, and changing what works buys nothing. SChannel is untouched either way, since it ignores the field and uses the OS store by itself. Nothing is loosened: this hands OpenSSL the roots the machine already trusts, the same ones SChannel uses. A self-signed certificate is still refused unless SSL.Pin or OnValidateServerCert says otherwise. Measured on the full matrix - compiler x engine x public CA or self-signed x with and without pin: exactly one cell changes, mORMot2/OpenSSL against a public CA with no pin, from refused to 200. Delphi Win32 goes 39/40 to 40/40 and FPC 3.2.2 Win64 29/30 to 30/30, with Indy, netHTTP, fpHTTP and mORMot2/SChannel identical.
-
fix: Ajustes de autenticação JWT nos eventos (2026-09-08 – mobius1qwe)
-
Fix the server DAO owning its per-request queries on a shared component (2026-09-07 – tempraturbo) OnReplyQuery runs on the engine's thread pool, but the one or two TFDQuery it builds per request were owned by Self - the single TRALFDConnection sitting on the application's datamodule. TComponent does not guard the owner's component list, so every concurrent request was mutating the same one at once; both queries are released in the finally, so nothing depended on that owner. The TFDMemTable in TRALFDQuery.ApplyUpdatesRemote had the same shape on the client side, per call and released in its own finally. OpenRemoteResponse keeps its owner on purpose: the TFDConnection it builds when the query has none is never released explicitly and relies on the query to take it down.
-
fix: Correção de carga de MIMETypes no Linux (2026-09-06 – mobius1qwe)
-
fix: Correção de compatibilidade com FPC 3.3.1 (2026-09-06 – mobius1qwe)
-
Fix idle fpHTTP spinning a core, GetBody past the end, GetRoute garbage, empty memtable OnError and raw form encoding (2026-09-06 – tempraturbo) TRALfpHttpServerThread.Execute had nothing in the else of "if FParent.Active then FHttp.Active := True", so the thread spun a full core whenever the server was alive and inactive. It sleeps 50 ms per turn on that path; the activation itself blocks until deactivation. GetBody iterated 0..Count and read one param past the list. GetRoute (behind Routes.Find[]) left Result uninitialised when nothing matched. The three memtables fired OnError with an empty string on every status that was not 200 or 500 (401, 404, 429...). The message now starts with "HTTP " and carries the body when there is one. TRALDBSQLCache.SetStorage called Clone on nil; Storage := nil is legal. EncodeBody wrote form fields as name=value escaping only "&": "=", "%", "+", spaces and every byte above 127 reached the wire raw and a third-party server split the fields wrong. Name and value go through EncodeURL now. DecodeURL had to change with it: on Delphi it appended CharRAL(byte) to a UTF8String, which converts the byte from the ANSI codepage first, so %C3%A7 came back as "ç"; it decodes into bytes and copies them whole.
-
Fix handler exceptions answering 200, uploads escaping their folder, and gzip shortening its input on FPC (2026-09-06 – tempraturbo) ProcessCommands caught a handler exception and, with neither OnServerError nor RaiseError set (the defaults), left the response as it started: 200 with an empty body. The Answer(500) sat after the raise and never ran. The 500 with the message is set first now; the event and RaiseError keep their meaning. TRALParam.SaveToFile(folder, name) concatenated the name as it came, and it comes from the wire when it is the multipart filename: "..\x" and "C:\x" wrote outside the folder. Only the last path component is kept, on either separator. On FPC, InitDeCompress cut the 8-byte gzip trailer off the caller's stream so TDecompressionStream would accept it, and never put it back, so a second Decompress of the same stream failed. The trailer is restored in a finally.
-
fix: Correções de compatibilidade com XE2 (2026-09-06 – mobius1qwe)
-
Fix wide DAO params, Indy error bodies on FPC, the CSV BOM and leaks on failed transforms (2026-09-05 – tempraturbo) RALDBFiredacDAO stripped the terminator only for varString and sent wide params with their length in bytes, so ftWideString reached the database as garbage. RALIndyClient enabled hoWantProtocolErrorContent only under DELPHI10_1UP, leaving every 4xx/5xx body empty on Lazarus. RALStorageCSV passed BytesOf() to an untyped const, writing three bytes of a pointer instead of the UTF-8 BOM, which is why the CSV round trip failed only sometimes. EncodeBody/DecodeBody and TRALCompress leaked the input or output stream when a transform raised. RALDBBase never called DoneEngineDefs, and the TStream overloads of the storage props were empty.
-
fix: Correção de nomenclatura de funções em português fix: ExpandFileName já faz a tratativa de LibLocation, revertida alteração fix: Correção de mensagem de erro não informando o storage faltante (2026-09-04 – mobius1qwe)
-
Fix multipart fields going out as uploads and a plain body mistaken for multipart (2026-09-04 – tempraturbo) Every multipart part had been given a filename, because libmicrohttpd under the Sagui engine materialises only the parts that name a file. That was more than needed, and it had a cost outside RAL: a server that is not RAL files a named part under uploads instead of fields - PHP's $_FILES, Spring's MultipartFile, Go's MultipartForm.File - so a RAL client posting an ordinary form or a login to such a server had its fields land in the wrong place. The decision moves out of the encoder, which no longer invents filenames, and into EncodeBody, which knows what each part is: a BODY part with no real filename is named after itself (RAL's own envelope - typed params, SQL, ParamCount), a FIELD part goes out as a plain form field. Measured rather than assumed: a field mixed with a named body part still reaches a Sagui server, handed over as a field once the library is processing the multipart; a field on its own travels urlencoded. And a browser-style multipart from curl - two fields and a file - is echoed whole by a Sagui server. ContentTypeDoCorpo, which rebuilds the multipart header from an encrypted body's first line, accepted anything that opened with two dashes. An encrypted plain text starting with "--", a comment or a command line, would have been torn apart as multipart and lost. It now requires the first line to be made of RFC 2046 boundary characters and the closing delimiter to be present at the tail of the body, which every real multipart carries. Both matrices gained a case for each: field and body in one request, and an encrypted text beginning with two dashes. Delphi at 1059/1059 on Sagui x Indy and Indy x Indy; FPC with no data failure.
-
Fix the Sagui engine reading the crypto key from the wrong place (2026-09-04 – tempraturbo) It took Params.CriptoOptions.Key from CriptoKey, the request's own, which is still empty while the request is being built. Indy, fpHTTP and Synopse all take it from the server's CriptoOptions, and DecodeBody only decrypts when it has both a cipher and a key - so the params ended up naming aes256cbc_pkcs7 with no key, and every encrypted request reached the handler still as ciphertext: no params, no body, no cookies, on a server answering 200. Found by tracing what the engine saw: enc=[aes256cbc_pkcs7] cripto=3 chave=0. This is not the whole AES story on that engine - libmicrohttpd still hands the ciphertext to its multipart machinery, because the body is announced as multipart, and that part is open. It is the half that had to be right either way: without the key, nothing downstream could have worked.
-
Fix LibLocation mangling absolute paths; ship the Zeos memtable in the Lazarus package (2026-09-04 – tempraturbo) TRALDBModule.SetLibLocation prefixed the executable folder onto every value, so an absolute path became "C:\app\C:\lib\sqlite3.dll" - not a path at all. The library then failed to load with the very message it gives when the file is missing, which sends the search to the wrong place entirely. Absolute paths are now kept as given; relative ones still resolve against the executable, which is what the property is for. raldbzeoslink also lists RALDBZeosMemTable now. The Delphi package always had it and the sibling sqldb package ships RALDBBufDataset the same way, so installing the Zeos link package in Lazarus gave you the server driver and no client memtable.
-
Fix the Zeos memtable losing rows on load and its native export check (2026-09-03 – tempraturbo) Reading a query through TRALDBZMemTable came back with one record or none, and reopening the same query came back empty: the storage load raised "Field 'X' cannot be modified" between the Append and the Post of the first row, and everything after it was lost.
- InternalInitFieldDefs no longer copies faReadonly to the client field defs. The server sets that flag for every column with no base column - a CAST, a SUM, any expression. It describes the SOURCE column, while on a memtable it lands on the local buffer this unit has to fill with the answer, and TZMemTable enforces read-only on every write. Required is still copied: that one is about the data, not about who may write it.
- CanExportNative had an empty ELSE branch on Delphi with stock ZeosLib, where ZMEMTABLE_ENABLE_STREAM_EXPORT_IMPORT is commented out, so it returned whatever was left in the result register. A non-zero leftover made the server export a native stream the client has no import for.
- Notification cleared FConnection, inherited from TZAbstractRODataset, instead of FRALConnection: freeing the RAL connection left FRALConnection dangling and nilled the dataset's own connection.
- OnQueryResponse calls First only when the load actually opened the dataset. It runs inside the thread that dispatches the response, where an exception does not reach whoever called Open - it terminates the process.
-
Fix the netHTTP client returning every body still compressed (2026-09-02 – tempraturbo) SendUrl assigned Params.CompressType and the crypto options before appending the response headers, so ContentCompress and ContentEncription were still empty and both resolved to none. Assigning ResponseStream right afterwards ran DecodeBody with that, and the caller got the body exactly as it came off the wire - gzipped, and still encrypted when AES was on. The ordering now matches the Indy client. The status code was always right, which is why it stayed hidden: any check on StatusCode alone passes. JWT is what exposed it. SetTokenJWT asks /gettoken, gets HTTP 200 with a gzipped token payload, cannot parse it and leaves the token empty, so every request afterwards answered 401 with no error reported anywhere. The test matrix now exercises netHTTP as a third client alongside Indy and mORMot2: 5018 cases green over real HTTP against Firebird 5, covering routes, DBWare, the FireDAC DAO, cookies, content negotiation and Basic/JWT, with and without gzip and AES256.
-
Fix the client resending a timed-out request three times (2026-09-02 – tempraturbo) BeforeSendUrl kept a floor of three attempts even with a single BaseURL, and decided whether to try again from StatusCode, which carries nothing useful when no HTTP response happened - Indy left -1 there, mORMot2 10061, fpHTTP 0. A 3 s timeout therefore took 9 s, and one timed-out POST reached the server three times. The decision now comes from TRALResponse.TransportError, which every engine fills through TRALClientHTTP.SetTransportError: a failure that never reached a server may go to the next BaseURL with any method, a failure after the request went out only with an idempotent one, and nothing is ever resent to the same URL. The budget is BaseURL.Count. Along the way:
- mORMot2 was resending on its own. THttpClientSocket.Request took AsRetry False, which lets it reconnect and replay once. It also returns 666 instead of raising, so the outcome was never inspected.
- fpHTTP reports a read timeout and a kept-alive socket the peer had closed through the same exception, and only one of the two may be resent. The reconnect moved into SendUrl, where the token routines reach it too, and tells them apart by elapsed time.
- FIndexUrl was written back after BeforeSendUrl, which raises on failure, so the failover index never survived the call that needed it.
- A 401 with AutoGetToken discarded the token and gave up; it now retries once with a fresh one.
- ConnectTimeout and RequestTimeout had their published default directives swapped against the constructor, so setting 5000 in the Object Inspector yielded 30000 at run time.
- MaxRedirects is published, since the engines each hardcoded a different limit. Checked against Indy, mORMot2, netHTTP and fpHTTP.
-
fix: ajuste de keepalive pra mORMot2 para versões acima do commit 2.4.15007 (2026-09-02 – mobius1qwe)
-
Rewind the stream inside Compress and Decompress (2026-09-02 – tempraturbo) Callers never rewound. DecodeBody fills its buffer with Result.CopyFrom(ASource, ASource.Size), which leaves the position at the end, and decompresses from there. Only gzip under FPC survived it, and by accident: that branch repositions the stream on its own while reading the gzip header and the CRC32 trailer. ctDeflate and ctZLib have no header to read, so they started at the end of the stream, saw zero bytes and raised Edecompressionerror: buffer error. The fpHTTP server swallows the exception, so a compressed request arrived as an HTTP 200 with no params at all instead of failing loudly. Compress and Decompress now normalise the position themselves, which fixes every format on both compilers in one place.
-
Fix response compression precedence and Accept-Encoding advertising (2026-09-02 – tempraturbo) The server used to let the client win and kept its own CompressType as a mere fallback. It is the other way around: a CompressType set on the server is a deployment decision that a client cannot opt out of, and only a server left at ctNone follows the client's Accept-Encoding. Since ProcessCommands is the single place a response compression is chosen, this covers plain routes, TRALDBModule and the FireDAC DAO alike. GetAcceptCompress built the encoding list and never assigned its Result, so every client advertised an empty Accept-Encoding. No server could honour a client preference, and the 415 replies that report the supported set went out empty as well. Accept-Encoding was also sent only when the client had a CompressType of its own. It states what the client is able to read, not what it sends, so it now goes out unconditionally in all four engines; Content-Encoding stays behind the guard because that one does describe the request body. TRALDBModule.AnswerException had its two branches swapped: a plain exception answered 429 and a pool timeout answered 408. Back to pool -> 429 and anything else -> 500, which is what the client side expects when it reads an error body. TRALDBSQLDB enabled the library loader with an empty LibraryName whenever LibLocation was unset - the default for every existing user - so sqldb tried to load "" and no connection could be opened.
-
Make gzip and AES work on the fpHTTP engine (2026-09-01 – tempraturbo) Three defects, all from reading FPC's TRequest/TResponse.CustomHeaders as a list of header lines when it is a name=value list. Request side: the server read ContentEncoding and AcceptEncoding from ARequest and then overwrote both with Params.Get['Content-Encoding']. FPC parses the standard headers into TRequest's own properties and leaves only the unknown ones in CustomHeaders, so those lookups found nothing and blanked the values just read - ContentCompress stayed ctNone and a gzipped body reached the decoder still compressed. The params now only override when they actually carry the header. Response side: headers went out through AssignParams(AResponse.CustomHeaders, rpkHEADER, ': '). TResponse.CustomHeaders is a name=value list and FPC emits each entry as Names[i] + ': ' + Values[i], so a ready-made 'Name: Value' line left nothing to split on: the whole line became the value and every custom header shipped with a stray ': ' prefix (': Content-Encription: aes256cbc_pkcs7'). The client never found Content-Encription, never decrypted, and handed the encrypted body to the multipart decoder. Written with '=' now. Error handler: tratarExcecao cleared compression and crypto but not the content type, and ResponseText runs the message through DecodeBody - so a plain error string was parsed as multipart and died with an access violation inside the handler itself, burying the original error under one raised by the code meant to report it. It now resets the content type to text/plain. Verified on Lazarus/FPC 3.2.2 against Firebird 5 over real HTTP: 230 checks across the four transport combinations, including the sqldb CRUD path and the error path. Delphi re-checked at 1282.
-
fix ebSingleThread being ignored by TRALClient.ExecuteThread (2026-08-31 – tempraturbo) ExecuteThread accepted AExecBehavior but never inspected it: every call started a TRALThreadClient and returned at once, so ebSingleThread behaved exactly like ebMultiThread. Callers that rely on the response being ready when the method returns - TRALDBConnection.ApplyUpdatesRemote and ExecSQLRemote, and TRALFDQuery with QueryBehavior = ebSingleThread - read their results before the worker thread had answered. TRALDBFDMemTable.ExecSQL is the visible case: FRowsAffected and FLastId were still stale when ExecSQL returned. ebSingleThread now runs the same sequence as TRALThreadClient on the calling thread and invokes the callback before returning. The response object handed to the callback is always a valid instance, matching the threaded path, because handlers such as TRALDBFDMemTable.OnApplyUpdates dereference it without a nil check. ebMultiThread is untouched. RALDBFiredacDAO also kept vException, a field, across calls: it was only cleared in the constructor, so with ebSingleThread a failed request would surface its exception on the following call, and the call after that would raise an object the RTL had already released. The field is now cleared when each remote call starts and detached from the field before the raise.
-
fix outdated unit list in pasdoc.pds (2026-08-31 – tempraturbo) Six units changed folder and pasdoc.pds still pointed at the old paths: RALAuthentication is now under src/base/plugins, and RALSwaggerModule, RALWebModule, RALExternalsLibraries, RALPostmanExporter and RALSwaggerExporter under src/base/modules. Two entries pointed at files that no longer exist, and RALDBPool.pas was missing from the list, so the pool never reached the generated documentation. IncludeDirectories listed src/database/links, which does not exist, and was missing src/base/modules, src/base/plugins and src/languages - the last one is where RALConsts.pas takes its {$I ralconsts_*.inc} from.
-
Fix: correção de declaração de assinatura de cookie para Delphi (2026-08-24 – mobius1qwe)
-
fix: otimizações no RALSynopseServer (2026-08-23 – mobius1qwe)
-
fix: Correção de erro de caminho de arquivo de mensagens do pacote (2026-07-25 – mobius1qwe)
-
Fix: Access Violation no parse do token JWT (2026-07-24 – mobius1qwe)
-
Fix: Access Violation no parse do token JWT (2026-07-24 – mobius1qwe)
-
fix: Correção de link de grupo de suporte do Telegram (2026-07-21 – mobius1qwe)
-
Fix the crash, the lost rows and the ERangeError in the database half (2026-09-12 – tempraturbo) TRALDBModule.OpenSQLResponse took the client's storage link and used it without looking: a client that sends none - which is exactly what a dataset with no Storage assigned asks for, since CreateStorage leaves it nil for rsfAuto - took the whole server down with an access violation on an ordinary select. Only the non-native branch reaches it, and that branch is chosen when the client's driver differs from the server's, so a client on the other compiler is what finds it first. It raises emStorageNotFound now, which is the honest answer: without a link the client cannot read that response either, so inventing a format here would only move the failure one step. Right next to it, CreateStorage asked a nil class reference for its ClassName while building the message that says the link was not found, so the message itself faulted instead of explaining anything. It reports the storage format number, which is what identifies what is missing. GetQueryParams read TParam.Size, an Integer, with GetInt64Prop. Assigning that back into an Integer is a checked conversion, and range checking is on in every Debug build the IDE produces: any query carrying a parameter died there, while Release truncated the value silently and worked. GetOrdProp is the right width. The three drivers share this cache, so the one line covers FireDAC, Zeos and sqldb, and it was verified with range checking on, which is the only way this proves anything - Open and ExecSQL, both with parameters. The four storages write their rows through TField, and a field the server reports as read-only - an aggregate like count(*), a computed column - refused the assignment and took the whole record with it: the dataset arrived with the right columns and no rows at all. Read-only describes what the server accepts on an update; it cannot mean the client may not fill in the row it was just sent. TRALStorage lifts it around the record loop and puts it back afterwards, so nothing changes for a grid, and BIN, JSON, BSON and CSV all call it - the sweep found no fifth place that writes records through fields. TRALDBBufDataset cleared the field definitions when the SQL changed and left the TField objects of the previous statement behind. The next open kept that structure: a one-column select after a select * came back describing the old thirteen fields and finding no rows, and a later Post failed on a required field the new statement never mentioned. Nothing does this for us - FPC never calls DestroyFields, and DefaultFields is already False by then because the dataset builds its fields before TDataSet evaluates it - so the fields it created itself are dropped by owner, and only while closed. The other two drivers were measured rather than assumed: FireDAC and Zeos rebuild the structure on their own and were left alone. Also in that unit, Dialogs sat in the uses clause without a single call to it. An LCL unit there drags the widgetset into every project that touches the dataset, and a console server or a service then fails to link, asking for WSRegisterControl and the rest of the widgetset registration. Checked on both compilers: an FPC client drives a Delphi server end to end - events, open, insert, edit, delete, and the error paths in both RaiseErrors modes - and the structure and aggregate cases were run again through the Zeos driver to be sure the fix landed where the defect was and nowhere else.
-
Make FPC servers stop on Linux: wake mORMot2's accept() before WaitFor, bound the fpHTTP wake-up GET and free the server before dropping its parent (2026-09-07 – tempraturbo) On Linux/FPC Active := False never returned on either engine and the process had to be killed. mORMot2 closed the listening socket and waited for the server thread, but closing does not wake a blocked accept() there: the FPC branch now terminates, closes and makes a touch-and-go connection to the port first, as THttpServer.Destroy does; Delphi is untouched. fpHTTP depended on a wake-up GET with no timeout, and the thread destructor nilled FParent before the server waited for connection threads that still read it. fcl-web's AcceptIdleTimeout is deliberately left at 0: with an idle loop the faster stop races its connection-thread cleanup on Windows and the FPC matrix died with an access violation in the next server.
-
Fix charset on binary types, HS384, client engine reuse and nine smaller bugs; cache the memtable schema and wake the pool by event (2026-09-06 – tempraturbo) The charset was appended to every non-multipart type, so an octet-stream went out as text. HS384 never reached the JWT header, and Token := x left FToken empty. TRALClient created and freed its engine around every request, which is why no engine ever reused a connection: the engine now lives with the thread that first used it, the mORMot2 socket is probed before reuse, the Indy IOHandler is no longer reset per call, and the fpHTTP client reassigns cookies per attempt because fphttpclient drops them on send. Memtables ask /getsqlfields once per SQL text, the JSON storage writes straight into the stream, and the pool waits on a TEvent instead of a 5 ms poll. Also: Decompress(string) never ran, two uninitialised results, Assign(nil) on params, FillChar over string records, BruteForce := x swapped the object, SetPoolCount compared with Port, Indy read the response's Content-Disposition, and the mORMot2 keep-alive value was uninitialised.
-
Fix the JWT cookie being any cookie, and stop Swagger leaking the spec and loading unchecked assets (2026-09-06 – tempraturbo) TRALServer.DecodeAuth took the first cookie of the header as the bearer, whatever its name, so any site cookie ahead of raltoken made a logged-in browser fail with 401. It now takes the rpkCOOKIE param named exactly raltoken, then the raw header as a fallback. Three engines never reached that code, so UseCookie did nothing on them: Sagui had a private DecodeAuth without the cookie path (removed, it calls the server's, now public), and Indy and fpHTTP parse the Authorization header themselves and stopped there - both call DecodeAuth when no header was found. The Swagger initializer pointed validatorUrl at validator.swagger.io, so every browser that opened the page sent the whole swagger.json there; it is null now. The three swagger-ui-dist assets carry SRI hashes for the pinned version, computed from unpkg and cross-checked against jsdelivr. RequireAuth (default False, the old behaviour) makes the swagger routes honour the server's Authentication. swagger.json also put application/json in Content-Encoding instead of Content-Type.
-
Fix unbounded body, decompression and binary-reader sizes; fix empty responses on Sagui (2026-09-06 – tempraturbo) Three ceilings, defaults reproducing the old behaviour so nothing changes for existing users until they opt in:
- TRALServer.MaxRequestSize (0 = unlimited): ValidateRequest answers 413 before the body is decompressed, decrypted or split. mORMot2's MaximumAllowedContentLength is deliberately not wired to it - it resets the socket while the client is still sending, and no client ever sees the 413.
- RALMaxDecompressedSize (0 = unlimited): zlib, zstd and brotli check it on every loop turn. A 1 MB gzip of zeros inflated to 1 GB.
- TRALBinaryWriter refuses a size prefix beyond what the stream still holds: nine varint bytes could announce 2^63 and the reader allocated it. ReadSize also widens before the shift; "(vByte and 127) shl 28" was 32-bit arithmetic, so sizes from 2 GB up wrapped. Found on the way: TRALSaguiServer.DoStreamRead answered a nil stream with sg_eor(True), the error end, and no Result. Every bodiless answer went out as chunked with no terminator and libmicrohttpd dropped the connection; WinHTTP rejected the whole response. SetContentType also stops turning an empty type into "; charset=utf-8".
-
Fix a late response crashing the process after its dataset or client was freed (2026-09-05 – tempraturbo) Get/Post with a callback run on a TRALThreadClient that nobody tracked: freeing the memtable that issued the Open, or the client itself, while the request was still on the wire left the thread calling a method of a freed object when the answer arrived - an access violation on Delphi and, on FPC, the end of the whole process. TRALClient now keeps the live request threads: DropCallbacks forgets the callbacks of an object about to die (the memtables call it from their destructors) and Destroy waits for pending requests, bounded by the connect and request timeouts.
-
Fix Firebird "connection shutdown" on FPC when sqldb shares fbclient with Zeos (2026-09-05 – tempraturbo) ReleaseIBase60 calls fb_shutdown() once sqldb's own reference count drops to zero, and with the pool off that happens after every request. The shutdown is final for the DLL image, so as soon as anything else in the process keeps fbclient loaded - Zeos, an application connection - every later attach fails with GDS 335544856. The sqldb driver now keeps one reference of its own from the first successful Firebird open until unit finalization, the way FireDAC keeps the client library loaded.
-
Fix TRALHashes.Decrypt encrypting and make its string form base64 (2026-09-04 – tempraturbo) The Decrypt(string, TRALCriptoType) overload called Encrypt, and the text form carried the raw cipher bytes inside a StringRAL, which the UTF-8 conversion mangles. Encrypt(string) now returns the base64 of the encrypted stream and Decrypt(string) expects it; the TStream overloads stay binary. Drops the private copy of TRALCriptoType (TCriptoType) and the duplicated overloads that existed for it, and treats crNone as a pass-through.
-
Fix the CSV and BSON storages, and the FireDAC memtable rebuilding its fields mid-load (2026-09-04 – tempraturbo) The CSV storage never worked over the wire: its link class was not registered (GetStorageClass returned nil and the server died with an access violation at address zero, then hid it by reading ClassName of that nil class), ReadRecords was an empty procedure, and ReadLine pulled a Char at a time - two bytes on Delphi - so UTF-8 sequences were torn apart and the line break never found. It now reads bytes, honours the column separator, strips the UTF-8 BOM, doubles quotes on write and undoubles on read, and builds format settings on top of the machine defaults instead of a bare local record. The BSON storage dropped the first record: the array is zero-based and the loop started at one. TRALDBFDMemTable.InternalInitFieldDefs replaced the FieldDefs a storage had just defined, in the middle of the Open that storage triggered. FireDAC ended up with a data table built from the storage's defs and TFields built from the server's: a CSV that guessed AnsiString(255) got a TWideStringField(60) writing UTF-16 into a one-byte column, and the first record read back as "aeijao". While a storage is loading, the server schema is only asked for the update table.
-
Make encrypted multipart requests survive a server that parses multipart itself (2026-09-04 – tempraturbo) An encrypted request body still announced multipart/form-data. libmicrohttpd, under the Sagui engine, handed the ciphertext to its multipart machinery, found no parts and dropped the body without an error, so every param sent over the AES transport reached the handler empty. The request now travels declared as application/octet-stream once it is encrypted, and only then - responses are untouched, since what reads those is RAL's own client. Nothing goes with the header: the first line of the plaintext is the delimiter, so DecodeBody rebuilds "multipart/form-data; boundary=..." from it and recognises a multipart body by its bytes whenever there was encryption. The decoder is fed that synthesised content type rather than a bare boundary, because it sets itself up from ContentType. Two things the change exposed had to go with it:
- the check that keeps a plain multipart from being inflated only applied when the header said multipart. With the header now saying octet-stream, the server inflated a body that was never deflated and fell over with an access violation. The bytes decide on their own now: a delimiter opens with "--", a deflate stream with 0x1F 0x8B.
- all four clients copied Content-Encoding to the transport before encoding the body. EncodeBody declines to compress a multipart request, so the header promised gzip over bytes that were never compressed. The copy happens after RequestStream now, on Indy, netHTTP, fpHTTP and Synopse alike - which also makes the header truthful for servers that are not RAL. Checked: Sagui x Indy, Sagui x mORMot2 and Sagui x netHTTP at 1046/1046 for the first time; Indy x Indy, Indy x netHTTP, mORMot2 x netHTTP and mORMot2 x mORMot2 still 1046/1046. On FPC all six server x client pairs run with no data failure - only the memory-accounting cases the FPC matrix already had.
-
Fix the multipart delimiter and drop charset from the multipart content type (2026-09-04 – tempraturbo) Two spec violations that had been invisible because every parser this code had ever met is lenient. The body delimiter was twenty-eight dashes plus the boundary, while the header declared the boundary alone. RFC 2046 says the delimiter is "--" plus the boundary and nothing else. RAL's own decoder finds it with Pos(), a substring search that matches "--ralNNN" inside the longer run of dashes, and Indy, mORMot2 and fpHTTP all hand the raw body to that same decoder - so nothing ever complained. SetContentType also appended "; charset=utf-8" to every content type, multipart included, which put a parameter after "boundary=". A charset means nothing on a multipart container - RFC 2046 puts it on each part - and anything after the boundary breaks parsers that read it as the rest of the header value. Both surfaced through the Sagui engine, whose libmicrohttpd anchors the delimiter at the start of the line and took the boundary as "ralNNN; charset=utf-8": it matched nothing and discarded whole request bodies without an error. Requests reached the handler with no params, no body and no cookies, on a server that answered 200. Checked against the engine pairs that already worked - Indy x Indy, mORMot2 x netHTTP and Indy x mORMot2 - all still green.
-
Fix the Sagui server dropping the request Content-Disposition and reporting no content size (2026-09-04 – tempraturbo) Indy, fpHTTP and Synopse all read the incoming Content-Disposition and hand it to Params.DecodeBody together with the content type; this engine only ever set the one on the response, so bodies were decoded with half the information the other engines give. ContentSize was likewise hardcoded to zero, telling every handler that the request arrived empty no matter what it carried. Neither of these is the cause of the multipart bodies that reach a Sagui handler empty - that one is still open, and it is not for lack of the flags fixed here.
-
Stop opening the buffer dataset twice on every open (2026-09-02 – tempraturbo) TCustomBufDataset.CreateDataset finishes by calling Open, so calling it from inside an InternalOpen override re-enters that override. FOpened is already set by then, so the nested pass runs inherited InternalOpen and allocates the record buffers - and then the outer pass ran inherited InternalOpen again, allocating a second set and orphaning the first. One leak per open. heaptrc pinned it on those exact two lines. Returning right after CreateDataset removes the client-side leak entirely: 231 unfreed blocks down to 183, and what the Lazarus suite retains per combination drops by about 1.8 KB each. The rest of what heaptrc still reports comes from the sqldb driver, not from here.
-
Send the JWT payload as a body param so claims reach the token (2026-09-02 – tempraturbo) The client built the payload JSON and handed it to AddValue without a kind. AddValue defaults to rpkNONE and EncodeBody only collects rpkBODY/rpkFIELD, so the payload was dropped on the floor: the token request left with Content-Length 0, the server issued a token carrying nothing but exp, and any OnValidate reading a claim answered 401 against a signature that was perfectly valid. Nothing in that symptom points at the request body. Every other AddValue caller already passes rpkBODY, two of them by setting Kind on the next line. This was the only one that did not.
-
Document typed params and the header separator rule in the file map (2026-09-01 – tempraturbo) Two entries in the navigation section, both for things a reader cannot infer from the file names alone. Typed params: what TRALParamType and the rctRAL* content types are for, the AddParam(name, value, kind, type) shape, that any accessor converts from the marker on the way back, that a text param behaves exactly as before, that any content write drops the marker, and why MediaType has to ignore parameters like '; charset=utf-8'. Header separator: engines disagree on the shape of the header list they hand over - Indy and Synopse pass 'Name: Value' lines, fpHTTP passes CustomHeaders, a name=value list - so FindHeaderNameSeparator decides from the data and not from the engine name. Keying it off the engine has already broken headers on one engine or the other twice, both times silently.
-
Add typed body params; fix header parsing, Indy cookies and BCD loading (2026-09-01 – tempraturbo) Typed params: a body param can now travel as a raw little-endian value tagged with an application/x-ral-* content type, instead of text each side parses with its own locale. Adds TRALParamType, the rctRAL* content types, SetTyped*/IsTyped/GetTypedVariant on TRALParam and an AddParam(name, value, kind, type) overload. Text params keep their exact previous behaviour, and a typed value read through a mismatched accessor converts instead of handing back raw bytes. Header separator: AppendParams keyed it off TStrings.NameValueSeparator, a Char defaulting to '=' that is never empty, so the sniffer below was unreachable. Engines disagree on the shape of the list they pass - Indy and Synopse hand over 'Name: Value' lines, fpHTTP hands over CustomHeaders, a name=value list - so FindHeaderNameSeparator now decides from the data: whichever of ': ' and '=' comes first in the line wins. On Indy this restores every header whose value contained an '=' and every header with none, including Content-Encription, whose loss left encrypted bodies reaching the multipart decoder undecrypted and the route silently unrun. Typed marker on the wire: a lone body param travels with its content type as the HTTP Content-Type header, and SetContentType appends '; charset=utf-8', so comparing the whole string missed every marker that crossed a real connection. TRALParam.MediaType strips the parameters first. Indy cookies: the client filled TIdHTTP's CookieManager, which is only created inside ProcessCookies - when a response carries cookies - so it was nil on the way out and any request with a cookie raised an access violation; and once created, Indy emits from the jar by domain and path, which a cookie added without them never matches. Cookies now go out as a plain Cookie header, the way RALSynopseClient already did. Lone named body params: EncodeBody never transmits the name of a single body param, so a response carrying one could not be read back by name. ExecSQLRemote and ApplyUpdatesRemote always failed on "'' is not a valid integer value", and OnError fired with an empty message in the FireDAC, sqldb and Zeos drivers. Each now reads by name and falls back to the anonymous body, leaving the wire format untouched. BCD columns: TRALDBFDMemTable loaded a native FireDAC stream into fields InternalInitFieldDefs had already guessed from the RAL type map, where ftBCD and ftFMTBcd collapse into sftDouble and come back as ftFloat, so BCD bytes were reinterpreted as a double - a NUMERIC(15,4) holding 19.9012 read back as 3.939E-313. A native load now drops the guessed defs and takes the schema from the stream. Verified against Firebird 5 over real HTTP: 1282 checks on Delphi across 16 combinations of server engine, client engine, compression and AES256 (Indy and mORMot2), and 131 on Lazarus/FPC 3.2.2 with fpHTTP and sqldb.
-
add SECURITY.md (2026-04-20 – Mobius One) Updated supported versions and reporting instructions.
-
- Alteração de variável de versionamento pra ser uma string ao invés de concatenação de int - Remoção de warnings sobre variáveis não utilizadas em diversos métodos no pacote base + Ajuste de pacote PascalRAL incluindo classes faltantes que estavam sendo importadas implicitamente * Modificação de atribuição de SetAllowedMethods e SetSkipAuthMethods nas rotas + Adição de funções isMethodAllowed e isMethodSkipped para facilitar a lógica interna - Modificação de Options na Types para ser um enumerado próprio da nova classe Security do Server - Correção de compilação no Delphi da RALDBTypes + Adição de várias funções na lista ThreadSafe para facilitar o uso - Utilização de CharInSet na RALTools para resolver warning do Delphi * Modificação severa no RALServer para incluir 3 options que não eram usados antes: FloodProtection, BruteForceProtection e PathTransversal * Criação de classe Security como propriedade interna do RALServer para conter todas as definições de segurança - Removida propriedade BruteForce do server e adicionada à Security + Novas propriedades para adequar ao uso das Options * Atualização de Versão para 0.9.4 (2024-03-26 – Mobius One)
-
Feat: Nova conversão de dataset para JSONObject na RALStorageJSON.pas (2026-04-15 – Mobius One)
-
Feat: Novo tipo de conversão dos params: Int64 (2026-04-15 – Mobius One)
-
fix: - otimização de RALParams para buscar o separador mais rápido - ajuste no webmodule para rota genérica - ajuste no ThreadSafe - ajuste no RALToken pra evitar o warning de "result might not be defined" (2026-03-09 – Mobius One) feat:
- nova rota de módulo genérica que aceita métodos independentes
- novo método SetBody para request e response para substituir o body totalmente com a função.
-
fix: - ajuste de identação de algumas units. - Ajuste em MIMETypes para usar a função interna do RAL com todos os tipos definidos no IANA pra corrigir erro no tráfego de arquivos web em alguns sistemas operacionais que não preenchiam corretamente todos os MIMETypes. (2025-12-29 – Mobius One) feat:
- Criação de função StreamToByteString para evitar if no StreamToString, otimizando o processo. chore:
- Atualização de submodulo pascal_brotli.
-
- implementado classe de conversao para hexadecimal - correção do output de criptografias para string (formato binario) (2025-12-14 – Fernando Banhos)
-
- implementado controle de input e output nos formato base64 para criptografia - faltando implmentacao input e output no formato hex para criptografia (2025-12-12 – Fernando Castelano Banhos)
-
- Correção de Bug na Cripto AES (Nativa do RAL) - Implementação de Cripto usando OpenSSL (2025-12-12 – Fernando Castelano Banhos)
-
feat: - Capacidade de fazer For .. in no TRALRoutes - Possibilidade de criar rotas em runtime apenas com métodos não pertencentes a uma classe com o OnReplyGen - Possibilidade de atribuir métodos diferentes por verbo nas rotas - Ajuste no Swagger para que ele consiga tratar corretamente o novo modelo de rotas, sem prejudicar o funcionamento de sistemas já existentes (2025-12-08 – Mobius One)
-
feat: - Capacidade de executar laços for..in com TRALParams (2025-11-26 – Mobius One)
-
fix: - Corrigido AV não mostrando no cliente #117 - Correção preventiva de erros nos clientes na função tratarExcecao - Correção preventiva de erro em casos de Param Stream vazio (2025-11-17 – Mobius One) feat:
- Atualização de arquivo de fontes de identidade visual Fixed #117
-
feat: - Novo helper .ToJSON para datasets de forma a facilitar converter o dataset inteiro para json. - Nova função DataSetToJSON para versões do Delphi que não possuem class helpers. (2025-09-29 – Mobius One) Fixed #114
-
feat: implementação de onServerError para centralizar os erros internos num mesmo método (2025-08-18 – Mobius One) Fixed #111
-
fix: Ajuste de identação fix: Ajuste de versionamento fix: Correções de charset entre Lazarus e Delphi fix: Correções de typecast devido a mudança de charset fix: Correções na criptografia pra adequar ao novo charset fix: Correção de comunicação entre Delphi e Lazarus fix: Prevenção de erros diversos fix: Ajuste de detecção de separador para evitar laço sem necessidade fix: Correção de charset no cliente no Delphi unificando código de tratamento entre Delphi e Lazarus fix: Prevenção de erros através de uma constante EmptyStr para versões que não a possuem fix: Mudança no RALDBConnection para usar verbo POST ao invés do GET para enviar SQL no Body evitando problemas com body no GET fix: Otimização de case agrupando tipos comuns fix: Correção nas criptografias para produzirem o mesmo resultado tanto no Delphi quanto no Lazarus feat: Adição de decrypt e encrypt para stream na RALHashes (2025-08-01 – Mobius One)
-
- implementado parse authentication para server UNIGUI, para correção de bug de erro de autenticação (2025-04-15 – Fernando Castelano Banhos)
-
- RALRegister.pas -- implementado para Delphi, adicionar automaticamente as unit RALRequest, RALResponse, RALTypes ao adicionar um componente do tipo RALServer (2025-01-24 – Fernando Castelano Banhos)
- RALServer.pas -- implementado evento OnBeforeAnswer na class TRALModuleRoutes, para "filtros" antes da chamada do rota
-
- retirada do autocreate das ResponsePages do servidor, para nao ficar dando diferença entre versao compilada versao do conteudo - implmentado no SynopseServer o evento OnTerminate para identificar queda no servidor (2024-11-27 – Fernando Castelano Banhos)
-
- implementacão em todos os clientes para detectar qualquer exceção (2024-11-11 – Fernando Castelano Banhos)
-
- RALDBFiredacMemTable.pas, RALDBZeosMemTable.pas, RALDBBufDataset.pas -- implementa First ao dar um Open. Fixed #107 (2024-11-04 – Fernando Castelano Banhos)
- RALDBStorageBSON.pas -- Correção para compilar o pacote no lazarus. Fixed #103
- RALTools.pas -- implementado contador de processadores na funcao RALCPUCount, para delphi Linux. Fixed #101
-
- RALParams.pas -- implementação na função AddParam, protecao para o Delphi contra Resultado sujo (Result := nil) (2024-11-04 – Fernando Castelano Banhos)
- RALSaguiServer.pas -- correção TRALSaguiStringMap.Add, tem retorno PAnsiChar, logo StringRAL deve ser convertido para AnsiString
-
- nova versao 0.9.10-2 alpha - implementações pedidas por Endrigo, issue #104, relativo a criar eventos no DBModule: OnBeforeConnect, OnAfterConnect, OnErrorConnect e OnErrorQuery (2024-10-30 – Fernando Castelano Banhos)
-
- implementações de melhorias na conversão de String para Bytes e vice-versa - correção RALJSON_lkJSON.inc, TTlkJSON trocado para TlkJSONbase (2024-10-28 – Fernando Castelano Banhos)
-
- implementações para flexibilizar o uso de storage no dbware (2024-10-25 – Fernando Castelano Banhos)
-
- implementação de envio sql com params null (2024-10-25 – Fernando Castelano Banhos)
-
- Cripto AES - implementado melhoria de performance usando threads - corrigido bug do widestring no TRALBinaryWriter - corrigigo pequeno defeito na procedure OnFormBodyData na TRALParams (2024-10-09 – Fernando Castelano Banhos)
-
- implementacao de params query (2024-09-10 – Fernando Castelano Banhos)
-
- Implementação de captura todos custom headers - Adaptações de Compress e Encript (2024-09-10 – Fernando Castelano Banhos)
-
- Implementado Wizard CGi para Lazarus - Melhoria do Server CGI para Delphi (2024-09-09 – Fernando Castelano Banhos)
-
- RALRegister.pas -- Correção no nome do arquivo resources do lazarus (2024-09-09 – Fernando Castelano Banhos)
- RALCGIServer_FPC.inc -- implementacão dos EnvironmentVariable como fields params -- melhoria no response
- RALfpHTTPClient.pas -- correção na variavel MaxRedirects (byte)
-
+ Códigos HTTP em constantes * Ajuste de códigos hardcoded nas units do projeto * Ajuste de proteção contra adição de param vazio em Params.AddFile (2024-08-14 – Mobius One)
-
*** Ajustes de Redirect nos clientes Lazarus + AddBody e AddHeader na raiz do cliente para facilitar usabilidade + Métodos Head e Trace que não estavam presentes * Forçando TLS 1.0, 1.1 e 1.2 no cliente Indy para resolver erro em chamadas https** (2024-08-05 – Mobius One)
-
- implementado translate na unit ralconsts (2024-07-25 – Fernando Castelano Banhos)
-
- Mudança na classe TRALHTTPHeaderInfo, create com parametro AOwner, para ser usado no TRALResponse, para responder os StatusCode atraves da propriedade ResponsePages do TRALServer - Constantes no RALConsts modificadas, retiradas page error codes e simplificadas com o uso da unit RALResponsePages (2024-07-25 – Fernando Castelano Banhos)
-
- RALConsts.pas -- Constantes de Pages convertidas para funcão (RALTools.RALHTTPPageCode), usando as resourcestrings (2024-07-25 – Fernando Castelano Banhos)
- RALResponse.pas -- Função Answer(AStatusCode) nao altera mais o ResponseText
- RALServer.pas -- implementado FPageCodes no TServer, criando um lista de possiveis StatusCode Response
- RALTools.pas -- implementado funcao RALHTTPPageCode, para formatar RALPageCode com alguns StatusCode pré definidos
- RALPageCodes.pas -- Unit Collection para insert Responses de StatusCode personalizadas
-
-- implementado traducoes para resourcesstrings (2024-07-24 – Fernando Castelano Banhos)
-
- RALDBFireDAC.pas -- implementado funcao GetFieldTable (2024-07-22 – Fernando Castelano Banhos)
- RALDBFiredacMemTable.pas, RALDBZeosMemTable.pas, RALDBBufDataset.pas -- implementado protecao para identificar o fields incorreto -- implementado protecao para preenchido o Size somente para Fields Strings e Precision para fields Double
- RALDBModule.pas -- separado em funcoes os resultados de Open, ExecSQL e GetInfoFields
- RALDBSQLCache.pas -- correção de memory leak
- RALDBStorageBIN.pas, RALDBStorageBSON.pas, RALDBStorageJSON.pas -- implementado protecao para preenchido o Size somente para Fields Strings e Precision para fields Double
-
- RALParams.pas -- implementação para AssignParamsText, com opcao de UrlEncoded, Synopse nao aceita Param Query sem ser encodado (2024-07-21 – Fernando Castelano Banhos)
-
- RALDBFiredacMemTable.pas -- implementado resync no resetar o CacheUpdate Interno do FireDAC -- implementado no ApplyUpdates o Error de gravacao no Servidor (2024-07-21 – Fernando Castelano Banhos)
- RALDBStorageBIN.pas, RALDBStorageBSON.pas, RALDBStorageCSV.pas, RALDBStorageJSON.pas -- correção para Delphi - AddFieldDef
- RALDBZeosMemTable.pas e RALDBBufDataset.pas -- implementado no ApplyUpdates o Error de gravacao no Servidor
- RALStream.pas -- correção de leitura maior que o buffer da stream
-
- RALDBFireDACLinkReg.pas -- adicionado RegisterComponentEditor e RegisterPropertyEditor (2024-07-21 – Fernando Castelano Banhos)
- RALDBFiredacMemTable.pas, RALDBZeosMemTable.pas, RALDBBufDataset.pas -- removida procedure Open e refeito no SetActive
- RALDBSQLCache.pas -- correção de bug de retorno de SQLCache com Qtd Maior
- RALDBStorageBIN.pas -- correção de write flag do field -- implementado na leitura do fields as flags readonly e required
- RALDBStorageBSON.pas, RALDBStorageCSV.pas, RALDBStorageJSON.pas -- implementado na leitura do fields as flags readonly e required
- RALQueryStructure.pas -- removida, foi substituida pela RALDBSQLCache.pas
-
- RALDBFireDACLinkReg.pas -- implementacoes de propertyeditor e componenteditor para TRALDBFDMemTable (2024-07-21 – Fernando Castelano Banhos)
- RALDBFiredacMemTable.pas -- implementacoes do TRALDBFDMemTable baseadas no TRALDBBufDataset
-
- RALDBZeosLinkReg.pas -- implementado propertyeditor e componenteditor para o componente TRALDBZMemTable (2024-07-21 – Fernando Castelano Banhos)
- RALDBZeosMemTable.pas -- implementado funcionalidades baseadas nas implementacoes do TRALDBBufDataset
- RALDBBufDataset.pas -- propriedade Connection mudada para RALConnection
- RALDBSQLDBLinkReg.pas -- TRALBufDatasetTables trocado para TRALDBBufDatasetTables -- Limpeza de Units não utilizadas
-
- RALClient.pas -- correção para setar o parametro AExecBehavior na funcao ExecuteThread (2024-07-16 – Fernando Castelano Banhos)
- RALParams.pas -- função EncodeBody qdo tem um parametro e o mesmo ter o nome ral_param, passara se chamar ral_body afim do mesmo aparece no Body do Request ou Response
- RALDBBase.pas, RALDBFireDAC.pas, RALDBZeos.pas, RALDBSQLDB.pas -- implementado funcao GetFieldTable para localizar a tabela de um SQL
- RALDBModule.pas -- criado rota GetSQLFields, para converter um SQL em InfoFields -- limpeza na funcao GetFields
- RALDBStorageBIN.pas, RALDBStorageBSON.pas, RALDBStorageJSON.pas -- Alteração do nome da funcao FieldProviderFlags para GetFieldProviderFlags
- RALDBTypes.pas -- implementado classes TRALDBInfoField e TRALDBInfoFields -- Renoemedo funcao FieldProviderFlags da classe TRALDB para GetFieldProviderFlags -- implementado funcao SetFieldProviderFlags
- RALDBSQLDBLinkReg.pas -- implementado classe TRALDBBufDatasetEditor para Editar os Fields e busca-los no Servidor
-
- RALParams.pas -- correções de param = nil (2024-07-15 – Fernando Castelano Banhos)
- RALDBModule.pas -- implementado ApplyUpdates -- adaptações referente a modificações na unit RALDBSQLCache.pas
- RALDBSQLCache.pas -- implementado no response a propriedade Error para uso no ApplyUpdates -- implementado no response a propriedades RowsAffected, LastId para uso no ExecSQL
- RALDBTypes.pas -- implementado AssignTo para a classe TRALDBUpdateSQL
- RALDBZeos.pas -- corrigido bug quando Params = nil
- RALDBBufDataset.pas -- criado propriedades RowsAffected e LastId -- implementado OnApplyUpdates -- correção na função CacheSQL, uso FieldByName quando o field nao existe causa raise -- correção na função OnQueryResponse, pegando stream incorreta
- RALStream.pas -- pequena correção pra voltar o position do stream na funcao ReadStream
-
- RALStream.pas -- implementacao nova classe TRALBinaryWriter, facilitando ler e gravar binario em stream (2024-07-14 – Fernando Castelano Banhos)
- RALDBSQLCache.pas -- adaptações das leituras de escritas de stream com o uso da TRALBinaryWriter
-
- RALAuthentication.pas -- Correção de bug no Delphi, no TRALServerJWTAuth a propriedade AuthRoute não estava abrindo o TCollection de InputParams -- Mudança no Validate do TRALServerBasicAuth, adaptando as implementações do TRALAuthorization (2024-07-12 – Fernando Castelano Banhos)
- RALRequest.pas -- implementado no TRALAuthorization os objetos das autenticações, facilitando o usuario ler o objeto em suas rotas
- RALToken.pas -- implementado objeto TRALAuthBasic para ser usado no TRALAuthorization
-
- RALRoutes.pas -- Correção de bug para funcionar em Delphi (2024-07-11 – Fernando Castelano Banhos)
- RALDBZeosMemTable.pas e RALDBBufDataset.pas -- Iniciadas as implementações para o ApplyUpdatesRemote
-
- RALRoutes.pas -- implementado rota relativa (params URI), direto na propriedade Route -- propriedade URIParams servira para completar os parametros adicionados na Route (2024-07-01 – Fernando Castelano Banhos)
- RALSwaggerExporter.pas e RALPostmanExporter.pas -- alterações devido as implementações do RALRoutes
-
- RALSwaggerModule.pas -- implementado propriedade AllowCORSVerbs para ignorar ou nao a rota OPTIONS (2024-06-27 – Fernando Castelano Banhos)
-
- RALAuthentication.pas -- AuthToken do JWT - implementando Assign (2024-06-26 – Fernando Castelano Banhos)
- RALRoutes.pas -- TRALRouteParam e TRALBaseRoute implementados AssignTo
-
- Wizard Lazarus ainda em implementacao (2024-06-25 – Fernando Castelano Banhos)
-
- RALWEBModule.pas -- Alterações para inicio de testes com o exemplo Mobius (2024-06-24 – Fernando Castelano Banhos)
- RALWizard -- Implementado StandAlone Application -- Implementado Console Application -- Iniciado Wizard para Lazarus
-
- RALRoutes.pas -- Criado TRALRouteURIParams apenas para setar a propriedade AllowURIParams (2024-06-24 – Fernando Castelano Banhos) -- Implementado Wizard para Delphi, funcionando para testes
-
- RALRoutes.pas -- Renomeado TRALParamRoute para TRALRouteParam -- Renomeado TRALParamsRoute para TRALRouteParams (2024-06-22 – Fernando Castelano Banhos)
- RALCompress.pas, RALCompressBrotli.pas, RALCompressZLib.pas, RALCompressZStd.pas -- Renomeado função CheckDependence para CheckDependency
- RALPostmanExporter.pas -- Implementado Params de URI e Params de Input
- RALSwaggerExporter.pas -- Implementado Params de URI e Params de Input
-
- RALRoutes.pas -- Implementado params nas rotas, para efeito em swagger e postman (ainda em implemtacao) (2024-06-20 – Fernando Castelano Banhos)
- RALServer.pas -- Limpeza em função TRALModuleRoutes.CanAnswerRoute
- RALAuthentication.pas -- Add SetAuthRoute em TRALAuthServer
- RALSwaggerExporter.pas -- Implementado exportação dos parametros da rota
- RALSwaggerModule.pas -- Corrigido Bug no CreateRoutes (Retirado Domain)
-
- RALAuthentication.pas -- Add propriedade AuthRoute no TRALAuthServer, afim de facilitar o roteamento pelo TServer -- TRALServerJWTAuth removido propriedade Route -- TRALServerJWTAuth adaptado com a propriedade AuthRoute -- Adicionado funcao CanAnswerRoute no TRALAuthServer (2024-05-20 – Fernando Castelano Banhos)
- RALRoutes.pas -- TRALRoute renomeado para TRALBaseRoute, com propriedades publicas e nao publicadas -- Recriado TRALRoute, com as propriedade publicadas
- RALServer.pas -- Retirado funcao IsDomain do TRALModuleRoutes -- Adaptacoes do TRALServer para identificar um rota de autenticacao
- RALWEBModule.pas -- Retirado funcao IsDomain
- RALPostmanExporter.pas -- Removido função AuthToRoute e convertida para RouteToJSON
- RALPostmanExporter.pas -- Removido função AuthToRoute e convertida para RouteToJSON
- RALSwaggerExporter.pas -- Removido função AuthToRoute e convertida para RouteToJSON -- Correções de bugs que nao mostrava o botão "Autorize" quando tinha Authentication
- RALSwaggerModule.pas -- Retirado funcao IsDomain
- RALToken.pas -- Melorias na função IsValidToken
-
- RALServer.pas -- Correção no TRALModuleRoutes para buscar rotas qdo o module nao é IsDomain (2024-05-13 – Fernando Castelano Banhos)
- RALPostmanExporter.pas -- Implemntação das funcão ExportToStream
- RALSwaggerExporter.pas -- Implementação da versao OpenAPI 3.0
- RALSwaggerModule.pas -- Implementação da rota de swagger dinamica -- Possibilidade de baixar o layout Postman via ExternalDocs do Swagger
- RALDBModule.pas -- Melhoria nas rotas criadas
-
- Adicionado Assets das paginas do swagger - Criado SwaggerFile.rc para gerar Resources - Implementado RALSwaggerExporter.pas para exportar json do SwaggerFile - Implementado RALSwaggerModule.pas um modulo web para mostrar a pagina do swagger (2024-05-12 – Fernando Castelano Banhos)
-
- RALPostmanExporter.pas -- Implementado exportador das funções do server = submodules para Postman (2024-05-08 – Fernando Castelano Banhos)
-
- Implementado StorageCSV - ainda falta o load from stream - correção de bug de charset no StorageJSON (acentos estava sendo exportados errados) (2024-05-07 – Fernando Castelano Banhos)
-
- RALRoutes.pas -- Correção de Leak (faltou free FURIParams) (2024-05-02 – Fernando Castelano Banhos)
- RALServer.pas -- Melhor forma para criar uma TRALRoute (procedure CreateRoute)
-
- RALDBStorage.pas -- Implementado procedure ReadFieldDateTime de um Int64 (UnixDateTime) (2024-05-01 – Fernando Castelano Banhos)
- RALDBStorageJSON.pas -- Implementado LoadFromStream do TRALDBStorageJSON_RAW
-
- RALTypes.pas -- Adicionado tipo TRALDateTimeFormat; (2024-05-01 – Fernando Castelano Banhos)
- RALDBStorageJSON.pas -- Renomeado TRALJSONFormat para TRALJSONType -- Criado TRALJSONFormatOptions para conversao de datetime -- Adicionado propriedade FormatOptions para obter as opcoes do TRALJSONFormatOptions
- RALDBTypes.pas -- Adicionado nova classe TRALDBUpdateSQL, em implementação
- RALQueryStructure.pas -- Criado proteção para Dataset Zeos quando o cliente não tiver habilitado o DEFINE de SaveToStream no ZMemTable
- RALDBZeos.pas -- SaveFromoStream renomeada para SaveToStream -- Exportação Nativa refeita para Delphi e Lazarus (SaveToStream) -- Função CanExportNative refeita
- RALDBFireDAC.pas -- SaveFromoStream renomeada para SaveToStream
- RALDBBase.pas -- SaveFromoStream renomeada para SaveToStream
- RALDBZeosMemTable.pas -- Refeita procedure OnQueryResponse, para abrir nativo o ZMemTable
- RALDBBufDataset.pas.pas -- Refeita procedure OnQueryResponse, para abrir nativo o TSQLQuery (BufDataset)
- RALDBSQLDB.pas.pas -- SaveFromoStream renomeada para SaveToStream -- Exportação Nativa refeita para Lazarus (SaveToStream)
-
- Ajuste de Answer para responder Stream sem necessariamente precisar de um AddFile (2024-05-01 – Mobius One)
-
- Implementado RALDBBufDataset.pas (2024-04-29 – Fernando Castelano Banhos)
-
- Implementado RALDBFDMemTable - Registrado TRALDBFDMemTable para instalacao no Delphi - Movido TRALDBOnError para unit RALDBTypes.pas (2024-04-29 – Fernando Castelano Banhos)
-
- RALDBTypes.pas -- Implementado função ParseSQLParams (2024-04-28 – Fernando Castelano Banhos)
- RALDBZeosMemTable.pas -- Renomedo classe TRALDBZeosMemTable para TRALDBZMemTable
- RALDBSQLDB.pas -- Corrigido falta de uses RALMIMETypes
-
- RALClient.pas -- Setado valor default ExecBehavior no Create do RALClientMT (2024-04-28 – Fernando Castelano Banhos)
- RALDBZeosMemTable.pas -- Mudado propriedade Storage para TRALDBStorageLink
- RALTools.pas -- Correção de bug no FixRoute, rota '/' era transformada em ''
-
- RALDBBase.pas -- Função SaveFromStream modificada para melhor adaptação devido alguns Datasets -- Implementado funcão CanExportNative para melhor controle de alguns Datasets (2024-04-27 – Fernando Castelano Banhos)
- RALQueryStructure.pas -- Modificado função GetQueryClass para detectar a classe por ParentClass
- RALDBModule.pas -- Adaptaçãos para as funcoes SaveFromStream, CanExportNative do RALDBBase
- RALDBZeosMemTable.pas -- Inicio das Implementaçao do RALZeosMemTable
-
- DBStorages (BIN, JSON, BSON) -- Movida as funcoes de ReadFieldXXX e para unit RALDBStorage.pas (2024-04-27 – Fernando Castelano Banhos)
- RALBase64.pas -- Implementada funcao DecodeAsStream de uma String
-
- DBStorage BIN reformulado - DBStorage JSON reformulado.. ainda não implementado - DBStorage BSON implementado (2024-04-26 – Fernando Castelano Banhos)
-
- RALRegister.pas -- Implementado PropertyEditor para a propriedade BaseUrl do Cliente -- Implementado PropertyEditor para a propriedade CompressType do Cliente e Servidor (2024-04-19 – Fernando Castelano Banhos)
- RALRoutes.pas -- Funcao CanResponseRoute renomeada para CanAnswerRoute
- RALCompress.pas -- Implementada funcao GetInstaledList para responder ao PropertyEditor.
-
- RALClient.pas -- Modificado para que o cliente execute a rota até q tenha um StatusCode > 0 ou a quantidade de testes seja > 3 (2024-04-17 – Fernando Castelano Banhos)
- RALParams.pas -- Removido procedures AssignCookies e AssignCookiesText, por se tratar de cookies de Response, foram movidos para o RALResponse
- RALResponse.pas -- Funcoes GetParamsCookies e GetParamsCookiesText, produzem headers de cookie para Response (Set-Cookie)
- RAL Clientes Engines -- Melhora no tratamento de erros nas respostas da requisicao -- Implementação de envio de cookies para o servidor -- Clientes testados retornando StatusCode 500 e com respostas de texto, funcionando
- RAL Server Engines -- Melhora na Resposta de Cookie para o cliente (Headers Set-Cookie)
- Header Set-Cookie é unico para cada cookie.
-
- RALParams.pas -- Implementado funcao AssignCookies e AssignCookiesText para headers de Cookie - RALServer.pas -- Adicionado propriedade CookieLife para limitar a "vida" de um cookie (2024-04-16 – Fernando Castelano Banhos) RAL Server Engines
- Consertado headers de cookies
-
- Adicionado session no RALWebModule - Implementado "path" na resposta do cookie (2024-04-15 – Fernando Castelano Banhos)
-
- Implementacao da propriedade ContentDispositionInline, para que as respostas RALWebModule seja no diretas no browser (2024-04-14 – Fernando Castelano Banhos)
-
- Engines Server -- Implementado leitura (request) e escrita (response) de cookies (2024-04-14 – Fernando Castelano Banhos)
- RALCustomObjects.pas -- Implementado AddCookies, parse para cookie vindo do cliente
- RALTools.pas -- Implementado funcao RALDateTimeToGMT, adaptada para delphi7, delphi novos e lazarus
-
- RALRoutes.pas -- Adaptação do TRALRoute para aceitar Params URI -- Removida propriedade RouteDomain -- Renomeada propriedade RouteName para Route -- Adicionada propriedade Name -- Removida propriedade RouteAddress do TRALRoutes -- Adicionada função CanResponseRoute no TRALRoutes (2024-04-14 – Fernando Castelano Banhos)
- RALServer.pas -- Adaptações para modificações do TRALRoutes e TRALRoute
- RALWEBModule.pas -- Adaptações para modificações do TRALRoutes e TRALRoute -- RALTools.pas
- Correção de bug - route aceitando path transversal
-
- RALServer -- Correção de header de CORS - RALCompressZLib -- Correção para compilar em Delphi - RALDBStorageJSON -- Implementação de charcase nas keys (2024-04-11 – Fernando Castelano Banhos)
-
- RALUniGUIServer -- Modificação do SetActive para checar dependencias antes de iniciar - RALfpHTTPClient -- Implementado protecao no OnDestroy do TRALfpHttpServer verificando se está ativo (2024-04-09 – Fernando Castelano Banhos)
-
- RALServer.pas -- Implementado chekagem de dependencias das bibliotecas (dll, so, dylib) com as classes de compressão instanciadas - RALServer Engines -- Mudanca na forma de Ativar (SetActive) os servidores, deve passar pela checagem primeiro - RALCompress e heranças -- Implementado função para checar se a biblioteca de compressão foi instanciada (2024-04-09 – Fernando Castelano Banhos)
-
- Implementada nova classe RALCompressBrotli - Melhoria no Compress e Decompress da TParams - RALCompress.pas adaptada para compressão Brotli - Pequenas correções na RALCompressZLib e RALCompressZStd (2024-04-08 – Fernando Castelano Banhos)
-
-- RALClient.pas - Implementação no ClientMT a possibilidade de controlar o request (Life Cicle), para isso foi adicionada a propriedade RequestLifeCicle --- Se RequestLifeCicle = True o request será clonado pela thread e liberado para ser destruido --- Se RequestLifeCicle = False o request será utilizado pela thread e destruido pela thread (2024-04-06 – Fernando Castelano Banhos) -- Adicionado procedure Clone dos Objetos (TRALRequest, TRALParam, TRALHTTPHeaderInfo)
-
Implementacão do TRALFDQueryMT (com código duplicado da TRALFDQuery para estudos); * Mobius, por favor não remova as units do cabeçalho:-( (2024-04-05 – Gustavo Souza)
-
Create advanced_issue_labeler.yml (2024-04-01 – Mobius One)
-
Create issue_labeler.yml (2024-04-01 – Mobius One)
-
Create config.yml (2024-04-01 – Mobius One)
-
Create issue_labeler.yml (2024-04-01 – Mobius One)
-
- Adaptacoes do RALClient para Lazarus e pequenas correções - Clientes Synopse, fpHTTP, netHTTP implementado multithread - Client Indy adaptado para Lazarus - Pequeno bug de compilação do SaguiServer (2024-03-30 – Fernando Castelano Banhos)
-
- RALAuthentication.pas -- Mudanças em alguns métodos para implementação do clientes multithread - RALClient.pas -- Implementado base para cliente multithread -- Unit totalmente reformulada - RALParams.pas -- Pequenas correções para funcionar o EncodeBody - RALIndyClient.pas -- Implementado cliente multithread -- Unit totalmente reformulada - RALSaguiServer.pas -- Correção de bug no Start do servidor -- Correção de bug no StreamRead - RALThreadSafe.pas -- Revert e limpeza da unit (2024-03-29 – Fernando Castelano Banhos)
-
- RALParams.pas -- Correção de EncodeBody, quando o Index[0] nao é um Body ou um Field, para resolver foi implementado a IndexKind - RALServer.pas -- Correção da autenticação do ProcessCommands (2024-03-27 – Fernando Castelano Banhos)
-
- implementacao de lista de bloqueios multi client no RALServer - limpeza nos fontes da unit RALServer.pas - revert na constant RALDefaultPage (%ralengine%) (2024-03-27 – Fernando Castelano Banhos)
-
-- DBWare - Implementacao da class TRALDB, mapeando os tipo de dados (TRALFieldType) - Adaptação do TRALFieldType para Storage, QueryStructure -- RALTypes.pas - Melhorada constante POSINISTR - Nova constante de DEFAULTBUFFERSTREAMSIZE, definido o tamanho máximo dos buffers - Removida funcao RALLowStr, constante POSINISTR resolve - Adaptações da constante POSINISTR em diversas units - Adaptações da constante DEFAULTBUFFERSTREAMSIZE em diversas units (2024-03-24 – Fernando Castelano Banhos)
-
- Correção de bug nas definicoes de header Connection nos cliente engines - RALDBStorage -- Iniciando implementação de stream para um dataset - Pequenos ajustes em units para melhor utilização do RAL (2024-03-19 – Fernando Castelano Banhos)
-
- Correção de Tipo ValidadeResquest para ValidateRequest - Melhorias no DBWare, avanços na implementacao - Nova Unit RALQueryStructure.pas, converte uma estrutura de query (SQL e Params) para BIN ou JSON (2024-03-18 – Fernando Castelano Banhos)
-
-- Compress - Funcoes pertinentes ao assunto foram movidas para units RALCompress -- RALServer.pas - ProcessCommands mudado para procedure - Implementado procedure ValidadeRequest, um validador de requests (headers) para bloqueio de requisições indevidas antes do processamento de rotas -- Engines Servers - Adaptações das mudanças no RALServer.pas (2024-03-17 – Fernando Castelano Banhos)
-
- implementação de autenticação para Server Sagui (2024-03-16 – Fernando Castelano Banhos)
-
- RALParams -- Implementado alguns SetAs faltantes - Correção alguns servers não estavam enviando o ContentDisposition - Melhora na unit RALMultipartCoder (2024-03-16 – Fernando Castelano Banhos)
-
-- RALSaguiServer.pas - Implementado leitura do RawBody (PayLoad) - Limpeza da unit + encapsulamentos (2024-03-12 – Fernando Castelano Banhos)
-
Create workflow-issue.yaml (2024-03-08 – Mobius One)
-
- Limpeza de variaveis redudantes entre TRALClient e TRALResponse - RALResponse -- Implementado TRALServerResponse e TRALClientResponse - Client Engines readaptados para o novo TRALResponse (2024-03-06 – Fernando Castelano Banhos)
-
- RALCompress desacoplada - Compress ZStd implementada (2024-03-04 – Fernando Castelano Banhos)
-
- Implementando LoadFromStream para Dataset (2024-02-29 – Fernando Castelano Banhos)
-
- Adaptações em alguns pacotes para DBWare - Correção de typo na unit RALDBZeos - RALDBWare.pas -- Início da implementacao da função RALParamBinaryToQuery - RALDB.pas -- criada para simplificar funções e conversões de tipos da classe DB - Arquivos de Registro dos DBLink SQLDB e Zeos renomeados para ficar compativel ao pacote do FireDAC (2023-12-04 – Fernando Castelano Banhos)
-
- RALParams.pas -- Proteção para evitar leak ao processar MultiPart - RALServer.pas -- Correção de otimização de string parameter - RALDatasetStorage.pas -- Implementado LoadFromStream - RALStorage.pas -- Remodelada para funciona com Value tipo TStream -- Implementado função para adicionar Fields tipo Blobs - RALStorageBIN.pas -- Nova Unit para escreve e ler dados binarios, tipo TDataset - RALStorageJSON.pas -- Adicionado Register da Class StorageLink - RALStream.pas -- Otimização na conversão de Stream para String - RALTools.pas -- Implementado funções: OnlyNumbers e RALStringToDateTime -- Excluída função StrIsUTF8 (2023-11-27 – Fernando Castelano Banhos)
-
- Classe TRALStorage criada como base para todos os exportadores - Classe TRALStorageJSON, implementado exportação para JSON - Classe TRALDatasetStorage exportando para um Storage - RALDBBase.pas -- Modificações do DatabaseOutPut para um TStorageLink - RALDBWare.pas -- Modificações do DatabaseOutPut para um TStorageLink -- Readaptações na exportação do OpenSQL (2023-11-19 – Fernando Castelano Banhos)
-
- Implementação da Classe RALDBLink, para componentizar os Drivers (Zeos, LazSQLDB e FireDAC) (2023-11-02 – Fernando Castelano Banhos)
-
- Limpeza de units - Implementado Conectores para LazSQL e FireDAC (2023-11-02 – Fernando Castelano Banhos)
-
- Inicio das implementações para DBWare - RALRoutes.pas -- Adaptação da TRoute para TSubRoutes - RALServer.pas -- Implementado classe TRALSubRoutes (2023-11-02 – Fernando Castelano Banhos)
-
- Implementação Server CGI (2023-10-27 – Fernando Castelano Banhos)
-
- Implementação para CreateRoute para uso em modo console (2023-10-22 – Fernando Castelano Banhos)
-
- Correções de pequenos bugs nas implementações da criptografia (2023-10-15 – Fernando Castelano Banhos)
-
- RALAuthentication.pas -- EncodeBody do TRALParams foi modificada - RALClient.pas -- Implementado criptografia AES -- Adicionado Stream da ultima resposta como variável - RALConsts.pas -- Adicionado constante SupportedEncriptKind - RALParams.pas -- Adicionado propriedade CompressType -- Adicionado propriedade CriptoOptions - RALRequest.pas -- Adicionado propriedade Stream (conteúdo pós DecodeBody, descomprimida e descriptografada) - RALResponse.pas -- Adicionado propriedade CriptoKey -- Adaptações para as funcionalidades de Criptografia - RALServer.pas -- Adicionado propriedade CriptoOptions - RALTypes.pas -- Modificado tipo TRALCriptoType - RALfpHTTPServer.pas, RALIndyServer.pas, RALSynopseServer.pas -- Adaptações para as funcionalidades de Criptografia - RALfpHTTPClient.pas, RALIndyClient.pas, RALSynopseClient.pas, RALnetHTTPClient.pas -- Adaptações para as funcionalidades de Criptografia - RALCripto.pas -- Implementado Create para TRALCriptoOptions - RALCriptoAES.pas -- Implementado função para gerar S-BOX (encode e decode) - RALCustomObjects.pas -- Adicionado proriedades ContentEncoding e AcceptEncoding, para criptografia - RALTools.pas -- Implementado funções para converter TRALCriptoType para string e vice-versa (2023-10-15 – Fernando Castelano Banhos)
-
- RALCripto.pas -- Adicionadas mais funções para trabalhar com Bytes - RALCriptoAES.pas -- Implementado Padding PKCS7 (2023-10-09 – Fernando Castelano Banhos)
-
- RALTypes.pas -- Adicionado Tipo TRALCriptoType - RALCripto.pas -- Corrigido no Lazarus, Saida em Bytes maior que o Size do Stream - RALBase64.pas -- Corrigido no Lazarus, Saida em Bytes maior que o Size do Stream - RALCriptoAES.pas -- Implementado Decrypt -- Melhorias nas performances no processamento (2023-10-09 – Fernando Castelano Banhos)
-
- Inicio das implementações da classe base para Criptografia - Inicio das implementações da classe de Criptografia AES (2023-10-07 – Fernando Castelano Banhos)
-
- RALServer.pas -- Implementado propriedade FavIcon, para responder /favicon.ico - RALnetHTTPClient.pas -- Bug faltando a unit RALConsts (2023-09-25 – Fernando Castelano Banhos)
-
- RALJSON_xxx.inc -- Implementado proteção para funções quando a key não existir - RALToken.pas -- Token JWT implementado HS384 (2023-09-12 – Fernando Castelano Banhos)
-
- RALJSON_xxx.inc -- Implementado função ParseJSON de Stream (2023-09-11 – Fernando Castelano Banhos)
-
- Correção de quebra de linha em vários arquivos - Renomeado função AddText para AddBody - Renomeado função RawBody para Body (2023-09-10 – Fernando Castelano Banhos)
-
-RALAuthentication.pas -- Implementação do método OnBeforeGetToken para TRALAuthClient - RALClient.pas -- Implementação da funcão AddText, facilitando envio de Texto e JSON - RALRequest.pas -- Implementação da funcão AddText, facilitando envio de Texto e JSON - RALCustomObjects.pas -- Implementação da funcão AddText, facilitando envio de Texto e JSON -- Implementação da funcão RawBody - RALSynopseClient.pas -- Reimplementado devido bug de SendTimeout, ReceiveTimeout (2023-09-10 – Fernando Castelano Banhos)
-
- Correção da função IsNilOrEmpty - Implementador função de GetClaim para TokenJWT (2023-09-09 – Fernando Castelano Banhos)
-
- Implementações para Auth Digest (2023-09-01 – Fernando Castelano Banhos)
-
- Implementações para token Digest - RALJSON - renomeados arquivos RALJSON_xxx.pas para RALJSON_xxx.inc (2023-08-30 – Fernando Castelano Banhos)
-
- Implementacão da Authentication Digest Client (não concluida) (2023-08-23 – Fernando Castelano Banhos)
-
- RALAuthentication - Inicio das implementações do OAuth1 - RALClient - Funções de GetToken separadas por tipo - RALConsts - Novo tipos TRALAuthTypes - RALRequest - Adicionado Propriedades Host, Protocol, HttpVersion - Server Engines - Implementado capturar propriedades Host, Protocol, HttpVersion para o request - RALCustomObjects - Nova Função para Adicionar Param Query - RALSHA1 - Novo tipo de Hash - TRALToken - Inicio das implementações do OAuth1 (2023-08-20 – Fernando Castelano Banhos)
-
- RALClient.pas - implementado Connection header (keep-alive ou close) - Clients Engines - implementado envio Connection header (keep-alive ou close) - Server Engines -- Implementado resposta do header Server -- Implementado resposta do header Connection de acordo com o header do Client - RALfpHTTPServer.pas - Adicionado propriedade QueueSize - RALSynopseServer.pas -- Adicionado propriedade QueueSize -- Adicionado propriedade PoolCount (2023-08-18 – Fernando Castelano Banhos)
-
- RALServer.pas - Correção de AV para AddParamUri quando a rota não existe - RALCustomObjects.pas - Corrigido bug TRALHTTPHeaderInfo, FParams não estava sendo destruído (2023-08-15 – Fernando Castelano Banhos)
-
- RALAuthentication.pas - adaptação para novas funções do RALParams - RALClient.pas -- adaptação para novas funções do RALParams -- implementado métodos Self result - RALParams.pas -- implementado nova função AddFile - Novo Classe TRALHTTPHeaderInfo implementada no RALReques, RALResponse, RALClient - Revert em RALTypes - removido RALStringList - Cliente (Indy, Synopse, fpHTTP) - readaptados com as modificacoes de Params e Classe TRALHTTPHeaderInfo (2023-08-14 – Fernando Castelano Banhos)
-
- RALParams.pas - implementado novos métodos de AppendParams e AssignParams para facilitar no motores - RALTypes.pas - adicionando rpkCOOKIE no TRALParamKind - Server (Indy, Synopse, fpHTTP) - readaptados com as funções novas do RALParams.pas (2023-08-13 – Fernando Castelano Banhos)
-
- RALTypes -- Movida função RALHTTPDecode para unit RALUrlCoder.pas (nova TRALHTTPCoder.DecodeURL) -- Inicio da implementação da TRALStringList para ser usada Headers, Cookies, ParamFields - RALTools -- Novas funcoes RALLowStr, RALHighStr, StrIsUTF8 -- RALUrlCoder - nova classes para codificar e decodificar de URL e HTML (2023-08-13 – Fernando Castelano Banhos)
-
- Implementado função de SaveToFile para RALParams - Implementado GetMIMEContentExt (2023-08-11 – Fernando Castelano Banhos)
-
*** Ajuste de identação + Criação de overload de create em autenticação basic * Rearranjo de tipos internos para RALTypes e mensagens internas para RALConsts * Ajuste de nomenclatura de params pra tornar mais intuitivo + Criação de property Body para retornar o body da requisição nos params * Modificação de assinatura do CreateRoutes para permitir uma forma diferenciada de criação de rotas - Correção de IFDEFs em PascalRAL.inc * Ajustes diversos no Synopseserver pra funcionar Synopse com Delphi, não testado em Lazarus * Ajustes diversos no servidor de teste adicionando funcionalidades de teste** (2023-08-10 – Mobius One)
-
- Mudança na variável $ralengine; para %ralengine% - Mudança no Typo TRALMIMEDecoder para TRALMultipartDecoder - Renomeado RALMimeCoder.pas para RALMultipartCoder.pas - Implementado TRALMultipartEncoder - TRALResponse -> GetResponseStream e GetResponseText podem responder em MultiPart - TRALParams -> DecodeBody processando x-www-form-urlencoded para Fields (2023-07-30 – Fernando Castelano Banhos)
-
- Implementado objeto para controle de IPv6 - Implementado IPv6 no Server do Synopse (2023-07-29 – Fernando Castelano Banhos)
-
- Função MethodToRALMethod transferida para o TRALServer, renomeada para HTTPMethodToRALMethod - RALnetHTTPClient implementado métodos faltantes (2023-07-29 – Fernando Castelano Banhos)
-
- Correção de Typo hcHEAD e hcTRACE para amHEAD e amTRACE - Implementação nos clientes e servers dos métodos faltantes - Nova função na RALTools MethodToRALMethod (2023-07-29 – Fernando Castelano Banhos)
-
+ Função CreateRoute no Server. (2023-07-27 – Mobius One)
-
- Mudança de TRALContentTypeHelper para TRALContentType (Delphi apontou erros) - Adicionado metodos de SetServerStatus, SetBlackIPList, SetWhiteIPList (Lazarus apresentada AccessViolation) - Implementado Cliente NetHttp (2023-07-23 – Fernando Castelano Banhos)
-
- Adicionado funções de AppendParams e AcquireParams no TRALParams - Implementado TRALfpHttpClient - Implementado TRALSynopseClient - TRALMIMEDecoder implementado para leitura de multipart/formdata no TRALParams (DecodeBody) (2023-07-23 – Fernando Castelano Banhos)
-
- Implementado TRALStringListSafe (RALThreadSafe.pas) - RALServer alterado como trabalhar com TRALStringListSafe nas listas de bloqueios (2023-07-20 – Fernando Castelano Banhos)
-
- Implementado WhiteIPList no Server (liberando os IPs "localhost") (2023-07-20 – Fernando Castelano Banhos)
-
- Correção de bug na busca da Route (RouteAddress) - Criado opção de BruteForceProtection para os Server (2023-07-20 – Fernando Castelano Banhos)
-
- Implementado funções de conversão de Base64 para Base64Url - Adaptado fontes dos Hashes para funcionar com Base64Url - CreateToken JWT fontes adaptados para Base64Url (2023-07-20 – Fernando Castelano Banhos)
-
*** Ajuste de pacotes pra funcionar em todas as plataformas. - Correção de overload no MimeCoder. * Ajuste de pacote principal pra incluir todos os arquivos da .bpl. * Início de implementação de funções de parse de params no server.** (2023-07-19 – Mobius One)
-
- Implementação do Server Synopse Mormot2 (2023-07-18 – Fernando Castelano Banhos)
-
- Implementado Decoder de MIME (body -> form-data) (2023-07-16 – Fernando Castelano Banhos)
-
- Bug Na Funcao CallQuery do AuthJWTServer - Criado engine fpHTTP para inicio das implementações (2023-07-16 – Fernando Castelano Banhos)
-
- Implementado JWT Client e Server - Base64 - iniciando base64 for URL (2023-07-16 – Fernando Castelano Banhos)
-
- Troca dos nome do componente TRALBasicAuth para TRALBasicAuthServer - Troca dos nome do componente TRALJWTAuth para TRALJWTAuthServer - Mudança no nome do objeto TRALAuthClient para TRALAuthorization - Funcao FixRoutes transferida para RALTools - Implementado JWTServer (2023-07-15 – Fernando Castelano Banhos)
-
- Implementado Auth Basic (Server e Client) - Correção de Abstract Error para RALClient - Liberado JWTAuth para Lazarus - Correções de indentações de fontes (RALRoutes, RALKeyPairs, RALToken) (2023-07-15 – Fernando Castelano Banhos)
-
- Implementada RALJson.pas com o helpers - Adaptada RALToken.pas para funcionar com os helpers da RALJson.pas (2023-07-14 – Fernando Castelano Banhos)
-
- RALAuthentication.pas - Criado Identificação nas Autenticações - RALRoutes.pas - Adicionado Authorization no TRALRequest - RALTypes.pas - Adicionando TRALAuthTypes - RALIndyServer.pas - implementado funcao OnParseAuthentication (2023-07-10 – Fernando Castelano Banhos)
-
- Modificado JWTToken unificando tudo na unit RALToken.pas - Implementado unit RALKeyPairs.pas para tipagem de dados (2023-07-09 – Fernando Castelano Banhos)
-
- Iniciado as implementações do Token JWT - (2023-07-09 – Fernando Castelano Banhos)
-
- Unificado funções de Hash para unit RALHashes.pas - Implementado função de HashMD5 - Limpeza nas units RALSHA2_32.pas, RALSHA2_64.pas (2023-07-09 – Fernando Castelano Banhos)
-
- Renomeado arquivo RALSHA2_256.pas para RALSHA2_32.pas (32 bits) (SHA2_224,SHA2_256) - Implementado RALSHA2_64.pas (64 bits) (SHA2_384,SHA2_512,SHA2_512_224,SHA2_512_256) (2023-07-08 – Fernando Castelano Banhos)
-
- Melhorias na formatação da unit RALBase64 - Implementado RALHashes para servir de base - Implementado RALSHA2_256 (2023-07-08 – Fernando Castelano Banhos)
-
- Base64 implementada para Delphi e Lazarus (2023-07-07 – Fernando Castelano Banhos)
-
- Inicio Implementações Cliente Base - Inicio Implementações Cliente Indy (2023-07-05 – Fernando Castelano Banhos)
-
- Transportado classes TRALRequest, TRALResponse, TRALClientInfo, TRALParams, TRALParam da unit RALServer para RALRoutes - Implementado OnReply nos Routes (2023-07-04 – Fernando Castelano Banhos)
-
- Adicionado const PosIniStr para futuras plataformas - Troca de .Free para FreeAndNil - Criado e implementado SSL para Indy (2023-07-04 – Fernando Castelano Banhos)
-
- Implementado acesso por IPv4 e IPv6 no Indy (2023-07-03 – Fernando Castelano Banhos)
-
- Implementações de Rotas (40%) - Adicionado ServerStatus e ShowServerStatus no Server - Adicionado Tipo CharRAL - Implementações do Indy (30%) (2023-07-03 – Fernando Castelano Banhos)
-
- Implementado Routes (60%) (2023-07-03 – Fernando Castelano Banhos)
-
Create FormSuggestionEN.yml (2023-06-24 – Mobius One)
-
Create FormSuggestionPT.yml (2023-06-24 – Mobius One)
-
Create FormBugReportEN (2023-06-24 – Mobius One)
-
Create FormBugReportPT (2023-06-24 – Mobius One)
-
Create FUNDING.yml (2023-05-23 – Mobius One)
-
Update versionin RALConsts (2026-07-12 – Mobius One) Updated version
-
Docs: Update README.md READMEES.md READMEPT.md (2026-06-25 – mobius1qwe)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-06-25 – mobius1qwe)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-06-25 – mobius1qwe)
-
docs: Ajuste de pasdoc para versão mais nova do pasdoc (2026-05-30 – mobius1qwe)
-
docs: Ajuste de arquivo-fonte pasdoc (2026-04-20 – Mobius One)
-
Merge remote-tracking branch 'remotes/origin/master' into dev (2026-04-20 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-04-20 – Mobius One)
-
Merge remote-tracking branch 'remotes/origin/master' into dev (2026-04-20 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2026-04-18 – Mobius One)
-
Merge pull request #121 from fortesm/dev (2026-03-18 – Mobius One) função aninhada (nested funcion).
-
Apply suggestion from @mobius1qwe (2026-03-18 – Mobius One)
-
função aninhada (nested funcion). Centraliza criação. Reduz duplicação. Mantém escopo local. Não alterar comportamento. Mantém DRY (Dont Repeat Yourself). (2026-03-18 – Marcelo Fortes)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-12-14 – Fernando Banhos)
-
- correção de typo (erro na digitacao da classe) (2025-12-14 – Fernando Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-12-12 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-12-12 – Fernando Castelano Banhos)
-
- correção de saida da cripto para string (2025-12-12 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-12-12 – Fernando Castelano Banhos)
-
- correção de merge do git (2025-12-12 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-12-08 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-11-29 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-11-26 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-11-23 – Mobius One)
-
Merge remote-tracking branch 'remotes/origin/master' into dev (2025-10-25 – Mobius One)
-
AV em perda de conexão com o endpoint. Simular, tirar cabo de rede. (2025-10-03 – ANTONIO GOMES)
-
AV em perda de conexão com o endpoint. Simular, tirar cabo de rede. (2025-10-03 – ANTONIO GOMES)
-
Update README.md (2025-09-17 – Mobius One)
-
Merge remote-tracking branch 'remotes/origin/dev' (2025-09-11 – Mobius One)
-
Merge remote-tracking branch 'remotes/origin/dev' (2025-08-18 – Mobius One)
-
- Correção de compilação para Lazarus para usar type helper ao invés de record helper - Mudança do Helper de base64 para RALTypes, por padronização do código - Ajuste de versionamento (2025-06-26 – Mobius One)
-
- Correção de parse para params x-www-form-urlencoded cujo value é vazio - Pequena otimização do parse melhorando um pouco o tempo de resposta dos servers + Adição de função para devolver os params como um JSONObject: Params.AsJSON (2025-06-23 – Mobius One)
-
Update config.yml (2025-06-19 – Mobius One)
-
- Criação de uma classe intermediária para facilitar exportação de criptografia do pacote, RALHashes.pas #78 * Ajuste em todas as classes para trocar RALHashes -> RALHashBase - Correção de IntegerOverflow nas hashes SHA * Ajuste de mensagem de erro referente às classes de criptografia e hash + Tratamento de entrada para evitar Invalid Pointer e Rangecheck Error - Ajuste de versionamento (2025-06-14 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-06-14 – Gustavo Souza)
-
- Correção de erros na criptografia; (2025-06-14 – Gustavo Souza)
-
- Merge Dev -> Master - Ajuste versionamento (2025-06-13 – Mobius One)
-
- ajuste no server FPHttp para o max de conexoes permitidas pelo operacional - ajuste no server indy e sagui colocando as procedures para o protected - ajuste no server indy nas propriedades ListenQueue e MaxConnections acessando diretamente no motor (2025-06-04 – Fernando Castelano Banhos)
-
- Ajuste de versionamento + Exportação de propriedades para ajuste fino de limites no Indy, FpHttp e Sagui - Correção de nomenclatura de arquivo de strings pt-br (2025-06-04 – Mobius One)
-
- melhoria na ordem da propriedade do CompressType - mudança no tipo da propriedade DatabaseLink do TRALDBModule de StringRAL para String (2025-05-11 – Fernando Castelano Banhos)
-
- mudança no tipo da propriedade EngineType do RALClient de StringRAL para String (2025-05-11 – Fernando Castelano Banhos)
-
- adicionado compress type ctNone na lista de compressao dos componentes RALServer e RALCliente - correção de AV para descompressão de stream com size = 0 (2025-05-11 – Fernando Castelano Banhos)
-
- ajuste de versionamento (2025-04-16 – Fernando Castelano Banhos)
-
- melhoria na adição de units requeridas pelo TRALClient, adicionando na unit correta (2025-04-16 – Fernando Castelano Banhos)
-
- Ajuste de conversões implícitas. * Ajuste de strings hardcoded para resource permitindo que sejam localizadas. * Tradução de strings nos recursos. (2025-03-29 – Mobius One)
-
*** Ajuste de versionamento pra permitir controle por diretivas** (2025-03-27 – Mobius One)
-
- Adaptações nas classes Compress para facilitar a expansão futuras, padronizando os fontes como foi feito com as classes TRALClient e TRALDBWare (2025-03-26 – Fernando Castelano Banhos)
-
*** Correção de versionamento** (2025-03-25 – Mobius One)
-
- Correção de erros internos do Sagui com content de tamanho zero ou stream inválido - Prevenção de erro de compactação em ZLib se caso o conteúdo a ser compactado for zero (2025-03-25 – Mobius One)
-
- melhoria na funcao RALCPUCount (2025-03-21 – Fernando Castelano Banhos)
-
- Correção de Target de pacote pra win32 pra funcionar por padrão com todas as IDEs Delphi. - Corrigidos package Indy e Synopse. (2025-03-19 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-03-19 – Mobius One)
-
*** Atualização de versão para 0.11.0-2 * Atualização de package sagui pra versão 3.5.2 * Ajuste de wizard e arquivos .dproj para funcionar com Delphi 12.3 * Ajuste de wizard pra funcionar com IDE 64b 12.3 * Ajuste no SynopseServer para encerrar corretamente o socket * Ajuste de documentação no RALServer** (2025-03-19 – Mobius One)
-
- Removido componentes DBLinks (TRALDBFireDACLink, TRALDBZeosLink, TRALDBSQLDBLink) - Propriedade DatabaseLink do componente TRALDBModule, modificada e adaptada automaticamente aos Drivers - Ajustes no pacote RALDBPackage do Lazarus - Adaptações para o componente TRALDBModule funcione sem os DBLinks (2025-03-18 – Fernando Castelano Banhos)
-
- correção do Server Sagui para aceitar compressão - correção do Server Sagui para capturar o payload (body) corretamente - correção da descompressão gzip para Delphi (2025-02-26 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-02-25 – Fernando Castelano Banhos)
-
+ Criação de ícone para ClientRAL unificado - Ajuste de arquivos de recurso pra incluir as modificações dos clientes - Adição de uma condição pra usar o valor direto da ARoute se BaseURL tiver vazio, simplificando chamadas GET (2025-02-17 – Mobius One)
-
- Adaptações para RALCliente funcionar - Correção de alguns leaks ao clonar RALRequest (2025-02-14 – Fernando Castelano Banhos)
-
- RALNetHttp e RALDBFiredacDAO adaptado com o novo RALClient - Criado para Delphi e Lazarus funçoes para auto declarar as classes dos Engines conforme selecionado (2025-02-13 – Fernando Castelano Banhos)
-
- Unificado RALClienteMT e RALCliente - Mudanças e Adaptações nos clientes Indy, fpHTTP, Synopse - Adaptações das mudanças para a classe TRALDBConnection (2025-02-13 – Fernando Castelano Banhos)
-
- Correção de compatibilidade de plataformas no pacote BSON em design-time para Delphi * Atualização de versionamento (2025-01-24 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2025-01-24 – Fernando Castelano Banhos)
-
Merge remote-tracking branch 'remotes/origin/dev' (2025-01-06 – Mobius One)
-
- Removido submodule brookframework. (2025-01-06 – Mobius One)
-
- Atualização de submodule. - Removido submodule brookframework. + Adição de libsagui untracked para instalação do SaguiRAL. (2025-01-06 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-11-27 – Mobius One)
-
- Atualização de versão para 0.10.0. - Mudança estrutural dos pacotes movendo pacote Storage para a base do projeto. - Criação de categoria própria dos Storages, "RAL - Storage" na paleta de componentes. - Atualização dos caminhos das imagens de ícone dos componentes. - Ajuste de dependências de pacotes para incluir a mudança de caminho dos Storages. - Removida dependência do DBPackage pra instalar os Storages que podem ser usados sem depender de DBWare. (2024-11-27 – Mobius One)
-
- Correção de versionamento (2024-11-24 – Mobius One)
-
- Conversão de RALMIMETypes para Singleton para reduzir tempo de carga - Ajuste de coleta de MIMETypes do sistema otimizando a carga (2024-11-24 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-11-11 – Gustavo Souza)
-
- Correção dos AVs em Exceptions (lifetime); (2024-11-11 – Gustavo Souza)
-
- correção no indy client, retornando todos os exceptions (2024-11-11 – Fernando Castelano Banhos)
-
- correçao multipart encode, charset com chars NUL (2024-11-09 – Fernando Castelano Banhos)
-
-- correção do multipart decode, erro de charset (2024-11-09 – Fernando Castelano Banhos)
-
- Ajuste de versionamento (2024-11-06 – Mobius One)
-
+ Pacote Storage BSON para trafegar outro tipo de dados além de binário, JSON ou CSV, para Delphi e Lazarus. * Ajuste dos pacotes, libpaths e outros ajustes menores no Delphi. * Atualização do project group no Lazarus pra incluir o pacote BSON. (2024-11-06 – Mobius One)
-
- correção do CustomDateTimeFormat (2024-11-04 – Fernando Castelano Banhos)
-
*** Ajuste de versionamento** (2024-11-01 – Mobius One)
-
- Atualização de Submódulo ZSTD (2024-11-01 – Mobius One)
-
- correção para Swagger e Postman Exporter, nao funcionavam no Delphi Linux (2024-11-01 – Fernando Castelano Banhos)
-
- Cprreção de versionamento (2024-10-31 – Mobius One)
-
- Correções de instalação no Linux (2024-10-31 – Mobius One)
-
- Propriedade Storage dos MemTable revertida para TRALDBStorageLink - Adaptações no Server (DBModule) para exportar o resultado conforme storage requisitado pelo Client (2024-10-30 – Fernando Castelano Banhos)
-
- RALTypes.pas -- Movida TRALStringStream para unit RALStream -- funcoes StringToBytes e BytesToString renomeadas para StringToBytesUTF8 e BytesToStringUTF8 (2024-10-29 – Fernando Castelano Banhos)
- RALStream.pas -- Função StringToStream reformuda, não converte para utf8 -- Função StringToStreamUTF8, converte uma string para TRALStringStream (utf8)
-
- RALTypes -- novo type UInt64RAL, para alguns delphi mais antigos (2024-10-28 – Fernando Castelano Banhos)
- RALHashes.pas, RALMD5.pas, RALSHA2_32.pas, RALSHA2_64.pas, RALBase64.pas, RALStream.pas -- adaptações para o nome type UInt64RAL
-
- correção de estouro de "index of bounds", ao usar Delphi e Lazarus (2024-10-28 – Fernando Castelano Banhos)
-
- Ajuste de versionamento do pacote (2024-10-27 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-10-25 – Mobius One)
-
- Correção de diretiva em RALTools para compilar para FMX Linux * pequena otimização em RALDBTypes reduzindo chamadas a Pos * Atualização de arquivo pasdoc.pds com as novas units desde a última versão. (2024-10-25 – Mobius One)
-
- correção para FireDAC, assign fields e fields do servidor - melhorias no setactive do Zeos, para não entrar em loop - mudanças na funcao RALFieldTypeToFieldType sftString -> ftWideString e sftMemo -> sftWideMemo (2024-10-25 – Fernando Castelano Banhos)
-
- correção para nao enviar nulos no updateSQL (2024-10-25 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-10-25 – Mobius One)
-
- adicionado novos parametros para conexao dbware com sqlite (2024-10-24 – Fernando Castelano Banhos)
-
- RALFDMemTable -- Correção de loop ao buscar dados do servidor dbware (2024-10-23 – Fernando Castelano Banhos)
- RALDBFiredac -- correção para SQLite, stringmode Unicode
-
- PascalRAL.inc -- Adicição de alguns defines para facilitar no desenvolvimento (2024-10-20 – Fernando Castelano Banhos)
- RALTypes.pas -- adaptações das novas diretivas incluidas no PascalRAL.inc
- RALDBStorageCSV.pas -- adaptações das novas diretivas incluidas no PascalRAL.inc -- adicionado propriedade de exportação usando UTF8BOM
-
- RALTypes.pas -- TRALStringStream criado funcoes de WriteString, WriteBytes, WriteStream (2024-10-20 – Fernando Castelano Banhos)
- RALDBStorageCSV.pas -- WriteStringToStream usando encoding UTF8 para escrever no Stream
-
- Correção de conversão de campos memos para unicode (2024-10-20 – Fernando Castelano Banhos)
-
- RALRequest.pas -- TRALServerRequest, GetRequestText aplicado conversao de charset (2024-10-20 – Fernando Castelano Banhos)
- RALTypes.pas -- Correção de TRALStringStream.DataString, Posicionando Stream da Posicao 0
- RALDBStorageJSON.pas -- Conversão de charset na exportação do json para unicode
- RALDBStorageCSV.pas -- Pequenas correções e melhorias
-
- Correçao do ResponseText, agora trazendo o UTF8 convertido (2024-10-19 – Fernando Castelano Banhos)
-
- Acertos de Charset UTF8 - Correção no RALPostmanExporter.pas, quote na palavra "token" (2024-10-19 – Fernando Castelano Banhos)
-
- Correção de compilação para Lazarus + Pacote de grupo de projetos para Lazarus, facilitando instalação. (2024-10-16 – Mobius One)
-
- Correção de compatibilidade com FireDAC(AnyDAC) para Delphi XE2, contribuição de Endrigo Rodrigues - Ajuste de dependências de pacotes e plataformas juntamente de dependências para compatibilidade com FireDAC do Delphi XE2 (2024-10-15 – Mobius One)
-
- Ajuste de dependência de pacotes e search paths (2024-10-15 – Mobius One)
-
- Correção de compatibilidade para Delphi XE2, com auxílio do Endrigo. - Conversão de units UTF-8 com BOM para sem BOM. (2024-10-15 – Mobius One)
-
*** Ajustes de compatibilide com Delphi XE2, contribuições de Endrigo** (2024-10-14 – Mobius One)
-
- correção de mais defeitos causados pela mudança na StringRAL para widestring - retirado a TRALStringStream e retornado para TStringStream - mudança na funcao StreamToString (2024-10-11 – Fernando Castelano Banhos)
-
- Ajuste de diretiva FMX pra detectar o FMX em delphis XE3 ou superior - Ajuste de Wizard Standalone Lazarus para incluir a dependência da LCL (2024-10-03 – Mobius One)
-
- Correção de Abstract Error em DBConnection (2024-09-17 – Mobius One)
-
*+ cláusula de .lps em gitignore pra não subir arquivo temporário * Ajuste no README com ícone novo do Discord e ajuste do texto (2024-09-14 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-09-11 – Mobius One)
-
- Adição de unit faltante no pacote principal - Ajuste de dependências de pacotes Lazarus - Correção de compatibilidade com nova versão do mORMot2 - Correção de uses em templates do wizard - Reforma para forçar UTF8 internamente nas Streams do componente - Ajuste de compatibilidade com Delphi 10.0 Seattle (2024-09-11 – Mobius One)
-
- Adaptação para CGI no Delphi, aceitando compilar em outras plataformas (2024-09-10 – Fernando Castelano Banhos)
-
- Wizard CGI para Delphi (2024-09-09 – Fernando Castelano Banhos)
-
*** Atualização de arquivo de fontes de ícones** (2024-09-09 – Mobius One)
-
- Pacote CGI Register (2024-09-09 – Fernando Castelano Banhos)
-
- Novo Pacote CGI (2024-09-09 – Fernando Castelano Banhos)
-
- separado pacote PascalRAL em dois: PascalRAL e PascalRALDsgn - Pacote CGI remontando (2024-09-09 – Fernando Castelano Banhos)
-
+ Unit Compress faltante do pacote principal no Lazarus - Correção de compatibilidade com Delphis anteriores ao 10.1 com o BufferedFileStream (2024-09-05 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-09-03 – Fernando Castelano Banhos)
-
- RALCriptoAES.pas -- Removido uses Dialogs (2024-09-03 – Fernando Castelano Banhos)
- RALCGIServer.pas -- CGI remodelado para Delphi e Lazarus
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-09-03 – Mobius One)
-
- Correção de path no pacote bson pro Lazarus - Remoção de dependência da LCL no pacote base para Lazarus (2024-09-03 – Mobius One)
-
- server fphttp nao mostrada janela de autenticacao basic, quando usuario nao estava autenticado (2024-09-02 – Fernando Castelano Banhos)
-
-- melhorias na velocidade de criptografia e descriptografia (2024-08-30 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-08-27 – Fernando Castelano Banhos)
-
- RALDBZeosMemTable.pas -- corrição da funcao ZeosLoadFromStream, adicionado param TZMemTable (2024-08-27 – Fernando Castelano Banhos)
- corrigido criptografia em cliente e servidor
-
+ Arquivo de pacote faltante (2024-08-26 – Mobius One)
-
+ Arquivos não inclusos no commit anterior (2024-08-25 – Mobius One)
-
+ Submódulo BSON + Pacote StorageBSON (2024-08-25 – Mobius One)
-
- Correção de commit anterior, faltou incluir RALConsts nos uses (2024-08-16 – Mobius One)
-
*** Correção dos códigos HTTP restantes** (2024-08-14 – Mobius One)
-
-- correção para proteger de AV a funcao TRALJSONValue.AsString (2024-07-25 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-07-25 – Mobius One)
-
- Remoção de unit inválida em DBPackage (2024-07-25 – Mobius One)
-
-- correção no carregamento de fielddefs (2024-07-23 – Fernando Castelano Banhos)
-
*** Arquivo de fonte dos ícones novos** (2024-07-23 – Mobius One)
-
+ Ícones dos componentes DBWare novos * Remodelagem dos ícones para um modelo novo - Remoção de ícones não utilizados * Correção dos fontes de ícones para incluir as mudanças * Correção dos pacotes pra incluir os arquivos novos no Delphi * Ajuste de descrição dos pacotes Lazarus * Ajuste de dependências dos pacotes * Ajuste de pacotes no Lazarus com arquivos novos e ícones novos - Remoção de groupproj redundante (2024-07-23 – Mobius One)
-
-- retirado resync do Zeos e Firedac, basta usar sem cacheupdates (2024-07-21 – Fernando Castelano Banhos)
-
- Correções para funcionar em Delphi - Troca de Tipo QWord para UInt64 (2024-07-16 – Fernando Castelano Banhos)
-
- Limpeza e melhoria das units (2024-07-16 – Fernando Castelano Banhos)
-
- RALDBBufDataset.pas -- Adicionado propriedade FieldInfo (2024-07-16 – Fernando Castelano Banhos)
- RALDBSQLDBLinkReg.pas -- Limpeza da unit
-
- Adaptações para compilar em Delphi (2024-07-14 – Fernando Castelano Banhos)
-
- RALDBSQLCache -- classe criada para substituir TRALQueryStructure (2024-07-14 – Fernando Castelano Banhos)
- RALDBBase.pas, RALDBZeos.pas, RALDBSQLDB.pas -- renomeado propriedade DriverName para DriverType
- RALDBModule.pas -- adaptacoes para a classe TRALDBSQLCache, substituido a TRALQueryStructure
- RALDBBufDataset.pas -- adaptacoes para a classe TRALDBSQLCache, substituido a TRALQueryStructure -- alteração dos metodo OpenRemote para Open -- alteração dos metodo ExecSQLRemote para ExecSQL -- alteração dos metodo ApplyUpdatesRemote para ApplyUpdates
- RALClient.pas -- diversas funcoes adicionadas parametro AExecBehavior = TRALExecBehavior, afim de trocar a execução pela chamada do metodo
- RALTypes.pas -- Tipo TRALExecBehavior adicionado ebDefault
-
- RALServer.pas -- modificação para ServerStatus aparecer o DefaultPage qdo o mesmo for em vazio (2024-07-12 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-07-11 – Fernando Castelano Banhos)
-
*** Atualização de versão** (2024-07-11 – Mobius One)
-
- RALSwagger -- adicionado propriedade ShowCustomNames, para mostrar os names das rotas (json: summary) -- adicionado propriedade ServersUrl, para adicionar as urls do servidor (2024-06-28 – Fernando Castelano Banhos)
-
- Wizard Form - Remodelado com Delphi7, para melhor adaptar a Delphi's Antigos (2024-06-27 – Fernando Castelano Banhos)
-
- Limpeza nos fontes do Wizard - Correção do OpenDirectroy do Wizard Delphi (2024-06-26 – Fernando Castelano Banhos)
-
- Packages Wizard prontos (2024-06-26 – Fernando Castelano Banhos)
-
- Wizard Delphi e Lazarus pronto (2024-06-26 – Fernando Castelano Banhos)
-
- Lazarus Wizard, ainda em Desenvolvimento - RALWEBModule.pas, correções para Lazarus (2024-06-25 – Fernando Castelano Banhos)
-
- Correções de IFDEFs (2024-06-24 – Fernando Castelano Banhos)
-
- Ajuste de pacote RALWizard.dpk. - Ajustes de IFDEFs internos. * Ajuste de internacionalização de dizeres no wizard form. (2024-06-24 – Mobius One)
-
- Adaptações do engine CGI, com as modificações realizadas do RALServer (2024-06-24 – Fernando Castelano Banhos)
-
*** Melhoria de documentação do RALServer** (2024-06-18 – Mobius One)
-
+ Documentação de mais units * Identação e revisão de documentação existente * Atualização de versão para 0.9.7 * Conversão de strings hardcoded para constantes na RALConsts (2024-06-10 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-06-09 – Mobius One)
-
- RALRoutes.pas e RALServer.pas -- Removido ContentType da Rota e Response (2024-05-27 – Fernando Castelano Banhos)
- RALDBModule.pas -- Criado função GetTables e GetFields
-
- RALRoutes.pas -- Adicionado propriedade ContentType no TRALBaseRoute (2024-05-20 – Fernando Castelano Banhos)
- RALServer.pas -- Adaptação do ContentType da Route para TRALResponse
-
- RALToken.pas -- Melhorias na funcao TRALJWT.IsValidToken; (2024-05-20 – Fernando Castelano Banhos)
- RALRoutes.pas -- Movida propriedade Callback do TRALBaseRoute para public
-
- RALParams.pas -- Mudanca na funcao GetAsBoolean e SetAsBoolean (2024-05-17 – Fernando Castelano Banhos)
- RALServer.pas -- TRALModuleRoutes, nova propriedade Domain
- RALDBModule.pas, RALDBStorageCSV.pas, RALDBZeosMemTable.pas -- Limpeza de variaveis nao utilizadas
- RALSwaggerExporter.pas e RALSwaggerModule.pas
- Adicionado propriedades SwaggerFile e PostmanFile, para o caso de um swagger modificado
- Mudança da propriedade Version para SystemVersion, conflito com o TRALComponent
- Mudança da propriedade Description para SystemDescription
- Removido propriedade Route e adapatado com a propriedade Domain do TRALModuleRoutes
-
- RALServer.pas -- Mudança na função CanAnswerRoute do TRALModuleRoutes, para SubModule que nao é domain (2024-05-17 – Fernando Castelano Banhos)
- RALDBZeosMemTable.pas -- Iniciado o ApplyUpdatesRemote
- RALSwaggerExporter.pas -- Adicionado controle de tag do Postman -- Adicionado propriedade TermsOfService e License -- Retirado propriedade Host -- RALSwaggerModule.pas -- Adicionado controle de tag do Postman -- Adicionado propriedade TermsOfService e License
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-05-13 – Fernando Castelano Banhos)
-
+ ícone do SwaggerModule * Ajuste dos pacotes para incluir o novo ícone * Ajuste interno de arquivos de ícones * Atualização de fontes de ícones (2024-05-13 – Mobius One)
-
- Novos icones convertidos para svg (2024-05-13 – Fernando Castelano Banhos)
-
-- Adicionado linhas de favicon do swagger no index (2024-05-13 – Fernando Castelano Banhos)
-
- remoção dos assets do swagger (2024-05-12 – Fernando Castelano Banhos)
-
- removidas as rotas SwaggerUI, SwaggerUIBundle e SwaggerUIStandalone, os arquivos serao carregadas diretamente do respositorio do github (2024-05-12 – Fernando Castelano Banhos)
-
- RALSwaggerModule.pas -- Adaptações para Delphi -- Removido o uso de arquivos resources (2024-05-12 – Fernando Castelano Banhos)
-
- RALServer.pas -- Adicionado funcionado para validar se o SSL esta habilitado (2024-05-12 – Fernando Castelano Banhos)
- RALSwaggerExporter.pas -- Adicionado propriedade SwaggerModule e Host
- RALSwaggerModule.pas -- Readaptado como responder somente rotas e arquivos do swagger
-
Merge remote-tracking branch 'remotes/origin/dev' (2024-05-10 – Mobius One)
-
+ ícones de StorageCSV e StorageXML * Ajuste de pacotes DBWare para Delphi e Lazarus para incluir o novo componente * Atualização de ícones Storage para facilitar a distinção entre eles * Atualização de arquivos de ícones .dcr e .lrs com novo ícone * Atualização de fontes de ícones (2024-05-10 – Mobius One)
-
- RALServer.pas -- Adicionado propriedade SubModule, para ler a lista dos sub modulos -- Adicionado funcao GetListRoutes no TRALModuleRoutes (2024-05-08 – Fernando Castelano Banhos)
- RALDBStorageCSV.pas -- Iniciado o LoadFromStream, ainda nao terminado
-
+ Adição de submódulo brookframework para libsagui - Ajuste de pacote SaguiRAL no Delphi pra incluir o path da lib externa do libsagui - Remoção do arquivo libsagui.pas da base do componente para usar da lib externa (2024-05-03 – Mobius One)
-
- Correção de path em pacote NetHttpRAL e SynopseRAL do Delphi (2024-05-03 – Mobius One)
-
- Remoção de ícones 16x16 * Atualização de ícones WebModule, DBModule, ícones dos componentes FireDAC e Zeos * Atualização de arquivos de fontes de ícones dcr e lrs - Remoção de arquivos de fontes desnecessários * Atualização de pacotes Delphi e Lazarus das novas units DB * Correção de import de lrs nas units de registro dos componentes (2024-05-03 – Mobius One)
-
- RALJSON (.inc) -- Modificação na funcao AsString para nao trazer como a string 'null' (2024-05-02 – Fernando Castelano Banhos)
- RALDBStorageJSON.pas -- Correção para carregar mais rapido e mostrar no grid
-
- RALDBStorageJSON.pas -- Pequena correção no TRALDBStorageJSON_RAW.ReadFields (2024-05-01 – Fernando Castelano Banhos)
-
- RALDBStorageJSON.pas -- Correção para procedure ReadRecords do TRALDBStorageJSON_DBWare (2024-05-01 – Fernando Castelano Banhos)
-
- RALDBStorageJSON.pas -- Pequena Correção no ReadRecords do TRALDBStorageJSON_RAW (2024-05-01 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-05-01 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-05-01 – Mobius One)
-
- Arrumado Pacote RALDBZeos para Delphi (2024-04-28 – Fernando Castelano Banhos)
-
- RALClient.pas -- Mudança ExecuteThread, quando ebSingleThread dava erros no Lazarus (2024-04-28 – Fernando Castelano Banhos)
- RALDBModule.pas -- Refeita o modo de responta do ExecSQL
- RALDBZeosMemTable.pas -- Criado event TRALDBOnError para alertar dos exceptions
- RALDBSQLDB.pas -- Correção de units faltando, usadas do SaveFromStream
-
- Unit renomeada para nome maiusculo (2024-04-27 – Fernando Castelano Banhos)
-
- Unit renomeada para nome maiusculo (2024-04-27 – Fernando Castelano Banhos)
-
Update Submodules (2024-04-27 – Mobius One)
-
- RALDBStorage.pas -- Remoneado variaveis FFieldsNames, FFieldsTypes e FFieldsFounds para FFieldNames, FFieldTypes e FFoundFields -- Adicionado TRALDBStorageBSONLink na constante cStorageLinkClass (2024-04-27 – Fernando Castelano Banhos)
- RALDBStorageBSON.pas -- Renomeado TRALDBStorageBJONLink pra TRALDBStorageBSONLink -- Adicionado RegisterClass no initialization
-
- variaveis FFieldsNames, FFieldsTypes e FFieldsFounds movidas para RALDBStorage.pas (2024-04-27 – Fernando Castelano Banhos)
-
- RALDBStorageBSON -- Correção para fields nulos (2024-04-27 – Fernando Castelano Banhos)
-
- Storages Exportando e Importando - RALMIMETypes - adicionado rctAPPLICATIONBSON para content-type BSON (2024-04-26 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-04-26 – Fernando Castelano Banhos)
-
*** Ajuste de dependências de pacotes forçando uso de versão correta** (2024-04-22 – Mobius One)
-
- Correção de tipo (GetInstaledList para GetInstalledList) (2024-04-22 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-04-22 – Mobius One)
-
- Conversão de pacotes de compressão de Runtime-only para Runtime + Designtime para permitir modularização da compressão no Delphi. (2024-04-22 – Mobius One)
-
- Correção da propriedade BaseURL, preenchendo com o StringList Editor clicando em Cancel (2024-04-22 – Fernando Castelano Banhos)
-
- Correções para instalação do pacote PascalRAL em Lazarus, devido adaptações de properties editors BaseURL e CompressType (2024-04-22 – Fernando Castelano Banhos)
-
- Ajuste de pacote zstd para Lazarus + Criação de pacote brotli para Lazarus (2024-04-22 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-04-21 – Mobius One)
-
- Restauração de arquivos faltantes no ajuste de arquivos internos. - Correção dos pacotes de compressão no Delphi pra adaptar à nova estrutura de arquivos. (2024-04-21 – Mobius One)
-
*** Atualização de submódulo ZSTD** (2024-04-21 – Mobius One)
-
*** Ajuste de submódulos. - Renomeio de pastas internas e ajuste de arquivos.** (2024-04-21 – Mobius One)
-
- RALRoutes.pas -- Adicionado propriedades de AllowURIParams e URIParams, para melhor controle das rotas (2024-04-21 – Fernando Castelano Banhos)
- RALCompressZStd.pas -- Removida função ZSTDIsLoaded
-
+ Criação de pasta "external" para as dependências externas, os binários ficarão no branch "externals". * Atualização de groupproj pra forçar dependência caso instale os pacotes fora de ordem. - Correção de incompatibilidade com Lazarus, ainda precisa determinar a forma de registrar as propriedades no Lazarus. * Reorganização de arquivos internamente, migrando RALCompressBrotli.pas e RALCompressZStd.pas pras respectivas dependências externas. (2024-04-20 – Mobius One)
-
- Correção do ContentDisposition, quando for html deve ser inline (2024-04-14 – Fernando Castelano Banhos)
-
- RALParams.pas -- Adaptação da funcao AppendParamsUri para verificar se o param name ja existe - RALSynopseServer.pas -- Correção do server detectando todas conexoes como 127.0.0.1 (2024-04-14 – Fernando Castelano Banhos)
-
- RALRoutes.pas -- Aumento do peso para Params URI nao identificados (2024-04-14 – Fernando Castelano Banhos)
- RALServer.pas -- Correção de Free Notification no TRALModuleRoutes -- Melhoria na funcao CanResponseRoute do TRALModuleRoutes
-
- TRALClientInfo -- Adicionado propriedade Porta - RALDBStorage -- Movido propriedade CharCase do RALDBStorageJSON para RALDBStorage - RALIndyServer e RALSynopseServer -- Capturado propriedade porta no ClientInfo -- Resolvido captura de cookies (2024-04-12 – Fernando Castelano Banhos)
-
- Formato do Json Float e Date em conformidade com padroes JSON (2024-04-11 – Fernando Castelano Banhos)
-
- Limpeza da unit RALDBStorageJSON (2024-04-10 – Fernando Castelano Banhos)
-
- DBStorage JSON adaptado para exportar em dois formatos (2024-04-10 – Fernando Castelano Banhos)
-
Novo tipo TRALExecBehavior; Opção de Single ou Multi Thread no TRALClientMT; Opção de Single ou Multi Thread no TRALFDQuery; (2024-04-05 – Gustavo Souza)
-
Ajustes para mudanças no client; (2024-04-05 – Gustavo Souza)
-
-- Correção de propriedade IndexUrl faltante (2024-04-05 – Fernando Castelano Banhos)
-
- Assets multithread convertidos para SVG - Assets server modificados, adicao de sombra (2024-04-05 – Fernando Castelano Banhos) -- RALClient.pas
- Modificado a propriedade BaseURL para TStringList
- Removido a propriedade UseSSL
- Removido procedure SetConnectTimeout, SetRequestTimeout, SetUseSSL, SetUserAgent do TRALClientHTTP
- Adicionado propriedade IndexUrl para controlar qual das URLs da lista do BaseURL está ativa -- RALResponse.pas
- Adicionado ErrorCode para capturar o erro de Socket na tentativa de conectar com o servidor
- Reescrita da procedure Clear para limpar o ErrorCode -- Clientes Engines modificados para responder ErrorCode no Response -- RALCustomObjects.pas
- Modificado procedure Clear para um procedure virtual
-
*** Atualização de pacotes para Delphi 12.1** (2024-04-02 – Mobius One)
-
*** Renomeio e correção de ícones de Brook -> Sagui** (2024-03-31 – Mobius One)
-
+ Ajuste de pacotes pra incluir clientes MT (2024-03-31 – Mobius One)
-
- RALConsts.pas -- Respostas de HTML, modificadas pro padrao HTML5 - RALIndyServer.pas -- Problema de keep-alive resolvido (2024-03-31 – Fernando Castelano Banhos)
-
- Correção do SaguiServer para testes de jMeter Lazarus Linux (2024-03-31 – Fernando Castelano Banhos)
-
- Correção das chamadas do Critical Section; - Correção para subir Exception do IndyClient; - Inclusão do AException na procedure TRALThreadClientResponse; - Correção da criação e da chamada do TRALThreadClient; - Remoção do DoExecute e DoResponse do TRALThreadClient; - Criação do OnTerminateThread; - Alteração da resposta do Execute para o OnTerminateThread; - Detonante! Alucinante! (2024-03-30 – Gustavo Souza)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-03-30 – Mobius One)
-
+ Ícones dos clientes MultiThread * Ajuste dos fontes de ícones * Atualização dos arquivos de recurso de ícone (2024-03-30 – Mobius One)
-
- Adicionando Método OnResponse nas chamadas verbais do cliente multi-thread, ajudando a não clonar o obejto pai (2024-03-30 – Fernando Castelano Banhos)
-
Melhorias na liberação de memória e multithread; Correção da execução do ExecSQLRemote para drivers que criam parâmetros ao inserir o texto SQL; Correção para retorno de erro no ApplyUpdatesRemote; Remoção de código não necessário; Inserção das quebras de linha que o Mobius tirou :-( ; (2024-03-25 – Gustavo Souza)
-
- Ajuste de dependências de pacotes (2024-03-22 – Mobius One)
-
- Início de identação em units DBFireDAC - Correção de compiler em DBModule (Faltou ;) (2024-03-19 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-03-16 – Fernando Castelano Banhos)
-
Pequenas correções; (2024-03-16 – Gustavo Souza)
-
- Ajustes de diretivas de MacOS e POSIX (2024-03-14 – Mobius One)
-
*** Ajuste de Saguiserver para mostrar corretamente o código de versão. + Mensagem de erro caso não ache a libsagui ou não seja possível carregar.** (2024-03-12 – Mobius One)
-
- Ajustes de IFDEF para Linux e MacOS - Atualização de versão (2024-03-12 – Mobius One)
-
- Ajuste de compilação em Lazarus - Ajuste de pacote sagui no Lazarus (2024-03-12 – Mobius One)
-
- Setado Engine Sagui sem versão para que a propriedade nao fique em branco (2024-03-12 – Fernando Castelano Banhos)
-
- Correção da Adaptação do ContentDisposition para Client fpHTTP (2024-03-12 – Fernando Castelano Banhos)
-
- Correção no processamento de ContentDisposition nos Params - Melhorado e Adaptado os Clients Engines para repassar o valor do ContentDisposition (2024-03-12 – Fernando Castelano Banhos)
-
- RALParams.pas -- ContentDisposition alterado para inline - RALSaguiServer.pas -- Praticamente finalizado - testes maiores (2024-03-11 – Fernando Castelano Banhos)
-
- Adicionado ContentDisposition no Request e Response - Modificado EncodeBody e DecodeBody para ContentDisposition - Atualizado Cliente e Server para ContentDisposition (2024-03-11 – Fernando Castelano Banhos)
-
- Retirado FreeContent dos Response e EncodeBody - Separado Request em Server e Cliente - ContentType e CriptoKey migrados para TRALHTTPHeaderInfo - Engines Server e Clientes funcionais com as atualizações (2024-03-11 – Fernando Castelano Banhos)
-
-- raldbpackage - Correção dos nomes dos Resourses RALDBStorage -Links -- RALRequest - Adicionado RawStream e RawText (conteudos descriptografas e descomprimidos) -- RALDBSQLDBLinkReg - Corrigido aba de install do componente (2024-03-11 – Fernando Castelano Banhos)
-
- Correção para Response com apenas um param - Correção do DBZeos para Lazarus (2024-03-11 – Fernando Castelano Banhos)
-
- Correções de falta de ; em alguns pontos da Params. * Mudança do Params.Param[Index] para Params.Index[Index]; replicado pra todas as units que o utilizam. - Ajuste de funções GetAs dos Params para usar valor Def reduzindo código. (2024-03-11 – Mobius One)
-
Merge branch 'dev' (2024-03-08 – Mobius One)
-
- Desacoplamento compress (2024-03-07 – Fernando Castelano Banhos)
-
- Melhorando o compress - desacoplamentos (2024-03-07 – Fernando Castelano Banhos)
-
- Correção de erros do Decoder do MultiPart (2024-03-07 – Fernando Castelano Banhos)
-
Correção AsInteger para AsString; (2024-03-06 – Gustavo Souza)
-
- Correção para exibir o ícone do novo pacote. - Ajuste nos fontes dos ícones. - Remoção de arquivos temporários que foram commitados. (2024-03-06 – Mobius One)
-
- Correção de nomenclatura de pacote RALDBFireDACObjects + Criação de ícones do novo pacote * Ajuste de caminhos no fonte para novo pacote * Ajuste do script de criação de dcr para incluir novo pacote * Ajuste no groupproj pra incluir novo pacote (2024-03-06 – Mobius One)
-
Correção de caminho na pkg e uses no pas; (2024-03-06 – Gustavo Souza)
-
Inclusão do pacote FiredacDAORAL no projeto; (2024-03-06 – Gustavo Souza)
-
Correção da função Clone; (2024-03-06 – Gustavo Souza)
-
- Pequena melhoria no Initialize do AES (2024-03-04 – Fernando Castelano Banhos)
-
- Correção da mudança da funcao SupportedCompressKind movida para classe TCompress (2024-03-04 – Fernando Castelano Banhos)
-
Finalização do SSL para Indy; (2024-03-04 – Gustavo Souza)
-
Correções no SSL do Indy; Criação da propriedade Key para uso de certificados criptografados; (2024-03-04 – Gustavo Souza)
-
- RALIndyServer.pas -- Correção para SSL (2024-03-04 – Fernando Castelano Banhos)
- Convertidos assets de icones para SVG
-
- Adaptações do AssignParams para outros motores (2024-03-04 – Fernando Castelano Banhos)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-03-04 – Fernando Castelano Banhos)
-
Correção do separador do cabeçalho; (2024-03-04 – Gustavo Souza)
-
- Conversoes de String para Stream, passam a usar a unit RALStream (2024-03-03 – Fernando Castelano Banhos)
-
Merge branch 'dev' (2024-03-03 – Mobius One)
-
*** Separação de DBWare do pacote principal + Criação de pacote próprio para componentes DBWare: RALDBPackage + Criação do pacote para Delphi e Lazarus * Ajuste de dependências dos pacotes DB para incluir esse novo pacote como dependência - Correção de função Clone em fpHttpClient * Conversão de verbos HTTP em cliente para virtuais na base** (2024-03-03 – Mobius One)
-
*** atualização de fontes de ícones do Figma * ajuste de Register para incluir alterações do último commit** (2024-02-29 – Mobius One)
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-02-29 – Mobius One)
-
*** reorganização de arquivos de ícones - correção de nomenclatura de ícones * atualização de dcr com os ícones do projeto * atualização de fontes de ícones com as novas mudanças * correção de pacotes Delphi e Lazarus com as mudanças** (2024-02-29 – Mobius One)
-
- Criado os StorageLinks para facilitar o multithread (2024-02-29 – Fernando Castelano Banhos)
-
Revert "- Novo Engine Sagui -> em desenvolvimento" (2024-02-29 – Mobius One) This reverts commit bc86bf8e67609eeb80f8f617da5730e073f11ca7.
-
Merge branch 'dev' of https://github.com/OpenSourceCommunityBrasil/PascalRAL into dev (2024-02-29 – Fernando Castelano Banhos)
-
- Novo Engine Sagui -> Em Desenvolvimento - Classe Storage refeita, aumento velocidade de exportacao - Adaptação no módulo DBFireDAC para exportacao nativa (2024-02-29 – Fernando Castelano Banhos)
-
- Ajuste de compressão para Lazarus (2024-02-28 – Mobius One)
-
*** ajuste de clone no SynopseClient que faltou no commit anterior - correção de velocidade de compressão ZLib** (2024-02-28 – Mobius One)
-
- Correção do método Clone do RALClient para NetHttp, FpHTTP (2024-02-28 – Mobius One)
-
- Novo Engine Sagui -> em desenvolvimento (2024-02-28 – Fernando Castelano Banhos)
-
Correção do Clone; (2024-02-28 – Gustavo Souza)
-
- Correção de AV em Clone do RALClient (2024-02-28 – Mobius One)
-
- Ajuste no Client para trocar o TRALHTTPHeaderInfo para os tipos especializados (2024-02-28 – Mobius One)
-
- Correção de função clone para permitir modificar o AOwner do componente (2024-02-28 – Mobius One)
-
- Correção de Clone para permitir herança * Ajuste de função Clone nos demais clientes Delphi (2024-02-28 – Mobius One)
-
+ função Clone no RALClient pra retornar uma cópia do objeto (2024-02-28 – Mobius One)
-
- Correção de pacotes dev (2024-02-28 – Mobius One)
-
test (2024-02-27 – Mobius One)
-
Merge branch 'master' into dev (2024-02-27 – Mobius One)
-
+ ícones do brook framework * atualização de script de ícones e fonte dos ícones * identação do RALSynopseServer (2024-02-27 – Mobius One)
-
- revert da remoção de arquivos do merge com o master (2024-02-27 – Mobius One)
-
- Remoção de módulo DBWare do master pro dev * Ajuste do master para lançamento de versão 1.0 (2024-02-24 – Mobius One)
-
+ ícones dos módulos DBModule e WebModule. * atualização do fonte dos ícones. (2024-02-24 – Mobius One)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2024-02-24 – Mobius One)
-
- Correção de pacote delphi - Ajustes de identação - Ajuste de variáveis primitivas pra usar tipada do projeto (2024-02-24 – Mobius One)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2024-01-19 – Fernando Castelano Banhos)
-
- RALStorage.pas -- Iniciando simplificacao de tipos - RALWEBModule.pas -- Adicionado propriedade Routes para adicao de novas rotas -- Criado Rotas Default (2024-01-19 – Fernando Castelano Banhos)
-
- Correção de IFDEFs em MIMETypes (2024-01-19 – Mobius One)
-
- Ajustes em RALServer de tipos primitivos - Ajustes de ordenação de métodos + Ajuste de pacotes DBModule e WebModule no pacote principal Lazarus - Ajuste de Documentação em RALMD5 e MIMETypes * Ajuste de diretivas em PascalRAL.inc para sistemas operacionais (2024-01-19 – Mobius One)
-
- Otimização de recursos para responder (2024-01-19 – Fernando Castelano Banhos)
-
- Renomeadas as classes -- TRALSubRoutes para TRALModuleRoutes -- TRALDBWare para TRALDBModule (2024-01-19 – Fernando Castelano Banhos)
-
- Modulo de Web criado (2024-01-18 – Fernando Castelano Banhos)
-
- troca das propriedades Key e Secret para JSONKey e SignSecretKey (2024-01-18 – Fernando Castelano Banhos)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2024-01-18 – git)
-
- RALClient.pas -- conserto da propriedade Key para JSONKey do JWT (2024-01-18 – git)
-
- comentarios nas units de hashes - RALAuthentication.pas -- troca das propriedades Key e Secret para JSONKEY e SignSecretKey (2024-01-18 – git)
-
- Correção de content-type faltante - Mudança de funções de string de Tools pra Types por conter alto grau de IFDEF (2024-01-12 – Mobius One)
-
- Correção de ContentType em vários pontos em que fazia o Response.Answer (2024-01-11 – Mobius One)
-
- Documentação de mais 4 units - Ajustes de nomes de função - Ajustes de CORS, adicionando nova função e concentrando headers padrão em uma única função - Ajuste de plataforma em todos os pacotes - Renomeadas algumas funções em RALServer - Remoção de funções redundantes (2024-01-03 – Mobius One)
-
- Correção para uso TBufferedFileStream em Lazarus (2023-12-22 – Fernando Castelano Banhos)
-
- Adicionado novo package UniGUIServer (2023-12-21 – Fernando Castelano Banhos)
-
- CRC32 convertido para classe TRALHashes (2023-12-20 – Fernando Castelano Banhos)
-
*** Arquivo-fonte de ícones atualizado** (2023-12-14 – Mobius One)
-
Update FormSuggestionEN.yml (2023-12-11 – Mobius One)
-
- ícones convertidos do frigma para SVG (2023-12-08 – Fernando Castelano Banhos)
-
- Ajuste de compilação de pacote Lazarus - Adição de função START e STOP no servidor (2023-12-03 – Mobius One)
-
+ Criação de pacotes DBWare + Criação de pacotes DBLink * Atualização dos fontes de recursos para incluir novos ícones - Correção de compilação de RALDBWare e RALStorage * Atualização de versão dos fontes para 0.9 (2023-12-01 – Mobius One)
-
*** Ajustes de otimização recomendados pelo Pascal Analyzer Lite - Remoção de Sender nas rotas - Correção de parâmetro inválido em ThreadSafe - Atualização de strings em RALJSON_Delphi.inc e ThreadSafe para StringRAL** (2023-11-30 – Mobius One)
-
- RALStorage.pas -- Melhoria do tratamento na conversão de String para JSON (2023-11-27 – Fernando Castelano Banhos)
-
- Novo Engine para UniGUI - RALParams.pas -- Pequenas correções de Typo -- Adicionado função para excluir TRALParam (2023-11-20 – Fernando Castelano Banhos)
-
- Modificação para as units do package DBWare (2023-11-19 – Fernando Castelano Banhos)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2023-11-10 – Mobius One)
-
- Correção de package do projeto pra incluir units faltantes e modificadas. (2023-11-10 – Mobius One)
-
- Limpeza na unit RALAuthentication.pas - Adaptações no TRALParam para uso de Streams (2023-10-29 – Fernando Castelano Banhos)
-
- Retirado tipo TRALOnFastReply para route tipo console (2023-10-29 – Fernando Castelano Banhos)
-
**** (2023-10-29 – Fernando Castelano Banhos)
-
- Correção no SaveToStream, voltando a Position para 0 (2023-10-26 – Fernando Castelano Banhos)
-
- Modificação para o EncodeBody sempre copiar o Stream do Param para um nova Stream (2023-10-26 – Fernando Castelano Banhos)
-
- Limpeza e identação de fontes em algumas units - RALBase64.pas RALHashes.pas -- Adaptações de TStringStream para TStream (2023-10-21 – Fernando Castelano Banhos)
-
- Renomeado unit RALCompressLib.pas para RALCompressZLib.pas (2023-10-15 – Fernando Castelano Banhos)
-
*** Ajuste de descrição do pacote Design - correção de IFDEF em MIMETypes e ajuste para Delphi/Linux + Métodos Start e Stop no servidor * Ajustes dos pacotes do Lazarus e Delphi adicionando units faltantes** (2023-10-13 – Mobius One)
-
- Pequenas correções de typo (2023-10-13 – Fernando Castelano Banhos)
-
- RALRoutes e RALServer.pas -- Adaptações para funcionar no modo CONSOLE - RALTypes.pas -- Adaptações para Testes com Delphi antigos e FRX - RALCripto.pas -- Adaptações trabalhar com Stream (unit RALStream) - RALCriptoAES.pas -- Adaptações para Delphi antigos - RALStream.pas -- Conjunto de funções para trabalhar com Stream (2023-10-13 – Fernando Castelano Banhos)
-
- Codigo readaptado para funcionar no Delphi (2023-10-10 – Fernando Castelano Banhos)
-
- RALCriptoAES.pas -- Melhorias de para performance de processamento - RALCripto.pas -- Classe reestruturada (2023-10-07 – Fernando Castelano Banhos)
-
*** Migração de testes para branch 'tests'.** (2023-10-03 – Mobius One)
-
- Melhoria de comentáriop da Types. - Remoção de TODO em Tools. (2023-10-03 – Mobius One)
-
- Correção de Tipo amOPTION para amOPTIONS - Correção da função GetAllowMethods da TRALRoute (2023-10-02 – Fernando Castelano Banhos)
-
- Removida a propriedade AutoGetToken do Cliente e Transferida para AuthenticationClient (2023-10-01 – Fernando Castelano Banhos)
-
- Alteração do Tipo amOPTION para amOPTIONS (2023-10-01 – Fernando Castelano Banhos)
-
- Adaptações para funcionalidade CORS (2023-10-01 – Fernando Castelano Banhos)
-
*** Ajuste de TestServer para funcionar com a versão 0.8 em Lazarus e Delphi - Correção de MimeTypes para Linux** (2023-09-27 – Mobius One)
-
- RALConsts.pas -- Adicionado SupportedCompressKind como padrão dos tipos aceitos - RALTools.pas -- Adicionado funções para converter tipos de Compress aceitos (2023-09-23 – Fernando Castelano Banhos)
-
- RALRequest.pas -- Propriedade AcceptEncoding enviada para TRALHTTPHeaderInfo -- Propriedade AcceptCompress enviada para TRALHTTPHeaderInfo -- Função HasValidAcceptEncoding enviada para TRALHTTPHeaderInfo (2023-09-23 – Fernando Castelano Banhos)
- Retirado compressão 'br' dos Cliente Engines
- Adicionado AcceptEncoding como header do Response nos Server Engines
-
- RALConsts.pas -- Adicionado pagina de erro RAL415Page - RALRequest.pas -- Criado função HasValidAcceptEncoding, para validar se o AcceptEncoding esta certo - RALCustomObjects.pas -- Criado função HasValidContenEncoding, para validar se o ContenEncoding esta certo - RALCompressLib.pas -- Renomeada classe TRALDeflateCompress para TRALCompressLib (2023-09-23 – Fernando Castelano Banhos)
-
- Criado Tipo TRALCompressType - Adaptado EncodeBody e DecodeBody para usar TRALCompressType - Propriedade ContentEncoding e ContentCompress do TRALRequest enviadas para TRALHTTPHeaderInfo - Adaptações para os Servers e Clientes para EncodeBody e DecodeBody - Renomeado RALDeflateCompress.pas para RALCompressLib.pas (2023-09-23 – Fernando Castelano Banhos)
-
- RALClient.pas -- Adicionado propriedade 'Compress' para envio e recebimento comprimidos em deflate - RALParams.pas -- AsString retorno '' mesmo que TRALParam não exista -- AsStream retorna nil mesma que TRALParam não exista -- DecodeBody e EncodeBody adicionado compressão deflate -- OnFormBodyData todos os retornos serão do tipo Body - RALRequest.pas -- Adicionado propriedades ContentEncoding e AcceptEncoding para identificar compress - RALResponse.pas -- Adicionado propriedade Compress para EncodeBody identificar se deve comprimir - RALServer's Engine -- Adicionado propriedades ContentEncoding e AcceptEncoding para identificar compress - RALDeflateCompress.pas -- Novo arquivo para comprimir deflate usando ZLib (2023-09-23 – Fernando Castelano Banhos)
-
*** Atualização pra versão 0.8 com fluxo básico de uso testado e funcionando. - Correção de pacote lazarus - Correção de alguns Typos e identação - Mudança de ContentType padrão para Application/json** (2023-09-22 – Mobius One)
-
Função GetResponseStream nos Clients Engines (2023-09-21 – Fernando Castelano Banhos)
-
- propriedade SSL removida do TRALServer e transferida para cada Engine Server (2023-09-18 – Fernando Castelano Banhos)
-
- Adicionado RALResponse nos eventos de OnValidate e OnGetToken (2023-09-13 – Fernando Castelano Banhos)
-
+ Função AsString em Routes para listar todas as rotas do servidor. (2023-09-12 – Mobius One)
-
- Correção de Hashes, gerando hash em branco (2023-09-12 – Fernando Castelano Banhos)
-
- RALRequest.pas -- Correção do propriedade Query, limpando parâmetros de URL - RALRoutes.pas -- Correção no RouteName caso começar com / - RALJSON_Delphi.inc -- Correção de EndLine ';' (2023-09-12 – Fernando Castelano Banhos)
-
- RALClient.pas -- Correção na função BeforeSendUrl, sobrando um FreeAnNil(vHeader) - RALBase64.pas -- Melhora na função DecodeBase64 - RALJSON_xxx,inc -- Correção do ParseJSON(AStream) (2023-09-11 – Fernando Castelano Banhos)
-
- RALAuthentication.pas -- Correção do ContentType na geração token JWT - RALClient.pas -- GetURL adicionando parâmetros de Query -- Correção AutoGetToken = false nao inseria Header de Authentication - RALParams.pas -- correção AssignParamsText estava adicionando & no fim - RALSynopseClient.pas -- correção de para receber o resultado dos envios - RALBase64.pas -- correção para Decode de tamanho não múltiplo de 4 - RALJson.pas -- Correção de Diretiva - RALJSON_Delphi.inc -- Função as AsString de Object e Array vinha como nula (2023-09-11 – Fernando Castelano Banhos)
-
- Correção para instalar em Lazarus (2023-09-10 – Fernando Castelano Banhos)
-
- Correções de RawBody para Body - RALClient.pas -- Adicionado propriedade AutoGetToken -- Alterado valores ConnectTimeout e RequestTimeout, antes estavam como zero (2023-09-10 – Fernando Castelano Banhos)
-
- RALAuthentication -- Mudança nas funções GetHeader, recebendo todos parâmetros para adicionar header -- OnValidade do JWTToken melhorada (agora recebe o payload) - RALClient.pas -- Mudança nas funções GetHeader, recebendo todos parâmetros para adicionar header - RALParams.pas -- Mudança na função IsNilOrEmpty -- Adicionado função Size - RALToken.pas -- Melhorada funcão ValidToken do TRALJWT (2023-09-09 – Fernando Castelano Banhos)
-
+ Ícone em formato .ico * Correção de erros de compilação do pacote + Função IsNilOrEmpty nos Params * Renomeado ParamByName para Get em Params + Função ParamByName em Request e Response através do ancestral comum na CustomObjects + Funções Answer em Response para facilitar resposta de arquivos e stream * Ajustes diversos de identação (2023-09-06 – Mobius One)
-
+ Adição de ícones de DigestAuth para server e client Delphi e Lazarus. (2023-08-22 – Mobius One)
-
- correção para HTTPS funcionar (2023-08-17 – Fernando Castelano Banhos)
-
*** Ajustes de identação + Property Engine adicionada ao servidor + Property ServerOptions - Teste de utf8 no delphi que causa AV no motor Synopse** (2023-08-15 – Mobius One)
-
- adicionado bloqueio de tentativas para requisições de path transversal (2023-08-15 – Fernando Castelano Banhos)
-
*** Ajuste de identação + Tratamento de Path Transversal** (2023-08-15 – Mobius One)
-
- correção de identações (2023-08-15 – Fernando Castelano Banhos)
-
- RALClient - readaptações de funções de verbos para melhor compreensão - Clientes - Retorno do Servidor para o Response com Body e Headers (2023-08-14 – Fernando Castelano Banhos)
-
*** Ajustes de ícone splash e help para o melhor atual * Melhoria de código, texto hardcoded movido para Consts + Ícones com tamanhos diferentes usados para gerar o arquivo .bmp** (2023-08-13 – Mobius One)
-
- (2023-08-12 – Fernando Castelano Banhos)
-
- RALJSON simplificado e adaptado para D7 ou maior - RALToken adaptado com as mudanças do novo RALJSON - RALClient adaptado com as mudanças do novo RALJSON - RALfpHTTPServer corrigido funcao HTTPMethodToRALMethod - Adicionado novos Types - TRALJSONType (2023-08-12 – Fernando Castelano Banhos)
-
*** Ajuste de posição da informação de versão do componente no splash e no about** (2023-08-12 – Mobius One)
-
- Correção de função RALHTTPDecode (2023-08-11 – Mobius One)
-
*** Otimização de MIMETypes + Função HTTPDecode - Correção de diretivas no PascalRAL.inc** (2023-08-11 – Mobius One)
-
+ Função para buscar extensão baseado no contenttype em RALMIMETypes (2023-08-11 – Mobius One)
-
*** Ajuste Layout servidor Lazarus de teste - Correção de charset no lazarus - Correção de função .AsString em Params para ser compatível com Lazarus** (2023-08-08 – Mobius One)
-
*** Ajuste de ContentType pra incluir charset na resposta** (2023-08-07 – Mobius One)
-
- Correção para Server Indy - encode UTF8 (2023-08-07 – Fernando Castelano Banhos)
-
- Correção de charset para Delphi, encode UTF8 (2023-08-07 – Fernando Castelano Banhos)
-
*** Conversão de vários arquivos do projeto para UTF8. * Removido record Helper de string e modificado constante de MIMETypes pra simplificar o código. * Ajuste de identação em algumas units. * Ajuste de layout em servidor de teste para incluir novas funcionalidades de teste.** (2023-08-07 – Mobius One)
-
*** Renomeado RespCode para StatusCode + Função AsString em Params para listar todos os parâmetros * Ajuste de identação** (2023-08-07 – Mobius One)
- criação e configuração de rotas em uma classe separada no servidor de testes
- criação de layout final em ferramenta de testes
-
+ Método sobrecarga para facilitar criação de autenticação básica * Modificação de classe-base dos clientes para teste de stress * Mudança de layout de teste de stress para novas funcionalidades do teste + Classe base para os clientes RAL do Delphi (2023-08-02 – Mobius One)
-
+ Criação de README multiidiomas (2023-08-02 – Mobius One)
-
Update README.md (2023-08-02 – Mobius One)
-
- Corrigido Send do ClientNetHTTP - Removido SetSSL do ClientNetHTTP (sem necessidade) (2023-08-01 – Fernando Castelano Banhos)
-
*** Ajuste de pacote NetHttp pra instalação.** (2023-07-31 – Mobius One)
-
*** Ajuste em pacote NetHttpRAL, criação do register. * Ajuste de uses em projeto principal do Delphi. * Ajuste de uses no projeto do Lazarus. * Ajuste de espaçamento.** (2023-07-31 – Mobius One)
-
*** Ajustes de pacotes Lazarus * Ajustes de pacotes Delphi + Pacote inicial Synopse ainda não funciona, arrumarei no próximo commit * Mudanças em algumas units migrando RALMethod para a Request saindo da Consts** (2023-07-31 – Mobius One)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2023-07-31 – Mobius One)
-
+ Teste de server Lazarus (2023-07-31 – Mobius One)
-
- Adicionado funcionalidades com Indy para methods de HEAD, OPTION, TRACE (2023-07-29 – Fernando Castelano Banhos)
-
- Comentado parâmetro automáticos de Header e Payload JWT (2023-07-28 – Fernando Castelano Banhos)
-
- Melhoria na geração do token JWT - Ajuste de nomenclatura de funções - Correções de identação - Correção de Typo ExpSegs para ExpSecs - Mudança Typo AcquireParams para AssignParams (2023-07-28 – Fernando Castelano Banhos)
-
- Corrigido erro de criar metodo OnReply para Routes do RALServer - Corrigido erro de AV ao setar um Description no Route (2023-07-26 – Fernando Castelano Banhos)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2023-07-26 – Mobius One)
-
- Commit de arquivos iniciais de ferramentas de testes. (2023-07-26 – Mobius One)
-
- Novos Eventos TRALOnClientTryBlocked e TRALOnClientWasBlocked no RALServer - Limpeza de Header, Fields, Files, Content após capturar o request nos Servers (motores) (2023-07-25 – Fernando Castelano Banhos)
-
- SetStatusServer setando para RALDefaultPage quando o mesmo for vazio (2023-07-23 – Fernando Castelano Banhos)
-
- Função AcquireParams adicionado separator (padrao "=") (2023-07-23 – Fernando Castelano Banhos)
-
**** (2023-07-22 – Fernando Castelano Banhos)
-
+ Variáveis de timeout no Server e Client. * Ajuste das classes pra adicionar timeout. - Correção de typos e espaçamento. (2023-07-22 – Mobius One)
-
*** Ajuste de pacote pra incluir as classes novas: RALRequest.pas, RALResponse.pas, RALParams.pas * Ajuste de identação * Ajuste de Response pra incluir nova função de resposta * Ajuste em todo o fonte pra adaptar à nova função + Páginas padrão de erro na Consts * Ajuste para responder página padrão nos erros comuns** (2023-07-21 – Mobius One)
-
- Revert propriedades WhiteIPList e BlackIPList para TStringList (2023-07-20 – Fernando Castelano Banhos)
-
- Adicionado BlackIPList - Melhoria nas funções de bloqueio de clientes (autenticacao) (2023-07-20 – Fernando Castelano Banhos)
-
- Renomeado BlockList para BlackList - Melhorias nas funções de bloqueios de BruteForce (2023-07-20 – Fernando Castelano Banhos)
-
- Resolvido dependencias geradas das units RALRequest, RALResponse e RALParams (2023-07-20 – Fernando Castelano Banhos)
-
- TRALParams, TRALRequest, TRALResponse transferidos para arquivos separados - TRALRoute refatorado com rota simples (2023-07-20 – Fernando Castelano Banhos)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2023-07-19 – Mobius One)
-
- Conserto de Pacote Synopse para Lazarus (2023-07-18 – Fernando Castelano Banhos)
-
**** (2023-07-18 – Fernando Castelano Banhos)
-
*** Atualização de fontes de ícones** (2023-07-17 – Mobius One)
-
- Limpeza de arquivos não usados * Ajuste de ícones em pacotes do Delphi (2023-07-17 – Mobius One)
-
*** Ajuste de pacote principal no Lazarus * Atualização de pacote de ícones de autenticação e ajuste do pacote + Ícones separados entre server e client** (2023-07-17 – Mobius One)
-
+ Adição de arquivo de ícones do fpHttp * Ajuste de pacote fpHttp para incluir os ícones (2023-07-17 – Mobius One)
-
- Renomeado arquivo RALlfpHTTPRegister.pas para RALfpHTTPRegister.pas (2023-07-17 – Fernando Castelano Banhos)
-
- Adicionado variavel Engine para setar o motor do Server (Status Check) (2023-07-16 – Fernando Castelano Banhos)
-
- Criado Pacote fpHttp para Lazarus (2023-07-16 – Fernando Castelano Banhos)
-
- Modificado TRALRoute para trabalhar com TStringStream - fpHttpServer 90% finalizado (2023-07-16 – Fernando Castelano Banhos)
-
- Correções para instalar em Lazarus (2023-07-16 – Fernando Castelano Banhos)
-
- KeyPairs - Propriedade ficou como read-only - corrigido (2023-07-16 – Fernando Castelano Banhos)
-
Update README.md (2023-07-11 – Mobius One)
-
+ Criação dos pacotes para Lazarus * Ajustes de compilação dos fontes pra instalar no Lazarus + Adição dos ícones + Arquivo de recursos Lazarus + Arquivo de includes pra concentrar as diretivas (2023-07-10 – Mobius One)
-
+ Adição de ícones de autenticadores + Adição de pacote design base para Delphi + Fontes de imagens e assets * Ajuste interno de tipos, migrando definições de tipo da Base pra Types e da Types pra Consts * Ajuste do motor Indy com as mudanças (2023-07-10 – Mobius One)
-
- Modificado ClientIndy (Host e Port) para (BaseURL) - GetJSON e SetJSON do TRALJWTPayload correções de Data para UnixDateTime - Criado Validador de Token JWT (2023-07-09 – Fernando Castelano Banhos)
-
- Correção de conversao do digest para base64 (2023-07-09 – Fernando Castelano Banhos)
-
- Melhora nas velocidades das funcoes de encode e decode (2023-07-07 – Fernando Castelano Banhos)
-
**** (2023-07-06 – Fernando Castelano Banhos)
-
*** Atualização de fontes dos ícones** (2023-07-05 – Mobius One)
-
+ Adição de ícones dos componentes + Adição de script de geração dos ícones * Ajustes de descrição dos pacotes * Ajustes de plataformas disponíveis pro motor Indy (2023-07-05 – Mobius One)
-
*** Reorganização interna dos fontes do Indy** (2023-07-05 – Mobius One)
-
- Adicionado ResponseText e ResponseStream para facilitar Respostas diretas - Melhoria no DisplayName do TRALRoute (melhorando criacao da procedure OnReply pelo Delphi) (2023-07-04 – Fernando Castelano Banhos)
-
- Reindentação de fontes após CRTL+D - Função VarToBytes formulada usando defines (2023-07-04 – Fernando Castelano Banhos)
-
+ Classe de MIMETypes * Substituição de todas as strings hardcoded para o MIMEType correspondente * Mudança de marcador de posição inicial de string da Consts pra Types * Ajuste nos fontes do projeto para inserir novas classes * Ajuste de identação das units * Mudança de pasta da RALTools (2023-07-04 – Mobius One)
-
**** (2023-07-04 – Fernando Castelano Banhos)
-
- Mudança na nomenclatura do tipo TRALMethod - Melhoria nos Params AsString conversão para Bytes - Criado unit RALTools (2023-07-04 – Fernando Castelano Banhos)
-
- Mudança dos tipos das variáveis (string e interger) para (StringRAL e IntegerRAL) - Propriedade AllowedMethods e SkipAuthMethods adicionadas no Route - Adicionado novos tipos (TRALMethod, TRALMethods) - Adicionado propriedade Method no TRALRequest (2023-07-03 – Fernando Castelano Banhos)
-
Update README.md (2023-07-03 – Mobius One)
-
Update README.md (2023-07-03 – Mobius One)
-
- Reformatado classes de response e request - Indy (30% completo) -- Funções de Encode e Decode de MultiParts criadas - Indy (2023-07-03 – Fernando Castelano Banhos)
-
**** (2023-07-01 – Fernando Castelano Banhos)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2023-06-26 – Mobius One)
-
+ Definições de ClientInfo e outras propriedades do servidor (2023-06-26 – Mobius One)
-
Update FormSuggestionPT.yml (2023-06-24 – Mobius One)
-
Update FormSuggestionEN.yml (2023-06-24 – Mobius One)
-
Update README.md (2023-06-20 – Mobius One)
-
+ Adição de ícones de componentes + Criação de classe para definição de tipos básicos * Ajuste em todos os fontes pra utilizar o tipo básico (2023-06-12 – Mobius One)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2023-06-12 – Mobius One)
-
+ Identidade visual do projeto (2023-06-12 – Mobius One)
-
Update README.md (2023-06-12 – Mobius One)
-
Update README.md (2023-06-12 – Mobius One)
-
Merge branch 'master' of https://github.com/OpenSourceCommunityBrasil/PascalRAL (2023-06-12 – Mobius One)
-
+ Estrutura básica de arquivos (2023-06-12 – Mobius One)
-
Update LICENSE (2023-06-10 – Mobius One)
-
Update FUNDING.yml (2023-05-23 – Mobius One)
-
Initial commit (2023-05-23 – Mobius One)
-
Fix: Ajuste de instalação em FPC Unleashed (2026-06-25 – mobius1qwe)
-
fix: Correção de RaiseError sobrescrevendo tratamento interno de erros. Se RaiseError for true, vai sobrescrever o tratamento interno do código do usuário por um código genérico de erro na resposta. (2026-05-30 – mobius1qwe)
-
Fix: Correção final do AV no DBWare otimizando consumo de memória (2026-04-20 – Mobius One) Fixed #123
-
fix: Ajuste defensivo em GetResponseEncText (2026-04-18 – Mobius One)
-
Fix: Correção temporária para av no DBWare (2026-04-18 – Mobius One)
-
fix: Correção de erro de compilação em RALStorageCSV.pas (2026-04-15 – Mobius One)
-
Fix: Correção de parse de queryParams no request. (2026-04-15 – Mobius One)
-
fix: - Correção de instalação do wizard (2026-03-09 – Mobius One)
-
fix: - Correção de instalação do wizard (2026-03-09 – Mobius One)
-
Fix: - Revert de arquivos incorretos no commit anterior. (2025-12-29 – Mobius One)
-
fix: - Correção em RALStream para corrigir erro em compressão (2025-12-14 – Mobius One)
-
Refactor issue labeler workflow (2025-11-29 – Mobius One)
-
Refactor issue labeler workflow (2025-11-29 – Mobius One)
-
fix: - Correção de compilação para Delphi 10.2 Tokyo, testes pendentes (2025-11-26 – Mobius One)
-
fix: - Correção de memoryleak na conversão de StreamToString. #118 - Remoção de redundância do fix anterior. (2025-11-23 – Mobius One) Fixed #118
-
chore: Update Lazarus version options in bug report template EN (2025-11-14 – Mobius One)
-
Fix: - README.md banner link (2025-11-02 – Mobius One)
-
fix: Ajuste de bot de changelog pra branch dev (2025-10-27 – Mobius One)
-
fix: - Update submodules (2025-10-24 – Mobius One)
-
Merge pull request #116 from acgubamg/dev (2025-10-03 – Mobius One) Fixed #115
-
fix: erro de compilação para Lazarus fix: configuração de diretivas para Delphi 13 (2025-08-20 – Mobius One)
-
fix: Correção de parse de www-form-url-encoded para detectar o separador do body diferente do header (2025-08-11 – Mobius One)
-
fix: Correção de encoding de arquivos do projeto fix: Ajuste de versionamento (2025-08-08 – Mobius One)
-
- correção de bug (incorrect length check) no Delphi para compressão gzip (2025-02-25 – Fernando Castelano Banhos)
-
- RALDBStorageJSON.pas, correção de bug de chatset - RALfpHTTPClient.pas, adicionado excecao de readtimeout e connectiontimeout (2024-11-11 – Fernando Castelano Banhos)
-
- packages raldbpackage.lpk e raldbzeoslink.lpk, altera modo debug para dwarf3 - correção RALDBZeosMemTable.pas, openremote e execsqlremote usando o sqlcache errado (2024-11-10 – Fernando Castelano Banhos)
-
- correção de bug de param (body) = nil (2024-11-04 – Fernando Castelano Banhos)
-
- Ajuste de UTF8 na classe de Base64 para corrigir autenticação - Correção de AV em CriticalSession do ClienteMT Fixed #106 (2024-11-01 – Mobius One)
-
*** Ajuste para enviar somente os campos alterados pelo RALDBConnection, contribuição de Endrigo Rodrigues** (2024-10-25 – Mobius One) Fixed #100
-
- Correção de ContentDisposition e ContentType no fpHttpServer (2024-10-09 – Mobius One) Fixed #94
-
- Correção de erro #95 (2024-10-09 – Mobius One) Fixed #95
-
- correção de bug na funcao GetQueryClass, melhora no loop (2024-09-10 – Fernando Castelano Banhos)
-
- Reorganização de ícones de componentes (ajuste final) * Atualização de caminhos de arquivos de ícones * Melhoria de debug no script gerador de .dcr + Ícone de componente CGIServer * Ajuste de versionamento de pacote pascalraldsgn.lpk * Atualização de dcr e lrs (2024-09-09 – Mobius One)
-
*** Ajuste de identação em algumas Units - Correção de strings Hardcoded convertendo para constantes. * Ajuste de IFDEF em SQLCache.** (2024-07-23 – Mobius One) Fixed #81
-
*** Renomeio de vários arquivos e pastas padronizando o pacote. * Ajuste dos pacotes Delphi e Lazarus para incluir os arquivos modificados. * Atualização de documentação pasdoc.** (2024-07-23 – Mobius One) Fixed #80 Fixed #82 Fixed #83 Fixed #85
-
- RALJSON_FPC.inc -- correção de bug caso Self = nil (2024-07-05 – Fernando Castelano Banhos)
- RALPostmanExporter.pas -- correção para não exportar o usuario e senha para o Postman
-
*** Atualização de fontes de ícones * Atualização de arquivos de documentação * Documentação de alguns fontes * Alteração de módulo Web incluindo rota padrão '/' para evitar problema de loop infinito** (2024-06-09 – Mobius One) Fixed #75
-
*** Ajuste de versionamento** (2024-05-10 – Mobius One) Fixed #42 Fixed #44 Fixed #64 Fixed #74
-
- Correção de bug para Auth Basic, não aparecia o WWW-Authenticate (2024-05-10 – Fernando Castelano Banhos)
-
- RALStorageBIN -- Correção de bug para escrita e leitura de Blobs (2024-04-27 – Fernando Castelano Banhos)
- RALStorageBSON -- Correção de bug para escrita e leitura de Blobs -- Reformulado WriteRecords e ReadRecords
-
- RALAuthentication.pas -- Modificação caso a propriedade ExpSecs = 0 o token gerado nao expirará (2024-04-22 – Fernando Castelano Banhos)
- RALRequest.pas -- Modificação na propriedade Query, faltou um fixroute
- RALServer.pas -- Object TRALCORSOptions, removido propriedade Enabled, redundancia com amOPTIONS da rota -- ProcessCommands readaptado para validar autenticacao -- ProcessCommands adaptado para responder CORS
-
-- Correção de bug (falta de then) (2024-04-21 – Fernando Castelano Banhos)
-
- RALRoutes.pas -- Possibilidade de poder a rota responder somente por uma rota completa (2024-04-17 – Fernando Castelano Banhos)
- RALWEBModule.pas -- Melhoria na CanResponseRoute, localizando somente rotas iguais
- RALTools.pas -- Correção no fix route, retirando a ultima '/'
-
Update advanced_issue_labeler.yml (2024-04-12 – Mobius One)
-
Update FormBugReportPT.yml (2024-04-12 – Mobius One)
-
Update FormBugReportEN.yml (2024-04-12 – Mobius One)
-
- Atualização de Versão * Ajuste de constantes Hardcoded em Multipart para constantes nomeadas na RALConsts * Mudança da constante DEFAULTBUFFERSTREAMSIZE da Types pra Consts * Adição de uses da Consts em units que antes utilizavam somente a Types para a DEFAULTBUFFERSTREAMSIZE * Mudança de Linebreak Hardcoded (#13#10) para constantes equivalentes * Definida constante padrão HTTPLineBreak (#13#10) em conformidade com RFC 7578 e RFC 2616 * Documentação da unit RALMultipartCoder e RALMD5 (2024-04-02 – Mobius One) Fixed #42 Fixed #44
-
Update issue_labeler.yml (2024-04-01 – Mobius One)
-
Update FormBugReportPT.yml (2024-04-01 – Mobius One)
-
Update FormBugReportEN.yml (2024-04-01 – Mobius One)
-
Update FormBugReportEN.yml (2024-04-01 – Mobius One)
-
- Correção de bug do Active para SaguiServer (2024-03-31 – Fernando Castelano Banhos)
-
Update FormBugReportEN.yml (2024-03-29 – Mobius One)
-
Update FormBugReportPT.yml (2024-03-29 – Mobius One)
-
- corrigido bug do Cliente NetHTTP ao preencher headers - RALDBModule medificacao na leitura/identificacao de Header (MimeTypes) (2024-03-19 – Fernando Castelano Banhos)
-
- corrigido bug de charset no RALMultipartCoder - dbware funcionando opensql para vcl (2024-03-18 – Fernando Castelano Banhos)
-
- Ajuste de identação em Params e MultipartCoder + Diretiva de debug no .inc (2024-03-16 – Mobius One)
-
- Correção de Bug fatal descoberto pelo @tempraturbo de calculo quebra no multipart (2024-03-15 – Fernando Castelano Banhos)
-
- Corrigido Bug de RTL ao adicionar TRALSaguiServer na tela - Adicionado propriedade LibPath para setar a dll do Sagui (2024-03-12 – Fernando Castelano Banhos)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
Update workflow-issue.yaml (2024-03-08 – Mobius One)
-
*** Documentação de mais algumas classes Fixed #45 Fixed #46 Fixed #52** (2024-03-08 – Mobius One)
-
*** Documentação de classes * rearranjo de classes seguindo o padrão de código** (2024-03-07 – Mobius One) Fixed #43 Fixed #46 Fixed #47 Fixed #48 Fixed #49 Fixed #50 Fixed #51
-
- Correção de bug - setando Key para SendUrl nos Clients (2024-03-04 – Fernando Castelano Banhos)
-
- Conserto de bug para headers de motor AssignParams (2024-03-04 – Fernando Castelano Banhos)
-
- Correção de Bug Cripto AES - Key Empty - Adaptações no database para compilar no Lazarus (2024-03-03 – Fernando Castelano Banhos)
-
- Correção bug AppendParamsText - não carregava o último parâmetro (2024-02-23 – Fernando Castelano Banhos)
-
- RALJson.pas -- Correção de Bug $ENDIF - RALServer.pas -- Melhoria para TRALSubRoutes, para identificar a rota - RALWEBModule.pas -- Processamento da rota melhorada (2024-01-19 – Fernando Castelano Banhos)
-
- Documentação de algumas units - Ajustes de definições de Diretivas centralizado na PascalRAL.inc - Ajustes de funções Answer pra versão simplificada só com o StatusCode - Redução de complexidade ciclomática da nova função Answer - Limpeza de uses em RALCompressZLib - Ajustes em units de JSON reduzindo total de IFDEFs (2024-01-18 – Mobius One) Fixed #37 Fixed #38 Fixed #40 Fixed #41
-
- Ajuste de nome de funções em RALCripto - Correção de novos nomes nas units que as utilizam + Documentação de novas units (2024-01-04 – Mobius One) Fixed #35 Fixed #36 Fixed #39
-
- Revisão e documentação de mais units (2023-12-29 – Mobius One) Fixed #27 Fixed #28 Fixed #29
-
- Início de ajustes de documentação - Ajuste de ordem de pacotes no groupproj - Correção de descrição do pacote UniGUI - Otimização de RALStorage reduzindo complexidade ciclomática da função WriteField (2023-12-28 – Mobius One) Fixed #26
-
Update FormBugReportPT.yml (2023-12-11 – Mobius One)
-
Update FormBugReportEN.yml (2023-12-11 – Mobius One)
-
- RALBase64.pas -- Aumento do Buffer de Leitura e Escrita do Base64 - RALStream.pas -- Correção de bug na Função SaveStream (2023-10-29 – Fernando Castelano Banhos)
-
- Limpeza na unit RALUrlCoder.pas - Correção de Bugs no unit RALCGIServerDatamodule para Lazarus (2023-10-29 – Fernando Castelano Banhos)
-
- Corrigido bug no SaveToStream (2023-10-26 – Fernando Castelano Banhos)
-
- RALSynopseServer.pas -- Resolvido bug de compressão devido erros de TStringStream - RALCompressZLib.pas -- Compress e Decompress convertidas para TMemoryStream (2023-10-15 – Fernando Castelano Banhos)
-
- RALParams.pas -- Nova função de SaveToFile - RALMultipartCoder.pas -- Correção bug de processamento de multipart de arquivo maior de 4096 bytes (2023-09-21 – Fernando Castelano Banhos)
-
- RALAuthentication.pas -- Removido "var" dos RALResponse, desnecessário - RALJSON_xxx.inc -- Bug ao adicionar um jsonelement dentro de um jsonobject ou jsonarray gerava leaks devido o object RAL não ser destruído - RALToken.pas -- Correção do TokenDigest - RALTools.pas -- Função VarToBytes readaptada para funcionar em Lazarus e Delphi -- Função FixRoute melhorada, while do fix path transversal desnecessário (2023-09-13 – Fernando Castelano Banhos)
-
- Correção de bug ao decodificar um body multipart (2023-09-12 – Fernando Castelano Banhos)
-
- RALSynopseClient.pas -- Adaptações para melhor funcionamento do KeepAlive - RALJSON_lkJSON.inc -- Correção de bug no ParseJSON(Stream) (2023-09-11 – Fernando Castelano Banhos)
-
- Bug DecodeAuth Synopse (2023-09-08 – Fernando Castelano Banhos)
-
- Renomeado funcao ParamByNameAndKind para GetKind - Correção de Bug no DecodeAuth do Synopse (2023-09-08 – Fernando Castelano Banhos)
-
- RALParams - correção de bug no processamento de Headers e Query - RALServer - WhiteIPList e BlackIPList convertidas para SafeList - Clients HTTP - Limpeza de variável de Response (2023-08-17 – Fernando Castelano Banhos)
-
- correção de bug na busca de rota parcial (2023-08-15 – Fernando Castelano Banhos)
-
- correção de bug de busca de rotas parciais (2023-08-15 – Fernando Castelano Banhos)
-
- Corrigido bug de acesso por path transversal ao server (2023-08-15 – Fernando Castelano Banhos)
-
- Corrigido pequenos bugs para compilar em Delphi (2023-08-15 – Fernando Castelano Banhos)
-
- Correções de bugs para rodar no Delphi - RALnetHTTPClient.pas -- Adaptações com as novas funções do RALParams (2023-08-15 – Fernando Castelano Banhos)
-
- RALTypes.pas - correção de circular reference - RALTools.pas - correção de bug na função RALMethodToHTTPMethod - RALUrlCoder.pas - diversos bugs corrigidos (2023-08-13 – Fernando Castelano Banhos)
-
+ SSL para Server Indy na Aplicação de testes + AboutInfo no Splash da IDE e no help * Bump de versão pra 0.7 representando 70% dos recursos prontos e testados * Mudança de layout em servidor de testes Delphi (2023-08-12 – Mobius One) Fixed #14
-
- Adicionado Header Connection=close para corrigir bug no Postman (2023-08-07 – Fernando Castelano Banhos)
-
- Ajustes no MultipartDecoder, bug de Leaks - SynopseServer, modificações para testes de stress - fpHTTPServer removido "Connection=close" para aumentar velocidade em testes de stress (2023-07-31 – Fernando Castelano Banhos)
-
- EncodeBody do Params, codificando x-www-form-urlencoded - Eventos OnRequest e OnResponse do RALServer mudados de posição para fazer logs - fpHTTPServer corrigido bug ao desativar o servidor - SynopseServer correção de AV (Free) - MultipartEncoder corrigido Result da funcao AsStream (2023-07-30 – Fernando Castelano Banhos)
-
- Correção no IndyServer para reconhecer método PATCH * Ajuste de identação * mudanças em teste de stress reduzindo tamanho de unit principal * Testes iniciais de concorrência de requisições (2023-07-28 – Mobius One)
-
- RALClient - correção de Request com Authentication e chamada com Header = nil - Adicionado Evento OnReponse no RALServer - Renomeado Evento OnClienteRequest para OnRequest no RALServer - Melhorando limpeza do Headers no RALIndyClient - Bug no RALIndyServer variável de resposta incorreta (2023-07-26 – Fernando Castelano Banhos)
-
- Corrigido Bug de DecodeBody (ASource = nil) - Mudança na constante do SetEngine INDY (antes gsIdProductVersion para gsIdVersion) (2023-07-26 – Fernando Castelano Banhos)
-
- Adicionando Engine nos clients - Adicionando propriedade UserAgent nos clients - Bug de Header no Synopse - corrigido (2023-07-23 – Fernando Castelano Banhos)
-
- Conserto de Bug no ResponseStream e ResponseText (RALResponse.pas) - IndyServer AppendParams CustomHeader - corrigido - DelimitedText Synopse Server retirado (2023-07-23 – Fernando Castelano Banhos)
-
- Correção de Bug de bloqueio de clientes (2023-07-20 – Fernando Castelano Banhos)
-
- Adicionado FileName nas propriedades SSL do TRALfpHttpServer - Correção de Leaks (assim q fechava a aplicação) para TRALfpHttpServer - Bug de Leaks resolvido com FreeContentStream para Indy (2023-07-18 – Fernando Castelano Banhos)
-
- Correção de bug de duplicidade de Uses (2023-07-17 – Fernando Castelano Banhos)
-
- Correção de Bug (ao pegar o Item o mesmo era excluído) (2023-07-16 – Fernando Castelano Banhos)
-
- Correção de pequenos bugs de inheriteds (2023-07-09 – Fernando Castelano Banhos)
-
- Pequenos Bugs de MultiPart (2023-07-05 – Fernando Castelano Banhos)
-
- Bug na funcao BytesToString (2023-07-04 – Fernando Castelano Banhos)
-
Update FormBugReportPT.yml (2023-06-24 – Mobius One)
-
Update FormBugReportEN.yml (2023-06-24 – Mobius One)
-
Update FormBugReportEN.yml (2023-06-24 – Mobius One)
-
Update FormBugReportPT.yml (2023-06-24 – Mobius One)
-
Update FormBugReportPT.yml (2023-06-24 – Mobius One)
-
Update FormBugReportEN.yml (2023-06-24 – Mobius One)
-
Update FormBugReportEN.yml (2023-06-24 – Mobius One)
-
Rename FormBugReportPT to FormBugReportPT.yml (2023-06-24 – Mobius One)
-
Update FormBugReportEN.yml (2023-06-24 – Mobius One)
-
Rename FormBugReportEN to FormBugReportEN.yml (2023-06-24 – Mobius One)
-
chore: Update dropdown options in bug report template PT (2025-11-14 – Mobius One)
-
chore: Update dropdown options in bug report template EN (2025-11-14 – Mobius One)
-
- RALClient.pas -- Correção para Compilar em Delphi (2024-07-21 – Fernando Castelano Banhos)
- RALDBConnection.pas -- Implementado funções para gerar SQL de insert, update, delete a partir dos Fields
- RALDBBufDataset.pas -- Adicionado propriedade UpdateMode -- Condicoes para CacheSQL a partir de um SQL construido automaticamento pelo Connection
-
- RALClient.pas -- implementado Metodos (Get, Post, Put, Delete, Path) no modo single, onde podemos ter o RALResponse apos a chamada do métido (2024-07-20 – Fernando Castelano Banhos)
- RALDBTypes.pas -- implementado classe TRALDBInfoTable e TRALDBInfoTables, para ler os JSON do GetTables do TDBModule
- RALDBZeos.pas -- modificações para os fields nao ficarem como readonly e required como false, devido o uso de TZReadOnlyQuery
- RALDBBufDataset.pas -- Diversas funcoes movidas para a class TRALDBConnection -- retirada das propriedade client e modulename, movidas para TRALDBConnection -- implementado propriedade UpdateTable para ajudar no UpdateSQL
- RALDBSQLDBLinkReg.pas -- implementado a property editor TRALBufDatasetTables, afim de listar as tables do servidor
- RALSynopseServer.pas -- revolvido bug de AV, qdo finalizava a aplicacao
- RALDBConnection.pas -- implementado TRALDBConnection, um conector cliente para se comunicar com o DBModule
-
Delete .github/ISSUE_TEMPLATE/issue_labeler.yml (2024-04-01 – Mobius One)
-
Delete .github/workflows/workflow-issue.yaml (2024-03-26 – Mobius One)
-
*** reorganização de pacotes em uma estrutura mais escalável e intuitiva * Ajustes em todos os pacotes com os novos caminhos em Delphi e Lazarus + Pacote do SaguiRAL que encapsula a libsagui para motor de dados do servidor compatível com Delphi e Lazarus * Ajustes no motor Sagui removendo as strings Hardcoded e movendo para a RALConsts podendo ser traduzidas + Arquivo de ícones em recurso para Delphi e Lazarus * Correção do arquivo de Registro do motor Sagui** (2024-03-12 – Mobius One)
-
- correção de merge com branches/Dev para remover pacotes DBWare * Melhorias de cliente e função clone - correção de lentidão de resposta do server (2024-03-03 – Mobius One)
-
- Ajuste de pacotes adicionando units faltantes Delphi e Lazarus - Ajuste de pacote SynopseRAL removendo gambi + Ajuste de dependências no groupproj * Pequenos ajustes de identação no pacote + Checkbox pra realizar log no servidor de testes do Delphi * Ajuste de servidor de testes Lazarus pra ficar semelhante ao Delphi - Header padrão connection=close removido do motor synopse (2023-08-17 – Mobius One)
-
- RALParams.pas - implementado adicionar params de URI - RALRoutes.pas - implementado busca de rotas parciais - RALServer.pas - implementado rotas parciais convertidas para paramsURI - RALTools.pas - FixRoute removendo '.' de rotas (segurança) (2023-08-15 – Fernando Castelano Banhos)
-
- Correção de abstract error ao remover componente Authentication (2023-07-13 – Fernando Castelano Banhos)
-
Delete FUNDING.yml (2023-07-03 – Mobius One)