[{"data":1,"prerenderedAt":287},["ShallowReactive",2],{"navigation":3,"/changelog/v2-1-0":194,"/changelog/v2-1-0-surround":282},[4,34,66,87,106,127,137,166],{"title":5,"path":6,"stem":7,"children":8,"icon":32,"defaultOpen":33},"Getting Started","/getting-started","1.getting-started/1.index",[9,12,17,22,27],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-info",{"title":13,"path":14,"stem":15,"icon":16},"Installation","/getting-started/installation","1.getting-started/2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quickstart (Local)","/getting-started/quickstart-local","1.getting-started/3.quickstart-local","i-lucide-zap",{"title":23,"path":24,"stem":25,"icon":26},"Quickstart (Redis)","/getting-started/quickstart-redis","1.getting-started/4.quickstart-redis","i-lucide-database",{"title":28,"path":29,"stem":30,"icon":31},"Quickstart (Hybrid)","/getting-started/quickstart-hybrid","1.getting-started/5.quickstart-hybrid","i-lucide-arrow-left-right","i-lucide-rocket",true,{"title":35,"icon":36,"defaultOpen":33,"path":37,"stem":38,"children":39,"page":65},"Concepts","i-lucide-lightbulb","/concepts","2.concepts",[40,45,50,55,60],{"title":41,"path":42,"stem":43,"icon":44},"Keys","/concepts/keys","2.concepts/1.keys","i-lucide-key-round",{"title":46,"path":47,"stem":48,"icon":49},"Rate Limits","/concepts/rate-limits","2.concepts/2.rate-limits","i-lucide-badge-percent",{"title":51,"path":52,"stem":53,"icon":54},"Sliding Windows","/concepts/sliding-windows","2.concepts/3.sliding-windows","i-lucide-timer-reset",{"title":56,"path":57,"stem":58,"icon":59},"Decisions","/concepts/decisions","2.concepts/4.decisions","i-lucide-check-check",{"title":61,"path":62,"stem":63,"icon":64},"Configuration Types","/concepts/configuration-types","2.concepts/5.configuration-types","i-lucide-box",false,{"title":67,"icon":68,"defaultOpen":33,"path":69,"stem":70,"children":71,"page":65},"Strategies","i-lucide-git-branch","/strategies","3.strategies",[72,77,82],{"title":73,"path":74,"stem":75,"icon":76},"Absolute","/strategies/absolute","3.strategies/1.absolute","i-lucide-shield",{"title":78,"path":79,"stem":80,"icon":81},"Suppressed","/strategies/suppressed","3.strategies/2.suppressed","i-lucide-activity",{"title":83,"path":84,"stem":85,"icon":86},"How Suppression Works","/strategies/how-suppression-works","3.strategies/3.how-suppression-works","i-lucide-function-square",{"title":88,"icon":89,"defaultOpen":33,"path":90,"stem":91,"children":92,"page":65},"Providers","i-lucide-layers","/providers","4.providers",[93,98,102],{"title":94,"path":95,"stem":96,"icon":97},"Local","/providers/local","4.providers/1.local","i-lucide-cpu",{"title":99,"path":100,"stem":101,"icon":26},"Redis","/providers/redis","4.providers/2.redis",{"title":103,"path":104,"stem":105,"icon":31},"Hybrid","/providers/hybrid","4.providers/3.hybrid",{"title":107,"icon":108,"defaultOpen":65,"path":109,"stem":110,"children":111,"page":65},"Guides","i-lucide-map","/guides","5.guides",[112,117,122],{"title":113,"path":114,"stem":115,"icon":116},"Configuration","/guides/configuration","5.guides/1.configuration","i-lucide-sliders-horizontal",{"title":118,"path":119,"stem":120,"icon":121},"Cleanup","/guides/cleanup","5.guides/2.cleanup","i-lucide-trash-2",{"title":123,"path":124,"stem":125,"icon":126},"Troubleshooting","/guides/troubleshooting","5.guides/4.troubleshooting","i-lucide-wrench",{"title":128,"icon":129,"defaultOpen":65,"path":130,"stem":131,"children":132,"page":65},"Reference","i-lucide-file-text","/reference","6.reference",[133],{"title":134,"path":135,"stem":136,"icon":129},"API Reference Guide","/reference/api","6.reference/1.api",{"title":138,"icon":139,"defaultOpen":65,"path":140,"stem":141,"children":142,"page":65},"Benchmarks","i-lucide-gauge","/benchmarks","7.benchmarks",[143,148,152],{"title":144,"path":145,"stem":146,"icon":147},"Benchmark Concepts","/benchmarks/benchmark-concepts","7.benchmarks/0.benchmark-concepts","i-lucide-book-open",{"title":149,"path":150,"stem":151,"icon":139},"Benchmarking & Load Testing","/benchmarks/benchmarking-load-testing","7.benchmarks/1.benchmarking-load-testing",{"title":153,"path":154,"stem":155,"children":156,"icon":165},"Benchmark Results","/benchmarks/benchmark-results","7.benchmarks/2.benchmark-results",[157,161],{"title":158,"path":159,"stem":160,"icon":97},"Local Benchmark Comparison","/benchmarks/benchmark-results/local-benchmark-comparison","7.benchmarks/2.benchmark-results/1.local-benchmark-comparison",{"title":162,"path":163,"stem":164,"icon":26},"Redis + Hybrid Benchmark Comparison","/benchmarks/benchmark-results/redis-benchmark-comparison","7.benchmarks/2.benchmark-results/2.redis-benchmark-comparison","i-lucide-chart-no-axes-combined",{"title":167,"path":168,"stem":169,"children":170,"icon":172,"defaultOpen":65},"Changelog","/changelog","8.changelog/0.index",[171,173,178,182,186,190],{"title":167,"path":168,"stem":169,"icon":172},"i-lucide-scroll",{"title":174,"path":175,"stem":176,"icon":177},"v2.1.0","/changelog/v2-1-0","8.changelog/0.v2-1-0","i-lucide-tag",{"title":179,"path":180,"stem":181,"icon":177},"v2.0.0","/changelog/v2-0-0","8.changelog/1.v2-0-0",{"title":183,"path":184,"stem":185,"icon":177},"v1.1.0","/changelog/v1-1-0","8.changelog/2.v1-1-0",{"title":187,"path":188,"stem":189,"icon":177},"v1.0.1","/changelog/v1-0-1","8.changelog/3.v1-0-1",{"title":191,"path":192,"stem":193,"icon":177},"v1.0.0","/changelog/v1-0-0","8.changelog/4.v1-0-0",{"id":195,"title":174,"authors":196,"badge":174,"body":197,"date":196,"description":276,"extension":277,"links":196,"meta":278,"navigation":279,"path":175,"seo":280,"stem":176,"__hash__":281},"docs/8.changelog/0.v2-1-0.md",null,{"type":198,"value":199,"toc":268},"minimark",[200,208,211,216,241,245,250,254,259],[201,202,203,207],"p",{},[204,205,206],"strong",{},"Status:"," Released · August 10, 2026",[201,209,210],{},"Version 2.1.0 adds explicit rate and key lifecycle operations to all six limiter variants.",[212,213,215],"h2",{"id":214},"added","Added",[217,218,219,228,234],"ul",{},[220,221,222,223,227],"li",{},"Added ",[224,225,226],"code",{},"set_rate_limit(...)"," to update an existing key's sticky rate while preserving its live\nhistory and usage.",[220,229,222,230,233],{},[224,231,232],{},"delete(...)"," to remove one key and return its live absolute total or accepted suppressed\nusage.",[220,235,236,237,240],{},"Added strategy- and prefix-scoped ",[224,238,239],{},"clear()"," operations.",[212,242,244],{"id":243},"changed","Changed",[217,246,247],{},[220,248,249],{},"Hybrid lifecycle mutations use per-key and namespace revisions so stale cached state cannot\nundo completed rate changes, deletions, or clears. Remote pending work may recreate state later.",[212,251,253],{"id":252},"fixed","Fixed",[217,255,256],{},[220,257,258],{},"Prevented a concurrent suppressed-local increment and deletion from reporting the same usage\ntwice while creating a new history bucket.",[201,260,261],{},[262,263,267],"a",{"href":264,"rel":265},"https://github.com/dev-davexoyinbo/trypema/compare/v2.0.0...v2.1.0",[266],"nofollow","Compare v2.0.0...v2.1.0",{"title":269,"searchDepth":270,"depth":271,"links":272},"",1,2,[273,274,275],{"id":214,"depth":271,"text":215},{"id":243,"depth":271,"text":244},{"id":252,"depth":271,"text":253},"Rate-only updates and explicit key lifecycle operations across every provider.","md",{},{"icon":177},{"title":174,"description":276},"nCSV1qvuyTa4CHl750dnRVGibWQtiLERWpmtJR3dM5c",[283,285],{"title":167,"path":168,"stem":169,"description":284,"icon":172,"children":-1},"Release notes for Trypema, ordered newest first.",{"title":179,"path":180,"stem":181,"description":286,"icon":177,"children":-1},"Breaking provider redesign, semantic configuration types, live reads, and conditional history updates.",1786384573718]