Commit Graph

94 Commits

Author SHA1 Message Date
Yakov Manshin 7cd12b79db
[#120] Updated GitHub Actions Workflows (#121)
* Switched to macOS 13
* Switched to Ubuntu 22.04
* Switched to Xcode 14.3.1 and Swift 5.8
2023-06-09 16:04:33 +00:00
Yakov Manshin 503c26ee14
[#118] Added Sponsorship Details (#119)
Signed-off-by: Yakov Manshin <git@yakovmanshin.com>
2022-11-04 07:46:12 +00:00
Yakov Manshin 8f0397cdbd
[#106] Updated Minimum Deployment Targets (#117)
* Updated the minimum iOS deployment target to 13
* Updated the minimum macOS deployment target to 10.15 (Catalina)
2022-11-03 10:30:34 +00:00
Yakov Manshin db95d4f50e
[#104] Updated Minimum Swift Version to 5.5 (#116)
* Updated the minimum Swift compiler version to 5.5
* Removed testing with Swift 5.3 from the GHA workflow
2022-11-03 11:26:37 +01:00
Yakov Manshin 2e7e009966
Switched CI to Xcode 14.1 (#115)
* Updated the GitHub Actions workflows to use Xcode 14.1

Signed-off-by: Yakov Manshin <git@yakovmanshin.com>
2022-11-03 10:39:41 +01:00
Yakov Manshin 019bcfe1a9
[#109] Updated Version to 3.1.0 (#111) 2022-10-05 11:11:29 +02:00
Yakov Manshin 9f1388277a
[#107] Updated `README` (#108)
* Moved some paragraphs to collapsible sections
* Added v4 roadmap
2022-10-05 09:06:00 +00:00
Yakov Manshin 2207359d89
[#81] Push to CocoaPods Trunk on Release (#105)
* Introduced the `Release` GHA workflow
* Updated the `Common` workflow
2022-10-05 06:32:19 +00:00
Yakov Manshin 6658ee6812
[#102] Testing with Older Compiler Versions (#103)
* Updated the `spm_tests_macos` job to test with Swift versions 5.7,
5.5, and 5.3
* Updated the `spm_tests_macos` and `spm_tests_linux` jobs to print the
Swift version
2022-10-05 03:13:07 +00:00
Yakov Manshin 763a94dabf
[#98] Updated GHA Workflow (#99)
* Updated Xcode to the latest version
* Renamed the workflow
* Renamed jobs
* Updated run conditions
2022-10-01 16:01:31 +00:00
Yakov Manshin 3796dad58f
[#100] Code Cleanup (#101)
* Minor updates
2022-10-01 16:28:30 +02:00
Yakov Manshin 02e9989a6e [#94] Updated GitHub Actions Workflow (#95)
* Updated to Xcode 13.4 on macOS 12
* Updated to Ubuntu 22.04
* Updated `actions/checkout` version
* Removed redundant newlines
* Other updates
2022-05-20 07:39:04 +03:00
Yakov Manshin 52abd984a6 Indentation Updates 2022-04-17 01:11:17 +03:00
Yakov Manshin 8c6eaaebb6 v3.0.0 (#93)
* #71 via #75
* #82 via #83
* #84 via #86
* #85 via #87
* #89 via #90
* #91 via #92
* Removed deprecated initializer from `FeatureFlagResolver`
* Updated tests
* Updated Jazzy config
2022-02-20 21:39:30 +03:00
Yakov Manshin a71cca05c0 [#91] Specified Supported Platforms in `Package.swift` (#92) 2022-02-20 00:08:06 +00:00
Yakov Manshin 24292ec4e4 v3.0.0 2022-02-19 23:42:53 +00:00
Yakov Manshin 9398a9a1b0 `MutableFeatureFlagStoreMock`
* Renamed `MutableFeatureFlagStore` in tests to `MutableFeatureFlagStoreMock`
* Updated `MutableStoreTests`
2022-02-19 23:40:48 +00:00
Yakov Manshin 01ed3d5759 Updated Podspec (#88)
* Updated `readme`, `authors`, and `social_media_url`
* Reordered fields to match the podspec reference
2022-02-20 02:07:50 +03:00
Yakov Manshin 4704bcff97 [#85] Updated Documentation for v3.0 (#87)
* Illustrated the use of feature flag value transformation
* Updated phrasing and formatting in `README`
* Updated code documentation
* Updated version numbers
2022-02-20 01:29:23 +03:00
Yakov Manshin 4205ce7dc8 v3.0.0-beta.1 2022-02-05 19:38:58 +03:00
Yakov Manshin d6bf519bf8 [#84] Updated CI Configuration for Xcode 13 (#86)
* Switched to Xcode 13.2.1
* Renamed the GitHub Actions workflow file to `YMFF.yml`
2022-02-05 18:43:46 +03:00
Yakov Manshin d575b2e74a [#82] Added Support for Raw Values (#83)
* Extended `FeatureFlag` with support for raw values
* Introduced `FeatureFlagValueTransformer` for converting between native and raw values
* Updated tests
2022-02-05 18:38:36 +03:00
Yakov Manshin f0b1f0ebb9 Updated Copyright Year in `LICENSE` 2022-02-05 18:32:19 +03:00
Yakov Manshin f857d5224f `v3-base` → `dev` (#80) 2022-01-01 16:31:43 +03:00
Yakov Manshin 494da3ee4a v2.3.0 (#79)
* Updated `FeatureFlagResolver.init(stores:)` to eliminate build warnings
* #74 via #77
* #76 via #78
* Updated `README`
2021-06-30 21:06:57 +03:00
Yakov Manshin 943762a05d Updated Podspec for v2.3.0 2021-06-30 21:00:48 +03:00
Yakov Manshin 6f859fc576 Removed Deprecated FeatureFlagResolver Init 2021-06-05 13:38:22 +03:00
Yakov Manshin d6d5a6c71b Merge branch 'dev' into v3-base 2021-06-05 13:36:16 +03:00
Yakov Manshin c1675f7f9d [#76] Disallowed Warnings on CI (#78)
* Removed `--allow-warnings` from `cocoapods-podspec-lint`
2021-06-05 13:35:37 +03:00
Yakov Manshin 320576764b [#74] Refactored Tests (#77) 2021-06-05 13:28:59 +03:00
Yakov Manshin 15312f5273 [#71] Mutable Stores in Resolver Configuration (#75)
* Updated `FeatureFlagResolverConfigurationProtocol`’s requirements to make `stores` mutable
* Updated `FeatureFlagResolverConfiguration` to conform to the updated `FeatureFlagResolverConfigurationProtocol`
* Removed `MutableFeatureFlagResolverConfiguration`
* Updated `FeatureFlagResolverConfigurationTests`
2021-05-30 19:55:45 +03:00
Yakov Manshin 97533cbb51 Updated README
* Improved placement of code comments
* Removed mentions of old versions
* Various updates and improvements
2021-05-30 19:46:27 +03:00
Yakov Manshin 1a3382fa64 Updated FeatureFlagResolver.init(stores:)
* The configuration object used in the initializer now has the type `FeatureFlagResolverConfigurationProtocol` set explicitly, in order to use the non-deprecated initializer
2021-05-30 19:32:48 +03:00
Yakov Manshin 1dc68457e2 v2.2.0 (#73)
* [#69] Implemented a protocol-based initializer in `FeatureFlagResolver` (#70)
* [#68] Added support for mutable `stores` in resolver configuration via a new implementation, `MutableFeatureFlagResolverConfiguration` (#72)
2021-05-20 22:30:21 +03:00
Yakov Manshin 258111c8b3 Updated Podspec for v2.2.0 2021-05-20 22:16:52 +03:00
Yakov Manshin 5bc795c734 [#68] Mutable Stores in Resolver Configuration (#72)
* Introduced `MutableFeatureFlagResolverConfiguration`, a class that conforms to `FeatureFlagResolverConfigurationProtocol` and allows its `stores` property to be modified
* Added `FeatureFlagResolverConfigurationTests`
2021-05-20 22:15:20 +03:00
Yakov Manshin 8e23145420 [#69] Protocol-Based Resolver Init (#70)
* The designated initializer’s `configuration` parameter is now of type `FeatureFlagResolverConfigurationProtocol`
* Introduced `init(stores:)`, a replacement for the old `FeatureFlagResolverConfiguration`-based initializer
* Added a convenience initializer that accepts `FeatureFlagResolverConfiguration`; deprecated it in favor of `init(stores:)`
* Updated some tests to use `init(stores:)`
* Added documentation to the resolver’s initializer
* Added `--allow-warnings` to `cocoapods-podspec-lint`
2021-05-17 17:53:38 +03:00
Yakov Manshin 69dc33a76c v2.1.0 (#67)
* [#63] Added support for installation via CocoaPods (#64)
* [#65] Removed redundant Linux test manifest (#66)
* Updated `import`s in tests
* Updated docs title in Jazzy configuration
2021-05-17 10:24:50 +03:00
Yakov Manshin 93d45697e9 [#65] Removed Redundant Linux Test Manifest (#66)
* Explicit listing of Linux tests is no longer required: “tests are automatically discovered on all platforms”
2021-05-17 10:10:46 +03:00
Yakov Manshin aaa19086a3 Updated Imports in Tests 2021-05-17 10:01:28 +03:00
Yakov Manshin ac99c45043 [#63] CocoaPods Support (#64)
* Created `YMFF.podspec` to support YMFF installation via CocoaPods
* Updated sources to support both SPM and CocoaPods
* Added podspec linting on CI
* Updated `README` with CocoaPods installation instructions
2021-05-17 09:59:31 +03:00
Yakov Manshin d61d59abe8 v2.0.0 (#62)
* [#41] Switched to the all-new stores model (#52)
* [#39] Moved YMFF protocols to a separate target (#50)
* [#43] Implemented change saving for mutable stores (#53)
* [#48] Fixed a bug with override value validation (#49)
* [#54] Updated override methods in `FeatureFlagResolverProtocol` (#56)
* [#60] Added more tests to reach 100% coverage (#61)
* [#45] Configured testing on Linux runners (#58)
* [#51] Updated documentation (#59)
* [#55, etc.] Updated Jazzy configuration
2021-04-28 22:01:54 +03:00
Yakov Manshin 22f83b3789 [#60] Added Missing Tests (#61) 2021-04-28 21:49:22 +03:00
Yakov Manshin 139690f50c [#51] Documentation Updates for v2.0 (#59)
* Updated `README`
* Removed boilerplate text from `LICENSE`
* Added missing documentation
2021-04-28 21:17:33 +03:00
Yakov Manshin 2c4ed70ac0 [#45] Linux Tests (#58)
* Enabled testing on Linux runners (`linux-test`)
* Renamed macOS-based `test` job to `macos-test`
2021-04-18 16:54:59 +03:00
Yakov Manshin f493d95aaa v2-base → dev (#57) 2021-04-18 16:50:29 +03:00
Yakov Manshin ffbbfd80ee [#54] Updated Override Methods in FeatureFlagResolverProtocol (#56)
* Replaced `FeatureFlagResolverProtocol`’s `overrideInRuntime(_:with:)` with `setValue(_:toMutableStoreUsing:)`
* Replaced `FeatureFlagResolverProtocol`’s `removeRuntimeOverride(for:)` with `removeValueFromMutableStore(using:)`; added `throw`ability
* Replaced `FeatureFlag `’s `removeRuntimeOverride()` with `removeValueFromMutableStore()`
* Updated tests
2021-04-17 22:49:57 +03:00
Yakov Manshin 4c83b8d58a [#43] Change Saving (#53)
* Extended `MutableFeatureFlagStoreProtocol` with an optional method `saveChanges()`
* Implemented `saveChanges()` in `UserDefaultsStore`
* Added change saving to `FeatureFlagResolver`’s `deinit`
* Extended `FeatureFlagStore` with an `asMutable` computed property
* Added `MutableStoreTests`
* Updated Linux tests
2021-04-17 16:07:47 +03:00
Yakov Manshin 8769b41da0 [#41] New Stores Model (#52)
* Introduced the new `FeatureFlagStore` enum in YMFFProtocols used to configure the resolver
* Updated `FeatureFlagResolverConfiguration`
* Updated `FeatureFlagResolver`
* Removed the old `FeatureFlagStore` from the YMFF implementation target
* Extended `TransparentFeatureFlagStore` with a `FeatureFlagStoreProtocol` conformance
* Updated tests
2021-04-12 19:58:13 +03:00
Yakov Manshin ab41672699 [#39] Protocols Target (#50)
* Moved protocols to the new YMFFProtocols target
* YMFFProtocols components are not visible by default; YMFFProtocols needs to imported explicitly
2021-04-09 22:06:38 +03:00