{"version":"2.1.242","anchor":"plugins-get-a-small-persistent-key-value-store","canonical_anchor":"plugins-get-a-small-persistent-key-value-store","heading":"Plugins get a small persistent key\/value store","tier":"soon","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/plugins-get-a-small-persistent-key-value-store","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Plugins get a small persistent key\/value store\n\nPlugins get a private key\/value store that survives between sessions.\n\n**What**\n\nPlugins can read and write a private JSON store that survives across sessions, kept in one file per plugin and guarded by a lock so two processes cannot corrupt it.\n\n**Details**\n\n- The file name comes from a sanitized plugin id, falling back to a hashed name when the id will not sanitize cleanly.\n- Writes go through a per-plugin queue and take a file lock with 10 retries, warning if the lock is compromised.\n- Keys have a length limit and the store as a whole has a character limit; a write that would exceed it is refused.\n- A store file that is unreadable or is not a JSON object raises an error naming the file.\n- Behind the tengu_plugin_hooks_modules rollout flag.\n\n**Evidence**\n\n`is malformed (the JSON is not an object)`\n\n- Area: Plugins\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 4\/5"}