Skip to content

Releases: CBIIT/ccdi-federation-api

v1.0.0

30 Apr 22:25
Compare
Choose a tag to compare

v1.0.0— 04-30-2024

Added

  • Adds both local and global gateway definitions to subjects and samples. With
    this change, subjects, samples, and files now have the same top-level keys in
    their responses (link to discussion, #95).

Revised

  • Removes namespace-partitioned count by results (link to discussion, #97).
  • Updates diagnosis to support multiple values (#99).

Fixed

  • Includes diagnosis in sample metadata field descriptions.

v1.0.0-rc.1

26 Apr 20:49
Compare
Choose a tag to compare

v1.0.0-rc.1 — 04-26-2024

Added

  • Adds an endpoint to show an individual file (link to card, #82).
  • Adds an endpoint to partition files by metadata elements and namespace (link to card, #82).
  • Adds support for reporting the metadata fields for file at /metadata/file/fields (link to card, #82).
  • Nine new metadata elements were added (#89 and #91).
    • The library strategy for the sample (CDE 6273393 v1.00, #48)
    • The preservation method for the sample's biospecimen (CDE 8028962 v2.00, #64)
    • Disease at diagnosis (unaligned, #52).
    • A short title for a study (CDE 11459812 v1.00, #69).
    • A funding id for a study (CDE 14528051 v1.00, #66).
    • An identifier for a study (CDE 12960571 v1.00, #70).
    • A name for a study (CDE 11459810 v1.00, #68).
    • Institution (CDE 12662779 v1.00, #67).
    • dbGaP phs Accession (CDE 11524544 v1.00, #65).

Changed

  • Revises the data model for files to more closely match subjects and samples by adding a ccdi_server::responses::File object (#82).
  • Ensures that all primary entities must explicitly exclude missing metadata objects for primary entities (subject, sample, and file) by assigning it a value of null rather than simply omitting the key (#84).
  • Revises the way missing or null results are displayed in group by endpoints. In particular, there is now a top-level missing key in those responses rather than using sentinel values to indicate missing data (#83).
  • Clarifies the language regarding the meaning of null within the API including guidance on when to return null and how to interpret null results (particularly when combined with enumerated values of CDEs that appear to overlap with this concept) (#81).

Fixed

  • Adds filtering to the /file endpoint (#88).

v0.7.0

25 Mar 20:29
Compare
Choose a tag to compare

v0.7.0 — 03-25-2024

Added

  • Five new metadata elements were added for files
    (#63).
    • The identifier for the file (CDE 11284037 v1.00, #52)
    • The type of file (CDE 11416926 v1.00, #53).
    • The size of the file (CDE 11479876 v1.00, #55).
    • The md5 checksum of the file (CDE 11556150 v1.00, #56).
    • A description of the file (CDE 11280338 v1.00, #54).
  • A Namespace now represents a top-level governance grouping of entities within the CCDI
    Federation API. See the new "Organizations", "Namespaces", and "Assigning Organizations and
    Namespaces" sections in the Swagger specification to learn about how your design might need to
    change to account for these new definitions
    (#75).
  • Introduces Organization as a supporting entity with the corresponding /organization and
    /organization/{name} endpoints (#75).
  • For all primary entities, an Identifier is now represented as both a Namespace identifier and
    a Name of the entity.
  • Identifiers, when referenced from within metadata blocks (but not when specified as the top-level
    identifiers for subjects/samples/files) are now known as referenced identifiers. Their body
    type has changed to include linked::Identifiers and unlinked::Identifiers, which are wrapped
    in an identifier::Referenced enum (#75).
  • The identifiers metadata field for a Subject was changed from an owned metadata field to an
    unowned metadata field (#75).
  • A new identifiers metadata field was added to Sample to support adding other known identifiers
    at the sample level (#75).
  • For both samples and subjects, there is a new partition query parameter that needs to be
    supported for the /{entity}/by/{field}/count endpoint
    (#75).
    • The only current valid value for the partition query parameter at the moment is namespace,
      though this may be expanded in the future.

Changed

  • Pagination is now required by default for primary entity root endpoints (/subject, /sample,
    and /file) (#59).
  • HTTPS served on port 443 is now required
    (#60).
  • Updates the name of the API to be the "CCDI Data Federation API".

Fixed

  • The pagination via Link headers was fixed (Thanks @e-t-k!
    #61).

v0.6.1

16 Jan 19:57
Compare
Choose a tag to compare

v0.6.1 — 01-16-2024

Changed

  • Corrects two issues with the v0.6.0 release (#51).
    • Corrects the description of the sample metadata tumor_tissue_morphology to be specified as a
      struct. Additionally, add the icd_o_3 code as a named struct field so that it will be named in
      the wiki.
    • Adds the age_at_vital_status subject metadata to get_field_descriptions() so that it will be
      included in the wiki page generation.

v0.6.0

16 Jan 19:16
Compare
Choose a tag to compare

0.6.0 — 01-16-2024

Added

  • Adds the files and gateways API (#31).
  • Adds the check command for checking conformance with the API specification (c092b06).
  • Adds five new harmonized metadata elements (#49).
    • Subjects now support vital status (#42) and age at vital status (#45).
    • Samples now support age at diagnosis (#37), age at collection (#44), and tumor tissue morphology (#43).

v0.5.0

25 Nov 17:03
Compare
Choose a tag to compare

0.5.0 — 11-25-2023

Added

  • Formalizes the Namespace entity and adds /info endpoint (#27).
    • /info: Gets information about the server.
    • /namespace: Lists namespaces known by this server.
    • /namespace/{name}: Gets the namespace matching the provided name (if it exists).
  • Adds a InvalidRoute error to give feedback in the response body when a route is not available (#28).
  • Adds an UnshareableData error to explain why data is not shareable (#29).

v0.4.0

17 Nov 22:40
Compare
Choose a tag to compare

0.4.0 — 11-02-2023

Added

  • Adds filtering via query parameters for /subject and /sample (#26).
  • Adds a reference from samples back to subjects (#25).
  • Adds pagination to /subject and /sample (#24).
  • New server endpoints.
    • Adds Kids First Data Resource Center endpoint (#30).

Fixes

  • Applies the Refactory -> Refractory typo present in the CDE 12217251 v1.00 (#23).

v0.3.0

17 Nov 22:39
Compare
Choose a tag to compare

0.3.0 — 11-02-2023

Revise

  • Adds identifier with namespace to sample.
    • /sample/{name} now updated to /sample/{namespace}/{name}.

v0.2.0

17 Nov 22:39
Compare
Choose a tag to compare

0.2.0 — 11-02-2023

Added

  • New endpoints for /sample.
    • /sample: Gets the samples known by this server.
    • /sample/{name}: Gets the sample matching the provided name (if the sample exists).
    • /sample/by/{field}/count: Groups the samples by the specified metadata field and returns counts.
  • Adds character restrictions to harmonized and unharmonized fields (#19).
  • Adds unharmonized metadata fields.
  • Adds linting with spectral.

Revised

  • Removes null-based metadata fields.
  • Supports full set of subject fields in group by count.
  • Unharmonized keys can be any json string.

Fixes

  • Fixed swapping of server descriptions (#18).

Important Chores

  • Versions are now workspace-wide and in sync with API version

v0.1.0

17 Nov 22:34
Compare
Choose a tag to compare

0.1.0 — 10-15-2023

Added

  • New endpoints for subjects.
    • /subject: Gets the subjects known by this server.
    • /subject/{namespace}/{name}: Gets the subject matching the provided id (if it exists).
    • /subject/by/{field}/count: Groups the subjects by the specified metadata field and returns counts.
  • New endpoints for metadata.
    • /metadata/fields/subject: Gets the metadata fields for subjects that are supported by this server.
  • New server endpoints.
    • Adds St. Jude Children's Research Hospital endpoint (initial commit).
    • Adds UCSC Treehouse endpoint (#6).
    • Adds Pediatric Cancer Data Commons (PCDC) endpoint (#10).
  • Rust tooling was added to the packages directory (#14).