{"sha": "b2372605d63248f422b6e67cb5c392236a3aa612", "message": "Implemented multi-db support plus initial URL structure\n\nRefs #24\n\nFixes #15", "author_date": "2017-10-24T02:00:37Z", "committer_date": "2017-10-24T02:00:37Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "9d219140694551453bfa528e0624919eb065f9d6", "message": "Refactored to use class based views\n\nCloses #22", "author_date": "2017-10-24T02:25:48Z", "committer_date": "2017-10-24T02:25:48Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "12f7e1dc5624d14f644abead18bd90b420b6d97e", "message": "Hashed URLs now have far-future cache expiry\n\nSince the URL now includes a hash of the database, we can return a Cache-\nControl: max-age=31536000 header for every response.\n\nThe exception is our 302 redirects. These we now serve with a Link: header\nthat tells any HTTP/2 server-push aware fronting proxies (such as Cloudfront)\nto push the target of the redirect.\n\nCloses #4", "author_date": "2017-10-24T02:36:44Z", "committer_date": "2017-10-24T02:36:44Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "255e2611e5c3cfdda76c9da7abdbe5af976044ac", "message": "CORS headers for JSON responses\n\nAccess-Control-Allow-Origin: *", "author_date": "2017-10-24T02:48:06Z", "committer_date": "2017-10-24T02:48:06Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "0fa177269767e5e55c863382333fde627d2b7074", "message": "Allow ?sql= argument against database\n\ne.g. /database-234324?sql=select * from table limit 1", "author_date": "2017-10-24T02:48:56Z", "committer_date": "2017-10-24T02:48:56Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "b20d7119e4f6506cdb9d5d11322e28130823adfd", "message": "Implemented template inheritance and brought back errors", "author_date": "2017-10-24T02:56:27Z", "committer_date": "2017-10-24T02:56:27Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "606ff9e35e007ae58a491d417f47779034bacabc", "message": "python app.py --build to generate build-metadata.json\n\nThis is now run by the Dockerfile to build this at compile time.", "author_date": "2017-10-24T05:53:13Z", "committer_date": "2017-10-24T05:53:13Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "6a9fdcc0718aea2cbc01ae4d60b9a1fba3601a66", "message": "Added addressable page per row\n\nRefs #1 - only exists for tables with introspectable primary keys.\n\nStill need to link to this page.\n\nAlso added first unit tests - refs #9", "author_date": "2017-10-24T05:54:58Z", "committer_date": "2017-10-24T05:54:58Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "b46e370ee6126aa2fa85cf789a31da38aed98496", "message": "Link to pages-per-row\n\nCloses #1", "author_date": "2017-10-24T14:10:58Z", "committer_date": "2017-10-24T14:10:58Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "f643f7aee1b3d29df82b93a6560887a35b7a2f13", "message": "base64 encode bytestrings from DB in JSON\n\nFixes #29", "author_date": "2017-10-24T14:58:41Z", "committer_date": "2017-10-24T14:58:41Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "bc9379aabcedce7fbc661ac15008d8801199a045", "message": "Added .jsono extension\n\nReturns JSON key/value objects for each row instead of lists of values.\n\nCloses #6", "author_date": "2017-10-24T15:07:52Z", "committer_date": "2017-10-24T15:07:52Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "5f806880c9766daf09fc9535171637ebb8224cab", "message": "Correctly JSON serialize sqlite3.Cursor", "author_date": "2017-10-24T23:53:21Z", "committer_date": "2017-10-24T23:53:21Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "02b1814fcfdc61b1b69b5955f2b60252ff10cde9", "message": "Redirects now preserve query string\n\nFixes #28", "author_date": "2017-10-24T23:54:26Z", "committer_date": "2017-10-24T23:54:26Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "2a09d3708777116daedc548078a662086552523f", "message": "Allow views to be browsed as well as tables", "author_date": "2017-10-24T23:55:08Z", "committer_date": "2017-10-24T23:55:08Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}} {"sha": "c371f06fdea413cfb00aa8f81b7a5535a7ecdbc4", "message": "Include took_ms in JSON output", "author_date": "2017-10-24T23:55:53Z", "committer_date": "2017-10-24T23:55:53Z", "raw_author": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "raw_committer": {"value": "2946d096d0cdefdc017559e6b57e87658736e843", "label": "Simon Willison"}, "repo": {"value": 107914493, "label": "datasette"}, "author": {"value": 9599, "label": "simonw"}, "committer": {"value": 9599, "label": "simonw"}}