Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 141 lines (104 sloc) 4.773 kb
fd59013e »
2011-08-01 First commit
1 Changelog
2 =========
3
cb9dfff2 »
2011-08-03 update readme
4 Command line util and api that returns a changelog for modules in npm and repos on github.com.
fd59013e »
2011-08-01 First commit
5
6 Command-line Usage
7 ==================
8
9 Usage: changelog {npm package name or github repo url}
10
11 * Github urls can be any format, such as `https://github.com/dylang/changelog` or `git@github.com:dylang/changelog.git` or even just `github.com/dylang/changelog`.
12 * Node projects without the `repository url` defined in the `package.json` will not work.
923b9471 »
2011-08-03 --json support
13 * The default output format is Markdown. Use `--json` to get JSON output.
fd59013e »
2011-08-01 First commit
14
15 Examples
16 ========
17
18 Node Package
19 ------------
20
21 $ changelog request
22
8e0fa17e »
2011-08-03 update readme
23 Upcoming / 2011-08-02
24 =====================
25
26 * Merge pull request #53 from benatkin/parse-json
27 Parse json: Issue #51
28 * support JSON APIs that don't set the write content type
29 * allow empty string
30 * implement parsing json response when json is truthy
31 * add failing test for issue #51
32 * Clearer spacing. Slightly more consistent.
33 * Style fixes. Bye Bye semi-colons. Mostly lined up with npm style.
34 * Return destination stream from pipe().
35
36 2.0.1 / 2011-07-21
fd59013e »
2011-08-01 First commit
37 ==================
38
8e0fa17e »
2011-08-03 update readme
39 * Drastically improved header handling.
40 * valid semver.
fd59013e »
2011-08-01 First commit
41
8e0fa17e »
2011-08-03 update readme
42 2.0.0 / 2011-07-21
fd59013e »
2011-08-01 First commit
43 ==================
44
8e0fa17e »
2011-08-03 update readme
45 * w00t! request 2.0
46 * If the error is handled and not throw we would still process redirects.
47 Fixes #34.
48 * Add body property to resp when we have it as a shorthand. fixes #28
49 * Adding reference to Request instance on response to make it easier on
50 inline callbacks. fixes #43.
51
fd59013e »
2011-08-01 First commit
52 ---cut for space---
53
54 Github Repo
55 -----------
56
57 $ changelog https://github.com/joyent/node
58
59 2011-08-01
60 ==========
61
62 * windows: Fix test-module-load-list
63 * Remove debug code
64 * child_process_uv: Handle spawn errors
65 * Upgrade libuv to 023f99a
66
67 2011-07-31
68 ==========
69
70 * link to rpcrt4 and ole32 on win32
71 * Upgrade libuv to e9bee51
72 * child_process_uv: fix test/simple/test-child-process-env
73 * child_process_uv: fix simple/test-child-process-cwd
74 * child_process_uv: add exec, fix simple/test-child-process-exec-cwd
75 * Forgot to add child_process_uv.js
76 * initial pass at lib/child_process_uv.js
8e0fa17e »
2011-08-03 update readme
77
fd59013e »
2011-08-01 First commit
78 ---cut for space---
79
8e0fa17e »
2011-08-03 update readme
80 Changelog API
81 =============
82
83 Changelog can be easily integrated into other tools.
fd59013e »
2011-08-01 First commit
84
85 var Changelog = require('changelog');
86
87 Changelog.npm('request', callback);
88 Changelog.github('joyent/node', callback);
89
90 function callback(err, changelog) {
91 //changelog is an array of "versions"
92 //With npm each "version" corresponds to all changes for that build pushed on npm
93 //With github each "version" is one GMT day of changes
94 changelog.forEach(function(version) {
95 console.log(version.version); //npm only
96 console.log(version.date); //JS Date
97 //version.changes is an array of commit messages for that version
98 version.changes.forEach(function(change) {
99 console.log(' * ' + change);
100 });
101 });
102 }
103
104
105 How it works
106 ============
107
108 * Changelog works with Node packages by looking at the `repository` url. Packages without this set will not work.
109 * Changes are collected using a single `Github V3 API call` that returns 100 changes. This means it will currently not show more than 100 changes.
110 * Changelog attempts to guestimate the approprate version number for each Github commit message based on the timestamp of the change and packages are published.
111 * It will not work with packages in other repos such as `BitBucket`.
112 * Changelog cannot access history for private repos.
113
114 Future
115 ======
116
117 * Work with more package managers such as `brew` and `gem`? These are beyond my expertise but I would be happy to merge in pull requests.
118 * Integrate into `npm update`?
119 * Integrate into `git pull`?
120 * Warn when there are more than 100 commits available.
121 * Support paging Github's API to aquire more than 100 commits.
923b9471 »
2011-08-03 --json support
122 * Additional output options: --text --rss --atom
fd59013e »
2011-08-01 First commit
123 * Option to show code diff.
124 * Ability to set the start and end version.
923b9471 »
2011-08-03 --json support
125 * Use Git tags to detect versions
8e0fa17e »
2011-08-03 update readme
126 * If the package.json does not have a propper repoistory link then show the author's name and email and suggest contacting the author.
fd59013e »
2011-08-01 First commit
127
128 Install
129 =======
130
131 Using [npm](http://npmjs.org) just do:
132
133 npm-g install changelog
134
cb9dfff2 »
2011-08-03 update readme
135 The `-g` installs changelog globally so you can use the changelog command anywhere.
fd59013e »
2011-08-01 First commit
136
137 About
138 =====
139
cb9dfff2 »
2011-08-03 update readme
140 [Dylan Greene](http://github.com/dylang) built this because he was always curious what was changed when doing `npm update`.
141 The name has nothing to do with [TheChangelog](http://thechangelog.com/), a podcast Dylan was listening to while creating this tool.
Something went wrong with that request. Please try again.