Releases: Unleash/unleash-edge
unleash-edge v0.3.2
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
unleash-edge v0.3.1 (yanked)
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
unleash-edge v0.3.0
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
unleash-edge v0.2.0
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
unleash-edge v0.1.1
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
unleash-edge v0.1.0
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
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
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
- 58 commits contributed to the release over the course of 25 calendar days.
- 54 commits were understood as conventional.
- 47 unique issues were worked on: #10, #12, #13, #14, #15, #16, #17, #18, #20, #22, #23, #25, #26, #27, #28, #29, #3, #30, #33, #34, #36, #37, #38, #39, #4, #40, #41, #42, #43, #44, #45, #46, #5, #52, #53, #54, #55, #56, #57, #58, #59, #6, #60, #61, #62, #8, #9
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
- added etag middleware (b618ff1)
- #23
- update rust crate tokio to 1.25.0 (46a10d2)
- #25
- Implement redis datasource (0b2537f)
- #26
- update README (1677111)
- #27
- fix formatting (2d99d7e)
- #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
- allow any on CORS (5593376)
- #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
- Task client metrics (81d49ef)
- #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
- token validator (749b3ad)
- #59
- Subsume keys to check (45d6b66)
- #6
- update rust crate clap to 4.1.3 (9f817bd)
- #60
- add edge mode (e6fd6c5)
- #61
- Open api docs (49d7129)
- #62
- update rust crate unleash-types to 0.8.3 (eea450a)
- #8
- update rust crate unleash-yggdrasil to 0.4.0 (fa8e961)
- #9
- Added cors middleware (3addbd6)
- 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)