diff --git a/.github/workflows/make_release.yml b/.github/workflows/make_release.yml index b3dd3983c05..6f990df1612 100644 --- a/.github/workflows/make_release.yml +++ b/.github/workflows/make_release.yml @@ -27,22 +27,27 @@ jobs: pip install wheel python setup.py sdist bdist_wheel - name: Find Release Notes + id: release_notes run: | TAG="${GITHUB_REF/refs\/tags\/v/}" # clean tag VER="${TAG/rc*/}" # remove pre-release identifier - RELEASE_FILEPATH=docs/release/release_${VER//./_}.rst + RELEASE_NOTES="$(cat docs/release/release_${VER//./_}.rst)" + # https://github.community/t5/GitHub-Actions/set-output-Truncates-Multiline-Strings/m-p/38372/highlight/true#M3322 + RELEASE_NOTES="${RELEASE_NOTES//'%'/'%25'}" + RELEASE_NOTES="${RELEASE_NOTES//$'\n'/'%0A'}" + RELEASE_NOTES="${RELEASE_NOTES//$'\r'/'%0D'}" # https://help.github.com/en/actions/reference/workflow-commands-for-github-actions echo "::set-env name=tag::$TAG" - echo "::set-env name=release_filepath::$RELEASE_FILEPATH" + echo "::set-output name=contents::$RELEASE_NOTES" - name: Create Release id: create_release - uses: jbolda/create-release@v1.1.0 # switch to actions/create-release@latest once actions/create-release#50 merged + uses: actions/create-release@latest env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: tag_name: ${{ github.ref }} release_name: ${{ env.tag }} - bodyFromFile: ${{ env.release_filepath }} + body: ${{ steps.release_notes.outputs.contents }} draft: false prerelease: ${{ contains(github.ref, 'rc') }} - name: Upload Release Asset @@ -50,7 +55,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./dist/napari-${{ env.tag }}.tar.gz asset_name: napari-${{ env.tag }}.tar.gz asset_content_type: application/gzip diff --git a/docs/release/release_0_2_13.rst b/docs/release/release_0_2_13.rst new file mode 100644 index 00000000000..f2626c3f1a0 --- /dev/null +++ b/docs/release/release_0_2_13.rst @@ -0,0 +1,84 @@ +Announcement: napari 0.2.12 +=========================== + +We're happy to announce the release of napari 0.2.12! +napari is a fast, interactive, multi-dimensional image viewer for Python. +It's designed for browsing, annotating, and analyzing large multi-dimensional +images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based +rendering), and the scientific Python stack (numpy, scipy). + + +For more information, examples, and documentation, please visit our website: +https://github.com/napari/napari + +New Features +************ +- Add clickable color swatch with QColorDialog (#832) +- Implement pluggy as plugin manager (#908) +- Allow toggle theme from GUI (#943) +- Add "Screenshot" option to File menu (#944) + +Improvements +************ +- Allow 3D point selection via API (#907) +- Add show param to Viewer (#961) +- Make mouse drag attributes private in qt_layerlist (#974) +- Rename `viewer` attribute on QtViewerDockWidget to `qt_viewer`(#975) +- Allow LayerList to be initialized by passing in a list of layers (#979) +- Rename `object` to `item` in list input arguments (#980) +- Add layers.events.changed event (#982) + +Bugfixes +******** +- Fix add points to empty layer (#933) +- Fix points thumbnail (#934) +- Fix 4D ellipses (#950) +- Fix Points highlight bug index (Points-data6-3 test) (#972) +- Fix labels colormap by updating computation of low discrepancy images (#985) +- Pin jupyter-client<6.0.0 (#997) + +Support +******* +- Sphinx docs restructuring (create space for dev-focused prose) (#942) +- Fixes broken tutorials links (#946) +- Remove 'in-depth' descriptor for tutorials (#949) +- Flatten auto-generated docs repo (#954) +- Fix bash codeblock in README.md (#956) +- Abstract the construction of view/viewermodel (#957) +- Add docstrings to qt_layerlist.py (#958) +- Fix docs url (#960) +- Fix docs script (#963) +- Fix docs version tag (#964) +- Disallow sphinx 2.4.0; bug fixed in 2.4.1 (#965) +- Remove duplicated imports in setup.py (#969) +- Fix viewer view_* func signature parity (#976) +- Fix ability to test released distributions (#1002) +- Fix recursive-include in manifest.in (#1003) + +11 authors added to this release [alphabetical by first name or login] +---------------------------------------------------------------------- +- Genevieve Buckley +- Hagai Har-Gil +- Juan Nunez-Iglesias +- Justin Kiggins +- Kevin Yamauchi +- Kira Evans +- Nicholas Sofroniew +- Peter Boone +- Talley Lambert +- Tony Tung +- Trevor Manz + + +10 reviewers added to this release [alphabetical by first name or login] +------------------------------------------------------------------------ +- Ahmet Can Solak +- Clinton Roy +- Genevieve Buckley +- Juan Nunez-Iglesias +- Kevin Yamauchi +- Kira Evans +- Nicholas Sofroniew +- Peter Boone +- Talley Lambert +- Tony Tung