{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":31326998,"defaultBranch":"master","name":"PINCache","ownerLogin":"pinterest","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-02-25T17:42:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/541152?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715983783.0","currentOid":""},"activityList":{"items":[{"before":"8ad8111a3f9b8aac1d3358540a855ff8b9c52253","after":"2fb85948463292c2e824148cf17dc62a4c217a94","ref":"refs/heads/master","pushedAt":"2024-05-13T13:38:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andyfinnell","name":"Andy Finnell","path":"/andyfinnell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5348060?s=80&v=4"},"commit":{"message":"Cut 3.0.4 release #changelog (#331)\n\n## Summary\r\n\r\nNeed to cut the 3.0.4 release now that everything has been merged.","shortMessageHtmlLink":"Cut 3.0.4 release #changelog (#331)"}},{"before":"803c069e507717e4011938157af1e575de57eb53","after":"8ad8111a3f9b8aac1d3358540a855ff8b9c52253","ref":"refs/heads/master","pushedAt":"2024-05-10T22:27:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andyfinnell","name":"Andy Finnell","path":"/andyfinnell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5348060?s=80&v=4"},"commit":{"message":"Add ability to configure maxConcurrentOperations (#329)\n\n* Add ability to configure maxConcurrentOperations\r\n\r\n## Summary\r\n\r\nPINCache uses a PINOperationQueue to perform async operations on a background queue, while preventing thread explosion. However, the amount is hardcoded to 10 and I'd like to be able to experiment with how much concurrency we use. Therefore, add a property to allow it to be configuration.\r\n\r\n## Testing\r\n\r\nSince it's just a configuration parameter, make sure the unit tests still pass.\r\n\r\n* Only PINCache implements the property so move it there instead of the protocol\r\n\r\n* Nudge github actions","shortMessageHtmlLink":"Add ability to configure maxConcurrentOperations (#329)"}},{"before":"9f3977ea0163421d470200490864439e1b8fc4d4","after":"803c069e507717e4011938157af1e575de57eb53","ref":"refs/heads/master","pushedAt":"2024-05-10T20:39:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andyfinnell","name":"Andy Finnell","path":"/andyfinnell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5348060?s=80&v=4"},"commit":{"message":"Add Least Frequently Used eviction strategy (#328)\n\n* Add Least Frequently Used eviction strategy\r\n\r\n## Summary\r\n\r\nCurrently PINCache only offers LRU (least recently used) as an eviction strategy. However, there are some special workloads where LFU (least frequently used) could offer better performance. This PR introduces LFU alongside the existing LRU eviction strategy. The default is still LRU.\r\n\r\nThere is also some minor renaming to the `trimToSizeByDateAsync`, `trimToSizeByDate`, `trimToCostByDate`, and `trimToCostByDateAsync` methods, since those now follow the explicit eviction strategy. Old methods remain and work as expected, but are marked deprecated.\r\n\r\n## Testing\r\n\r\nAdded some unit tests for both memory and disk caches to verify objects are evicted based on access count when LFU is selected. Ran tests on iOS, tvOS, macOS.\r\n\r\n* Add deprecated messages to clarify what should be used instead\r\n\r\n* DRY up a couple of constants\r\n\r\n* Remove doc for parameter that doesn't exist\r\n\r\n* Nudge github actions","shortMessageHtmlLink":"Add Least Frequently Used eviction strategy (#328)"}},{"before":"f856226e8bee58d75cb6be1707ae0cb2f5801150","after":"9f3977ea0163421d470200490864439e1b8fc4d4","ref":"refs/heads/master","pushedAt":"2024-05-10T20:03:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"andyfinnell","name":"Andy Finnell","path":"/andyfinnell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5348060?s=80&v=4"},"commit":{"message":"Merge pull request #327 from tstump-phunware/task/xcode_15\n\nUpdate project and installation methods (CocoaPods and Swift Package Manager) for Xcode 15","shortMessageHtmlLink":"Merge pull request #327 from tstump-phunware/task/xcode_15"}},{"before":"97a5dbd3f1e69605bcd4103fdb32ca855887c47a","after":"f856226e8bee58d75cb6be1707ae0cb2f5801150","ref":"refs/heads/master","pushedAt":"2024-04-24T16:58:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jparise","name":"Jon Parise","path":"/jparise","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10311?s=80&v=4"},"commit":{"message":"Add PrivacyInfo.xcprivacy (#325)","shortMessageHtmlLink":"Add PrivacyInfo.xcprivacy (#325)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESHNcngA","startCursor":null,"endCursor":null}},"title":"Activity ยท pinterest/PINCache"}