From 8652050b9fefab82e986af7a65098a3832ac8883 Mon Sep 17 00:00:00 2001 From: Matthew Kaney Date: Mon, 11 Mar 2024 17:20:25 -0400 Subject: [PATCH 1/4] Bump version to 1.9.5 and update Contributing guide --- CHANGELOG.md | 20 +++++++++++++++++- CONTRIBUTING.md | 41 ++++++++++++++++++++++++++++++------- src/Sound/Tidal/Version.hs | 2 +- tidal-link/tidal-link.cabal | 2 +- tidal.cabal | 4 ++-- 5 files changed, 57 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ccce647f..0d5721c5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # TidalCycles log of changes +## 1.9.5 - Sashiko + +### What's Changed +* avoid loading stream module in other modules, so hint wont crash by @polymorphicengine in https://github.com/tidalcycles/Tidal/pull/1019 +* change streamGetnow to factor in the processAhead and also destroy the sessionstate by @polymorphicengine in https://github.com/tidalcycles/Tidal/pull/1025 +* fix minor7sharp9 chord (the 9th wasn't sharp) by @cleary in https://github.com/tidalcycles/Tidal/pull/1036 +* add metatune param, now against 1.9-dev by @ahihi in https://github.com/tidalcycles/Tidal/pull/1046 +* Build fixes for Tidal 1.9 by @mindofmatthew in https://github.com/tidalcycles/Tidal/pull/1052 +* Update link 1.9 dev by @yaxu in https://github.com/tidalcycles/Tidal/pull/1058 +* More build fixes by @mindofmatthew in https://github.com/tidalcycles/Tidal/pull/1062 +* Consolidate site docs into source docs, and some docs editing by @trespaul in https://github.com/tidalcycles/Tidal/pull/1070 + +### New Contributors +* @ahihi made their first contribution in https://github.com/tidalcycles/Tidal/pull/1046 +* @trespaul made their first contribution in https://github.com/tidalcycles/Tidal/pull/1070 + +**Full Changelog**: https://github.com/tidalcycles/Tidal/compare/v1.9.4...v1.9.5 + ## 1.9.4 - Stitch ### What's Changed @@ -17,7 +35,7 @@ **Full Changelog**: https://github.com/tidalcycles/Tidal/compare/v1.9.3...v1.9.4 -### 1.9.3 - Kolam +## 1.9.3 - Kolam ### What's Changed * fix for squeezejoin by @yaxu in https://github.com/tidalcycles/Tidal/pull/950 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b76274ac4..1bc4fcefb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ compiler/interpreter. Some resources for learning Haskell can be found here: The main repository is maintained on github: https://github.com/tidalcycles/tidal -**At the time of writing, current work should target the '1.9-dev' branch. The 2.0-dev branch is for experiments towards version 2.0.** +**At the time of writing, current work should target the '1.10-dev' branch. The 2.0-dev branch is for experiments towards version 2.0.** The SuperDirt repository is here: https://github.com/musikinformatik/SuperDirt @@ -83,11 +83,38 @@ firefox dist/hpc/prof/html/tests/hpc_index.html To run up your changes locally, install Tidal with `cabal install`. To remove them again and revert to the latest release, run `ghc-pkg unregister tidal-1.0.0` being sure to match up the version numbers. (note that ghc packaging is in a state of flux at the moment - this command might not actually work..) -# A process for making a release +# Making a Release -We haven't documented a clear process for this, but we'd like to -describe how to.. +*Note: This may be incomplete—before making a release, it's a good idea to reach out to an existing project maintainer to double-check the process.* -* Share with others for testing -* Tag a release -* Distribute via hackage / stackage +## Get Permission +First, you need to do the following: + +* Make sure that you have been given Owner permissions on the tidalcycles GitHub organization or the Tidal repository +* If you don't have one, [create a user account on Hackage](https://hackage.haskell.org/users/register-request). You'll also need to send an email to the Hackage Trustees mailing list to get upload permissions (the email you receive when you create your account will have details about this process). +* Make sure that you've been added to the maintainers group for the tidal package on Hackage + +## Create a Draft Release in GitHub + +* Draft a [new Tidal release](https://github.com/tidalcycles/Tidal/releases) +* The name of the release will be the human-readable nickname (some traditional form of pattern making or something else that strikes your fancy) +* For the tag, you can specify the next version in the form `v0.0.0` and GitHub will automatically tag the most recent commit whenever you publish the release +* The "Generate Release Notes" is an easy way to list all the relevant updates and new contributors. Feel free to edit this further as needed +* **Save this as a draft for now** + +## Update the Repository + +Push any final changes to the code, updating the following files: +* **[tidal.cabal](https://github.com/tidalcycles/Tidal/blob/1.10-dev/tidal.cabal)**: Changing the version field +* **[CHANGELOG.md](https://github.com/tidalcycles/Tidal/blob/1.10-dev/CHANGELOG.md)**: Adding your new version at the top (you can copy the release notes from your draft GitHub release) +* **[src/Sound/Tidal/Version.hs](https://github.com/tidalcycles/Tidal/blob/1.10-dev/src/Sound/Tidal/Version.hs)**: Update the version string here too. This is the version that's printed to the console when someone starts Tidal. +* **If any of the other packages (e.g. tidal-link) have changed**: Update the respective **.cabal** files for these packages, and then update dependency information in **tidal.cabal** as needed. + +## Test and Package the Repository + +* Run `cabal test` to make sure all the tests pass (see above for details). +* Run `cabal haddock` and watch for errors to test that Cabal can generate the documentation for the package. +* Run `cabal check` to check for any errors with the package metadata. +* Run `cabal sdist` to generate an archive for distribution. + +## Upload releases \ No newline at end of file diff --git a/src/Sound/Tidal/Version.hs b/src/Sound/Tidal/Version.hs index 02a93fb00..cbe3c0748 100644 --- a/src/Sound/Tidal/Version.hs +++ b/src/Sound/Tidal/Version.hs @@ -21,7 +21,7 @@ import Paths_tidal -} tidal_version :: String -tidal_version = "1.9.4" +tidal_version = "1.9.5" tidal_status :: IO () tidal_status = tidal_status_string >>= putStrLn diff --git a/tidal-link/tidal-link.cabal b/tidal-link/tidal-link.cabal index 5f3e80f6d..8d2c76518 100644 --- a/tidal-link/tidal-link.cabal +++ b/tidal-link/tidal-link.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: tidal-link -version: 1.0.2 +version: 1.0.3 synopsis: Ableton Link integration for Tidal -- description: homepage: http://tidalcycles.org/ diff --git a/tidal.cabal b/tidal.cabal index d242b7eb7..3283dcb1d 100644 --- a/tidal.cabal +++ b/tidal.cabal @@ -1,7 +1,7 @@ cabal-version: 2.0 name: tidal -version: 1.9.4 +version: 1.9.5 synopsis: Pattern language for improvised music description: Tidal is a domain specific language for live coding patterns. homepage: http://tidalcycles.org/ @@ -67,7 +67,7 @@ library , random < 1.3 , exceptions < 0.11 , mtl >= 2.2 - , tidal-link == 1.0.2 + , tidal-link == 1.0.3 test-suite tests type: exitcode-stdio-1.0 From cb5f78571223286c250eb3f44940ade152d462b9 Mon Sep 17 00:00:00 2001 From: Matthew Kaney Date: Sat, 6 Apr 2024 12:37:01 -0400 Subject: [PATCH 2/4] Add upper bounds as suggested by cabal gen-bounds --- tidal.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tidal.cabal b/tidal.cabal index 3283dcb1d..65eb33ef7 100644 --- a/tidal.cabal +++ b/tidal.cabal @@ -62,11 +62,11 @@ library , transformers >= 0.5 && < 0.7 , bytestring < 0.13 , clock < 0.9 - , deepseq >= 1.1.0.0 + , deepseq >= 1.1.0.0 && < 1.5 , primitive < 0.10 , random < 1.3 , exceptions < 0.11 - , mtl >= 2.2 + , mtl >= 2.2 && < 2.3 , tidal-link == 1.0.3 test-suite tests From 1f9d9a8607dee418bc578a37ffeafff10f7f3875 Mon Sep 17 00:00:00 2001 From: Matthew Kaney Date: Sat, 6 Apr 2024 14:54:10 -0400 Subject: [PATCH 3/4] Revert "Add upper bounds as suggested by cabal gen-bounds" This reverts commit cb5f78571223286c250eb3f44940ade152d462b9. --- tidal.cabal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tidal.cabal b/tidal.cabal index 65eb33ef7..3283dcb1d 100644 --- a/tidal.cabal +++ b/tidal.cabal @@ -62,11 +62,11 @@ library , transformers >= 0.5 && < 0.7 , bytestring < 0.13 , clock < 0.9 - , deepseq >= 1.1.0.0 && < 1.5 + , deepseq >= 1.1.0.0 , primitive < 0.10 , random < 1.3 , exceptions < 0.11 - , mtl >= 2.2 && < 2.3 + , mtl >= 2.2 , tidal-link == 1.0.3 test-suite tests From d80b501826f6e8c59bfdb8141f4e25ca5f54cd0a Mon Sep 17 00:00:00 2001 From: Matthew Kaney Date: Sat, 6 Apr 2024 15:24:37 -0400 Subject: [PATCH 4/4] Add most recent PR to changelog and finish contributing instructions --- CHANGELOG.md | 6 ++++-- CONTRIBUTING.md | 13 ++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d5721c5c..47bcc26d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## 1.9.5 - Sashiko -### What's Changed +## What's Changed * avoid loading stream module in other modules, so hint wont crash by @polymorphicengine in https://github.com/tidalcycles/Tidal/pull/1019 * change streamGetnow to factor in the processAhead and also destroy the sessionstate by @polymorphicengine in https://github.com/tidalcycles/Tidal/pull/1025 * fix minor7sharp9 chord (the 9th wasn't sharp) by @cleary in https://github.com/tidalcycles/Tidal/pull/1036 @@ -11,10 +11,12 @@ * Update link 1.9 dev by @yaxu in https://github.com/tidalcycles/Tidal/pull/1058 * More build fixes by @mindofmatthew in https://github.com/tidalcycles/Tidal/pull/1062 * Consolidate site docs into source docs, and some docs editing by @trespaul in https://github.com/tidalcycles/Tidal/pull/1070 +* Fix negative numbers not working for boolean euclids by @geikha in https://github.com/tidalcycles/Tidal/pull/1063 -### New Contributors +## New Contributors * @ahihi made their first contribution in https://github.com/tidalcycles/Tidal/pull/1046 * @trespaul made their first contribution in https://github.com/tidalcycles/Tidal/pull/1070 +* @geikha made their first contribution in https://github.com/tidalcycles/Tidal/pull/1063 **Full Changelog**: https://github.com/tidalcycles/Tidal/compare/v1.9.4...v1.9.5 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1bc4fcefb..edc34eaf5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -87,6 +87,8 @@ To run up your changes locally, install Tidal with `cabal install`. To remove th *Note: This may be incomplete—before making a release, it's a good idea to reach out to an existing project maintainer to double-check the process.* +First, you'll need to figure out the new version number. Tidal follows the [Haskell Package Versioning Policy](https://pvp.haskell.org/)—basically, for a given version (e.g. `v1.0.0`), only update the last number if you're releasing a minor, non-breaking change (so a bug fix release might be `v1.0.1`). A major release requires editing the first or second numbers (so a major release that substantially adds or changes functionality might be `v1.1.0`, and a release that rearchitects the fundamentals would be `v2.0.0`). Major releases include those that update dependencies to a new major release. It's also a good idea to do a major release for any bugfixes where performers have started using the "bug" for aesthetics. + ## Get Permission First, you need to do the following: @@ -105,8 +107,9 @@ First, you need to do the following: ## Update the Repository Push any final changes to the code, updating the following files: -* **[tidal.cabal](https://github.com/tidalcycles/Tidal/blob/1.10-dev/tidal.cabal)**: Changing the version field -* **[CHANGELOG.md](https://github.com/tidalcycles/Tidal/blob/1.10-dev/CHANGELOG.md)**: Adding your new version at the top (you can copy the release notes from your draft GitHub release) +* **[tidal.cabal](https://github.com/tidalcycles/Tidal/blob/1.10-dev/tidal.cabal)**: Change the version field + * **Outdated Dependencies:** Run `cabal update` then `cabal outdated` to determine whether any of Tidal's dependencies are out of date, then update those as well +* **[CHANGELOG.md](https://github.com/tidalcycles/Tidal/blob/1.10-dev/CHANGELOG.md)**: Add your new version at the top (you can copy the release notes from your draft GitHub release) * **[src/Sound/Tidal/Version.hs](https://github.com/tidalcycles/Tidal/blob/1.10-dev/src/Sound/Tidal/Version.hs)**: Update the version string here too. This is the version that's printed to the console when someone starts Tidal. * **If any of the other packages (e.g. tidal-link) have changed**: Update the respective **.cabal** files for these packages, and then update dependency information in **tidal.cabal** as needed. @@ -117,4 +120,8 @@ Push any final changes to the code, updating the following files: * Run `cabal check` to check for any errors with the package metadata. * Run `cabal sdist` to generate an archive for distribution. -## Upload releases \ No newline at end of file +## Upload and Test Releases + +* [The Hackage upload page](https://hackage.haskell.org/upload) contains instructions and links for uploading a release archive. **Start by uploading a package candidate because a package release can't be changed!** +* To distribute a package candidate for testing, find the download link for the `.tar.gz` bundle on the Hackage page for the package candidate. This candidate version can be installed with the following command: `cabal v1-install [url]` (note that at this time, [the v1 install command is necessary for installing a library from a URL](https://github.com/haskell/cabal/issues/8335)). +* Once everyone is happy with the new version, go ahead and upload the archive as a package release and publish the release on GitHub! \ No newline at end of file