{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":8499593,"defaultBranch":"master","name":"prado","ownerLogin":"pradosoft","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-03-01T10:59:09.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5450617?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1698267097.0","currentOid":""},"activityList":{"items":[{"before":"eb8ea396780c14f658117f1b2d5722a932017d39","after":"85b7fdfc1c266d99f3f6435e76e240e84c921b21","ref":"refs/heads/master","pushedAt":"2023-11-28T11:06:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Accomodate php-cs-fixer","shortMessageHtmlLink":"Accomodate php-cs-fixer"}},{"before":"b3f1b0103574d0834c35caba5ca26b1706f493f1","after":"eb8ea396780c14f658117f1b2d5722a932017d39","ref":"refs/heads/master","pushedAt":"2023-11-28T11:00:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"993 - Added TDatePicker::DropDownCssClass to apply a class to all the dropdowns","shortMessageHtmlLink":"993 - Added TDatePicker::DropDownCssClass to apply a class to all the…"}},{"before":"97f11fb60da9f5e4028d57ced703fbada61e4f4b","after":"b3f1b0103574d0834c35caba5ca26b1706f493f1","ref":"refs/heads/master","pushedAt":"2023-10-25T20:28:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Prepare version 4.3.0; composer update","shortMessageHtmlLink":"Prepare version 4.3.0; composer update"}},{"before":"91641e9b35e733871a7e63b0b1f51d1cb5040d59","after":"97f11fb60da9f5e4028d57ced703fbada61e4f4b","ref":"refs/heads/master","pushedAt":"2023-08-29T06:20:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#976 Adds TComponent::__callStatic, Update the ReadMe (#989)\n\n* Adds TComponent::__callStatic, Update the ReadMe\r\n\r\n- This forwards unfound static methods to a class's class-wide behaviors. If an object is an ISingleton, the singleton's enabled behaviors are also checked.\r\n- Added TUnknownMethodException, __call and __callStatic use TUnknownMethodException rather than TApplicationException.\r\n- TApplication implements ISingleton so it can handle static methods with the singleton behaviors rather than just the class-wide behaviors.\r\n- refactored unit tests\r\n-Updated the Readme with new features and how to add composer extensions to an application. (i know there aren't many available yet, but this is how we get community support with composer extensions)\r\n\r\n* tweaked ReadMe\r\n\r\n* removed extra line\r\n\r\n* Added History.md update\r\n\r\n* Better History\r\n\r\n* spelling correction\r\n\r\n* more readable Readme\r\n\r\n* More consistent Readme code spacing\r\n\r\n* Added the \"PluginContentId\" application parameter to the UPGRADE\r\n\r\n* tweaked Readme Language\r\n\r\n* TApplication:singleton() phpdoc text correction.","shortMessageHtmlLink":"#976 Adds TComponent::__callStatic, Update the ReadMe (#989)"}},{"before":"6ce998b8acb85dc7c48c3425d4155716fa55e6e7","after":"91641e9b35e733871a7e63b0b1f51d1cb5040d59","ref":"refs/heads/master","pushedAt":"2023-08-20T13:16:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#973 PHP Web Server Action for built-in app development (#988)\n\n* 973 PHP Web Server Action for built-in app development\r\n\r\n- Adds the PHP Dev-Test Web Server Action to serve the application. This has the feature of abiding by the \"Quiet\" flags at different levels. I haven't seen any other built-in PHP Web Server [Yii, Laravel]. Minor feature.\r\n- Removed \"-\" from CLI Text action, it was confusing\r\n- TStdOutWriter. This fopens 'php://stdout' when processing a web page b/c STDOUT is not available.\r\n- Corrected TOutputWriter to write to the output rather than stdout.\r\n- Added README.md text for starting the PHP Web Server Action after installing the application.\r\n\r\n* Better Documentation for enabling the PHP Web Server Action in Normal/Performance Mode\r\n\r\n* Minor fixes.\r\n\r\n- Better documentation for TOutputWriter.\r\n- TStdOutWriter removes flush and sets the _stdout var.\r\n- TWebServerAction corrects Port var, setAll \"null\" check, and minor tweak to the CLI help text.\r\n\r\n* cli '--workers' option has a default value of 8 when a value is not specified\r\n\r\n* no @ const in php doc\r\n\r\n* Better phpDoc on TStdOutLogRoute\r\n\r\nspecify that it can be turned on only for the built in dev server with the getOnlyDevServer configuration option\r\n\r\n* TWebServerAction gets default values.\r\n\r\n* Better phpdoc for TWebServerAction\r\n\r\n* More defaults for TWebServerAction","shortMessageHtmlLink":"#973 PHP Web Server Action for built-in app development (#988)"}},{"before":"03238467505726a012ca89e31ea35773b85b6bbe","after":"6ce998b8acb85dc7c48c3425d4155716fa55e6e7","ref":"refs/heads/master","pushedAt":"2023-08-01T07:19:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#972 TProcessHelper, TSignalsDispatcher, and related classes & functions (#986)\n\n* #972 TProcessHelper, TSignalsDispatcher, and related classes & functions\r\n\r\n- TProcessHelper for process related functions like forking (pcntl_fork) and isSystemWindows().\r\n- TSignalsDispatcher for raising signal related global events from signals for multiple handlers per signal, alarm and disarm callbacks at a specific time (1 second precision), and for callbacks per child processes (proc_open, pcntl_fork, etc) when they end (or \"stop and start\"?).\r\n- ISingleton is a new interface for application singleton objects\r\n- TShellWriter is updated to use the TProcessHelper::isSystemWindows function\r\n-TComponent only hasMethod of global event handlers that do actually exist. As a global event it exists always, but not the method.\r\n- TEventSubscription example is updated to reflect TSignalsDispatcher and TSignalParameter\r\n- TApplicationSignals behavior for configuration and attaching of TSignalsDispatcher\r\n- TCaptureForkLog behavior for capturing the logs of forked child processes in the main log. Effectively a ForkLogRouter but registering as a behavior on TApplication.\r\n- TForkable behavior for attaching the owner's ::fxPrepareForFork() and ::fxRestoreAfterFork() handlers to their respective global events.\r\n-TGlobalClassAware behavior for attaching the owner's ::fxAttachClassBehavior() and ::fxDetachClassBehavior() to their respective global events so they change with global class changes without listening.\r\n- TProcessWindowsPriority specifies the numeric priorities that windows uses for each respective priority level.\r\n- TProcessWindowsPriorityName specifies the text priorities that windows uses for each respective priority level.\r\n\r\n* First iteration correcting errors\r\n\r\nSignalsDispatcher is adding PID and STATUS to the $sigInfo because it is not passed by the system when invoking the SIGCHLD on the system test instances. Loosening the test requirement for this test.\r\n\r\nNot 100% sure what the process issue is yet. This is still being investigated\r\n\r\n* Checking the test environment for `renice`\r\n\r\nThis is designed to see what the results of renice on the testing machine and configuration.\r\n\r\n* more process priority testing on the github test machine-environment\r\n\r\nAdding documentation for the result of renice on various systems.\r\n\r\n* Checking renice string result for \"denied\" to define an error\r\n\r\n* Fixed a minor differences in how priorities are handled between MacOS and Linux\r\n\r\nMac OS uses a relative difference of priority while linux seems to use an absolute priority.\r\n\r\n* What is the system that the verification happens on?\r\n\r\nBasically, what system these tests are run on will help determine if the system will allow a process priority of 20. If the lowest priority is only 19 on the system then this would produce an error when setting to 20... and it not being 20 but 19.\r\n\r\n* corrected the idle priority from 20 to 19 for linux\r\n\r\nMacOS apparently does support a priority of 20 but linux does not.\r\n\r\nAdded isSystemLinux (and isSystemMac in a prior commit too)\r\n\r\n* fixed class typos\r\n\r\nslightly better Mac handling of priority\r\n\r\n* History.md typos","shortMessageHtmlLink":"#972 TProcessHelper, TSignalsDispatcher, and related classes & functi…"}},{"before":"695aa69719796632d1aefc4ab19d6e505e49ae92","after":"03238467505726a012ca89e31ea35773b85b6bbe","ref":"refs/heads/master","pushedAt":"2023-07-31T20:19:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"TMappedStatement fix calling TActiveRecord::createRecord (#987)\n\n- The creation of a TActiveRecord as a resultClass of a SqlMap\r\n did not work because of the detection of the presence of the\r\n TActiveRecord class. The class namespace was missing from the\r\n string.\r\n- The result was an unloaded object (recordState=0) that could\r\n not be saved. Saving triggered a duplicate key error by SQL.","shortMessageHtmlLink":"TMappedStatement fix calling TActiveRecord::createRecord (#987)"}},{"before":"acb42b89392c6ab919512dcad292269a23ba6226","after":null,"ref":"refs/heads/doc_updates","pushedAt":"2023-07-04T17:54:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"}},{"before":"18c029feb991c98dd5398bd643a4355d9c92f22c","after":"695aa69719796632d1aefc4ab19d6e505e49ae92","ref":"refs/heads/master","pushedAt":"2023-07-04T17:53:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"[WIP] Doc updates; fix #964 (#965)\n\n* Update prado-phpdoc-template to enable syntax highlighting\r\n\r\n* Replace tags with markdown tags in phpdoc comments\r\n\r\n* Replace all inline {@link} tags with {@see tags}. Most links still won't work, but at least they're visible now\r\n\r\n* add full namespace to all class links\r\n\r\n* Use latest version of phpdoc template","shortMessageHtmlLink":"[WIP] Doc updates; fix #964 (#965)"}},{"before":"5b4fda9fe7e65d199ec3f6c065a775583f215978","after":"acb42b89392c6ab919512dcad292269a23ba6226","ref":"refs/heads/doc_updates","pushedAt":"2023-07-04T17:46:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Use latest version of phpdoc template","shortMessageHtmlLink":"Use latest version of phpdoc template"}},{"before":"e81ce503ce4214f8b39aaec78d25dc8a9402584f","after":"5b4fda9fe7e65d199ec3f6c065a775583f215978","ref":"refs/heads/doc_updates","pushedAt":"2023-07-04T14:54:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Replace all inline {@link} tags with {@see tags}. Most links still won't work, but at least they're visible now","shortMessageHtmlLink":"Replace all inline {@link} tags with {@see tags}. Most links still wo…"}},{"before":"464c2485be9a5ceec2a6e901949a2898fadfd7f9","after":"e81ce503ce4214f8b39aaec78d25dc8a9402584f","ref":"refs/heads/doc_updates","pushedAt":"2023-07-04T14:04:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Replace all inline {@link} tags with {@see tags}. Most links still won't work, but at least they're visible now","shortMessageHtmlLink":"Replace all inline {@link} tags with {@see tags}. Most links still wo…"}},{"before":"24602525355657adb6dd8928bb3f22ef23891d28","after":"18c029feb991c98dd5398bd643a4355d9c92f22c","ref":"refs/heads/master","pushedAt":"2023-07-04T12:20:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#984 TEventSubscription for temporary handler in an event (#985)\n\n- Adds TArraySubscription (arrays & ArrayAccess, pass by reference), TCollectionSubscription (ArrayAccess, normal arguments w/o pass by reference), and TEventSubscription (for events in a TComponent).\r\n- Adds IPriorityCollection, IWeakCollection, and ICollectionFilter (for manipulating items for storage, like \"weak\" classes can make the objects WeakReference).\r\n- TMap::add returns the key for when the key is null and key is set on append.\r\n- TPriorityList::insertAt returns priority of the item.\r\n- Regression\r\n- unit tests for TArraySubscription, TCollectionSubscription, and TEventSubscription.\r\n- TArrayHelper for determining if an array is a list.","shortMessageHtmlLink":"#984 TEventSubscription for temporary handler in an event (#985)"}},{"before":"b225920fdc15fa354b9a665af89fbd565848a39f","after":"24602525355657adb6dd8928bb3f22ef23891d28","ref":"refs/heads/master","pushedAt":"2023-07-04T11:32:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Fix phpstan-reported type confusion error on DOMText nodes","shortMessageHtmlLink":"Fix phpstan-reported type confusion error on DOMText nodes"}},{"before":"d979acabca22502713581c135caa8ac0d243455c","after":"b225920fdc15fa354b9a665af89fbd565848a39f","ref":"refs/heads/master","pushedAt":"2023-06-26T11:01:00.282Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#982 General Logging update: Profiling, Flushing, Category/Control Filter Exclusion, Route::Enabled, TSysLogRoute, unit tests (#983)\n\n* #982 General Logging update: Profiling, Flushing, Category/Control Filter Exclusion, Route::Enabled, TSysLogRoute, unit tests\r\n\r\nAdds Profiling log items.\r\nadds FlushCount to flush the log when reaching the max for long running processes.\r\nCategories can be Excluded in routes by designating '!' or '~' before the category name, eg. \"~Prado\\Web\\UI\" will exclude logs with that path.\r\nMergeLogs to merge child logs\r\nTLogRoute::enabled\r\nLog Message Prefix\r\nTBrowserLogRoute colorizes the delta Times for easier visualization.\r\nAdds the TSysLogRoute\r\nUnit Tests for logging\r\nBetter PHP Doc\r\n\r\n* TLogger PHP CS Fixer correction\r\n\r\n* Fixes basic bugs with this release.\r\n\r\n- Corrected the copied comment to a real comment in Prado\r\n- TBrowserLogRoute checks for a float rather than an int 0 to stop a divide by zero.\r\n- TFirebugLogRoute doesn't print the prefix.\r\n- TLogRoute uses index const rather than hard coded number index\r\n\r\n* Flushing logs on final when there are no logs","shortMessageHtmlLink":"#982 General Logging update: Profiling, Flushing, Category/Control Fi…"}},{"before":"9acbb8c6631d18b1acd883f3608387702566babf","after":"d979acabca22502713581c135caa8ac0d243455c","ref":"refs/heads/master","pushedAt":"2023-06-21T14:38:38.729Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#977 THttpRequest::OnResolveRequest and TRequestConnectionUpgrade for websockt (#981)\n\n* #977 THttpRequest::OnResolveRequest and TRequestConnectionUpgrade for WebSocket\r\n\r\nRefactor of resolveRequest\r\n\r\n* added parenthesis","shortMessageHtmlLink":"#977 THttpRequest::OnResolveRequest and TRequestConnectionUpgrade for…"}},{"before":"60550c34e962394c7a4fadaba9b76f7d9fd57998","after":"9acbb8c6631d18b1acd883f3608387702566babf","ref":"refs/heads/master","pushedAt":"2023-06-21T08:44:30.663Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#975 Prado Log Level Methods & auto fill $category with class (#980)\n\n* #975 Prado Log Level Methods & auto fill $category with class\r\n\r\n* Updated HISTORY.md","shortMessageHtmlLink":"#975 Prado Log Level Methods & auto fill $category with class (#980)"}},{"before":"0aca7da978bf61f550b34f3301b1417522f95900","after":"60550c34e962394c7a4fadaba9b76f7d9fd57998","ref":"refs/heads/master","pushedAt":"2023-06-20T15:04:15.600Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"TComponent upgrade: raiseEvents in reverse [option], search for behavior by class (#978)\n\n* TComponent upgrade: raiseEvents in reverse [option], search for behavior by class\r\n\r\nThere are 5 upgrades to TComponent:\r\n- __destruct ordering is corrected so behaviors are removed before unlisten. this is to properly unwind and reverses the order of __construct.\r\n- raiseEvent can execute the handlers in reverse. This is needed if the first handlers needs to be executed last for proper priority/importance of the result. This adds TEventResults::EVENT_REVERSE\r\n- asA is updated so that if a behavior name is not found it, and the $behaviorname is a class/interface, it will look for the first behavior instanceof\r\n- isa is updated to include traits so traits can properly have global class behaviors.\r\n-getBehaviors is updated to return all behaviors of a select class if a class is provided\r\n\r\nthis also updates and refactors the TComponent unit tests to not use behavior classes as behavior names.\r\n\r\n* TPriorityMap CS Fixed\r\n\r\n* Update HISTORY.md","shortMessageHtmlLink":"TComponent upgrade: raiseEvents in reverse [option], search for behav…"}},{"before":"ba208a0057bf7104dc481f2ccafa9ca31674fea0","after":"464c2485be9a5ceec2a6e901949a2898fadfd7f9","ref":"refs/heads/doc_updates","pushedAt":"2023-06-19T16:08:54.309Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Replace all inline {@link} tags with {@see tags}. Most links still won't work, but at least they're visible now","shortMessageHtmlLink":"Replace all inline {@link} tags with {@see tags}. Most links still wo…"}},{"before":"200bcc38ff774649376c429a72a9406695bfe823","after":"0aca7da978bf61f550b34f3301b1417522f95900","ref":"refs/heads/master","pushedAt":"2023-06-19T07:33:25.672Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#944 replace exit() with TExitException to capture logs (#974)","shortMessageHtmlLink":"#944 replace exit() with TExitException to capture logs (#974)"}},{"before":"eb439900640dbf13ef0e4917900826c4b7b9193a","after":"200bcc38ff774649376c429a72a9406695bfe823","ref":"refs/heads/master","pushedAt":"2023-06-19T07:30:05.272Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"TVarDumper backport update (#970)\n\n* TVarDumper backport update\r\n\r\n* correct the variable name","shortMessageHtmlLink":"TVarDumper backport update (#970)"}},{"before":"103db3ea4cd6d9b0f7cb6b928e8db97693302e9f","after":"eb439900640dbf13ef0e4917900826c4b7b9193a","ref":"refs/heads/master","pushedAt":"2023-06-05T09:57:34.614Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"TStreamNotificationCallback for observing fopen/file_get_contents file connection/download (#968)\n\n* #966 TWeakCollection can insert array of handlers.\r\n\r\n* #904 TStreamNotificationCallback for observing file connections\r\n\r\nThis creates a `fopen`, `stream_socket_client` and `stream_socket_server` context. The class itself is invokable and is what gets notified. Multiple callbacks can be implemented or specific events can be handled.. The context creation method TStreamNotificationCallback::filterStreamContext() can instance new TStreamNotificationCallback (and sub-classes) and register its event handlers and properties.\r\n\r\nThis depends on #966 (#967)\r\n\r\n* Update TStreamNotificationCallback.php\r\n\r\nusing constant","shortMessageHtmlLink":"TStreamNotificationCallback for observing fopen/file_get_contents fil…"}},{"before":"5f4a0fac392bc189c748fe5110db353e0fa465d5","after":"103db3ea4cd6d9b0f7cb6b928e8db97693302e9f","ref":"refs/heads/master","pushedAt":"2023-06-05T08:46:53.020Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#939 TEventHandler adds TPriorityPropertyTrait (#969)\n\nCorrected TPriorityItemTrait to TPriorityPropertyTrait","shortMessageHtmlLink":"#939 TEventHandler adds TPriorityPropertyTrait (#969)"}},{"before":"d1cca9657d0272b836af3613951d65e93e7940ea","after":"5f4a0fac392bc189c748fe5110db353e0fa465d5","ref":"refs/heads/master","pushedAt":"2023-06-05T08:46:14.599Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#966 TWeakCollection can insert array of handlers. (this first) (#967)\n\n* #966 TWeakCollection can insert array of handlers.\r\n\r\n* phpdoc update","shortMessageHtmlLink":"#966 TWeakCollection can insert array of handlers. (this first) (#967)"}},{"before":"33a477c42181af9e9391be3595fe0e914ffecc8a","after":"ba208a0057bf7104dc481f2ccafa9ca31674fea0","ref":"refs/heads/doc_updates","pushedAt":"2023-05-31T16:14:36.743Z","pushType":"push","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Replace all inline {@link} tags with {@see tags}. Most links still won't work, but at least they're visible now","shortMessageHtmlLink":"Replace all inline {@link} tags with {@see tags}. Most links still wo…"}},{"before":"775d9cba736742ba8c7fe8505c5d0e22a15f78fa","after":"33a477c42181af9e9391be3595fe0e914ffecc8a","ref":"refs/heads/doc_updates","pushedAt":"2023-05-31T10:25:19.018Z","pushType":"push","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Obligatory php-cs fixer run. Looks like this was fine in 3.16.0 and needs changing in 3.17.0","shortMessageHtmlLink":"Obligatory php-cs fixer run. Looks like this was fine in 3.16.0 and n…"}},{"before":null,"after":"775d9cba736742ba8c7fe8505c5d0e22a15f78fa","ref":"refs/heads/doc_updates","pushedAt":"2023-05-31T10:20:09.240Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"Replace tags with markdown tags in phpdoc comments","shortMessageHtmlLink":"Replace <code> tags with markdown tags in phpdoc comments"}},{"before":"0f149819cc47da883d0212717ff2ccd3e297ff33","after":"d1cca9657d0272b836af3613951d65e93e7940ea","ref":"refs/heads/master","pushedAt":"2023-05-31T07:32:08.626Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#835 TBitHelper::crc32 for continued running crc32 computation. (#961)\n\n* #835 TBitHelper::crc32 for continued running crc32 computation.\r\n\r\nPHPs crc32 only works on a $string. this is a multi-tool. it can crc32 a file path, or part of a file, and will work on streams when given a stream (similar to `stream_get_contents($stream, $length, $offset)` but `[$stream, $length, $offset]` is fed as $string).\r\n\r\nOne of the key features is that an existing $crc32 can be fed to this method and it will continue the CRC32 computation as if the new $string data (any source: string, file, file part, or stream) were appended to the prior data.\r\n\r\n* alternate array keys.","shortMessageHtmlLink":"#835 TBitHelper::crc32 for continued running crc32 computation. (#961)"}},{"before":"ed2a07cdda7229d187bd4f02dbe194789e750464","after":"0f149819cc47da883d0212717ff2ccd3e297ff33","ref":"refs/heads/master","pushedAt":"2023-05-31T07:29:39.156Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#925 Additional keyOf work for multiple keys and the same item. (#962)\n\n* #925 Additional keyOf work for multiple keys and the same item.\r\n\r\nDefault is all item, but option for the first.\r\n\r\n* added @since to the new TMap methods","shortMessageHtmlLink":"#925 Additional keyOf work for multiple keys and the same item. (#962)"}},{"before":"9f596b931b9e777fb92e375a4dda9f6f2daccde3","after":"ed2a07cdda7229d187bd4f02dbe194789e750464","ref":"refs/heads/master","pushedAt":"2023-05-25T14:26:34.037Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ctrlaltca","name":null,"path":"/ctrlaltca","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1631111?s=80&v=4"},"commit":{"message":"#958 TMap::removeItem (#960)\n\n* #958 TMap::removeItem\r\n\r\nRemoves all of an item from the map\r\n\r\n* is this the reason?","shortMessageHtmlLink":"#958 TMap::removeItem (#960)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADubXPRwA","startCursor":null,"endCursor":null}},"title":"Activity · pradosoft/prado"}