{"sha": "2b85bbdd45a2da51a735f4aaca940c86e104e18a", "message": "Added logout button to pattern portfolio, closes #876\n\nRefs #875", "author_date": "2020-06-30T23:47:23Z", "committer_date": "2020-06-30T23:47:23Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "cfd69593f75295c63642a38af6801704c1bddc60", "message": "Removed hashes from examples on docs/pages - closes #879", "author_date": "2020-06-30T23:45:34Z", "committer_date": "2020-06-30T23:45:34Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "d6e03b04302a0852e7133dc030eab50177c37be7", "message": "Cascading view permissions, closes #832\n\n- If you have table permission but not database permission you can now view the table page\n- New BaseView.check_permissions() method", "author_date": "2020-06-30T23:40:50Z", "committer_date": "2020-06-30T23:40:50Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "ab76eddf31bef99630cc78f462a0b67624db60ac", "message": "Express no opinion if allow block is missing\n\nDefault permission policy was returning True by default for permission\nchecks - which means that if allow was not defined for a level it would\nbe treated as a passing check.\n\nThis is better: we now return None of the allow block is not defined,\nwhich means 'I have no opinion on this' and allows other code to make\nits own decisions.\n\nAdded while working on #832", "author_date": "2020-06-30T22:49:06Z", "committer_date": "2020-06-30T22:49:06Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "9ac6292614a332ddc5d0868abe4a72f8f48bc7ac", "message": "_header_x now defaults to empty string\n\nPrior to this a request to e.g. https://latest.datasette.io/fixtures/magic_parameters\nwhich did not include a User-Agent header would trigger a 500 error.", "author_date": "2020-06-30T22:00:17Z", "committer_date": "2020-06-30T22:00:17Z", "raw_author": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "raw_committer": {"value": "13ae486343ea6454a93114c6f558ffea2f2c6874", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}}