labels_id,labels_id_label,issues_id,issues_id_label 947261894,feature,1803264272,alter: true support for JSON write API 947261894,feature,1531991339,Suggestion: Hiding columns 947261894,feature,1466952626,Option to sort facets alphabetically 947261894,feature,1353088849,Consider automatically cleaning up curly quotes in searches 947261894,feature,1108671952,Scripted exports 947261894,feature,1052247023,Datasette should have an option to output CSV with semicolons 947261894,feature,994390593,Faceting for custom SQL queries 947261894,feature,981676832,`register_commands()` plugin hook to register extra CLI commands 947261894,feature,964322136,"Manage /robots.txt in Datasette core, block robots by default" 947261894,feature,940077168,"""searchmode"": ""raw"" in table metadata" 947261894,feature,939051549,Serve using UNIX domain socket 947261894,feature,849220154,Better default display of arrays of items 947261894,feature,785588942,"extra_body_script() support for script type=""module""" 947261894,feature,775666296,"""datasette insert"" command and plugin hook" 947261894,feature,770436876,Maintain an in-memory SQLite table of connected databases and their tables 947261894,feature,764059235,"More flexible CORS support in core, to encourage good security practices" 947261894,feature,760605882,Feature: --create option to create database file if it does not yet exist 947261894,feature,743359646,TSV should be a default export option 947261894,feature,734777631,"""View all"" option for facets, to provide a (paginated) list of ALL of the facet counts plus a link to view them" 947261894,feature,725996507,Make it possible to download BLOB data from the Datasette UI 947261894,feature,712260429,JavaScript plugin hooks mechanism similar to pluggy 947261894,feature,712202333,"SQL editor should allow execution of write queries, if you have permission" 947261894,feature,705108492,"request an ""-o"" option on ""datasette server"" to open the default browser at the running url" 947261894,feature,685806511,Private/secret databases: database files that are only visible to plugins 947261894,feature,684111953,datasette --get exit code should reflect HTTP errors 947261894,feature,682005535,datasette install -U for upgrading packages 947261894,feature,681516976,Path parameters for custom pages 947261894,feature,681375466,await datasette.client.get(path) mechanism for executing internal requests 947261894,feature,681334912,Support column descriptions in metadata.json 947261894,feature,677250834,"datasette fixtures.db --get ""/fixtures.json""" 947261894,feature,665407663,"Interactive debugging tool for ""allow"" blocks" 947261894,feature,659580487,Request method for retrieving the unparsed request body 947261894,feature,649429772,Reconsider how _actor_X magic parameter deals with missing values 947261894,feature,648637666,POST to /db/canned-query that returns JSON should be supported (for API clients) 947261894,feature,647103735,"""Logged in as: XXX - logout"" navigation item" 947261894,feature,640917326,canned_queries() plugin hook 947261894,feature,638212085,Magic parameters for canned queries 947261894,feature,637966833,Log out mechanism for clearing ds_actor cookie 947261894,feature,633578769,"Support ""allow"" block on root, databases and tables, not just queries" 947261894,feature,628003707,Ability to sign in to Datasette as a root account 947261894,feature,627794879,Redesign default .json format 947261894,feature,625930207,register_output_renderer can_render mechanism 947261894,feature,620969465,Allow to specify a URL fragment for canned queries 947261894,feature,605110015,Option to automatically configure based on directory layout 947261894,feature,603295970,Visually distinguish integer and text columns 947261894,feature,594237015,Plugin idea: datasette-redirects 947261894,feature,592829135,Support YAML in metadata - metadata.yaml 947261894,feature,587302139,"base_url configuration setting, refs #394" 947261894,feature,585390482,Option in metadata.json to set default sort order for a table 947261894,feature,582526961,Authentication (and permissions) as a core concept 947261894,feature,582517965,Ability for a canned query to write to the database 947261894,feature,573755726,Mechanism for plugins to add action menu items for various things 947261894,feature,569237568,The first time you click sort by ID it should show you results in reverse order 947261894,feature,568091133,?_searchmode=raw option for running FTS searches without escaping characters 947261894,feature,567902704,--cp option for datasette publish and datasette package for shipping additional files and directories 947261894,feature,565064079,--dirs option for scanning directories for SQLite databases 947261894,feature,555832585,"--port option to expose a port other than 8001 in ""datasette package""" 947261894,feature,541467590,Template debug mode that outputs template context 947261894,feature,539590148,fts5 syntax error when using punctuation 947261894,feature,534492501,Mechanism for adding arbitrary pages like /about 947261894,feature,531502365,Make database level information from metadata.json available in the index.html template 947261894,feature,526913133,Don't suggest column for faceting if all values are 1 947261894,feature,521329771,Render jinja2 templates in async mode 947261894,feature,520667773,Mechanism for indicating foreign key relationships in the table and query page URLs 947261894,feature,517451234,?_col= and ?_nocol= support for toggling columns on table view 947261894,feature,516950748,"Add ""not in"" filter - ?pk__notin=x,y,z" 947261894,feature,516874735,Basic join support for table view 947261894,feature,465003070,Ship many-to-many faceting support (and facet-by-delimiter) 947261894,feature,464868844,datasette publish option for setting plugin configuration secrets 947261894,feature,464779810,Plugin hook for adding extra template context variables 947261894,feature,464449570,Add a universal navigation bar which can be modified by plugins 947261894,feature,463915863,Mechanism for secrets in plugin configuration 947261894,feature,463544206,"Populate ""endpoint"" key in ASGI scope" 947261894,feature,462117311,/database/-/inspect 947261894,feature,459882902,Stream all results for arbitrary SQL and canned queries 947261894,feature,459621683,Easier way of creating custom row templates 947261894,feature,459598080,asgi_wrapper plugin hook 947261894,feature,456578474,Get Datasette tests passing on Windows in GitHub Actions 947261894,feature,456569067,Ability to facet by delimiter (e.g. comma separated fields) 947261894,feature,456568880,Support opening multiple databases with the same stem 947261894,feature,455965174,Ability to set default sort order for a table or view in metadata.json 947261894,feature,453846217,Option to display binary data 947261894,feature,447451492,Mechanism for displaying summary of m2m relationships in rows on table view 947261894,feature,447408527,Option to facet by date using month or year 947261894,feature,446429421,Facet by date 947261894,feature,445850934,Plugin hook: filters_from_request 947261894,feature,444997937,/-/databases showing currently attached database details 947261894,feature,444746021,Pagination for the database index page 947261894,feature,443038584,Decide what to do about /-/inspect 947261894,feature,443021509,Paginate + search for databases/tables on the homepage 947261894,feature,440437037,Plugin for allowing CORS from specified hosts 947261894,feature,433297989,"?column__in=value1,value2,value3 filter" 947261894,feature,432636432,?_where=sql-fragment parameter for table views 947261894,feature,421546944,Datasette Library 947261894,feature,418329842,Add query parameter to hide SQL textarea 947261894,feature,407174173,"Show metadata info (e.g. license, source) on custom SQL query pages" 947261894,feature,398559195,datasette publish cloudrun plugin 947261894,feature,397098882,Add pragma compile_options output to /-/versions 947261894,feature,396212021,base_url configuration setting 947261894,feature,374953006,Interface should show same JSON shape options for custom SQL queries 947261894,feature,346027040,Table view should support filtering via many-to-many relationships 947261894,feature,346026869,Handle many-to-many relationships 947261894,feature,341123355,Requesting support for query description 947261894,feature,327459829,URLify URLs in results from custom SQL statements / views 947261894,feature,327395270,Per-database and per-table /-/ URL namespace 947261894,feature,326800219,Mechanism for customizing the SQL used to select specific columns in the table view 947261894,feature,326767626,Support multiple filters of the same type 947261894,feature,325958506,Support cross-database joins 947261894,feature,324835838,Handle spatialite geometry columns better 947261894,feature,324720095,"""config"" section in metadata.json (root, database and table level)" 947261894,feature,324188953,Port Datasette to ASGI 947261894,feature,324162476,Mechanism for automatically picking up changes when on-disk .db file changes 947261894,feature,323718842,Mechanism for ranking results from SQLite full-text search 947261894,feature,323681589,Export to CSV 947261894,feature,323658641,Add ?_extra= mechanism for requesting extra properties in JSON 947261894,feature,322787470,inspect() should detect many-to-many relationships 947261894,feature,318490133,Default datasette logging format should be JSON 947261894,feature,317714268,External metadata.json 947261894,feature,317001500,datasette publish lambda plugin 947261894,feature,316444720,Option to expose expanded foreign keys in JSON/CSV 947261894,feature,315960272,prepare_context() plugin hook 947261894,feature,315142414,Allow plugins to add new cli sub commands 947261894,feature,314847571,Investigate syntactic sugar for plugins 947261894,feature,314771615,"Support custom unit display in order to handle ""$10,000""" 947261894,feature,314725342,Plugin support for datasette publish 947261894,feature,314506669,Allow plugins to define additional URL routes and views 947261894,feature,312396095,Ability to sort with nulls last 947261894,feature,312395790,Ability to sort by more than one column 947261894,feature,309047460,Ability to bundle metadata and templates inside the SQLite file 947261894,feature,299760684,Metadata should be a nested arbitrary KV store 947261894,feature,285168503,Add GraphQL endpoint 947261894,feature,276455748,datasette publish gcloud 947261894,feature,275125561,Datasette serve should accept paths/URLs to CSVs and other file formats 947261894,feature,275087397,Plugin that adds an authentication layer of some sort 947261894,feature,274265878,datasette publish appengine 947261894,feature,274264175,datasette publish elasticbeanstalk 947261894,feature,273944952,Package as standalone binary 947261894,feature,273157085,datasette publish hyper