forked from mirage/ocaml-github
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
407 lines (382 loc) · 19.8 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
1.0.0 (2015-06-01):
* Changes marked with ! are type changes (not including field additions)
* ! Monad.bind now accepts a function first and then a Monad.t
* ! API.{get,post,delete,patch,put} now take optional fail_handlers
* ! API.{get,post,delete,patch,put} now take optional rate classification
* ! API.{get,post,delete,patch,put} now return 'a Response.t Monad.t
* ! URI.authorize now requires ~state argument to protect against CSRF.
* ! URI.repo_issue ~issue_number argument was renamed to ~num
* ! URI.issue_comments ~issue_number argument was renamed to ~num
* ! URI.issue_comment ~commit_id argument was renamed to ~num
* ! Scope.scope_of_string was renamed Scope.of_string
* ! Scope.string_of_scope was renamed Scope.to_string
* ! Scope.scopes_of_string was renamed Scope.list_of_string
* ! Scope.list_of_string returns a scope list option for unparseable scopes
* ! Scope.string_of_scopes was renamed Scope.list_to_string
* ! Token.{create,get_all,get,delete} return _ authorization Response.t Monad.t
* ! Token.{create,get_all,get,delete} now have additional ?otp:string argument
* ! Token.create now has additional ?fingerprint:string argument
* ! Token.get now returns auth option authorization Response.t Monad.t
* ! Token.{get,delete} ~num argument was renamed to ~id and changed to int64
* ! User.current_info ~token argument was made optional ?token
* ! User.current_info now returns user_info Response.t Monad.t
* ! User.info ~login argument was renamed to ~user
* ! User.info now returns user_info Response.t Monad.t
* ! User.repos is now User.repositories
* ! User.repositories now accepts optional ?token and does not accept ?page
* ! Pull.for_repo does not accept ?page and now returns pull Stream.t
* ! Pull.list_commits was renamed Pull.commits and now returns commit Stream.t
* ! Pull.list_files was renamed Pull.files and now returns file Stream.t
* ! Pull.get now returns pull Response.t Monad.t
* ! Pull.create now returns pull Response.t Monad.t
* ! Pull.create_from_issue now returns pull Response.t Monad.t
* ! Pull.update now returns pull Response.t Monad.t
* ! Pull.is_merged now returns bool Response.t Monad.t
* ! Pull.merge now returns merge Response.t Monad.t
* ! Milestone.get now returns milestone Response.t Monad.t
* ! Milestone.create now returns milestone Response.t Monad.t
* ! Milestone.update now returns milestone Response.t Monad.t
* ! Milestone.delete now returns unit Response.t Monad.t
* ! Milestone.for_repo does not accept ?page
* ! Milestone.for_repo now returns milestone Stream.t
* ! Release.get now returns release Response.t Monad.t
* ! Release.get ~num argument was renamed to ~id and changed to int64
* ! Release.create now returns release Response.t Monad.t
* ! Release.update now returns release Response.t Monad.t
* ! Release.update ~num argument was renamed to ~id and changed to int64
* ! Release.delete now returns unit Response.t Monad.t
* ! Release.delete ~num argument was renamed to ~id and changed to int64
* ! Release.upload_asset now returns unit Response.t Monad.t
* ! Release.upload_asset ~id argument was changed to int64
* ! Release.for_repo now returns release Stream.t
* ! Deploy_key.get now returns deploy_key Response.t Monad.t
* ! Deploy_key.get ~num argument was renamed to ~id and changed to int64
* ! Deploy_key.create now returns deploy_key Response.t Monad.t
* ! Deploy_key.delete now returns unit Response.t Monad.t
* ! Deploy_key.delete ~num argument was renamed to ~id and changed to int64
* ! Deploy_key.for_repo now returns deploy_key Stream.t
* ! Issue.create now returns issue Response.t Monad.t
* ! Issue.update now returns issue Response.t Monad.t
* ! Issue.create_comment now returns issue_comment Response.t Monad.t
* ! Issue.for_repo does not accept ?page and now returns issue Stream.t
* ! Issue.update ~issue_number argument was renamed to ~num
* ! Issue.comments ~issue_number argument was renamed to ~num
* ! Issue.create_comment ~issue_number argument was renamed to ~num
* ! Issue.comments now returns issue_comment Stream.t
* ! Status.for_sha was renamed Status.for_ref and now returns status Stream.t
* ! Status.for_ref ~sha argument was renamed to ~git_ref
* ! Status.create now returns status Response.t Monad.t
* ! Hook.for_repo now returns hook Stream.t
* ! Hook.get now returns hook Response.t Monad.t
* ! Hook.get ~num argument was renamed to ~id and changed to int64
* ! Hook.create now returns hook Response.t Monad.t
* ! Hook.update now returns hook Response.t Monad.t
* ! Hook.update ~num argument was renamed to ~id and changed to int64
* ! Hook.delete now returns unit Response.t Monad.t
* ! Hook.delete ~num argument was renamed to ~id and changed to int64
* ! Hook.test now returns unit Response.t Monad.t
* ! Hook.test ~num argument was renamed to ~id and changed to int64
* ! Repo.tags now returns repo_tag Stream.t
* ! Repo.branches now returns repo_branch Stream.t
* ! Repo.refs now returns git_ref Stream.t
* ! Tag.get_tags_and_times was renamed Repo.get_tags_and_times
* ! Repo.get_tags_and_times now returns (string * string) Stream.t
* ! Tag.tag was renamed Repo.get_tag
* ! Repo.info now returns repository Response.t Monad.t
* ! Repo.fork now returns repository Response.t Monad.t
* ! Repo.get_tag now returns tag Response.t Monad.t
* ! Repo.commit was renamed Repo.get_commit and returns commit Response.t Monad.t
* ! Gist.list_users was renamed Gist.for_user and now returns gist Stream.t
* ! Gist.list was renamed Gist.all and now returns gist Stream.t
* ! Gist.list_all_public was renamed Gist.all_public and now returns gist Stream.t
* ! Gist.list_starred was renamed Gist.starred
* ! Gist.starred ~token argument was made optional ?token
* ! Gist.starred now returns gist Stream.t
* ! Gist.get ~id argument is now int64
* ! Gist.get now returns gist Response.t Monad.t
* ! Gist.create ~token argument was made optional ?token
* ! Gist.create ~contents argument was renamed to ~gist
* ! Gist.create now returns gist Response.t Monad.t
* ! Gist.edit was renamed Gist.update
* ! Gist.update signature now has s/~token/?token/ s/~contents/~gist/
* ! Gist.update now returns gist Response.t Monad.t
* ! Gist.update ~id argument is now int64
* ! Gist.commits ~id argument is now int64
* ! Gist.commits now returns gist_commit Stream.t
* ! Gist.star ~token argument was made optional ?token
* ! Gist.star ~id argument is now int64
* ! Gist.star now returns unit Response.t Monad.t
* ! Gist.unstar ~token argument was made optional ?token
* ! Gist.unstar ~id argument is now int64
* ! Gist.unstar now returns unit Response.t Monad.t
* ! Gist.fork ~token argument was made optional ?token
* ! Gist.fork ~id argument is now int64
* ! Gist.fork now returns gist Response.t Monad.t
* ! Gist.list_forks was renamed Gist.forks and now returns gist_fork Stream.t
* ! Gist.forks ~id argument is now int64
* ! Gist.delete ~token argument was made optional ?token
* ! Gist.delete ~id argument is now int64
* ! Gist.delete now returns unit Response.t Monad.t
* ! Organization.teams now returns team Stream.t
* ! Team.repos is now Team.repositories
* ! Team.repositories now returns repository Stream.t
* ! Team.repositories ~num argument was renamed to ~id and is now int64
* ! Team.info now returns team_info Response.t Monad.t
* ! Team.info ~num argument was renamed to ~id and is now int64
* ! Git_obj.obj_type_to_string was renamed Git_obj.type_to_string
* ! user:email scope constructor UserEmail has been renamed User_email
* ! user:follow scope constructor UserFollow has been renamed User_follow
* ! scope constructor `Admin_org_hook added
* ! org_id, user_id, organization_id are now int64
* ! team_id, team_info_id, team_add_info_id are now int64
* ! auth_id is now int64
* ! repo type has been renamed repository
* ! repos type has been renamed repositories
* ! repository_forks field renamed to repository_forks_count
* ! repository_watchers field renamed to repository_stargazers_count
* ! repository_open_issues field renamed to repository_open_issues_count
* ! repository_master_branch field renamed to repository_default_branch
* ! repository_description is now optional
* ! repository_id is now int64
* ! comment_id is now int64
* ! release_name is now optional
* ! release_body is now optional
* ! release_id is now int64
* ! new_release_name is now optional
* ! new_release_body is now optional
* ! branch_user is now optional
* ! user_info_ty field removed in favor of specific user and organization types
* ! user_type type has been removed
* ! org_gravatar_id field and all derived fields (e.g. user_gravatar_id) removed
* ! team_info_permission is now a variant type instead of a string
* ! team_info_organization is now an org rather than a user
* ! event_org field is now an org option rather than a user
* ! event_id is now int64
* ! web_hook_config_insecure_ssl is now a bool rather than a string
* ! hook_config is now a hook_config rather than a web_hook_config
* ! hook_id is now int64
* ! new_hook_config is now a hook_config rather than a web_hook_config
* ! update_hook_config is now a hook_config rather than a web_hook_config
* ! deploy_key_id is now int64
* ! status_id is now int64
* ! change_statusdeletions field renamed to change_status_deletions
* ! change_statusadditions field renamed to change_status_additions
* ! change_statustotal field renamed to change_status_total
* ! gist_history type has been renamed gist_commit
* ! gist_historyurl field renamed to gist_commit_url
* ! gist_historyversion field renamed to gist_commit_version
* ! gist_historyuser field renamed to gist_commit_user
* ! gist_historychange_status field renamed to gist_commit_change_status
* ! gist_historycommitted_at field renamed to gist_commit_commited_at
* ! gist_history_list type has been renamed gist_commits
* ! gist_create_content type has been renamed new_gist_content (+ fields)
* ! gist_create_contents type has been renamed new_gist_contents
* ! gist_create type has been renamed new_gist (+ fields)
* ! gist_edit type has been renamed update_gist_file
* ! gist_edit_content field renamed to update_gist_file_content
* ! gist_edit_filename field renamed to update_gist_file_name
* ! gist_edits type has been renamed update_gist (+ fields)
* ! gist_fork_id is now int64
* Atdgen >=1.5.0 and Yojson >=1.2.0 are now required for tag_field support
* Cohttp >=0.17.0 is now required for Link header support
* Monad.map, Monad.(>|=), and Monad.embed : 'a Lwt.t -> 'a Monad.t added
* Github.Response module added for metadata about responses
* Monad.(>>~) added to bind and project a Response.t value
* Add Stream module and API.get_stream function for paginated responses (#46)
* `git-jar save` removed after Authorizations API response changes of 2015-04-20
* `git-jar make` now requires a cookie name and defaults to that for token note
* `git-jar revoke` now accepts either a cookie name or a token ID
* Fix git-jar token file permissions security vulnerability
* git-jar now supports 2FA (#38)
* Github.authorization type added
* Github.rate type added for classifying requests into rate limiting regime
* Github.handler type added
* Add API.code_handler to make creating fail_handlers easier
* Github.Message exception added and raised when GitHub returns an API error
* Add API.string_of_message for human consumption of structured errors
* Add API.get_rate to retrieve possibly cached rate-limit information
* Add API.get_rate_limit to retrieve the possibly cached query quota
* Add API.get_rate_remaining to retrieve the possibly cached query quota remaining
* Add API.get_rate_reset to retrieve the possibly cached quota expiry
* Add Rate_limit module to perform explicit rate limit requests
* Add Scope.max which contains a minimal set of scopes for maximum privilege
* Add Repo.fork to create fork of a repository to the present user or given org
* Add Repo.forks to list the forks of a given repository
* Add Search module to access GitHub's search API
* Filter.forks_sort type added
* Add Event module with a variety of event sources
* A new jar command, git-list-events, has been added to print events for a repo
* A new test binary, parse_events, has been added which downloads and
parses archive event data
* Fixed bug in Issue.for_repo preventing listing of issues without
milestone (#49,#53 Michael Grünewald)
* A new jar command, git-list-issues, has been added to print issues for a repo
* A new jar command, git-search, has been added to search GitHub
* Add Gist manipulation command line tool (#48)
* Filter.state now includes `All constructor (#59,#62 Michael Grünewald)
* pull_ref type added from which pull now inherits
* issue_pull_request optional field of pull_ref type added
* Issue.is_issue and Issue.is_pull added to distinguish issues from PRs
* organization type added
* user and organization now inherit from org
* user_info_updated_at field added
* user_info_html_url field added
* issue_created_at, issue_updated_at, issue_closed_at added (#50,#51
from Michael Grünewald)
* repository_subscribers_count field added (the new "watchers")
* repository_language field added
* repository_has_pages field added
* comment type added
* issue_comment_html_url field added
* commit_comment type added
* commit_comment_event type added
* ref type added
* create_event type added
* delete_event type added
* fork_event type added
* wiki_page_action type added
* wiki_page type added
* gollum_event added
* issue_comment_action type added
* issue_comment_event type added
* issues_action type added
* issues_event type added
* member_action type added
* member_event type added
* page_build_error type added
* page_build_status type added
* page_build type added
* page_build_event type added
* pull_request_action type added
* pull_reqest_event type added
* pull_request_review_comment_action type added
* pull_request_review_comment type added
* pull_request_review_comment_event type added
* push_event_author type added
* push_event_commit type added
* push_event type added
* release_action type added
* release_event type added
* status_branch_commit type added
* status_branch type added
* status_event type added
* team_add_info type added
* team_add_event type added
* watch_action type added
* watch_event type added
* event_constr type added
* event_payload field added
* events type added
* hook_config type added
0.9.4 (2014-12-18):
* Add bindings for organisation teams and repositories (#45).
* Use `Bytes` instead of `String` for future `safe-string` support.
* Use the Cohttp 0.14.0 API in the test cases and make them optional
(activate with `--enable-tests` during configure).
* Add a `--json` option to `git-list-releases` so that it can emit
the release information in JSON rather than Markdown.
0.9.3 (2014-11-28):
* Add `repo_branches` and `branches` query functions (#44 from Jeff Hammerbacher).
* Improve `opam` 1.2 metadata.
0.9.2 (2014-11-09):
* Better log error messages (#39).
* Tweak Makefile to build JavaScript version by default if `js_of_ocaml` is installed.
0.9.1 (2014-11-04):
* Mark `published_at` and `created_at` fields in Releases to be optional,
as they may not be set in the case of draft tags.
0.9.0 (2014-11-02):
* Add `Jar_cli` module for use by applications that use the Git Jar (#34).
* Add bindings to the Gist APIs for storing text fragments (#36).
* Add a JavaScript port, using Cohttp and js_of_ocaml (#36).
* Build `ocamldoc` HTML documentation by default.
0.8.6 (2014-08-10):
* Fix `pull_action_type` `synchronize` tag typo (#33 from Philipp Gesang).
* Add a `git create-release` to create a GitHub release, including binary assets
(#32 from Markus Mottl).
0.8.5 (2014-05-08):
* The `master_branch` field in the `repo` is actually optional, to fix the schema.
0.8.4 (2014-04-26):
* Add `git list-releases` to list releases in sorted Markdown format.
0.8.3 (2014-04-13):
* Add `git sync-releases` to copy release metadata between GitHub repos.
* Add `git upload-release` to upload a binary file to a GitHub release tag.
0.8.2 (2014-04-01):
* Remove use of `Re_str` to add POSIX thread safety.
* Add deployment key support in the `Deploy_key` module.
0.8.1 (2014-03-07):
* Sync to latest GitHub scopes API.
0.8.0 (2014-03-02):
* Port to cohttp.0.10.x interfaces.
* Make the `note` field in oAuth token creation mandatory to reflect GitHub API.
* Pull requests are now allowed to have `null` bodys (#31).
0.7.1 (2014-02-28):
* Log response bodies in the event of an API parsing failure. (#29)
* Expose `log_active` as a reference so it can be used from the toplevel. (#30)
* Add `Github.URI.pull_raw_diff` to point to the location of a pull request diff.
0.7.0 (2014-01-03):
* Add a User.repos call to list a users repositories.
* Change repo type such that the field 'pushed_at' is now an option type.
* Accept optional page argument in Pull, Milestone, and Issue.
* Add `UserEmail`, `UserFollow` and `Notifications` scopes.
* Add `Releases` module to handle the release management addition to GitHub.
* Add `GITHUB_DEBUG` environment variable to make debugging output optional.
* Regenerate build files with OASIS 0.4.1.
* OCamldoc improvements for the `GitHub` module.
0.6.1 (2013-06-21):
* Abstract `Github_cookie_jar.t` and add `Github_cookie_jar.jar_path` accessor.
0.6.0 (2013-05-24):
* Update to the Cohttp-0.9.8 interface.
0.5.0 (2013-05-10):
* Force `-j-std` to ATDgen to always use standards-compliant JSON (#11).
* Rename `Github.Issues` to `Github.Issue` to parallel other submodules.
* Rename `Github.Issue.edit` to `Github.Issue.update` to parallel other CRUD interfaces.
* Reorder named parameters to raw API submodule functions.
* Add Pull Request API.
* Add Hook API (generic "web" hooks only).
* Add Statuses API.
* Add structured semantic errors.
* Nows sends partially configurable (via `API.set_user_agent`) User-Agent string.
* Add `API.set_token` to bind an access token for subsequent requests.
* Declare ocaml-re dependency.
* Add anonymous bind operator (>>) to `Github.Monad`.
* Add `Github.Token.delete` for revoking GitHub authorization tokens.
* Add `Github_cookie_jar.delete` for deleting local token cookies.
* Add `revoke` command to git-jar.
* Support GitHub cookie jar names with slashes in.
* Change the signature of `Github_cookie_jar.init` from `... -> unit` to `... -> unit Lwt.t`.
0.4.3 (2013-01-14):
* Add filters and sort order parameters for `Issues` and `Milestones` for a repository.
0.4.2 (2012-12-29):
* Add a `redirect_uri` option to `URI.authorize`, to permit the redirection URL to be parameterizable.
* Add `User.current_info` and `User.info` to retrieve information about the logged in user, or a public one.
* Add `Issues.edit` to patch an existing issue.
* Correct the type of `Issues.milestone` to be an integer.
* `Issues.labels` is now a `string list`, instead of a `string list option` (with the empty list denoting `None`).
0.4.1 (2012-12-27):
* Add `Github.Issues.comments` to retrieve issue comments, and an `issue_comment`
type in the ATD specification for the returned value.
* Add `Github.Issues.create_comment` to add a new issue comment.
* Expose the `milestone` field for an issue.
* Create a default `lib_test/config.ml` if one doesnt exist (from the template
in `lib_test/config.ml.in`.
0.4.0 (2012-12-25):
* Add a `git-jar` command which provides a convenient command-line interface
to list, create and save tokens.
* Add a `github.unix` subpackage which provides a `Github_cookie_jar` module
which saves tokens in `~/.github` for other applications to query if
they use the Github API.
* Complete the auth API, and rename functions slightly for consistency. We now
have `Token.get_all` and `Token.get` to retrieve auth information, and
`Token.create` for constructing them. The API also includes support for adding
notes and URLs, which are stored on the Github side.
0.3.3 (2012-12-18):
* Add `Repo.info` to retrieve repository metadata.
0.3.2 (2012-12-14):
* Add ATD descriptions for commits, tags, author info, and repo tags.
* Add API calls to retrieve tags, dates and refs.
0.3.1 (2012-10-14):
* Support PREFIX during build for installation prefix.
* Adapt to uri-1.3.3 interface (which now supports multi-value
queries, as per the RFC).
0.3.0 (2012-09-11):
* Initial public release.