{
    "resource": "release",
    "release": "r1.1",
    "build": "2026-09-16",
    "generated": "2026-09-16T10:00:13+00:00",
    "count": 24,
    "name": "CnidoSite",
    "version": "r1.1",
    "previous": "r1.0",
    "first": "2025-11-18",
    "schedule": "Content releases are scheduled twice a year, in June and December. Corrective releases (bug fixes, security fixes and metadata corrections) are deployed as soon as they are verified and are recorded in the changelog below with their own date.",
    "doi": "NA",
    "data": [
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "All species and taxonomic-class selectors are now rendered by the server instead of being built in JavaScript. Species lists are populated from the database in every module, so the selectors work with JavaScript disabled and no longer show an empty or stale list."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "The deprecated JavaScript option-list library was removed from all 43 pages that still loaded it. It rebuilt every dependent drop-down on page load from hard-coded arrays, which is why child selectors could empty themselves or disagree with the species actually selected."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "Proteomic Analysis: the species selector submitted a short code (for example \"SPIST\") while the underlying data tables are keyed by the full species name (\"Stylophora_pistillata\"), so those selections produced an empty table and a raw database error. The page now resolves either form through the species table, only queries a table that exists, and states plainly which dataset it is showing when the requested one is unavailable."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "The duplicate copy of the Proteomic Analysis page under /submit/ was replaced by a permanent redirect to the live tool. It was reachable but not linked, used a separate and equally stale code path, and discarded the user's input."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "Pfam and BUSCO result pages: the species parameter is now validated and escaped before being used in a query, and the pfam accession likewise. Both pages previously interpolated these values into SQL unescaped, which allowed an arbitrary-table read, and echoed them into the page unescaped, which allowed script injection. A malformed link on the Pfam table was also corrected."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "Gene-set enrichment result pages: the job identifier, species code and gene-set name are now validated against their real value ranges before any use. The job identifier is restricted to digits and the species and gene-set names to their permitted character sets, closing a path-traversal and an injection route reachable from a crafted result URL."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "Download handler hardened: the file parameter is reduced to a base name, resolved with realpath() and refused unless it lies inside the download directory. Requests for files that do not exist now return 404 instead of a silent zero-byte download, and large files are streamed rather than read into memory."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "New Data Coverage Matrix page: a species-by-data-type availability table covering all species and all 15 data types, with each populated cell linking directly to the corresponding module for that species. Downloadable as tab-separated text."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "New Functional Domain Search page and new per-species portal pages."
        },
        {
            "version": "r1.1",
            "date": "2026-09-16",
            "title": "Revision release — peer-review response",
            "change": "New release and changelog page (release.php) with the database version number, last-update date, update schedule and this changelog, plus a machine-readable metadata interface (api.php) and a downloadable file manifest for scripted access. The version stamp now appears in the footer of every page."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Mitochondrial datasets added to the Mitogenomic Data module."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Pan-geneset analysis added."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Species description pages added."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Cnidarian phylogeny made available in the Species Tree module."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Phenotype datasets added."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Multi-omics pages brought online (genome, transcriptome, single-cell, proteome, epigenome, metagenome)."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Dynamic expression view added to the network module."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Gene-set enrichment analysis made available."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "BLAST search tool integrated."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Taxonomic browsing implemented across the catalogue."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Co-expression networks added."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "Primer design tool added."
        },
        {
            "version": "r1.0",
            "date": "2026-05-28",
            "title": "Content release",
            "change": "JBrowse genome browser deployed."
        },
        {
            "version": "r0.9",
            "date": "2025-11-18",
            "title": "Initial public release",
            "change": "CnidoSite first released, with the cnidarian genome and fossil-record modules."
        }
    ]
}