Skip to content

Releases: Unleash/unleash-edge

unleash-edge v0.3.2

08 Mar 14:45
03dc7ca
Compare
Choose a tag to compare

Bug Fixes

  • Uses token cache when resolving token from request

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #99

Commit Details

view details
  • #99
    • Uses token cache when resolving token from request (5cd5593)

unleash-edge v0.3.1 (yanked)

08 Mar 13:10
1eda8d6
Compare
Choose a tag to compare

Chore

  • Added tests for edge and client_api

    • fix: client_api endpoint wasn't filtering on which projects the token has access to.

    This also adds some Tarpaulin exclusion arguments to better reflect code
    coverage across code that we actually want to cover.

    There's still some work to do with regards to having the possibility to
    instantiate the entire application as a test service for full
    integration/e2e tests, but this at least covers more logic and also
    exposed a bug in how we validated keys when not using a token validator
    (offline mode))

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #98

Commit Details

view details
  • #98
    • Added tests for edge and client_api (036ab11)

unleash-edge v0.3.0

07 Mar 14:55
Compare
Choose a tag to compare

Chore

  • update pointers in README

Documentation

  • update release workflow

New Features

  • lock free feature resolution
    Redesign the way data flows through Edge. Previously, we had thread locks on our data sources, which was impacting the response time of the application. This moves everything to be in memory cached with lazy persistence in the background and reloading the state on application startup. This means the hot path is now lock free.


Commit Statistics

  • 3 commits contributed to the release over the course of 6 calendar days.
  • 6 days passed between releases.
  • 3 commits were understood as conventional.
  • 1 unique issue was worked on: #95

Commit Details

view details
  • #95
    • Update release workflow (c348c4f)
  • Uncategorized
    • Lock free feature resolution (a263dca)
    • Update pointers in README (2fc9f70)

unleash-edge v0.2.0

28 Feb 15:04
Compare
Choose a tag to compare

Chore

  • bump shadow-rs to 0.21
  • added symlink to top level README file

New Features

  • Added /api/frontend endpoint to match Unleash

Bug Fixes

  • add README to server subfolder
  • update rust crate clap to 4.1.8
  • update rust crate actix-web to 4.3.1
  • update rust crate clap to 4.1.7
  • Move /api/client/register to a post request.
    Earlier we didn't accept metrics from downstream clients because we made
    a wrong assumption about Request Method type. This PR fixes this and
    starts accepting client metrics and posting them upstream.
  • Client features were not refreshing.
    We incorrectly assumed that our merge method would be enough here, but
    since the merge method retained the original and deduped, it seems like
    we tricked ourselves. The fix reduces the action to simply replacing
    whatever was cached with the newly fetched features from the server

Commit Statistics

  • 10 commits contributed to the release over the course of 4 calendar days.
  • 4 days passed between releases.
  • 9 commits were understood as conventional.
  • 6 unique issues were worked on: #76, #77, #78, #79, #81, #83

Commit Details

view details
  • #76
    • Added /api/frontend endpoint to match Unleash (60bcf76)
  • #77
    • Update rust crate actix-web to 4.3.1 (2020281)
  • #78
    • Update rust crate clap to 4.1.7 (3b6be69)
  • #79
    • Client features were not refreshing. (77b9b0c)
  • #81
    • Move /api/client/register to a post request. (98666cf)
  • #83
    • Update rust crate clap to 4.1.8 (eaf0e79)
  • Uncategorized
    • Release unleash-edge v0.2.0 (a71fd76)
    • Add README to server subfolder (ae3c9f7)
    • Bump shadow-rs to 0.21 (176ef57)
    • Added symlink to top level README file (5875ebd)

unleash-edge v0.1.1

24 Feb 13:08
Compare
Choose a tag to compare

Chore

  • remove rwlock from validator, client and builder
  • removal of RW locks for dashmaps

Commit Statistics

  • 2 commits contributed to the release.
  • 1 day passed between releases.
  • 2 commits were understood as conventional.
  • 2 unique issues were worked on: #74, #75

Commit Details

view details
  • #74
    • Removal of RW locks for dashmaps (ffe24dc)
  • #75
    • Remove rwlock from validator, client and builder (3f6920a)

unleash-edge v0.1.0

23 Feb 09:43
6cbafd4
Compare
Choose a tag to compare

Chore

  • update rust crate test-case to v3

New Features

  • allow controlling http server workers spun up
  • implement metrics for front end clients

Bug Fixes

  • update rust crate clap to 4.1.6
  • Make offline mode handle non-Unleash tokens as valid secrets
  • an issue where client features wouldn't correctly update in memory provider

Commit Statistics

  • 7 commits contributed to the release over the course of 6 calendar days.
  • 6 days passed between releases.
  • 6 commits were understood as conventional.
  • 7 unique issues were worked on: #63, #64, #65, #66, #67, #68, #72

Commit Details

view details
  • #63
    • update rust crate test-case to v3 (cc123f6)
  • #64
    • an issue where client features wouldn't correctly update in memory provider (b8b25d3)
  • #65
    • implement metrics for front end clients (ac97379)
  • #66
    • allow controlling http server workers spun up (ab8e5ea)
  • #67
    • Make offline mode handle non-Unleash tokens as valid secrets (8ef7a33)
  • #68
    • update rust crate clap to 4.1.6 (aa2432e)
  • #72
    • Chore/data store refactor (026de50)

unleash-edge v0.0.2

14 Feb 14:28
Compare
Choose a tag to compare

Bug Fixes

  • Use upstream_url rather than unleash_url

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Use upstream_url rather than unleash_url (764e92e)

unleash-edge v0.0.1

14 Feb 14:19
Compare
Choose a tag to compare

Chore

  • added team developer to save spam
  • tokens are now used
  • redesign source and sinks to store features by environment and filter the responses by project
  • remove sinks for offline mode
  • redesign source/sink architecture
  • remove redis test that doesn't make sense anymore
  • test auto-assign-pr action
  • move server startup and traits to async
  • improve tests for redis provider
  • bump unleash-types
  • Update cargo keys with ownership and license

Chore

  • added changelog

Documentation

  • add edge mode
    • docs: add edge mode
  • docs: organize modes differently, small fixes
  • docs: edge mode does not need token to start, explain warm up
  • Update README.md

New Features

  • switch to backing with HashMap<TokenString, EdgeToken>
  • adds a call for validating tokens
  • implement simplify tokens
  • add client for getting features
  • implement an in memory data store
  • internal backstage build info endpoint
    • feat: internal backstage build info endpoint
  • chore: add test documenting info endpoint
  • feat: add enabled toggles routes
  • fix: disabling metrics for not linux

Bug Fixes

  • update rust crate unleash-types to 0.8.3

  • update rust crate unleash-types to 0.8.2

  • update rust crate unleash-yggdrasil to 0.4.5

  • update rust crate serde_json to 1.0.93

  • update rust crate serde_json to 1.0.92

  • update rust crate anyhow to 1.0.69

  • expose correct route on frontend api

  • features get refreshed.
    Previously our spin loop slept for 15 seconds and then hit the await on
    the channel for a new token to validate.
    This PR changes that to use tokio::select to either refresh features for
    known tokens each 10th second, or receive a new token to validate.

    Should allow us to use more than one token and get them refreshed

  • allow any on CORS

  • make sure reqwest does not bring along openssl

  • update rust crate tokio to 1.25.0

  • update rust crate unleash-yggdrasil to 0.4.2

  • patch the way CORS headers are done, without this, the server crashes on startup with an unhelpful error message

  • update rust crate clap to 4.1.4

  • Update unleash-types to 0.5.1

  • update rust crate unleash-yggdrasil to 0.4.0

  • update rust crate clap to 4.1.3

  • update rust crate actix-web to 4.3.0

Other

  • move obvious debug level logging to debug
  • Subsume keys to check
    This collapses the keys seen. Removing keys that have been subsumed by a
    wider key (a key that includes the same projects or more as existing
    keys).
  • token validator
    • task: add token validator
  • Updated to only refresh tokens of type Client
  • update to include openapi and hashes feature of types
  • added etag middleware
  • Added prometheus metrics from shadow

Style

  • fix formatting

Commit Statistics

Commit Details

view details
  • #10
    • use subcommands rather than ValueEnum (8fe7cab)
  • #12
    • add basic proxy endpoints and related test code (5f55517)
  • #13
    • update rust crate clap to 4.1.4 (4b9e889)
  • #14
    • patch the way CORS headers are done, without this, the server crashes on startup with an unhelpful error message (71a9a23)
  • #15
    • internal backstage build info endpoint (0469918)
  • #16
    • add client for getting features (9e99f4b)
  • #17
    • update rust crate unleash-yggdrasil to 0.4.2 (be9428d)
  • #18
    • add enabled toggles routes (92aa64b)
  • #20
    • Added prometheus metrics from shadow (8f6fa05)
  • #22
  • #23
    • update rust crate tokio to 1.25.0 (46a10d2)
  • #25
    • Implement redis datasource (0b2537f)
  • #26
  • #27
  • #28
    • improve tests for redis provider (ea8cd1b)
  • #29
    • implement an in memory data store (5ae644c)
  • #3
    • Adds client features endpoint (4bf25a3)
  • #30
    • implement simplify tokens (eab0878)
  • #33
    • move server startup and traits to async (e58f4fc)
  • #34
    • adds a call for validating tokens (0d037ec)
  • #36
    • Feat/implement data sync (862ee28)
  • #37
  • #38
    • features get refreshed. (2b0f832)
  • #39
    • test auto-assign-pr action (286dfd5)
  • #4
    • Add edge-token extractor to lock down access (e6bc817)
  • #40
    • switch to backing with HashMap<TokenString, EdgeToken> (3a8cd76)
  • #41
    • expose correct route on frontend api (ca0a50d)
  • #42
    • update rust crate anyhow to 1.0.69 (0be62e8)
  • #43
    • update rust crate serde_json to 1.0.92 (cd86cdd)
  • #44
    • Updated to only refresh tokens of type Client (d32e20b)
  • #45
    • remove redis test that doesn't make sense anymore (ba72e09)
  • #46
    • redesign source/sink architecture (cdfa7c2)
  • #5
    • update rust crate actix-web to 4.3.0 (042ae38)
  • #52
    • update rust crate serde_json to 1.0.93 (986a743)
  • #53
  • #54
    • remove sinks for offline mode (9a34999)
  • #55
    • update rust crate unleash-types to 0.8.2 (4f528b7)
  • #56
    • update rust crate unleash-yggdrasil to 0.4.5 (2d4a743)
  • #57
    • redesign source and sinks to store features by environment and filter the responses by project (869294b)
  • #58
  • #59
  • #6
    • update rust crate clap to 4.1.3 (9f817bd)
  • #60
  • #61
  • #62
    • update rust crate unleash-types to 0.8.3 (eea450a)
  • #8
    • update rust crate unleash-yggdrasil to 0.4.0 (fa8e961)
  • #9
  • Uncategorized
    • added changelog (e2a5894)
    • added team developer to save spam (004aa95)
    • move obvious debug level logging to debug (76e8e2a)
    • tokens are now used (b18c039)
    • make sure reqwest does not bring along openssl (93b0f22)
    • update to include openapi and hashes feature of types (bcc2051)
    • bump unleash-types (9132cc1)
    • Update unleash-types to 0.5.1 (02e201b)
    • Update cargo keys with ownership and license (1d6a518)
    • add /api/client/features endpoint (c270685)
    • Server with metrics and health check ready (231efc3)