You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,34 @@
2
2
3
3
All notable changes to the LaunchDarkly Ruby SDK will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
4
4
5
+
## [5.5.2] - 2019-01-18
6
+
### Fixed:
7
+
- Like 5.5.1, this release contains only documentation fixes. Implementation classes that are not part of the supported API are now hidden from the [generated documentation](https://www.rubydoc.info/gems/ldclient-rb).
8
+
9
+
10
+
## [5.5.1] - 2019-01-17
11
+
### Fixed:
12
+
- Fixed several documentation comments that had the wrong parameter names. There are no other changes in this release; it's only to correct the documentation.
13
+
14
+
## [5.5.0] - 2019-01-17
15
+
### Added:
16
+
- It is now possible to use Consul or DynamoDB as a persistent feature store, similar to the existing Redis integration. See the `LaunchDarkly::Integrations::Consul` and `LaunchDarkly::Integrations::DynamoDB` modules, and the reference guide [Using a persistent feature store](https://docs.launchdarkly.com/v2.0/docs/using-a-persistent-feature-store).
17
+
- There is now a `LaunchDarkly::Integrations::Redis` module, which is the preferred method for creating a Redis feature store.
18
+
- All of the database feature stores now support local caching not only for individual feature flag queries, but also for `all_flags_state`.
19
+
- The `Config` property `data_source` is the new name for `update_processor` and `update_processor_factory`.
20
+
21
+
### Changed:
22
+
- The implementation of the SSE protocol for streaming has been moved into a separate gem, [`ld-eventsource`](https://github.com/launchdarkly/ruby-eventsource). This has no effect on streaming functionality.
23
+
24
+
### Fixed:
25
+
- Added or corrected a large number of documentation comments. All API classes and methods are now documented, and internal implementation details have been hidden from the documentation. You can view the latest documentation on [RubyDoc](https://www.rubydoc.info/gems/ldclient-rb).
26
+
- Fixed a problem in the Redis feature store that would only happen under unlikely circumstances: trying to evaluate a flag when the LaunchDarkly client had not yet been fully initialized and the store did not yet have data in it, and then trying again when the client was still not ready but the store _did_ have data (presumably put there by another process). Previously, the second attempt would fail.
27
+
- In polling mode, the SDK did not correctly handle non-ASCII Unicode characters in feature flag data. ([#90](https://github.com/launchdarkly/ruby-client/issues/90))
28
+
29
+
### Deprecated:
30
+
-`RedisFeatureStore.new`. This implementation class may be changed or moved in the future; use `LaunchDarkly::Integrations::Redis::new_feature_store`.
31
+
-`Config.update_processor` and `Config.update_processor_factory`; use `Config.data_source`.
32
+
5
33
## [5.4.3] - 2019-01-11
6
34
### Changed:
7
35
- The SDK is now compatible with `net-http-persistent` 3.x. (Thanks, [CodingAnarchy](https://github.com/launchdarkly/ruby-client/pull/113)!)
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
-12Lines changed: 0 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,3 @@ Contributing to LaunchDarkly SDK for Ruby
2
2
=========================================
3
3
4
4
We encourage pull-requests and other contributions from the community. We've also published an [SDK contributor's guide](http://docs.launchdarkly.com/docs/sdk-contributors-guide) that provides a detailed explanation of how our SDKs work.
Note that this gem will automatically switch to using the Rails logger it is detected.
82
82
83
83
84
+
Your first feature flag
85
+
-----------------------
86
+
87
+
1. Create a new feature flag on your [dashboard](https://app.launchdarkly.com).
88
+
2. In your application code, use the feature's key to check whether the flag is on for each user:
89
+
90
+
```ruby
91
+
if client.variation("your.flag.key", {key:"user@test.com"}, false)
92
+
# application code to show the feature
93
+
else
94
+
# the code to run if the feature is off
95
+
end
96
+
```
97
+
84
98
HTTPS proxy
85
-
------------
86
-
The Ruby SDK uses Faraday and Socketry to handle its network traffic. Both of these provide built-in support for the use of an HTTPS proxy. If the HTTPS_PROXY environment variable is present then the SDK will proxy all network requests through the URL provided.
99
+
-----------
100
+
101
+
The Ruby SDK uses Faraday and Socketry to handle its network traffic. Both of these provide built-in support for the use of an HTTPS proxy. If the HTTPS_PROXY environment variable is present then the SDK will proxy all network requests through the URL provided. (HTTP_PROXY is not used because all LaunchDarkly services require HTTPS.)
87
102
88
103
How to set the HTTPS_PROXY environment variable on Mac/Linux systems:
set HTTPS_PROXY=http://user:pass@web-proxy.domain.com:8080
107
120
```
108
121
109
-
110
-
Your first feature flag
111
-
-----------------------
112
-
113
-
1. Create a new feature flag on your [dashboard](https://app.launchdarkly.com)
114
-
2. In your application code, use the feature's key to check whether the flag is on for each user:
115
-
116
-
```ruby
117
-
if client.variation("your.flag.key", {key:"user@test.com"}, false)
118
-
# application code to show the feature
119
-
else
120
-
# the code to run if the feature is off
121
-
end
122
-
```
123
-
124
122
Database integrations
125
123
---------------------
126
124
127
-
Feature flag data can be kept in a persistent store using Redisor DynamoDB. These adapters are implemented in the `LaunchDarkly::Integrations::Redis`and `LaunchDarkly::Integrations::DynamoDB` modules; to use them, call the `new_feature_store` method in the module, and put the returned object in the `feature_store` property of your client configuration. See the [source code](https://github.com/launchdarkly/ruby-client-private/tree/master/lib/ldclient-rb/integrations) and the [SDK reference guide](https://docs.launchdarkly.com/v2.0/docs/using-a-persistent-feature-store) for more information.
125
+
Feature flag data can be kept in a persistent store using Redis, DynamoDB, or Consul. These adapters are implemented in the `LaunchDarkly::Integrations::Redis`, `LaunchDarkly::Integrations::DynamoDB`, and `LaunchDarkly::Integrations::Consul` modules; to use them, call the `new_feature_store` method in the module, and put the returned object in the `feature_store` property of your client configuration. See the [API documentation](https://www.rubydoc.info/gems/ldclient-rb/LaunchDarkly/Integrations) and the [SDK reference guide](https://docs.launchdarkly.com/v2.0/docs/using-a-persistent-feature-store) for more information.
128
126
129
127
Using flag data from a file
130
128
---------------------------
131
-
For testing purposes, the SDK can be made to read feature flag state from a file or files instead of connecting to LaunchDarkly. See [`file_data_source.rb`](https://github.com/launchdarkly/ruby-client/blob/master/lib/ldclient-rb/file_data_source.rb) for more details.
129
+
130
+
For testing purposes, the SDK can be made to read feature flag state from a file or files instead of connecting to LaunchDarkly. See `LaunchDarkly::FileDataSource` or the [SDK reference guide](https://docs.launchdarkly.com/v2.0/docs/reading-flags-from-a-file) for more details.
132
131
133
132
Learn more
134
133
-----------
135
134
136
-
Check out our [documentation](http://docs.launchdarkly.com) for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the [complete reference guide for this SDK](http://docs.launchdarkly.com/docs/ruby-sdk-reference).
135
+
Check out our [documentation](http://docs.launchdarkly.com) for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the [reference guide for this SDK](http://docs.launchdarkly.com/docs/ruby-sdk-reference).
136
+
137
+
Generated API documentation is on [RubyDoc.info](https://www.rubydoc.info/gems/ldclient-rb).
137
138
138
139
Testing
139
140
-------
@@ -143,10 +144,10 @@ We run integration tests for all our SDKs using a centralized test harness. This
143
144
Contributing
144
145
------------
145
146
146
-
See [Contributing](https://github.com/launchdarkly/ruby-client/blob/master/CONTRIBUTING.md)
147
+
See [Contributing](https://github.com/launchdarkly/ruby-client/blob/master/CONTRIBUTING.md).
147
148
148
149
About LaunchDarkly
149
-
-----------
150
+
------------------
150
151
151
152
* LaunchDarkly is a continuous delivery platform that provides feature flags as a service and allows developers to iterate quickly and safely. We allow you to easily flag your features and manage them from the LaunchDarkly dashboard. With LaunchDarkly, you can:
152
153
* Roll out a new feature to a subset of your users (like a group of users who opt-in to a beta tester group), gathering feedback and bug reports from real-world use cases.
0 commit comments