{"html_url": "https://github.com/simonw/datasette/issues/519#issuecomment-969433734", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/519", "id": 969433734, "node_id": "IC_kwDOBm6k_c45yGKG", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-11-15T23:26:11Z", "updated_at": "2021-11-15T23:26:11Z", "author_association": "OWNER", "body": "I'm happy with this as the goals for 1.0. I'm going to close this issue and create three tracking tickets for the three key themes:\r\n\r\n- https://github.com/simonw/datasette/issues/1509\r\n- https://github.com/simonw/datasette/issues/1510\r\n- https://github.com/simonw/datasette/issues/1511", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 459590021, "label": "Decide what goes into Datasette 1.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/519#issuecomment-691566247", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/519", "id": 691566247, "node_id": "MDEyOklzc3VlQ29tbWVudDY5MTU2NjI0Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-12T22:48:53Z", "updated_at": "2020-09-12T22:48:53Z", "author_association": "OWNER", "body": "I think I've figured out what to do about stability of the HTML and the default templates with respect to semantic versioning.\r\n\r\nI'm going to announce that the JSON API - including the variables made available to templates - should be considered stable according to semver. I will only break backwards compatibility at that level in a major version release.\r\n\r\nThe template HTML (and default CSS) will not be considered a stable interface. They won't change on bug fix releases but they may change (albeit described in the release notes) on minor version bumps.\r\n\r\nSince the template inputs are stable, you can run your own copy of the previous version's templates if something breaks.\r\n\r\nThis means users (and plugin authors) who make changes to the default Datasette UI will have to test their changes against every minor release. I think that's OK.\r\n\r\nIf you write plugins that don't affect the Datasette HTML UI you will be able to expect stability across minor version releases.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 459590021, "label": "Decide what goes into Datasette 1.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/519#issuecomment-636329468", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/519", "id": 636329468, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNjMyOTQ2OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-05-30T13:14:52Z", "updated_at": "2020-05-30T13:21:03Z", "author_association": "OWNER", "body": "I've made a lot of progress towards this recently:\r\n\r\n- Started internals documentation #576\r\n- Improved design of the request object #706\r\n- Redesigned register_output_renderer plugin hook #581", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 459590021, "label": "Decide what goes into Datasette 1.0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/519#issuecomment-636330023", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/519", "id": 636330023, "node_id": "MDEyOklzc3VlQ29tbWVudDYzNjMzMDAyMw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-05-30T13:19:24Z", "updated_at": "2020-05-30T13:19:24Z", "author_association": "OWNER", "body": "Goals for Datasette 1.0:\r\n\r\n- Generally signify confidence in the quality/stability of Datasette. I think I'm there already.\r\n- Plugin authors can have confidence that their plugins will work for the whole 1.x release cycle\r\n- Developers building against Datasette JSON APIs should have confidence in 1.x compatibility\r\n- Template authors and CSS theme authors should have that confidence too\r\n\r\nI think I'm very nearly there for the plugin API. The harder ones are JSON APIs and template authors.\r\n\r\nFor JSON APIs: The default JSON just isn't right. I find myself using `?_shape=array` for almost everything I build.\r\n\r\nThe template part is harder. I think I need to fully document the template variables for every view - and add protective unit tests that match that documentation.\r\n\r\nThe CSS theme part is so hard it may not be possible. How do you guarantee stable HTML that won't break with custom CSS when you'll be adding new features during the 1.x release run? The pattern portfolio from #151 should hopefully help a lot there, but I still don't have a complete idea of what this entails or how feasible it is.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 459590021, "label": "Decide what goes into Datasette 1.0"}, "performed_via_github_app": null}