{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":193720337,"defaultBranch":"main","name":"flagsmith-ios-client","ownerLogin":"Flagsmith","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-06-25T14:09:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/58150233?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714813185.0","currentOid":""},"activityList":{"items":[{"before":"cbc9e0b75e41c6db86acad41ac44dc7a087cd77e","after":"145922f8399efb579875d7c853f1c60830bbb520","ref":"refs/heads/main","pushedAt":"2024-05-04T08:56:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Bump Cocoapods to 3.6.0 (#56)","shortMessageHtmlLink":"Bump Cocoapods to 3.6.0 (#56)"}},{"before":"a15afa01ad9f64dfef24e0cf4ca73ccf05449765","after":"cbc9e0b75e41c6db86acad41ac44dc7a087cd77e","ref":"refs/heads/main","pushedAt":"2024-05-03T14:02:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Privacy manifest inclusion for SPM and Cocoapods (#55)\n\n* Add support for privacy manifest for Cocoapods and SPM\r\n\r\nhttps://developer.apple.com/support/third-party-SDK-requirements/\r\n\r\n# Conflicts:\r\n#\tExample/Podfile.lock\r\n#\tExample/Pods/Manifest.lock\r\n#\tExample/Pods/Pods.xcodeproj/project.pbxproj\r\n#\tPackage.swift\r\n\r\n* Check things over with the test app, which updated the pods project etc.\r\n\r\n* Analytics -> App Functionality in usage desc","shortMessageHtmlLink":"Privacy manifest inclusion for SPM and Cocoapods (#55)"}},{"before":"16bbfb088e76519a78054892f4752515f91a4181","after":"a15afa01ad9f64dfef24e0cf4ca73ccf05449765","ref":"refs/heads/main","pushedAt":"2024-05-02T13:41:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Feature/strict concurrency split (#51)\n\n* \"StrictConcurrency=complete\" and preparation for upcoming Swift 6 (#48)\r\n\r\n* - Bumped `swift-tools` to swift 5.9.\r\n - Enabled `StrictConcurrency=complete` mode in order to be prepared for upcoming Swift 6. Implemented `Sendable` support for Flagsmith client and friends.\r\n - Enabled `ExistentialAny` feature in order to be prepared for upcoming Swift 6. Code adjustments\r\n - adjusted tests for `StrictConcurrency=complete` mode .\r\n\r\n* adjusted macOS runner\r\n\r\n* cleanup\r\n\r\n* Merge branch 'feature/strinct-concurrency-gareth-updattes' into 3a4oT/strict-concurency\r\n\r\n* Revert version back to 3.5.0\r\n\r\n* Add qos: parameter to our DispatchQueues to avoid console errors starting the SDK\r\n\r\n* Also add qos to the test app\r\n\r\n* Update to the latest macOS and the latest macOS (12) currently for the runners to check everything is fine\r\n\r\n* Let's build on 13 and 14 as 12 is too old\r\n\r\n* Reformat the files I couldn't merge and fix up some force-unwraps in the tests\r\n\r\n* One last lint error\r\n\r\n---------\r\n\r\nCo-authored-by: Petro Rovenskyy ","shortMessageHtmlLink":"Feature/strict concurrency split (#51)"}},{"before":"e78bd04e81a31ba27af9e9be42dad0ba35948877","after":"16bbfb088e76519a78054892f4752515f91a4181","ref":"refs/heads/main","pushedAt":"2024-05-02T09:13:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Ci/add swift lint and swiftformat (#53)\n\n* Add swiftlint\r\n\r\n* reorder Package.swift\r\n\r\n* Disable the local swiftlint, add swiftformat, avoid removing the internal keyword from the Trait, format all the files in the SDK\r\n\r\n* Restore internal init on FlagsmithError\r\n\r\n* Run the linter with --fix to catch a few of the obvious issues\r\n\r\n* All of the linter errors covered, before running through swiftformat again\r\n\r\n* More changes, can now run swiftlint and swiftformat together and they're both happy\r\n\r\n* Tidy up the Package.swift and add some docs for contributors\r\n\r\n---------\r\n\r\nCo-authored-by: Matthew Elwell ","shortMessageHtmlLink":"Ci/add swift lint and swiftformat (#53)"}},{"before":"6c3c2fe3d12364eacc26bbb2c770972a9c064544","after":"dbc6719ff0dd2edefb8e262573cbf71efcce6477","ref":"refs/heads/ci/add-swift-lint","pushedAt":"2024-04-26T10:32:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"reorder Package.swift","shortMessageHtmlLink":"reorder Package.swift"}},{"before":"60f07646bdb2f3f22daa8bf3eefecd3f6ff8513f","after":"6c3c2fe3d12364eacc26bbb2c770972a9c064544","ref":"refs/heads/ci/add-swift-lint","pushedAt":"2024-04-26T10:31:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"reorder Package.swift","shortMessageHtmlLink":"reorder Package.swift"}},{"before":"6fb1c70136446e9fc336b5783e2aeceeaea6ada6","after":"60f07646bdb2f3f22daa8bf3eefecd3f6ff8513f","ref":"refs/heads/ci/add-swift-lint","pushedAt":"2024-04-26T10:29:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Add swiftlint","shortMessageHtmlLink":"Add swiftlint"}},{"before":null,"after":"6fb1c70136446e9fc336b5783e2aeceeaea6ada6","ref":"refs/heads/ci/add-swift-lint","pushedAt":"2024-04-26T10:27:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Add swiftlint","shortMessageHtmlLink":"Add swiftlint"}},{"before":"e78bd04e81a31ba27af9e9be42dad0ba35948877","after":"b34ec0dc74a138e4cff95f6503863745ccfc82fa","ref":"refs/heads/3a4oT/strict-concurency","pushedAt":"2024-04-22T12:56:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"\"StrictConcurrency=complete\" and preparation for upcoming Swift 6 (#48)\n\n* - Bumped `swift-tools` to swift 5.9.\r\n - Enabled `StrictConcurrency=complete` mode in order to be prepared for upcoming Swift 6. Implemented `Sendable` support for Flagsmith client and friends.\r\n - Enabled `ExistentialAny` feature in order to be prepared for upcoming Swift 6. Code adjustments\r\n - adjusted tests for `StrictConcurrency=complete` mode .\r\n\r\n* adjusted macOS runner\r\n\r\n* cleanup","shortMessageHtmlLink":"\"StrictConcurrency=complete\" and preparation for upcoming Swift 6 (#48)"}},{"before":null,"after":"e78bd04e81a31ba27af9e9be42dad0ba35948877","ref":"refs/heads/3a4oT/strict-concurency","pushedAt":"2024-04-22T12:56:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"Tone down the concurrency test a bit as it wasn't completing on the GitHub build servers (#47)","shortMessageHtmlLink":"Tone down the concurrency test a bit as it wasn't completing on the G…"}},{"before":"5246454586c26fddb14338b75b611fdeab166b24","after":"e78bd04e81a31ba27af9e9be42dad0ba35948877","ref":"refs/heads/main","pushedAt":"2024-03-12T10:10:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Tone down the concurrency test a bit as it wasn't completing on the GitHub build servers (#47)","shortMessageHtmlLink":"Tone down the concurrency test a bit as it wasn't completing on the G…"}},{"before":"ed27f2d64ebb92b4ec903d9cf0f2728f82999065","after":null,"ref":"refs/heads/chore/version-bump-3.5.0","pushedAt":"2024-03-11T15:52:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"}},{"before":"695bcdd3933e10db0090df0e43b9c49e37af921c","after":"5246454586c26fddb14338b75b611fdeab166b24","ref":"refs/heads/main","pushedAt":"2024-03-11T15:52:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Bump version 3.5.0 (#46)","shortMessageHtmlLink":"Bump version 3.5.0 (#46)"}},{"before":null,"after":"ed27f2d64ebb92b4ec903d9cf0f2728f82999065","ref":"refs/heads/chore/version-bump-3.5.0","pushedAt":"2024-03-11T09:42:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Bump version 3.5.0","shortMessageHtmlLink":"Bump version 3.5.0"}},{"before":"3906854263955988a6b03470d202498050b044d5","after":"695bcdd3933e10db0090df0e43b9c49e37af921c","ref":"refs/heads/main","pushedAt":"2024-03-11T09:39:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Better concurrency support in iOS API Manager (#45)\n\n* Add a unit test that fails during concurrent usage\r\n\r\n* Ensure that the unsafe operations are executed concurrently, while also ensuring completions go back to the main thread\r\n\r\n* Add tests to the test app to show the getFeatureFlags() working concurrently and reporting to the main thread\r\n\r\n* Remove a probable memory leak in the API manager, which was keeping two strong references to each request / response\r\n\r\n* Convert from NSMutableData to Data class internally\r\n\r\n* A few small formatting and commenting fixes to finish the PR\r\n\r\n* Test for API errors in our concurrent test","shortMessageHtmlLink":"Better concurrency support in iOS API Manager (#45)"}},{"before":"87091551d92156679c6c4b1d9d7cd46b007bd74c","after":null,"ref":"refs/heads/chore/version-bump","pushedAt":"2023-10-09T15:21:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"}},{"before":"3d6b5361645bdfcbab67bd9b694d5a19160df79c","after":"3906854263955988a6b03470d202498050b044d5","ref":"refs/heads/main","pushedAt":"2023-10-09T15:21:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"chore: version bump (#39)\n\n* chore/version bump\r\n\r\n* chore/version bump","shortMessageHtmlLink":"chore: version bump (#39)"}},{"before":null,"after":"87091551d92156679c6c4b1d9d7cd46b007bd74c","ref":"refs/heads/chore/version-bump","pushedAt":"2023-10-09T15:18:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"chore/version bump","shortMessageHtmlLink":"chore/version bump"}},{"before":"3fe0a4792c7de99121bc57b8a2a0ad3d7cc6c5df","after":null,"ref":"refs/heads/chore/version-bump","pushedAt":"2023-10-09T14:57:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"}},{"before":"c39f5e63dd93e3f258e95d7433c17a32a23a90a1","after":"3d6b5361645bdfcbab67bd9b694d5a19160df79c","ref":"refs/heads/main","pushedAt":"2023-10-09T14:57:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"chore/version bump (#38)","shortMessageHtmlLink":"chore/version bump (#38)"}},{"before":null,"after":"3fe0a4792c7de99121bc57b8a2a0ad3d7cc6c5df","ref":"refs/heads/chore/version-bump","pushedAt":"2023-10-09T14:57:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"chore/version bump","shortMessageHtmlLink":"chore/version bump"}},{"before":"4170b5149b08f56bc9ee72294b159dfd622b8178","after":"c39f5e63dd93e3f258e95d7433c17a32a23a90a1","ref":"refs/heads/main","pushedAt":"2023-10-09T14:57:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"added Sendable conformances, bump swift tools version to 5.5 (#37)","shortMessageHtmlLink":"added Sendable conformances, bump swift tools version to 5.5 (#37)"}},{"before":"6dfeaabb8e44a4b0a1d8ca5c8da7ca78fcb99aca","after":null,"ref":"refs/tags/3.3.0","pushedAt":"2023-07-18T09:12:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"}},{"before":"52e325efde26684270659d52961a6cc86fa3c427","after":null,"ref":"refs/heads/chore/fix-lint-warning","pushedAt":"2023-07-18T09:11:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"}},{"before":"6dfeaabb8e44a4b0a1d8ca5c8da7ca78fcb99aca","after":"4170b5149b08f56bc9ee72294b159dfd622b8178","ref":"refs/heads/main","pushedAt":"2023-07-18T09:11:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"chore/fix lint warning (#36)","shortMessageHtmlLink":"chore/fix lint warning (#36)"}},{"before":null,"after":"52e325efde26684270659d52961a6cc86fa3c427","ref":"refs/heads/chore/fix-lint-warning","pushedAt":"2023-07-18T09:10:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dabeeeenster","name":"Ben Rometsch","path":"/dabeeeenster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/173290?s=80&v=4"},"commit":{"message":"chore/fix lint warning","shortMessageHtmlLink":"chore/fix lint warning"}},{"before":null,"after":"f94c0be4be595f5807e9a3cddd45b12bdc66d41f","ref":"refs/heads/lint-fix","pushedAt":"2023-07-18T09:04:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"wicheda","name":null,"path":"/wicheda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243?s=80&v=4"},"commit":{"message":"Fix for lint warning.","shortMessageHtmlLink":"Fix for lint warning."}},{"before":"f0960a2fea31f79418f8fabdbe9b89a4754be7c4","after":null,"ref":"refs/heads/lower-level-cache","pushedAt":"2023-07-13T09:03:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"}},{"before":"03bcb33cac37ce17edc462d3c0d95a1156203fa5","after":"6dfeaabb8e44a4b0a1d8ca5c8da7ca78fcb99aca","ref":"refs/heads/main","pushedAt":"2023-07-13T09:03:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"matthewelwell","name":"Matthew Elwell","path":"/matthewelwell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14089968?s=80&v=4"},"commit":{"message":"Lower level cache (#34)\n\n* Adding default flags, and flag cache.\r\n\r\n* Ensuring cache is stored, and updating logic to enable cache and defaults.\r\n\r\n* Version bump for release\r\n\r\n* Fixing UserDefaults typo calling wrong method.\r\n\r\n* Improving getFlagUsingCacheAndDefaults\r\n\r\n* Adding skipAPI, TTL and ensuring cache / defaults are only used in the case of failures, not successful calls.\r\n\r\n* Finalising TTL logic and adding example code.\r\n\r\n* Minor logic correction for skipAPI.\r\n\r\n* Moving cache to the networking layer, with ability to customise.\r\n\r\n* Fixing import issues.\r\n\r\n* Moving cache configuration to a separate class.\r\n\r\n* Removing un-necessary method for default flags.\r\n\r\n---------\r\n\r\nCo-authored-by: Ben Rometsch ","shortMessageHtmlLink":"Lower level cache (#34)"}},{"before":"3bd0af293826ad90c3ef7952fa909f5ce4cc9f39","after":"f0960a2fea31f79418f8fabdbe9b89a4754be7c4","ref":"refs/heads/lower-level-cache","pushedAt":"2023-07-12T12:40:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wicheda","name":null,"path":"/wicheda","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/95243?s=80&v=4"},"commit":{"message":"Removing un-necessary method for default flags.","shortMessageHtmlLink":"Removing un-necessary method for default flags."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQVe1-gA","startCursor":null,"endCursor":null}},"title":"Activity · Flagsmith/flagsmith-ios-client"}