Releases: Kuadrant/limitador
Releases · Kuadrant/limitador
v1.6.0
What's Changed
Other Changes
- [distributed store] Batch up updates per session. by @chirino in #345
- [next] On to the next release by @didierofrivia in #347
- Added test scenario for no variable by @alexsnaps in #346
- Refactor levels for metrics, logging, and tracing by @adam-cattermole in #348
- First step: Limit storage by @alexsnaps in #352
- Add some load testing tools to the sandbox by @chirino in #351
- Support deserializing Arc by @alexsnaps in #355
- Refactor metrics layer implementation by @adam-cattermole in #353
- Update all the deps by @alexsnaps in #358
- Nightly by @alexsnaps in #359
- Support providing an optional id to limits/counters by @chirino in #356
- Bump openssl from 0.10.64 to 0.10.66 by @dependabot in #362
- Ignore new lint on generated code by @alexsnaps in #363
- README.md: fossa badge by @eguzki in #367
- gh action: license scan by fossa by @eguzki in #369
- Immutable Limit.id API by @alexsnaps in #371
- Update deps & other fun for 1.75 support by @alexsnaps in #372
- Ignore unknown lints by @alexsnaps in #373
Full Changelog: v1.5.0...v1.6.0
v1.5.0
What's Changed
Breaking Changes 🛠
- store increments in redis by @eguzki in #281
- Use absolute timestamps when dealing with expiry from Redis by @alexsnaps in #317
- 🔥 Infinispan feature by @alexsnaps in #330
- 🔥 wasm target by @eguzki in #331
Exciting New Features 🎉
- Add metrics on traffic going in the server and out of the crate layer (e.g. Redis) by @alexsnaps in #250
- Support pushing traces to otel collector by @adam-cattermole in #261
- Batch size by @alexsnaps in #318
Other Changes
- add build image test by @eguzki in #67
- doc: how it works by @eguzki in #63
- Impl
From<&str> for Namespace
instead ofFromStr
as it can't fail by @alexsnaps in #76 RaterLimiter
to take a&Namespace
by @alexsnaps in #77- add back David's name into the authors list by @rahulanand16nov in #75
- Keeps all Limits in memory only by @alexsnaps in #78
- Bench improvements by @alexsnaps in #82
- Monitor config file for changes and reload when needed by @alexsnaps in #79
- Simpler trait by @alexsnaps in #80
- Update deps by @alexsnaps in #85
- Moved all env var configuration into one place by @alexsnaps in #84
Limit
smax_value
andname
field play no role in their identity… by @alexsnaps in #87- Revert "
Limit
smax_value
andname
field play no role in their identity…" by @alexsnaps in #88 - We need to insert a HashSet before doing anything by @alexsnaps in #90
- inotify on linux sends a different type by @alexsnaps in #91
- Issue 64 take2 by @alexsnaps in #93
- CLI by @alexsnaps in #92
- Watcher supports k8s envs 2 by @alexsnaps in #98
- sandbox by @eguzki in #96
- Clippy by @alexsnaps in #103
- Full version by @alexsnaps in #101
- Clippy by @alexsnaps in #104
- github actions: push images to registry quay.io/repository/kuadrant/limitador by @eguzki in #105
- Make infinispan a feature of the server by @alexsnaps in #111
- Updated dependencies by @alexsnaps in #112
- Dev versioning? by @alexsnaps in #106
- Re-enabled lenient mode by @alexsnaps in #110
- Scanner based parsing of Limit conditions by @alexsnaps in #109
- Add support for != in conditions by @alexsnaps in #113
- remove file watcher leftovers by @eguzki in #123
- Stricter Limit parsing by @alexsnaps in #122
- Resolve limits_file_dir from the canonicalized limit_file by @alexsnaps in #120
- Validate limits by @alexsnaps in #121
- Bump axum-core from 0.2.7 to 0.2.8 by @dependabot in #128
- Fallback to github sha, if it can't be resolved using
git
by @alexsnaps in #125 - Docs by @alexsnaps in #127
- fix(error): Bubble error up to main when connecting to Redis fails by @alexsnaps in #130
- Prepping v1.0.0-rc1 (crate v0.3.0-rc1) release by @alexsnaps in #132
- Revert "Prepping v1.0.0-rc1 (crate v0.3.0-rc1) release" by @alexsnaps in #134
- Crate v0.3.0 rc1 by @alexsnaps in #133
- We need protoc by @alexsnaps in #135
- Need Redis for the tests by @alexsnaps in #136
- Not dry-run by @alexsnaps in #137
- v1.0.0-rc1 and v0.3.0-rc1 by @alexsnaps in #138
- Clippy by @eguzki in #142
- Preparing v1.0.0 release of server by @alexsnaps in #143
- Fix typo in domain by @alexsnaps in #144
- On to the next release by @alexsnaps in #145
- Update tokio, because of dependabot by @alexsnaps in #147
- Clippy fixes with the new defaults by @alexsnaps in #148
- Update bumpalo by @alexsnaps in #149
- feat: build a multi-arch image adding arm64 support by @chirino in #150
- No main tag on latest, rather only use latest when building from main by @alexsnaps in #151
- Updated to notify 5.1 by @alexsnaps in #152
- remove unused imports by @eguzki in #154
- GH action build image using redhat-actions/buildah-build@v2 by @eguzki in #153
- Update deps by @alexsnaps in #155
- test: Bench to use a stable random from run to run by @alexsnaps in #159
- Adding response headers in the RLS server by @chirino in #158
- Temporary fix: avoid recalculating counter keys based of mutated/updated counter values by @alexsnaps in #161
- fix: redis expires_in value when load_counters was used was *1000 due… by @chirino in #162
- Add option to manually trigger job by @alexsnaps in #163
- Limitador now tags with sha too by @didierofrivia in #164
- Updated h2 & openssl by @alexsnaps in #165
- Update Criterion for bench by @alexsnaps in #166
- add version when publishing to crates.io by @alexsnaps in #171
- [next] On to the next release by @didierofrivia in #172
- Move to UBI8 parent image by @gsaslis in #168
- Fix container user permissions by @guicassolato in #176
- Disk storage using RocksDB by @alexsnaps in #178
- build image workflow: smoke test by @eguzki in #173
- Deps: rustc & dependabot by @alexsnaps in #181
- Bench: Actually create different limits for each scenario by @alexsnaps in #180
- fix image build on main branch by @eguzki in #179
- Improving perf when getting limits in storage by @didierofrivia in #184
- Update rocksdb dep by @alexsnaps in #187
- Improving perf when using InMemory storage by @didierofrivia in #186
- Removing idea config directory by @didierofrivia in #188
- [refactor] Simplifying fn check_and_update by @didierofrivia in #190
- workflow: add codecov by @KevFan in #192
- fix: codecov badge using wrong branch by @KevFan in #194
- Update all deps by @alexsnaps in #196
- AtomicExpiringValue by @didierofrivia in #191
- Updated clap to v4 by @alexsnaps in #198
- Store qualified counters in dedicated capacity limited cache by @alexsnaps in #195
- Avoiding to fail step if CodeCov finds an error by @didierofrivia in #200
- Normalize counter values by @didierofrivia in #199
- Cargo update by @alexsnaps in #201
- Update migration URL to new website format by @alexsnaps in #205
- Add new issues workflow by @adam-cattermole in #202
- disk storage doc by @eguzki in https://githu...
v1.4.0
What's Changed
Breaking Changes 🛠
Exciting New Features 🎉
- Add metrics on traffic going in the server and out of the crate layer (e.g. Redis) by @alexsnaps in #250
- Support pushing traces to otel collector by @adam-cattermole in #261
Other Changes
- On to the next version by @alexsnaps in #209
- Warns by @alexsnaps in #210
- coverage test only on main branch by @eguzki in #213
- Added link to slack channel on k8s workspace by @alexsnaps in #211
- Clippy on all targets by @alexsnaps in #212
- Update time-rs dep by @alexsnaps in #216
- refactor: use or_default() instead of or_insert_with() by @KevFan in #218
- refactor: use actions-rust-lang/setup-rust-toolchain@v1 & docker/setup-buildx-action@v3 for e2e by @KevFan in #221
- Update rustix by @alexsnaps in #226
- Maintenance/docs by @Boomatang in #225
- Bump openssl from 0.10.57 to 0.10.60 by @dependabot in #227
- Add issues/PR to new project by @alexsnaps in #229
- new sandbox: secured redis by @eguzki in #228
- Bump unsafe-libyaml from 0.2.9 to 0.2.10 by @dependabot in #251
- refactor: use x.first() instead of x.get(0) by @KevFan in #253
- only run gh action on local PRs by @alexsnaps in #256
- Adding adopters and maintainers files by @pmccarthy in #255
- gRPC server reflection by @eguzki in #224
- refactor: cross compile for arm64 image build by @KevFan in #222
- [docs] Fixing some broken links by @jasonmadigan in #259
- Bump h2 from 0.3.21 to 0.3.24 by @dependabot in #257
- Bump shlex from 1.2.0 to 1.3.0 by @dependabot in #258
- Clippy fix by @alexsnaps in #260
- cmdline uses default values from crate, rather than its own by @alexsnaps in #274
- Fix main: Allow clippy::multiple_crate_versions for now by @alexsnaps in #278
- Bump mio from 0.8.8 to 0.8.11 by @dependabot in #266
- new sandbox: otel instrumentation with redis datastore by @eguzki in #277
- Write behind lock by @alexsnaps in #276
- integration tests for async redis with local cache by @eguzki in #283
- Retrieve opentelemetry parent span from headers by @adam-cattermole in #275
- Resilient cache by @alexsnaps in #279
- New time metric aggregation layer and refactor of prometheus metrics by @adam-cattermole in #267
- Update h2 by @alexsnaps in #289
- Removed the lazy static from the prometheus metrics by @adam-cattermole in #286
- Cached value by @alexsnaps in #288
- Update almost all deps by @alexsnaps in #290
- Batch update by @didierofrivia in #285
- Refactor the way we deal with partitions by @alexsnaps in #291
- Consider a connection issue a transient one by @alexsnaps in #292
- Support pending writes within CachedCounterValue by @alexsnaps in #299
- More write behind by @alexsnaps in #303
- cI: only run the build image on main branch and for PR jobs. by @chirino in #306
- Revert "cI: only run the build image on main branch and for PR jobs." by @alexsnaps in #308
- Refactor metrics to use alternate metrics crate by @adam-cattermole in #301
- Added tests... and fixes... to CachedCounterValue by @alexsnaps in #310
New Contributors
- @Boomatang made their first contribution in #225
- @pmccarthy made their first contribution in #255
- @jasonmadigan made their first contribution in #259
Full Changelog: server-v1.3.0...server-v1.4.0
Limitador crate v0.6.0
What's Changed
Breaking Changes 🛠
Exciting New Features 🎉
- Add metrics on traffic going in the server and out of the crate layer (e.g. Redis) by @alexsnaps in #250
Other Changes
- Warns by @alexsnaps in #210
- Added link to slack channel on k8s workspace by @alexsnaps in #211
- Clippy on all targets by @alexsnaps in #212
- Update time-rs dep by @alexsnaps in #216
- refactor: use or_default() instead of or_insert_with() by @KevFan in #218
- refactor: use actions-rust-lang/setup-rust-toolchain@v1 & docker/setup-buildx-action@v3 for e2e by @KevFan in #221
- Update rustix by @alexsnaps in #226
- Maintenance/docs by @Boomatang in #225
- Bump openssl from 0.10.57 to 0.10.60 by @dependabot in #227
- Add issues/PR to new project by @alexsnaps in #229
- new sandbox: secured redis by @eguzki in #228
- Bump unsafe-libyaml from 0.2.9 to 0.2.10 by @dependabot in #251
- refactor: use x.first() instead of x.get(0) by @KevFan in #253
- only run gh action on local PRs by @alexsnaps in #256
- Adding adopters and maintainers files by @pmccarthy in #255
- gRPC server reflection by @eguzki in #224
- refactor: cross compile for arm64 image build by @KevFan in #222
- Bump h2 from 0.3.21 to 0.3.24 by @dependabot in #257
- Bump shlex from 1.2.0 to 1.3.0 by @dependabot in #258
- Clippy fix by @alexsnaps in #260
- cmdline uses default values from crate, rather than its own by @alexsnaps in #274
- Fix main: Allow clippy::multiple_crate_versions for now by @alexsnaps in #278
- Bump mio from 0.8.8 to 0.8.11 by @dependabot in #266
- new sandbox: otel instrumentation with redis datastore by @eguzki in #277
- Write behind lock by @alexsnaps in #276
- integration tests for async redis with local cache by @eguzki in #283
- Resilient cache by @alexsnaps in #279
- Update h2 by @alexsnaps in #289
- Removed the lazy static from the prometheus metrics by @adam-cattermole in #286
- Cached value by @alexsnaps in #288
- Update almost all deps by @alexsnaps in #290
- Batch update by @didierofrivia in #285
- Refactor the way we deal with partitions by @alexsnaps in #291
- Consider a connection issue a transient one by @alexsnaps in #292
- Support pending writes within CachedCounterValue by @alexsnaps in #299
- More write behind by @alexsnaps in #303
- Refactor metrics to use alternate metrics crate by @adam-cattermole in #301
- Added tests... and fixes... to CachedCounterValue by @alexsnaps in #310
New Contributors
- @Boomatang made their first contribution in #225
- @pmccarthy made their first contribution in #255
Full Changelog: crate-v0.5.0...crate-v0.6.0
v1.3.0
What's Changed
- Move to UBI8 parent image by @gsaslis in #168
- Fix container user permissions by @guicassolato in #176
- Disk storage using RocksDB by @alexsnaps in #178
- Improving perf when getting limits in storage by @didierofrivia in #184
- Improving perf when using InMemory storage by @didierofrivia in #186
- AtomicExpiringValue by @didierofrivia in #191
- Store qualified counters in dedicated capacity limited cache by @alexsnaps in #195
- Update migration URL to new website format by @alexsnaps in #205
- disk storage doc by @eguzki in #206
- Enabling TLS for Redis by @didierofrivia in #207
- dependency updates by @alexsnaps in #208
New Contributors
- @gsaslis made their first contribution in #168
- @guicassolato made their first contribution in #176
- @KevFan made their first contribution in #192
- @adam-cattermole made their first contribution in #202
Full Changelog: server-v1.2.0...server-v1.3.0
Limitador crate v0.5.0
What's Changed
- Disk storage using RocksDB by @alexsnaps in #178
- Improving perf when getting limits in storage by @didierofrivia in #184
- Improving perf when using InMemory storage by @didierofrivia in #186
- [refactor] Simplifying fn check_and_update by @didierofrivia in #190
- AtomicExpiringValue by @didierofrivia in #191
- Updated clap to v4 by @alexsnaps in #198
- Store qualified counters in dedicated capacity limited cache by @alexsnaps in #195
- Normalize counter values by @didierofrivia in #199
- disk storage doc by @eguzki in #206
- Enabling TLS for Redis by @didierofrivia in #207
- dependency updates by @alexsnaps in #208
New Contributors
- @gsaslis made their first contribution in #168
- @guicassolato made their first contribution in #176
- @KevFan made their first contribution in #192
- @adam-cattermole made their first contribution in #202
Full Changelog: crate-v0.4.0...crate-v0.5.0
v1.2.0
What's Changed
- Update tokio, because of dependabot by @alexsnaps in #147
- Clippy fixes with the new defaults by @alexsnaps in #148
- Update bumpalo by @alexsnaps in #149
- feat: build a multi-arch image adding arm64 support by @chirino in #150
- No main tag on latest, rather only use latest when building from main by @alexsnaps in #151
- Updated to notify 5.1 by @alexsnaps in #152
- remove unused imports by @eguzki in #154
- GH action build image using redhat-actions/buildah-build@v2 by @eguzki in #153
- Update deps by @alexsnaps in #155
- test: Bench to use a stable random from run to run by @alexsnaps in #159
- Adding response headers in the RLS server by @chirino in #158
- Temporary fix: avoid recalculating counter keys based of mutated/updated counter values by @alexsnaps in #161
- fix: redis expires_in value when load_counters was used was *1000 due… by @chirino in #162
- Add option to manually trigger job by @alexsnaps in #163
- Limitador now tags with sha too by @didierofrivia in #164
- Updated h2 & openssl by @alexsnaps in #165
- Update Criterion for bench by @alexsnaps in #166
- add version when publishing to crates.io by @alexsnaps in #171
New Contributors
- @chirino made their first contribution in #150
- @didierofrivia made their first contribution in #164
Full Changelog: server-v1.0.0...server-v1.2.0
Limitador crate v0.4.0
What's Changed
- Update tokio, because of dependabot by @alexsnaps in #147
- Clippy fixes with the new defaults by @alexsnaps in #148
- Update bumpalo by @alexsnaps in #149
- remove unused imports by @eguzki in #154
- GH action build image using redhat-actions/buildah-build@v2 by @eguzki in #153
- Update deps by @alexsnaps in #155
- test: Bench to use a stable random from run to run by @alexsnaps in #159
- Adding option to update counters to latest values when
check_and_update
by @chirino in #158 - Temporary fix: avoid recalculating counter keys based of mutated/updated counter values by @alexsnaps in #161
- fix: redis expires_in value when load_counters was used was *1000 due… by @chirino in #162
- Update Criterion for bench by @alexsnaps in #166
- add version when publishing to crates.io by @alexsnaps in #171
New Contributors
Full Changelog: crate-v0.3.0...crate-v0.4.0
Limitador crate v0.3.0
- Added Infinispan limits storage (first version) #38 #43 #44 #45
- Perform semver-compatible dependency updates and move to edition 2021 #51
- Update Limitador to Tokio 1 async reactor #54
- Impl
From<&str>
forNamespace
instead ofFromStr
as it can't fail #76 RaterLimiter
to take a&Namespace
#77- Keeps all Limits in memory only #78
- Removed lifecycles from public types #80
Limit
'smax_value
andname
fields play no role in their identity… #93- Scanner based parsing of
Limit
's conditions #109 - Add support for
!=
in conditions #113 - Bubble error up when connecting to Redis fails #130
v1.0.0
Added
- Support for command line arguments and options
- Validation of the complete environment on start
LIMIT_FILE
is monitored for changes and hot-reloaded
Changed
- Syntax for condition within
Limit
s changed - Removed the HTTP endpoints to mutate
Limit
s Limit
s are solely loaded from theLIMIT_FILE
- Only
Counter
s toLimit
s are persisted,Limit
s loaded from file are held in memory - Duplicated
Limit
s with same namespace, conditions and variables is now impossible
Removed
- By default, Infinispan support isn't compiled in. Use feature
infinispan
at build time