Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare 2.6.0 release #534

Merged
merged 13 commits into from
Jan 17, 2023
Merged

Prepare 2.6.0 release #534

merged 13 commits into from
Jan 17, 2023

Conversation

rly
Copy link
Contributor

@rly rly commented Dec 16, 2022

Prepare for release of nwb-schema 2.6.0.
Target release date: January 5, 2023

Before merging:

  • Update requirements versions as needed
  • Update legal file dates and information in Legal.txt, license.txt, README.md, docs/format/source/conf.py,
    and any other locations as needed
  • Update README.rst as needed
  • Update the version string in docs/format/source/conf.py, core/nwb.namespace.yaml, and core/nwb.file.yaml
    (remove "-alpha" suffix)
  • Update docs/format/source/conf.py as needed
  • Update release notes (set release date) in docs/format/source/format_release_notes.rst and any other docs as
    needed
  • Test docs locally (cd docs/format; make fulldoc) where the nwb-schema submodule in the local version of PyNWB
    is fully up-to-date with the head of the dev branch.
  • Push changes to this PR and make sure all PRs to be included in this release have been merged
  • Check that the readthedocs build for this PR succeeds (build latest to pull the new branch, then activate and
    build docs for new branch): https://readthedocs.org/projects/nwb-schema/builds/

After merging:

  1. Create a new git tag. Pull the latest master branch locally, run git tag [version] --sign, copy and paste the
    release notes into the tag message, and run git push --tags.
  2. On the GitHub tags page page,
    click "..." -> "Create release" for the new tag on the right side of the page.
    Copy and paste the release notes into the release message, update the formatting if needed (reST to Markdown),
    and set the title to the version string.
  3. Check that the readthedocs "latest" and "stable" builds run and succeed. Delete the readthedocs build for the
    merged PR. https://readthedocs.org/projects/nwb-schema/builds/
  4. Update the nwb-schema submodule in the PyNWB branch corresponding to this schema version to point to the tagged
    commit.

See https://nwb-schema.readthedocs.io/en/latest/software_process.html for more details.

@rly
Copy link
Contributor Author

rly commented Dec 16, 2022

@lawrence-mbf Could you please check if matnwb works OK with the latest schema version here?

oruebel
oruebel previously approved these changes Dec 16, 2022
@lawrence-mbf
Copy link

lawrence-mbf
lawrence-mbf previously approved these changes Dec 16, 2022
@bendichter
Copy link
Contributor

why delete the original schema json document?

@rly
Copy link
Contributor Author

rly commented Dec 16, 2022

why delete the original schema json document?

Sorry for not documenting that and thanks for asking! We can archive this and other v1 schema files in a separate repo.

Note that a non-json form of v1 schema are cached here: https://github.com/NeurodataWithoutBorders/specification_nwbn_1_0_x .
And note that this orig/schema.json is for v1.0.4_beta and the latest v1 schema is v1.0.6. That schema json is here: https://github.com/NeurodataWithoutBorders/api-python/blob/master/nwb/nwb_core.py . v1.0.4_beta is stored in the git history for that file.

For archival, we could copy all the v1 schema files from the git history into https://github.com/NeurodataWithoutBorders/specification_nwbn_1_0_x. Or we could simply leave users to peruse the git history of that repo. I do not think these files need to be cached in this nwb-schema repo.

What do you think? I do not have experience with v1 schema files and am not sure how they would continue to be used if at all.

@t-b
Copy link
Contributor

t-b commented Dec 16, 2022

What do you think? I do not have experience with v1 schema files and am not sure how they would continue to be used if at all.

As someone still manintaining software reading/writing NWBv1 files, I would think that having an archived and separate repo would be nice and suffice. So just copy them into https://github.com/NeurodataWithoutBorders/specification_nwbn_1_0_x and your done. Thanks!

@oruebel
Copy link
Contributor

oruebel commented Dec 16, 2022

Just for clarification, the JSON for NWB 1.x that is stored here is what we had used originally as a starting point for NWB 2. We had generated that file from the https://github.com/NeurodataWithoutBorders/api-python/blob/master/nwb/nwb_core.py. The https://github.com/NeurodataWithoutBorders/specification_nwbn_1_0_x specification repo unfortunately never actually tracked the actual schema, but only contained the documentation that was generated using the https://github.com/NeurodataWithoutBorders/api-python code. The true reference for NWB 1 was really the api-python code and more specifically the Python dict in https://github.com/NeurodataWithoutBorders/api-python/blob/master/nwb/nwb_core.py . NWB 1 didn't actually use JSON for the schema, but the schema was really defined by the dict in the Python file. As such, for NWB 1, https://github.com/NeurodataWithoutBorders/api-python/blob/master/nwb/nwb_core.py should be the reference.

I think what we probably should do is to add text to https://github.com/NeurodataWithoutBorders/specification_nwbn_1_0_x/blob/master/README.md to explain that the schema is defined in nwb_core.py as part of the api-python repo to make sure if folks really need to look up the schema, that they can find it.

Long story short, I think removing orig/schema.json here is in fine. And we should add some documentation (either here and/or in the specification_nwbn_1_0_x specification repo to explain how to find the real reference schema for NWB 1.x.

And note that this orig/schema.json is for v1.0.4_beta and the latest v1 schema is v1.0.6.

Yes, that is because that is the version when we branched off to develop NWB verions 2. Changes in v1.0.5 and v1.0.6 were made after we started working on NWB 2 (but if I remember correctly those were all just very minor changes).

@rly rly dismissed stale reviews from lawrence-mbf and oruebel via 85b4874 January 17, 2023 09:02
@rly
Copy link
Contributor Author

rly commented Jan 17, 2023

I added a note in the README about where to find the NWB 1 reference schema (https://github.com/NeurodataWithoutBorders/api-python/blob/master/nwb/nwb_core.py).

@rly rly requested a review from oruebel January 17, 2023 09:12
@mavaylon1 mavaylon1 self-requested a review January 17, 2023 15:29
@mavaylon1 mavaylon1 merged commit b4f8838 into dev Jan 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants