diff --git a/ChangeLog.md b/ChangeLog.md index 7a18e7d1c1..cb8997cf09 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,5 +1,160 @@ # Changelog for haskell-language-server +## 1.4.0 + +After a month of vacation a new hls release has arrived: + +- Support for ghc 8.10.6 and 8.10.7 +- The ormolu formatter plugin works with ghc 9.0.1 +- *Call hierarchy plugin has been improved* thanks to @July541: + - Add call from type signature + - Add call from a function pattern + - Go to typeclass instance directly +- As usual @isovector has been busy improving wingman plugin: + - New "intro and destruct" code action + - Streaming tactic solutions: when Wingman times outs, it can still pick the best solution it found + - Let-bindings in metattactics: allows you to bind variables in tactic metaprogram + - Several bug fixes +- We have new docs thanks to @michaelpj: +- Now you can ask the executable for included plugins with: `haskell-language-server --list-plugins` +- There are several bug fixes and features you can found in the merged pull requests list + +### DEPRECATION NOTICE + +- *After* this release we will drop support for ghc versions 8.6.4, 8.10.3 and 8.10.4 + - The advise is upgrade ghc to the last minor version: 8.6.5 or 8.10.7 + - Take a look to [this issue](https://github.com/haskell/haskell-language-server/issues/2168) for more details + +### Pull requests merged for 1.4.0 + +- Update flake to fix nix builds +([#2188](https://github.com/haskell/haskell-language-server/pull/2188)) by @jneira +- Completions for project identifiers +([#2187](https://github.com/haskell/haskell-language-server/pull/2187)) by @pepeiborra +- Wingman: Don't clobber where clauses +([#2184](https://github.com/haskell/haskell-language-server/pull/2184)) by @isovector +- Add rerun workflow +([#2181](https://github.com/haskell/haskell-language-server/pull/2181)) by @jneira +- Bump up shake-bench version +([#2178](https://github.com/haskell/haskell-language-server/pull/2178)) by @jneira +- Fix hackage release +([#2177](https://github.com/haskell/haskell-language-server/pull/2177)) by @jneira +- Use maxBound of uinteger not Int. +([#2169](https://github.com/haskell/haskell-language-server/pull/2169)) by @pranaysashank +- enable the PR gitpod badge and drop the label +([#2167](https://github.com/haskell/haskell-language-server/pull/2167)) by @pepeiborra +- Plugin in config files +([#2166](https://github.com/haskell/haskell-language-server/pull/2166)) by @jneira +- Complete contributing guide +([#2165](https://github.com/haskell/haskell-language-server/pull/2165)) by @jneira +- Wingman: Add "New Unification Variable" helper +([#2164](https://github.com/haskell/haskell-language-server/pull/2164)) by @isovector +- Semiautomatic hackage releases +([#2163](https://github.com/haskell/haskell-language-server/pull/2163)) by @jneira +- Improve incoming call for typeclass and type family instance +([#2162](https://github.com/haskell/haskell-language-server/pull/2162)) by @July541 +- Add a Gitpod descriptor +([#2161](https://github.com/haskell/haskell-language-server/pull/2161)) by @pepeiborra +- Wingman: Let-bindings in metatactics +([#2160](https://github.com/haskell/haskell-language-server/pull/2160)) by @isovector +- Update nix flake +([#2159](https://github.com/haskell/haskell-language-server/pull/2159)) by @lf- +- Add ghc-8.10.7 to release build +([#2158](https://github.com/haskell/haskell-language-server/pull/2158)) by @jneira +- Reduce duplication in pragma tests +([#2157](https://github.com/haskell/haskell-language-server/pull/2157)) by @nini-faroux +- Remove ghc-api source snapshot +([#2156](https://github.com/haskell/haskell-language-server/pull/2156)) by @pepeiborra +- Create a citation +([#2155](https://github.com/haskell/haskell-language-server/pull/2155)) by @ndmitchell +- Disable window job for ghc-8.10.2 +([#2154](https://github.com/haskell/haskell-language-server/pull/2154)) by @jneira +- Auto complete definitions within imports +([#2152](https://github.com/haskell/haskell-language-server/pull/2152)) by @alexnaspo +- Filter code actions based on prefix, not equality +([#2146](https://github.com/haskell/haskell-language-server/pull/2146)) by @michaelpj +- perform a GC before find resolution +([#2144](https://github.com/haskell/haskell-language-server/pull/2144)) by @pepeiborra +- case sensitive language pragmas fix +([#2142](https://github.com/haskell/haskell-language-server/pull/2142)) by @alexnaspo +- Add ghc-8.10.7 support +([#2141](https://github.com/haskell/haskell-language-server/pull/2141)) by @jneira +- List all available plugins +([#2139](https://github.com/haskell/haskell-language-server/pull/2139)) by @July541 +- update LTS for GHC 8.10.6 +([#2138](https://github.com/haskell/haskell-language-server/pull/2138)) by @peterbecich +- fix GitHub Actions badges +([#2135](https://github.com/haskell/haskell-language-server/pull/2135)) by @peterbecich +- Move pragmas completion to pragmas plugin +([#2134](https://github.com/haskell/haskell-language-server/pull/2134)) by @alexnaspo +- Update ghc-9.0.1 support +([#2131](https://github.com/haskell/haskell-language-server/pull/2131)) by @jneira +- Support call hierarchy on pattern matching +([#2129](https://github.com/haskell/haskell-language-server/pull/2129)) by @July541 +- GHCIDE_BUILD_PROFILING env var +([#2125](https://github.com/haskell/haskell-language-server/pull/2125)) by @pepeiborra +- [ghcide] support -d cli switch +([#2124](https://github.com/haskell/haskell-language-server/pull/2124)) by @pepeiborra +- don't crash when an unused operator import ends in `.` +([#2123](https://github.com/haskell/haskell-language-server/pull/2123)) by @tscholak +- [benchmarks] Fix edit and "after edit" experiments +([#2122](https://github.com/haskell/haskell-language-server/pull/2122)) by @pepeiborra +- Add fix for correct placement of import (#2100) +([#2116](https://github.com/haskell/haskell-language-server/pull/2116)) by @nini-faroux +- Support for ghc-8.10.6 +([#2109](https://github.com/haskell/haskell-language-server/pull/2109)) by @jneira +- New rename plugin implementation +([#2108](https://github.com/haskell/haskell-language-server/pull/2108)) by @OliverMadine +- [ghcide-bench] Support extra args in examples +([#2107](https://github.com/haskell/haskell-language-server/pull/2107)) by @pepeiborra +- Fix filepath identity in cradle dependencies when using reactive change tracking +([#2106](https://github.com/haskell/haskell-language-server/pull/2106)) by @pepeiborra +- [ghcide-bench] preserve threading details in eventlogs +([#2105](https://github.com/haskell/haskell-language-server/pull/2105)) by @pepeiborra +- [ghcide-bench] fix edit experiment +([#2104](https://github.com/haskell/haskell-language-server/pull/2104)) by @pepeiborra +([#2102](https://github.com/haskell/haskell-language-server/pull/2102)) by @isovector +- reduce allow-newer entries for shake-bench +([#2101](https://github.com/haskell/haskell-language-server/pull/2101)) by @pepeiborra +- Wingman: Don't count it as using a term if you only destruct it +([#2099](https://github.com/haskell/haskell-language-server/pull/2099)) by @isovector +- Clean cabal project +([#2097](https://github.com/haskell/haskell-language-server/pull/2097)) by @jneira +- Wingman: New AbstractLSP interface +([#2094](https://github.com/haskell/haskell-language-server/pull/2094)) by @isovector +- Add badge with github release +([#2093](https://github.com/haskell/haskell-language-server/pull/2093)) by @jneira +- Add a bit more prose and some links to the README +([#2090](https://github.com/haskell/haskell-language-server/pull/2090)) by @michaelpj +- Enable tests for ormolu plugin +([#2086](https://github.com/haskell/haskell-language-server/pull/2086)) by @felixonmars +- Allow ormolu 0.2 and fix compatibility with GHC 9 +([#2084](https://github.com/haskell/haskell-language-server/pull/2084)) by @felixonmars +- Add initial sphinx doc site for RTD +([#2083](https://github.com/haskell/haskell-language-server/pull/2083)) by @michaelpj +- Amend fix for correct placement of file header pragmas (#1958) +([#2078](https://github.com/haskell/haskell-language-server/pull/2078)) by @nini-faroux +- Wingman: "Intro and destruct" code action +([#2077](https://github.com/haskell/haskell-language-server/pull/2077)) by @isovector +- Support call hierarchy on type signature & add plugin to generic config & docs +([#2072](https://github.com/haskell/haskell-language-server/pull/2072)) by @July541 +- Update nix flake +([#2065](https://github.com/haskell/haskell-language-server/pull/2065)) by @berberman +- Include sponsorship section +([#2063](https://github.com/haskell/haskell-language-server/pull/2063)) by @jneira +- Add more communication channels +([#2062](https://github.com/haskell/haskell-language-server/pull/2062)) by @jneira +- Don't suggest disabling type errors +([#2061](https://github.com/haskell/haskell-language-server/pull/2061)) by @anka-213 +- Build with lsp 1.2.0.1 +([#2059](https://github.com/haskell/haskell-language-server/pull/2059)) by @pepeiborra +- Remove HIE_CACHE from circleci cache key +([#2050](https://github.com/haskell/haskell-language-server/pull/2050)) by @jneira +- [#1958] Fix placement of language pragmas +([#2043](https://github.com/haskell/haskell-language-server/pull/2043)) by @nini-faroux +- [#2005] Fix Formatting When Brittany Returns Warnings +([#2036](https://github.com/haskell/haskell-language-server/pull/2036)) by @prikhi + ## 1.3.0 2021 July release of HLS arrives! This release includes binaries for GHC 9.0.1 @@ -23,7 +178,7 @@ and some new interesting features. Here is the brief summary of changes: - Wingman now gives a warning if it ran out of gas during "attempt to fill hole". - Metaprogramming for Wingman has been improved with symbolic-name support and the `pointwise` combinator. - An option to enable/disable Wingman's proof state styling is added. - - Hole fit suggestions are now disabled for performance reasons when using Wingman. + - Hole fit suggestions are now disabled for performance reasons when using Wingman. - Hovering on a name displays the package where the name is defined, contributed by @berberman. ![hover](https://user-images.githubusercontent.com/12473268/127550516-acc1f1b4-bad7-44fd-99a0-a174ce9ac909.gif) @@ -160,15 +315,15 @@ We have finally released a new version of Haskell Language Server! Thanks for all contributors, many bugs has been fixed, and many features has landed. Here are the summary of changes: -- Basic support for GHC 9.0.1 is added. +- Basic support for GHC 9.0.1 is added. It does not support all plugins yet, but core GHCIDE features will work. For the detailed information that which plugins work, please refer [this list](https://github.com/haskell/haskell-language-server/issues/297#issuecomment-855522891). -- Support for GHC 8.10.5 is added. +- Support for GHC 8.10.5 is added. Note that macOS version is unfortunately not included in this release because of [a GHC issue with `network` package](https://gitlab.haskell.org/ghc/ghc/-/issues/19968). -- HLS wrapper and GHCIDE session loader uses the same logic with implicit-hie. +- HLS wrapper and GHCIDE session loader uses the same logic with implicit-hie. This fixes [a build issue](https://github.com/haskell/haskell-language-server/issues/1782) of a stack project with implicit `hie.yaml` . - Wingman plugin has added numerous features and fixed many bugs: - - It now supports tactic metaprogramming! - For list of commands, see [this document](https://github.com/haskell/haskell-language-server/blob/master/plugins/hls-tactics-plugin/COMMANDS.md#wingman-metaprogram-command-reference). + - It now supports tactic metaprogramming! + For list of commands, see [this document](https://github.com/haskell/haskell-language-server/blob/master/plugins/hls-tactics-plugin/COMMANDS.md#wingman-metaprogram-command-reference). ![https://github.com/haskell/haskell-language-server/blob/master/plugins/hls-tactics-plugin/COMMANDS.md#wingman-metaprogram-command-reference](https://user-images.githubusercontent.com/307223/118190278-bdf24f80-b3f7-11eb-8838-b08a2582d7f1.gif) - "Refine hole" and "Split all function arguments" code actions are publicly opened. - "Empty case split" code lens is added. diff --git a/docs/contributing/releases.md b/docs/contributing/releases.md index 94f846922e..d43e07a2f6 100644 --- a/docs/contributing/releases.md +++ b/docs/contributing/releases.md @@ -8,8 +8,16 @@ extension](https://github.com/alanz/vscode-hie-server) to provide automatic installation for users on VS Code, but they can also be installed manually when added to the path. +Starting with 0.8.0.0 haskell-language-server and all its related packages +(core libraries like ghcide, plugins and hls itself) is being released in +[hackage](https://hackage.haskell.org/package/haskell-language-server) as well. +This allow cabal users to install it with `cabal install haskell-language-server` +and it is being used in nix environments. + ## Minimal checklist +### github release + * [ ] generate the list of pull requests finished since the last release using the [haskell script](https://github.com/haskell/haskell-language-server/blob/master/GenChangelogs.hs) in the project root. Nix users should run command `gen-hls-changelogs` (a wrapper of the script) in nix-shell instead. * [ ] add that list to the actual [Changelog](https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md) with a description of the release. @@ -19,7 +27,14 @@ when added to the path. * [ ] check uploaded binaries (see windows note below) and the release description (usually the changelog entry) and uncheck the prerelease box * [ ] make public the release in the usual social channels: irc, twitter, reddit, discord, discourse, mailing lists, etc (not required but useful to spread the word :slightly_smiling_face:) -## Making a new release of haskell-language-server +### hackage release + +* [ ] bump up package versions following the [pvp specification](https://pvp.haskell.org/) if they are not already updated +* [ ] create ${version}-hackage branch to trigger the hackage github workflow which will upload all changed packages to hackage as candidates +* [ ] check manually candidates in hackage +* [ ] publish them definitely + +## Making a new release of haskell-language-server in github Go to the [GitHub releases page](https://github.com/haskell/haskell-language-server/releases) for @@ -43,7 +58,7 @@ most recent GHC version. ### ghcup It also creates a `haskell-language-server-${os}-${hlsVersion}.tar.gz` tarball with -the binaries for *all* supported ghc versions, to help downstream publishers in +the binaries for *all* supported ghc versions, to help downstream publishers in the distribution of the release. The most prominent publisher using them is `ghcup`. The `tar` job in the workflow file automates the creation of this. @@ -100,7 +115,7 @@ and add it to the existing release. ### Updating release artifacts -*IMPORTANT: release artifacts must not be modified, cause it would break +*IMPORTANT: release artifacts must not be modified, cause it would break its secure distribution using their hashes. We should only add new ones.* To manually upload a new binary we should: @@ -108,7 +123,7 @@ To manually upload a new binary we should: - Add the new tar/zip following the name conventions of existing ones - `haskell-language-server-${os}-${ghcVersion}.gz` for `Linux` and `macOS` and `haskell-language-server-Windows-${ghcVersion}.exe.zip` for `Windows` - the binary inside the gz file is named `haskell-language-server-${ghcVersion}` (with the `.exe` extension for `Windows`). Note that the binary name does not contain the `${os}` part. -- Add the executable to the existing tar `haskell-language-server-${os}-${ghcVersion}.tar.gz` *locally* and upload it under a new name `haskell-language-server-${os}-${ghcVersion}-rev${n}.tar.gz` following the same schema for the binary as the previous one. +- Add the executable to the existing tar `haskell-language-server-${os}-${ghcVersion}.tar.gz` *locally* and upload it under a new name `haskell-language-server-${os}-${ghcVersion}-rev${n}.tar.gz` following the same schema for the binary as the previous one. - `-rev${n}` is the next revision number of the tarball, starting at 1. - we should contact users of the tarball (particularly ghcup) to notify the change @@ -118,3 +133,17 @@ is not included by default in the GitHub Actions build matrix. Instead they need to be built and uploaded manually. See [this PR](https://github.com/haskell/haskell-language-server/issues/276) for more details + +## Hackage release workflow + +We aim to do hackage releases following the github ones described above. +To help in that job we have added a [github workflow](https://github.com/haskell/haskell-language-server/blob/master/.github/workflows/hackage.yml) + +That script checks, generates the tar.gz files, unpacks and builds them in isolation against hackage head +if the package version in the branch is different from hackage. +If the package in the branch has the same version as the released one, +it will check the relevant files have not changed and will throw an error +otherwise. + +The script will upload the tarballs as candidates, maintainers will have +to check and publish them definitely. diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index ca358d012d..5a1dca79ef 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -2,7 +2,7 @@ cabal-version: 2.4 build-type: Simple category: Development name: ghcide -version: 1.4.1.0 +version: 1.4.2.0 license: Apache-2.0 license-file: LICENSE author: Digital Asset and Ghcide contributors diff --git a/ghcide/test/exe/Main.hs b/ghcide/test/exe/Main.hs index d3a896a785..109a5cbb5b 100644 --- a/ghcide/test/exe/Main.hs +++ b/ghcide/test/exe/Main.hs @@ -5784,10 +5784,11 @@ unitTests = do actualOrder <- liftIO $ readIORef orderRef liftIO $ actualOrder @?= reverse [(1::Int)..20] - , testCase "timestamps have millisecond resolution" $ do - resolution_us <- findResolution_us 1 - let msg = printf "Timestamps do not have millisecond resolution: %dus" resolution_us - assertBool msg (resolution_us <= 1000) + , ignoreTestBecause "The test fails sometimes showing 10000us" $ + testCase "timestamps have millisecond resolution" $ do + resolution_us <- findResolution_us 1 + let msg = printf "Timestamps do not have millisecond resolution: %dus" resolution_us + assertBool msg (resolution_us <= 1000) , Progress.tests ] diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 8dd9e26a0d..9ed034eb94 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -1,7 +1,7 @@ cabal-version: 2.4 category: Development name: haskell-language-server -version: 1.3.0.0 +version: 1.4.0.0 synopsis: LSP server for GHC description: Please see the README on GitHub at @@ -240,7 +240,7 @@ common retrie common tactic if flag(tactic) || flag(all-plugins) - build-depends: hls-tactics-plugin >=1.2.0.0 && <1.4 + build-depends: hls-tactics-plugin >=1.2.0.0 && <1.5 cpp-options: -Dtactic common hlint diff --git a/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal b/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal index b84e81779e..fb7e57cfbe 100644 --- a/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal +++ b/plugins/hls-brittany-plugin/hls-brittany-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-brittany-plugin -version: 1.0.0.2 +version: 1.0.1.0 synopsis: Integration with the Brittany code formatter description: Please see the README on GitHub at diff --git a/plugins/hls-call-hierarchy-plugin/README.md b/plugins/hls-call-hierarchy-plugin/README.md index 752bf7e9f1..c6995e9fb3 100644 --- a/plugins/hls-call-hierarchy-plugin/README.md +++ b/plugins/hls-call-hierarchy-plugin/README.md @@ -23,8 +23,17 @@ Enabled by default. You can disable it in your editor settings whenever you like ``` ## Change log +### 1.0.1.0 +- Support call from a type signature. +- Support call from a function pattern. +- Incoming call now will go to typeclass instance instand of its definition. ### 1.0.0.1 - Support call hierarchy on type signatures. +### 1.0.0.0 +- Released! + +## Known issues: +- Outgoing call have difficulty with going to typeclass instance due to `HieDb` lack of adequate info. ## Acknowledgments Supported by diff --git a/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal b/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal index 5d6ac8b9b8..85a8cbb59b 100644 --- a/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal +++ b/plugins/hls-call-hierarchy-plugin/hls-call-hierarchy-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-call-hierarchy-plugin -version: 1.0.0.2 +version: 1.0.1.0 synopsis: Call hierarchy plugin for Haskell Language Server description: Please see the README on GitHub at diff --git a/plugins/hls-class-plugin/hls-class-plugin.cabal b/plugins/hls-class-plugin/hls-class-plugin.cabal index ee34a4525f..76e0c31a17 100644 --- a/plugins/hls-class-plugin/hls-class-plugin.cabal +++ b/plugins/hls-class-plugin/hls-class-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-class-plugin -version: 1.0.0.3 +version: 1.0.1.0 synopsis: Class/instance management plugin for Haskell Language Server diff --git a/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal b/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal index cde982cf6f..276c8b567d 100644 --- a/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal +++ b/plugins/hls-explicit-imports-plugin/hls-explicit-imports-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: hls-explicit-imports-plugin -version: 1.0.0.4 +version: 1.0.1.0 synopsis: Explicit imports plugin for Haskell Language Server description: Please see the README on GitHub at diff --git a/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal b/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal index 49c3de1656..89cd715fab 100644 --- a/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal +++ b/plugins/hls-ormolu-plugin/hls-ormolu-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-ormolu-plugin -version: 1.0.0.1 +version: 1.0.1.0 synopsis: Integration with the Ormolu code formatter description: Please see the README on GitHub at diff --git a/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal b/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal index e6ea969f06..2096fe4f9d 100644 --- a/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal +++ b/plugins/hls-pragmas-plugin/hls-pragmas-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: hls-pragmas-plugin -version: 1.0.0.1 +version: 1.0.1.0 synopsis: Pragmas plugin for Haskell Language Server description: Please see the README on GitHub at diff --git a/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal b/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal index 7b9f1c190e..277cb904f0 100644 --- a/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal +++ b/plugins/hls-retrie-plugin/hls-retrie-plugin.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: hls-retrie-plugin -version: 1.0.1.1 +version: 1.0.1.2 synopsis: Retrie integration plugin for Haskell Language Server description: Please see the README on GitHub at diff --git a/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal b/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal index ef9e605202..d1c82d8a36 100644 --- a/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal +++ b/plugins/hls-tactics-plugin/hls-tactics-plugin.cabal @@ -1,7 +1,7 @@ cabal-version: 2.4 category: Development name: hls-tactics-plugin -version: 1.3.0.0 +version: 1.4.0.0 synopsis: Wingman plugin for Haskell Language Server description: Please see the README on GitHub at diff --git a/shake-bench/shake-bench.cabal b/shake-bench/shake-bench.cabal index 8b98cff58c..250bc302c6 100644 --- a/shake-bench/shake-bench.cabal +++ b/shake-bench/shake-bench.cabal @@ -1,6 +1,6 @@ cabal-version: 2.2 name: shake-bench -version: 0.1.0.1 +version: 0.1.0.2 synopsis: Build rules for historical benchmarking license: Apache-2.0 license-file: LICENSE