Skip to content

Commit 54f4980

Browse files
authored
Prepare for release of NWB schema 2.8.0 (#597)
1 parent 473fcc4 commit 54f4980

File tree

15 files changed

+57
-58
lines changed

15 files changed

+57
-58
lines changed

.github/PULL_REQUEST_TEMPLATE/release.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ Target release date: [date]
1111
- [ ] Update `docs/format/source/conf.py` as needed
1212
- [ ] Update release notes (set release date) in `docs/format/source/format_release_notes.rst` and any other docs as
1313
needed
14-
- [ ] Test docs locally (`cd docs/format; make fulldoc`) where the nwb-schema submodule in the local version of PyNWB
15-
is fully up-to-date with the head of the dev branch.
14+
- [ ] Test docs locally (`cd docs/format; make fulldoc`) and check for warnings and errors
15+
- [ ] Ensure PyNWB and MatNWB have branches that have passing tests when using the head of the dev branch or this
16+
branch of nwb-schema
1617
- [ ] Push changes to this PR and make sure all PRs to be included in this release have been merged
1718
- [ ] Check that the readthedocs build for this PR succeeds (see auto-triggered PR build):
1819
https://readthedocs.org/projects/nwb-schema/builds/

.github/workflows/check_sphinx_links.yml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,18 @@ on:
88
jobs:
99
check-external-links:
1010
runs-on: ubuntu-latest
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
1114
steps:
12-
- name: Cancel non-latest runs
13-
uses: styfle/cancel-workflow-action@0.11.0
14-
with:
15-
all_but_latest: true
16-
access_token: ${{ github.token }}
17-
18-
- uses: actions/checkout@v4
15+
- name: Checkout repo with submodules
16+
uses: actions/checkout@v4
1917
with:
2018
submodules: 'recursive'
2119
fetch-depth: 0 # tags are required for versioneer to determine the version
2220

2321
- name: Set up Python
24-
uses: actions/setup-python@v4
22+
uses: actions/setup-python@v5
2523
with:
2624
python-version: '3.12'
2725

@@ -31,4 +29,4 @@ jobs:
3129
python -m pip install -r requirements-doc.txt
3230
3331
- name: Check Sphinx links and references
34-
run: sphinx-build -n -b linkcheck ./docs/format/source ./test_build
32+
run: sphinx-build -n -W -b linkcheck ./docs/format/source ./test_build

.github/workflows/validate_schema.yml

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,26 @@
11
name: Validate schema
22

3-
on: [push, pull_request, workflow_dispatch]
3+
on:
4+
push:
5+
branches:
6+
- dev
7+
pull_request:
8+
workflow_dispatch:
49

510
jobs:
611
validate:
7-
# run pipeline on either a push event or a PR event on a fork
8-
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
912
runs-on: ubuntu-latest
1013
steps:
11-
- uses: actions/checkout@v4
12-
- name: Set up Python 3.12
13-
uses: actions/setup-python@v4
14-
with:
15-
python-version: "3.12"
16-
- name: Install dev branch of HDMF
17-
run: |
18-
pip install git+https://github.com/hdmf-dev/hdmf.git
19-
- name: Validate schema specification
20-
run: |
21-
validate_hdmf_spec core -m nwb.schema.json
14+
- name: Checkout repo
15+
uses: actions/checkout@v4
16+
17+
- name: Set up Python 3.12
18+
uses: actions/setup-python@v5
19+
with:
20+
python-version: "3.12"
21+
22+
- name: Install dev branch of HDMF
23+
run: pip install git+https://github.com/hdmf-dev/hdmf.git
24+
25+
- name: Validate schema specification
26+
run: validate_hdmf_spec core -m nwb.schema.json

README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ To get started using NWB, please go to the `NWB overview website <https://nwb-ov
88
This repo contains:
99

1010
* The core NWB schema
11-
* The `Documentation for the NWB schema <http://nwb-schema.readthedocs.io>`_ (editable `here <https://github.com/NeurodataWithoutBorders/nwb-schema/tree/dev/docs/format/source>`_)
11+
* The `Documentation for the NWB schema <https://nwb-schema.readthedocs.io>`_ (editable `here <https://github.com/NeurodataWithoutBorders/nwb-schema/tree/dev/docs/format/source>`_)
1212
* The `HDF5 storage specification <https://nwb-storage.readthedocs.io/en/latest/storage_hdf5.html>`_ (editable `here <https://github.com/NeurodataWithoutBorders/nwb-schema/blob/dev/docs/storage/source/storage_hdf5.rst>`_)
1313

14-
The NWB schema uses the [NWB specification language](http://schema-language.readthedocs.io/),
14+
The NWB schema uses the [NWB specification language](https://schema-language.readthedocs.io/),
1515
which defines formal structures for describing the organization of
1616
complex data using basic concepts, e.g., Groups, Datasets, Attributes, and Links.
1717

1818
For more information:
1919

20-
- Learn more about NWB and `nwb.org <http://www.nwb.org/>`_.
20+
- Learn more about NWB and `nwb.org <https://www.nwb.org/>`_.
2121
- The PyNWB Python API for the NWB format is available on `Github <https://github.com/NeurodataWithoutBorders/pynwb>`_
2222
- The MatNWB Matlab API for the NWB format is available on `Github <https://github.com/NeurodataWithoutBorders/matnwb>`_
2323

core/nwb.file.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ groups:
77
attributes:
88
- name: nwb_version
99
dtype: text
10-
value: "2.8.0-alpha"
10+
value: "2.8.0"
1111
doc: File version string. Use semantic versioning, e.g. 1.2.1. This will be the
1212
name of the format with trailing major, minor and patch numbers.
1313
datasets:

core/nwb.namespace.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,4 @@ namespaces:
5757
- doc: This source module contains neurodata_type for retinotopy data.
5858
source: nwb.retinotopy.yaml
5959
title: Retinotopy
60-
version: "2.8.0-alpha"
60+
version: "2.8.0"

docs/format/Readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
**Overview**
22

3-
The NWB specification documentation uses Sphinx [http://www.sphinx-doc.org/en/stable/index.html](http://www.sphinx-doc.org/en/stable/index.html)
3+
The NWB specification documentation uses Sphinx [https://www.sphinx-doc.org/en/stable/index.html](https://www.sphinx-doc.org/en/stable/index.html)
44

55
**Prerequisites**
66

docs/format/source/conf.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ def setup(app):
8383
# built documents.
8484
#
8585
# The short X.Y version.
86-
version = '2.8.0-alpha'
86+
version = '2.8.0'
8787
# The full version, including alpha/beta/rc tags.
88-
release = '2.8.0-alpha'
88+
release = '2.8.0'
8989

9090
# The language for content autogenerated by Sphinx. Refer to documentation
9191
# for a list of supported languages.
@@ -133,16 +133,12 @@ def setup(app):
133133
#html_theme = 'default'
134134
#html_theme = "sphinxdoc"
135135
html_theme = "sphinx_rtd_theme"
136-
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
137136

138137
# Theme options are theme-specific and customize the look and feel of a theme
139138
# further. For a list of options available for each theme, see the
140139
# documentation.
141140
#html_theme_options = {}
142141

143-
# Add any paths that contain custom themes here, relative to this directory.
144-
#html_theme_path = []
145-
146142
# The name for this set of Sphinx documents. If None, it defaults to
147143
# "<project> v<release> documentation".
148144
#html_title = None
@@ -225,7 +221,7 @@ def setup(app):
225221
\setcounter{tocdepth}{3}
226222
\setcounter{secnumdepth}{6}
227223
\\usepackage{enumitem}
228-
\setlistdepth{100}
224+
\\setlistdepth{100}
229225
\\addto\\captionsenglish{\\renewcommand{\\contentsname}{Table of contents}}
230226
""",
231227
}

docs/format/source/credits.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Credits
55
Acknowledgments
66
===============
77

8-
For details on the partners, members, and supporters of NWB please the http://www.nwb.org/ project website.
8+
For details on the partners, members, and supporters of NWB please the https://www.nwb.org/ project website.
99
For specific contributions to the format specification and this document see the change logs of
1010
the Git repository at https://github.com/NeurodataWithoutBorders/nwb-schema .
1111

docs/format/source/format_description.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ The NWB format uses the following main primitives to hierarchically organize neu
1717
store metadata specific to the object they are associated with, and
1818
* A *Link* is a reference to another group or dataset.
1919

20-
The NWB format is formally described via formal specification documents using the `NWB specification language <http://schema-language.readthedocs.io/en/latest/>`_ .
21-
HDF5 currently serves as the main format for storing data in the NWB format (see http://nwb-storage.readthedocs.io/en/latest/ for details).
22-
The `PyNWB <http://pynwb.readthedocs.io/en/stable/>`_ API is available to enable users to efficiently interact with NWB format files.
20+
The NWB format is formally described via formal specification documents using the `NWB specification language <https://schema-language.readthedocs.io/en/latest/>`_ .
21+
HDF5 currently serves as the main format for storing data in the NWB format (see https://nwb-storage.readthedocs.io/en/latest/ for details).
22+
The `PyNWB <https://pynwb.readthedocs.io/en/stable/>`_ API is available to enable users to efficiently interact with NWB format files.
2323

2424
The NWB format uses a modular design in which all main semantic components of the format have
2525
a unique *neurodata_type* (similar to a Class in object-oriented design)(:numref:`sec_neurodata_type_intro`).
@@ -167,7 +167,7 @@ allowing users to extend (i.e., add to) existing and create new neurodata_types
167167
definitions for storing custom data. To avoid collisions between extensions,
168168
extensions are defined as part of custom namespaces (which typically import
169169
the core NWB namespace). Extensions to the format are written using the
170-
`Specification Language <http://schema-language.readthedocs.io/en/latest/>`_ .
170+
`Specification Language <https://schema-language.readthedocs.io/en/latest/>`_ .
171171
To ease development of extensions, the PyNWB_
172172
(and `HDMF <https://github.com/hdmf-dev/hdmf>`_ used by PyNWB) API provides dedicated
173173
data structures that support programmatic creation and use of extensions. An
@@ -214,7 +214,7 @@ All NWB Groups and Datasets with an assigned neurodata_type have three required
214214
namespace of an extension
215215
- ``object_id`` (variable-length string) is a universally unique identifier for this object within its hierarchy.
216216
It should be set to the string representation of a random UUID version 4 value
217-
(see `RFC 4122 <https://tools.ietf.org/html/rfc4122>`_) upon first creation. It is **not** a hash of the data. Files
217+
(see `RFC 4122 <https://datatracker.ietf.org/doc/html/rfc4122>`_) upon first creation. It is **not** a hash of the data. Files
218218
that contain the exact same data but were generated in different instances will have different ``object_id`` values.
219219
Currently, modification of an object does not require its ``object_id`` to be changed.
220220

docs/format/source/format_release_notes.rst

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@
33
Release Notes
44
=============
55

6-
2.8.0 (Upcoming)
7-
------------------------
6+
2.8.0 (November 24, 2024)
7+
-------------------------
88

9-
Minor changes
9+
Major changes
1010
^^^^^^^^^^^^^
11-
- Added optional ``was_generated_by`` attribute to ``NWBFile`` to store provenance information (#578)
1211
- Deprecated ``EventWaveform`` neurodata type. (#584)
1312
- Deprecated ``ImageMaskSeries`` neurodata type. (#583)
13+
14+
Minor changes
15+
^^^^^^^^^^^^^
16+
- Added optional ``was_generated_by`` attribute to ``NWBFile`` to store provenance information. (#578)
1417
- Made ``band_mean`` and ``band_std`` in ``DecompositionSeries`` optional. (#593)
15-
- Added ``Device.model_number``, ``Device.model_name``, ``Device.serial_number`` (#594)
18+
- Added ``Device.model_number``, ``Device.model_name``, ``Device.serial_number``. (#594)
1619

1720
2.7.0 (February 7, 2024)
1821
------------------------
@@ -686,7 +689,7 @@ types. To address this challenge, NWB 2.0 integrates ``UnitTimes``, ``ClusterWav
686689
into the new column-based table ``units/`` (i.e., ``intervals/units``) (which still uses the optimized vector data
687690
storage to efficiently store spike times). See for discussions and
688691
`I674 on PyNWB <https://github.com/NeurodataWithoutBorders/pynwb/issues/674>`_
689-
(and related `I675 on PyNWB <https://github.com/NeurodataWithoutBorders/pynwb/issues/675>`_) and the pull
692+
(and related `I239 on NWB Schema <https://github.com/NeurodataWithoutBorders/nwb-schema/issues/239>`_) and the pull
690693
request `PR684 on PyNWB <https://github.com/NeurodataWithoutBorders/pynwb/pull/684>`_ for detailed changes.
691694

692695

docs/storage/Readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
**Overview**
22

3-
The NWB-N specification documentation uses Sphinx [http://www.sphinx-doc.org/en/stable/index.html](http://www.sphinx-doc.org/en/stable/index.html)
3+
The NWB specification documentation uses Sphinx [https://www.sphinx-doc.org/en/stable/index.html](https://www.sphinx-doc.org/en/stable/index.html)
44

55
**Building the documentation**
66

docs/storage/source/conf.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@
102102
#html_theme = 'default'
103103
#html_theme = "sphinxdoc"
104104
html_theme = "sphinx_rtd_theme"
105-
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
106105

107106
def setup(app):
108107
app.add_css_file("theme_overrides.css") # overrides for wide tables in RTD theme
@@ -112,9 +111,6 @@ def setup(app):
112111
# documentation.
113112
#html_theme_options = {}
114113

115-
# Add any paths that contain custom themes here, relative to this directory.
116-
#html_theme_path = []
117-
118114
# The name for this set of Sphinx documents. If None, it defaults to
119115
# "<project> v<release> documentation".
120116
#html_title = None

docs/storage/source/credits.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Oliver Ruebel and Andrew Tritt et al. in collaboration with the NWB community.
1414
Acknowledgments
1515
===============
1616

17-
For details on the partners, funders, and supporters of NWB please the http://www.nwb.org/ project website.
17+
For details on the partners, funders, and supporters of NWB please the https://www.nwb.org/ project website.
1818
For specific contributions to the format specification and this document see the change logs of
1919
the Git repository at https://github.com/NeurodataWithoutBorders/nwb-schema .
2020

docs/storage/source/storage_description.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ NWB Storage
88
What is the role of data storage?
99
=================================
1010

11-
The `NWB format specification <http://nwb-schema.readthedocs.io/en/latest/index.html>`_
12-
defined using the `NWB specification language <http://schema-language.readthedocs.io/en/latest/index.html>`_
11+
The `NWB format specification <https://nwb-schema.readthedocs.io/en/latest/index.html>`_
12+
defined using the `NWB specification language <https://schema-language.readthedocs.io/en/latest/index.html>`_
1313
describes how to organize large collections of neuroscience data using
1414
basic primitives, e.g., Files, Groups, Datasets, Attributes, and Links to describe and hierarchically group data.
1515
The role of the data storage then is to store large collections of neuroscience data. In other words,

0 commit comments

Comments
 (0)