Skip to content

Commit

Permalink
prepare 6.3.3 release (#201)
Browse files Browse the repository at this point in the history
* rm obsolete proxy param

* remove net-http-persistent

* fix concurrent-ruby usage that breaks on Windows

* add pipeline and clean up with with rm_rf instead of rm

* fix highlight blocks

* Hr/azure3 (#103)

* Add Consul and Redis services to Windows.
* Enable Consul and Redis testing

* add dynamo (#104)

* add experimentation event overrides for rules and fallthrough

* warn & don't send event if identify or track has no valid user

* include user in prereq flag events

* rm unnecessary logic

* more factory methods

* update readme to refer to docs

* add Ruby 2.6.2 to CI

* fix missing require for net/http

* stringify built-in user attributes in events, and secondary key for evals

* make const names consistent

* support metric value with track()

* update method description

* applying markdown templates and updating repository url references

* Cleaning up markdown files

* allow skipping database tests

* Updating the package name (#115)

* update package name

* missed one

* revert module entry point name change

* bump ld-eventsource version for stream logging fix

* use YAML.safe_load

* add unit test and temporarily revert fix to demonstrate failure

* restore fix

* add comment about not using FileDataSource in production

* drop events if inbox is full

* update doc comment for track with metric_value

* don't let user fall outside of last bucket in rollout

* refactor evaluation logic and move it out of the main namespace

* comments

* fix type coercion behavior

* make type coercion behavior consistent with earlier versions for now

* whitespace

* break up Evaluator tests further

* make EvaluationReason an immutable class

* FrozenError doesn't exist in older Ruby, use more general RuntimeError

* precompute evaluation reasons when we receive a flag

* rm unused

* rename FeatureStore to DataStore

* remove references to UpdateProcessor (now DataSource)

* add event payload ID header

* (6.0) drop support for old Ruby versions

* add Ruby version constraint to gemspec

* remove Rake dependency

* update ld-eventsource to 1.0.2 which doesn't have Rake dependency

* implement diagnostic events in Ruby (#130)

* update ruby-eventsource to 1.0.3 for backoff bug

* fix incorrect initialization of EventProcessor

* remove install-time openssl check that breaks if you don't have rake

* treat comparison with wrong data type as a non-match, not an exception (#134)

* fail fast for nil SDK key when appropriate

* tolerate nil value for user.custom (#137)

* Only shutdown the Redis pool if it is owned by the SDK (#158)

* Only shutdown a Redis pool created by SDK

* Make pool shutdown behavior an option

* improve doc comment

* remove support for indirect/patch and indirect/put (#138)

* update to json 2.3.1 (#139)

* update json dep to 2.3.x to fix CVE

* add publication of API docs on GitHub Pages (#143)

* try fixing release metadata

* update the default base url (#144)

* revert renames of feature_store & update_processor

* [ch92483] Use http gem and add socket factory support (#142)

* update dependencies and add CI for ruby 3 (#141)

* reference eventsource 2.0 in gemspec

* add 5.x releasable branch for releaser

* use Ruby 2.6.6 in releases

* Removed the guides link

* [ch99757] add alias method (#147)

* don't send event for nil user evaluation

* remove lockfile (#148)

* rm redundant nil check

* Experiment Allocation Changes (#150)

* WIP - from sam's pairing session

* starting sdk changes

* adding tests and making sure everything works

* adding more tests

* removing the singleton for fallthrough

* Revert "removing the singleton for fallthrough"

This reverts commit dff7adbb809ecc63118d0fbff9742a88a039c679.

* taking a different approach to keep things immutable

* adding tests for untracked

* remove unnecessary comment

* making sure to return two values in all code paths

Co-authored-by: pellyg-ld <gpelly@launchdarkly.com>

* Use camelCase for JSON property names (#151)

The in_experiment attribute was added to reasons as part of #150 but it doesn't appear to be received in events. I think that's because it's sending it in JSON as "in_experiment" rather than "inExperiment" as we expect to parse it.

* fixing ruby logic causing ih failures (#152)

* fixing ruby logic

* adding missing spec

* Apply suggestions from code review

Co-authored-by: Sam Stokes <sstokes@launchdarkly.com>

* pr tweaks

* making spec language consistent

Co-authored-by: Sam Stokes <sstokes@launchdarkly.com>

* add log warning for missing user key (#153)

* add log warnings for nil/empty user key

* rm warning for empty string key

* fix test

* diagnostic events should respect HTTPS_PROXY (#154)

* minor test simplification (#155)

* allow higher minor versions of json and http gems

* allow v5.x of http gem (#157)

* use Bundler 2.2.10 + modernize CI config (#158)

* enable verbose rspec output

* fix socket factory tests

* restore log suppression

* Replacing deprecated circleci image usage (#159)

* use Releaser v2 config (#161)

* Updates docs URLs

* Update lib/ldclient-rb/ldclient.rb

Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>

* remove reliance on git in gemspec (#163)

* use ruby-eventsource 2.1.1 for fix of sc-123850 and sc-125504 (#164)

* use ruby-eventsource 2.1.1 for fix of sc-123850 and sc-125504

* comment phrasing

* Start work on flag builder.

* Add user targeting and rule builder

* Add datasource implementation

* Convert the current_flags hash to use symbols instead of strings as keys

* Fix typo on FlagRuleBuilder copy constructor

* minor refactoring of impl; Added use of new Clause struct instead of Hash in FlagRuleBuilder; Moved TestData.factory out of Impl namespace and renamed Impl to TestDataImpl

* Add the doc comments

* (big segments 1) add public config/interface/reason types (#167)

* Cleanup docstrings to be YARD docs

* Added Util.is_bool helper function to clean up the check for whether an object is a boolean; Removed the DeepCopyHash/DeepCopyArray objects in favor of deep_copy_hash and deep_copy_array functions

* Move public classes out of Impl namespace. Most of it is in public namespace except for the data source now.

* Move require of concurrent/atomics to the correct module

* (big segments 2) implement Big Segments evaluation & status APIs (#168)

* improve CONTRIBUTING.md with notes on code organization

* add note about doc comments

* Cleanup YARD warnings and cleanup docs

* Address PR feedback: Move is_bool back to Impl namespace to avoid confusion; Remove unnecessary nil check on variations in build function; fixup comments

* (big segments 3) implement Redis & DynamoDB big segment stores (#169)

* add missing import

* fix stale calculation

* fix big segments user hash algorithm to use SHA256

* improve & refactor client/evaluation tests

* more cleanup/DRY

* add use_preconfigured_flag and use_preconfigured_segment to TestData (#173)

* always cache big segment query result even if it's nil

* comments

* add test for cache expiration

* use TestData in our own tests (#174)

* use TestData in our own tests

* fix test

* replace LaunchDarkly::FileDataSource with LaunchDarkly::Integrations::FileData

* update ruby-eventsource version for recent SSE fixes

* Bump bundler version (#184)

* Add ability to to set initial reconnect delay (#183)

* Treat secondary as a built-in attribute (#180)

* all_flags_state is invalid if store isn't initialized (#182)

* identify should not emit events if user key is "" (#181)

* Account for traffic allocation on all flags (#185)

* Add contract tests (#178)

* Fix string interpolation in log message (#187)

* Default opts to empty hash when creating persistent feature store (#186)

* Remove Hakiri badge from README (#188)

Hakiri was sunset on January 31st, 2022 at which time our badge stopped
working.

* detect http/https proxy env vars when creating HTTP clients

* rever accidental change

* fix nil safety in test service config

* master -> main (#190)

* master -> main

* update ruby-eventsource version for parsing efficiency fix

Co-authored-by: Eli Bishop <eli@launchdarkly.com>
Co-authored-by: Harpo roeder <hroeder@launchdarkly.com>
Co-authored-by: hroederld <46500128+hroederld@users.noreply.github.com>
Co-authored-by: Ben Woskow <bwoskow@launchdarkly.com>
Co-authored-by: Ben Woskow <48036130+bwoskow-ld@users.noreply.github.com>
Co-authored-by: LaunchDarklyCI <dev@launchdarkly.com>
Co-authored-by: Jacob Smith <jacob@jacobsmith.io>
Co-authored-by: Elliot <35050275+Apache-HB@users.noreply.github.com>
Co-authored-by: Kerrie Martinez <kyee@launchdarkly.com>
Co-authored-by: pellyg-ld <gpelly@launchdarkly.com>
Co-authored-by: Sam Stokes <sstokes@launchdarkly.com>
Co-authored-by: LaunchDarklyReleaseBot <launchdarklyreleasebot@launchdarkly.com>
Co-authored-by: Ember Stevens <ember.stevens@launchdarkly.com>
Co-authored-by: ember-stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Louis Chan <91093020+louis-launchdarkly@users.noreply.github.com>
Co-authored-by: Matthew M. Keeler <keelerm84@gmail.com>
Co-authored-by: Ben Levy <benjaminlevy007@gmail.com>
Co-authored-by: Ben Levy <ben@foxhound.systems>
Co-authored-by: Matthew M. Keeler <mkeeler@launchdarkly.com>
  • Loading branch information
20 people authored Jun 15, 2022
1 parent a6737ac commit dc9510d
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
**Requirements**

- [ ] I have added test coverage for new or changed functionality
- [ ] I have followed the repository's [pull request submission guidelines](../blob/master/CONTRIBUTING.md#submitting-pull-requests)
- [ ] I have followed the repository's [pull request submission guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests)
- [ ] I have validated my changes against all supported platform versions

**Related issues**
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ LaunchDarkly Server-side SDK for Ruby

[![Gem Version](https://badge.fury.io/rb/launchdarkly-server-sdk.svg)](http://badge.fury.io/rb/launchdarkly-server-sdk)

[![Circle CI](https://circleci.com/gh/launchdarkly/ruby-server-sdk/tree/master.svg?style=svg)](https://circleci.com/gh/launchdarkly/ruby-server-sdk/tree/master)
[![Circle CI](https://circleci.com/gh/launchdarkly/ruby-server-sdk/tree/main.svg?style=svg)](https://circleci.com/gh/launchdarkly/ruby-server-sdk/tree/main)
[![RubyDoc](https://img.shields.io/static/v1?label=docs+-+all+versions&message=reference&color=00add8)](https://www.rubydoc.info/gems/launchdarkly-server-sdk)
[![GitHub Pages](https://img.shields.io/static/v1?label=docs+-+latest&message=reference&color=00add8)](https://launchdarkly.github.io/ruby-server-sdk)

Expand Down
2 changes: 1 addition & 1 deletion contract-tests/client_entity.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def initialize(log, config)
opts[:diagnostic_opt_out] = !events[:enableDiagnostics]
opts[:all_attributes_private] = !!events[:allAttributesPrivate]
opts[:private_attribute_names] = events[:globalPrivateAttributes]
opts[:flush_interval] = (events[:flushIntervalMs] / 1_000) if events.has_key? :flushIntervalMs
opts[:flush_interval] = (events[:flushIntervalMs] / 1_000) if !events[:flushIntervalMs].nil?
opts[:inline_users_in_events] = events[:inlineUsers] || false
else
opts[:send_events] = false
Expand Down
2 changes: 1 addition & 1 deletion launchdarkly-server-sdk.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Gem::Specification.new do |spec|

spec.add_runtime_dependency "semantic", "~> 1.6"
spec.add_runtime_dependency "concurrent-ruby", "~> 1.1"
spec.add_runtime_dependency "ld-eventsource", "2.2.0"
spec.add_runtime_dependency "ld-eventsource", "2.2.1"
# Please keep ld-eventsource dependency as an exact version so that bugfixes to
# that LD library are always associated with a new SDK version.

Expand Down

0 comments on commit dc9510d

Please sign in to comment.