mirror of
https://github.com/Unleash/unleash.git
synced 2025-10-13 11:17:26 +02:00
f8d30850e5
2 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
6e44a65c58
|
fix(deps): update dependency unleash-client to v3.18.0 (#2956)
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [unleash-client](https://togithub.com/Unleash/unleash-client-node) | [`3.16.1` -> `3.18.0`](https://renovatebot.com/diffs/npm/unleash-client/3.16.1/3.18.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>Unleash/unleash-client-node</summary> ### [`v3.18.0`](https://togithub.com/Unleash/unleash-client-node/blob/HEAD/CHANGELOG.md#​3180) [Compare Source](https://togithub.com/Unleash/unleash-client-node/compare/v3.17.0...v3.18.0) feat: gracefully handle unsuccessful metrics post ([#​414](https://togithub.com/Unleash/unleash-client-node/issues/414)) feat/flush metrics ([#​415](https://togithub.com/Unleash/unleash-client-node/issues/415)) feat: add metrics jitter support ([#​412](https://togithub.com/Unleash/unleash-client-node/issues/412)) fix: Allow SDK to startup when backup data is corrupt ([#​418](https://togithub.com/Unleash/unleash-client-node/issues/418)) fix: flexible-rollout random stickiness is not random enough ([#​417](https://togithub.com/Unleash/unleash-client-node/issues/417)) fix: build correct version on npm version chore(deps): update dependency eslint-plugin-import to v2.27.5 ([#​416](https://togithub.com/Unleash/unleash-client-node/issues/416)) chore(deps): update dependency [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) to v5.48.2 ([#​413](https://togithub.com/Unleash/unleash-client-node/issues/413)) chore(deps): update dependency eslint to v8.32.0 ([#​410](https://togithub.com/Unleash/unleash-client-node/issues/410)) chore(deps): update dependency prettier to v2.8.3 ([#​406](https://togithub.com/Unleash/unleash-client-node/issues/406)) chore(deps): update dependency eslint-plugin-import to v2.27.4 ([#​404](https://togithub.com/Unleash/unleash-client-node/issues/404)) ### [`v3.17.0`](https://togithub.com/Unleash/unleash-client-node/blob/HEAD/CHANGELOG.md#​3170) [Compare Source](https://togithub.com/Unleash/unleash-client-node/compare/v3.16.1...v3.17.0) - feat: Only initialize the SDK once. ([#​368](https://togithub.com/Unleash/unleash-client-node/issues/368)) - fix: upgrade semver to 7.3.8 - fix: add resolution for debug - fix: add resolution for minimatch - fix: add resolution for qs - fix: add resolution for json5 - fix: update yarn.lock - docs: Update the readme with info from docs.getunleash ([#​399](https://togithub.com/Unleash/unleash-client-node/issues/399)) - docs: minor fix in README - chore(deps): update dependency debug to v4 ([#​402](https://togithub.com/Unleash/unleash-client-node/issues/402)) - chore(deps): update dependency json5 to v2 ([#​401](https://togithub.com/Unleash/unleash-client-node/issues/401)) - chore(deps): update dependency eslint to v8.31.0 ([#​394](https://togithub.com/Unleash/unleash-client-node/issues/394)) - chore(deps): update dependency nock to v13.3.0 ([#​400](https://togithub.com/Unleash/unleash-client-node/issues/400)) - chore(deps): update dependency [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) to v5.48.1 ([#​395](https://togithub.com/Unleash/unleash-client-node/issues/395)) - chore(deps): update dependency eslint-config-prettier to v8.6.0 ([#​396](https://togithub.com/Unleash/unleash-client-node/issues/396)) - chore(deps): update dependency prettier to v2.8.2 ([#​398](https://togithub.com/Unleash/unleash-client-node/issues/398)) - chore(deps): update dependency [@​typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin) to v5.47.1 ([#​346](https://togithub.com/Unleash/unleash-client-node/issues/346)) - chore(deps): update dependency typescript to v4.9.4 ([#​386](https://togithub.com/Unleash/unleash-client-node/issues/386)) - chore(deps): update dependency sinon to v15 ([#​391](https://togithub.com/Unleash/unleash-client-node/issues/391)) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v18 ([#​380](https://togithub.com/Unleash/unleash-client-node/issues/380)) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v14.18.36 ([#​382](https://togithub.com/Unleash/unleash-client-node/issues/382)) - chore(deps): update dependency eslint to v8.30.0 ([#​367](https://togithub.com/Unleash/unleash-client-node/issues/367)) - chore(deps): update dependency prettier to v2.8.1 ([#​387](https://togithub.com/Unleash/unleash-client-node/issues/387)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDUuNCIsInVwZGF0ZWRJblZlciI6IjM0LjExNy4xIn0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Ivar Conradi Østhus <ivar@getunleash.ai> |
||
|
e55ad1a21e
|
feat(#1873/playground): Return detailed information on feature toggle evaluation (#1839)
* Feat: return reasons why a feature evaluated to true or false
Note: this is very rough and just straight ripped from the nodejs
client. It will need a lot of work, but is a good place to start
* Feat: add suggested shape for new payload
* Chore: minor cleanup
* Wip: make server compile again
* Remove unused schema ref
* Export new schemas
* Chore: fix some tests to use sub property
* Fix: fix some tests
* Refactor: rename some variables, uncomment some stuff
* Add segments type to bootstrap options
* Add segments capability to offline feature evaluator
* Fix function calls after turning params into an option abject
* Feat: test strategy order, etc
* Feat: add test to check that all strats are returned correctly
* Feat: allow you to include strategy ids in clients
* Wip: hook up segments in the offline client.
Note: compared to regular clients, they still fail
* Feat: add segments validation
* Fix: fix test case invariant.
* Chore: revert to returning only `boolean` from strategies.
This _should_ make it work with custom strategies too 🤞
* Feat: make more properties of the returned feature required
* Wip: add some comments and unfinished tests for edge cases
* Feat: add `isEnabledInCurrentEnvironment` prop
* Feat: consider more strategy failure cases
* Feat: test that isenabledinenvironment matches expectations
* Feat: add unknown strategies
* Fix: fix property access typo
* Feat: add unknown strategy for fallback purposes
* Feat: test edge case: all unknown strategies
* Feat: add custom strategy to arbitrary
* Feat: test that features can be true, even if not enabled in env
* Chore: add some comments
* Wip: fix sdk tests
* Remove comments, improve test logging
* Feat: add descriptions and examples to playground feature schema
* Switch `examples` for `example`
* Update schemas with descriptions and examples
* Fix: update snapshot
* Fix: openapi example
* Fix: merge issues
* Fix: fix issue where feature evaluation state was wrong
* Chore: update openapi spec
* Fix: fix broken offline client tests
* Refactor: move schemas into separate files
* Refactor: remove "reason" for incomplete evaluation.
The only instances where evaluation is incomplete is when we don't
know what the strategy is.
* Refactor: move unleash node client into test and dev dependencies
* Wip: further removal of stuff
* Chore: remove a bunch of code that we don't use
* Chore: remove comment
* Chore: remove unused code
* Fix: fix some prettier errors
* Type parameters in strategies to avoid `any`
* Fix: remove commented out code
* Feat: make `id` required on playground strategies
* Chore: remove redundant type
* Fix: remove redundant if and fix fallback evaluation
* Refactor: reduce nesting and remove duplication
* Fix: remove unused helper function
* Refactor: type `parameters` as `unknown`
* Chore: remove redundant comment
* Refactor: move constraint code into a separate file
* Refactor: rename `unleash` -> `feature-evaluator`
* Rename class `Unleash` -> `FeatureEvaluator`
* Refactor: remove this.ready and sync logic from feature evaluator
* Refactor: remove unused code, rename config type
* Refactor: remove event emission from the Unleash client
* Remove unlistened-for events in feature evaluator
* Refactor: make offline client synchronous; remove code
* Fix: update openapi snapshot after adding required strategy ids
* Feat: change `strategies` format.
This commit changes the format of a playground feature's `strategies`
properties from a list of strategies to an object with properties
`result` and `data`. It looks a bit like this:
```ts
type Strategies = {
result: boolean | "unknown",
data: Strategy[]
}
```
The reason is that this allows us to avoid the breaking change that
was previously suggested in the PR:
`feature.isEnabled` used to be a straight boolean. Then, when we found
out we couldn't necessarily evaluate all strategies (custom strats are
hard!) we changed it to `boolean | 'unevaluated'`. However, this is
confusing on a few levels as the playground results are no longer the
same as the SDK would be, nor are they strictly boolean anymore.
This change reverts the `isEnabled` functionality to what it was
before (so it's always a mirror of what the SDK would show).
The equivalent of `feature.isEnabled === 'unevaluated'` now becomes
`feature.isEnabled && strategy.result === 'unknown'`.
* Fix: Fold long string descriptions over multiple lines.
* Fix: update snapshot after adding line breaks to descriptions
|