{"database": "docs", "table": "sections", "rows": [["changelog:signed-values-and-secrets", "changelog", "signed-values-and-secrets", "Signed values and secrets", "Both flash messages and user authentication needed a way to sign values and set signed cookies. Two new methods are now available for plugins to take advantage of this mechanism:  .sign(value, namespace=\"default\")  and  .unsign(value, namespace=\"default\") . \n                 Datasette will generate a secret automatically when it starts up, but to avoid resetting the secret (and hence invalidating any cookies) every time the server restarts you should set your own secret. You can pass a secret to Datasette using the new  --secret  option or with a  DATASETTE_SECRET  environment variable. See  Configuring the secret  for more details. \n                 You can also set a secret when you deploy Datasette using  datasette publish  or  datasette package  - see  Using secrets with datasette publish . \n                 Plugins can now sign values and verify their signatures using the  datasette.sign()  and  datasette.unsign()  methods.", "[\"Changelog\", \"0.44 (2020-06-11)\"]", "[]"]], "columns": ["id", "page", "ref", "title", "content", "breadcrumbs", "references"], "primary_keys": ["id"], "primary_key_values": ["changelog:signed-values-and-secrets"], "units": {}, "query_ms": 1.4184540195856243}