Re: [commit: unix] master: change notes (1461d21)

Hi Simon, On Wed, Jan 30, 2013 at 03:04:06AM -0800, Simon Marlow wrote:
commit 1461d21ea3096e252fdd5698772dbfd1ad033d6a Author: Simon Marlow
Date: Thu Oct 4 16:07:27 2012 +0100 change notes
---------------------------------------------------------------
unix.cabal | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/unix.cabal b/unix.cabal index 287caa8..1aaaec9 100644 --- a/unix.cabal +++ b/unix.cabal @@ -14,6 +14,11 @@ description: IEEE Std. 1003.1). . The package is not supported under Windows (except under Cygwin). + . + Changes in 2.7.0.0: + . + * @ProcessStatus@ changed to include a core-dumped flag. + extra-source-files: config.guess config.sub install-sh configure.ac configure
The unix version number is still 2.6.1.0, but doesn't the new policy http://hackage.haskell.org/trac/ghc/wiki/Repositories#Modifyinglocalpackages mean that it should be bumped to 2.7.0.0 now? Also, what's the plan for the changelog? Is the package description going to accumulate entries, or just show those for the most recent version? Wouldn't it be better to include a CHANGES file instead? Thanks Ian

On 02/02/13 14:11, Ian Lynagh wrote:
Hi Simon,
On Wed, Jan 30, 2013 at 03:04:06AM -0800, Simon Marlow wrote:
commit 1461d21ea3096e252fdd5698772dbfd1ad033d6a Author: Simon Marlow
Date: Thu Oct 4 16:07:27 2012 +0100 change notes
---------------------------------------------------------------
unix.cabal | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/unix.cabal b/unix.cabal index 287caa8..1aaaec9 100644 --- a/unix.cabal +++ b/unix.cabal @@ -14,6 +14,11 @@ description: IEEE Std. 1003.1). . The package is not supported under Windows (except under Cygwin). + . + Changes in 2.7.0.0: + . + * @ProcessStatus@ changed to include a core-dumped flag. + extra-source-files: config.guess config.sub install-sh configure.ac configure
The unix version number is still 2.6.1.0, but doesn't the new policy http://hackage.haskell.org/trac/ghc/wiki/Repositories#Modifyinglocalpackages mean that it should be bumped to 2.7.0.0 now?
Yep, thanks for the reminder.
Also, what's the plan for the changelog? Is the package description going to accumulate entries, or just show those for the most recent version? Wouldn't it be better to include a CHANGES file instead?
I've got into the habit of putting change notes in the description field of the .cabal file, because they appear prominently in the Haddock docs, whereas a CHANGES file or similar is hard to find and tends to get forgotten (at least I tend to forget it). I don't have a specific rule for the number of versions to keep, but I suppose you wouldn't want the list to get too long. Cheers, Simon

On Sun, Feb 03, 2013 at 08:48:13PM +0000, Simon Marlow wrote:
On 02/02/13 14:11, Ian Lynagh wrote:
diff --git a/unix.cabal b/unix.cabal index 287caa8..1aaaec9 100644 --- a/unix.cabal +++ b/unix.cabal @@ -14,6 +14,11 @@ description: IEEE Std. 1003.1). . The package is not supported under Windows (except under Cygwin). + . + Changes in 2.7.0.0: + . + * @ProcessStatus@ changed to include a core-dumped flag. + extra-source-files: config.guess config.sub install-sh configure.ac configure
Also, what's the plan for the changelog? Is the package description going to accumulate entries, or just show those for the most recent version? Wouldn't it be better to include a CHANGES file instead?
I've got into the habit of putting change notes in the description field of the .cabal file, because they appear prominently in the Haddock docs, whereas a CHANGES file or similar is hard to find and tends to get forgotten (at least I tend to forget it).
I don't have a specific rule for the number of versions to keep, but I suppose you wouldn't want the list to get too long.
Hmm. I think it would be better to have Cabal/haddock understand a CHANGES file in a particular format. That way haddock (and hackage) could show the recent changes on a package's page, with a link to the full history, and the description can remain just a description of what the package does. Thanks Ian

On Feb 4, 2013 8:43 AM, "Ian Lynagh"
On Sun, Feb 03, 2013 at 08:48:13PM +0000, Simon Marlow wrote:
On 02/02/13 14:11, Ian Lynagh wrote:
diff --git a/unix.cabal b/unix.cabal index 287caa8..1aaaec9 100644 --- a/unix.cabal +++ b/unix.cabal @@ -14,6 +14,11 @@ description: IEEE Std. 1003.1). . The package is not supported under Windows (except under Cygwin). + . + Changes in 2.7.0.0: + . + * @ProcessStatus@ changed to include a core-dumped flag. + extra-source-files: config.guess config.sub install-sh configure.ac configure
Also, what's the plan for the changelog? Is the package description going to accumulate entries, or just show those for the most recent version? Wouldn't it be better to include a CHANGES file instead?
I've got into the habit of putting change notes in the description field of the .cabal file, because they appear prominently in the Haddock docs, whereas a CHANGES file or similar is hard to find and tends to get forgotten (at least I tend to forget it).
I don't have a specific rule for the number of versions to keep, but I suppose you wouldn't want the list to get too long.
Hmm. I think it would be better to have Cabal/haddock understand a CHANGES file in a particular format. That way haddock (and hackage) could show the recent changes on a package's page, with a link to the full history, and the description can remain just a description of what the package does.
Or even just a link to the raw text file on Hackage.
Thanks Ian
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

On Mon, Feb 04, 2013 at 09:49:42AM +1100, Ivan Lazar Miljenovic wrote:
Hmm. I think it would be better to have Cabal/haddock understand a CHANGES file in a particular format. That way haddock (and hackage) could show the recent changes on a package's page, with a link to the full history, and the description can remain just a description of what the package does.
Or even just a link to the raw text file on Hackage.
Hackage 2 actually already does this! See the link at the bottom of http://hackage.factisresearch.com/package/haskell-src-meta :) Not exactly what you'd call prominent, but definitely a good start.

On Mon, Feb 04, 2013 at 12:43:40AM +0000, Ben Millwood wrote:
On Mon, Feb 04, 2013 at 09:49:42AM +1100, Ivan Lazar Miljenovic wrote:
Hmm. I think it would be better to have Cabal/haddock understand a CHANGES file in a particular format. That way haddock (and hackage) could show the recent changes on a package's page, with a link to the full history, and the description can remain just a description of what the package does.
Or even just a link to the raw text file on Hackage.
Hackage 2 actually already does this! See the link at the bottom of http://hackage.factisresearch.com/package/haskell-src-meta :)
Not exactly what you'd call prominent, but definitely a good start.
Right, I'm not sure it's prominent enough for what Simon wanted. A parsable format would allow hackage (and haddock, when invoked by cabal) to show the changes for just the last release on the main page. It would also mean that, on hackage's 'full changelog' page, it could turn the headings for each release into links to the hackage page for that particular release. Thanks Ian

* Ian Lynagh
On Mon, Feb 04, 2013 at 12:43:40AM +0000, Ben Millwood wrote:
On Mon, Feb 04, 2013 at 09:49:42AM +1100, Ivan Lazar Miljenovic wrote:
Hmm. I think it would be better to have Cabal/haddock understand a CHANGES file in a particular format. That way haddock (and hackage) could show the recent changes on a package's page, with a link to the full history, and the description can remain just a description of what the package does.
Or even just a link to the raw text file on Hackage.
Hackage 2 actually already does this! See the link at the bottom of http://hackage.factisresearch.com/package/haskell-src-meta :)
Not exactly what you'd call prominent, but definitely a good start.
Right, I'm not sure it's prominent enough for what Simon wanted.
A parsable format would allow hackage (and haddock, when invoked by cabal) to show the changes for just the last release on the main page.
It would also mean that, on hackage's 'full changelog' page, it could turn the headings for each release into links to the hackage page for that particular release.
Sounds great! As for the format, may I propose markdown (which is pretty much the standard these days), where level 2 headers denote versions? Something like # Changes ## 1.4 * add 'foo' * remove 'bar' ## 1.3 * add 'bar' ... The benefit is that such a changelog would be also rendered automatically on github and similar sites. Plus, no need to invent our own format. Support for free-form headers, like "Version 1.4" or "v1.4" would also be nice. Here's an example: https://github.com/feuerbach/smallcheck/blob/master/CHANGES.md Roman

On 4 February 2013 20:02, Roman Cheplyaka
* Ian Lynagh
[2013-02-04 01:06:38+0000] On Mon, Feb 04, 2013 at 12:43:40AM +0000, Ben Millwood wrote:
On Mon, Feb 04, 2013 at 09:49:42AM +1100, Ivan Lazar Miljenovic wrote:
Hmm. I think it would be better to have Cabal/haddock understand a CHANGES file in a particular format. That way haddock (and hackage) could show the recent changes on a package's page, with a link to the full history, and the description can remain just a description of what the package does.
Or even just a link to the raw text file on Hackage.
Hackage 2 actually already does this! See the link at the bottom of http://hackage.factisresearch.com/package/haskell-src-meta :)
Not exactly what you'd call prominent, but definitely a good start.
Right, I'm not sure it's prominent enough for what Simon wanted.
A parsable format would allow hackage (and haddock, when invoked by cabal) to show the changes for just the last release on the main page.
It would also mean that, on hackage's 'full changelog' page, it could turn the headings for each release into links to the hackage page for that particular release.
Sounds great!
As for the format, may I propose markdown (which is pretty much the standard these days), where level 2 headers denote versions?
Something like
# Changes
## 1.4
* add 'foo' * remove 'bar'
## 1.3
* add 'bar'
...
The benefit is that such a changelog would be also rendered automatically on github and similar sites. Plus, no need to invent our own format.
Support for free-form headers, like "Version 1.4" or "v1.4" would also be nice.
Here's an example: https://github.com/feuerbach/smallcheck/blob/master/CHANGES.md
I would prefer _not_ specifying a format, primarily because people might already have existing Changelog files in a differing format. There's the GNU changelog format [1], the Debian changelog format [2], and as an alternate I already use a Markdown-based format for graphviz [3] so that I can convert it for the project's website [4]. As such, it would be rather irritating for anyone who already has a Changelog (or who might want to follow a different standard that they're used to in future, e.g. because they want to include it as a Debian project) just for some currently non-existent tooling. That said, whilst I often hated writing them whilst I was at uni, in hindsight something like this was a good use of JavaDoc-style tags. [1]: http://www.gnu.org/prep/standards/html_node/Change-Logs.html [2]: http://www.debian.org/doc/debian-policy/ch-source.html [3]: http://hub.darcs.net/ivanm/graphviz/browse/Changelog.md [4]: http://projects.haskell.org/graphviz/changelog.html
Roman
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
-- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com http://IvanMiljenovic.wordpress.com
participants (5)
-
Ben Millwood
-
Ian Lynagh
-
Ivan Lazar Miljenovic
-
Roman Cheplyaka
-
Simon Marlow