Skip to content

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
fd59013 Dylan Greene First commit
authored
1 Changelog
2 =========
3
cb9dfff Dylan Greene update readme
authored
4 Command line util and api that returns a changelog for modules in npm and repos on github.com.
fd59013 Dylan Greene First commit
authored
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.
923b947 Dylan Greene --json support
authored
13 * The default output format is Markdown. Use `--json` to get JSON output.
fd59013 Dylan Greene First commit
authored
14
15 Examples
16 ========
17
18 Node Package
19 ------------
20
21 $ changelog request
22
8e0fa17 Dylan Greene update readme
authored
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
fd59013 Dylan Greene First commit
authored
37 ==================
38
8e0fa17 Dylan Greene update readme
authored
39 * Drastically improved header handling.
40 * valid semver.
fd59013 Dylan Greene First commit
authored
41
8e0fa17 Dylan Greene update readme
authored
42 2.0.0 / 2011-07-21
fd59013 Dylan Greene First commit
authored
43 ==================
44
8e0fa17 Dylan Greene update readme
authored
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
fd59013 Dylan Greene First commit
authored
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
8e0fa17 Dylan Greene update readme
authored
77
fd59013 Dylan Greene First commit
authored
78 ---cut for space---
79
8e0fa17 Dylan Greene update readme
authored
80 Changelog API
81 =============
82
83 Changelog can be easily integrated into other tools.
fd59013 Dylan Greene First commit
authored
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.
923b947 Dylan Greene --json support
authored
122 * Additional output options: --text --rss --atom
fd59013 Dylan Greene First commit
authored
123 * Option to show code diff.
124 * Ability to set the start and end version.
923b947 Dylan Greene --json support
authored
125 * Use Git tags to detect versions
8e0fa17 Dylan Greene update readme
authored
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.
fd59013 Dylan Greene First commit
authored
127
128 Install
129 =======
130
131 Using [npm](http://npmjs.org) just do:
132
133 npm-g install changelog
134
cb9dfff Dylan Greene update readme
authored
135 The `-g` installs changelog globally so you can use the changelog command anywhere.
fd59013 Dylan Greene First commit
authored
136
137 About
138 =====
139
cb9dfff Dylan Greene update readme
authored
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.