v3_to_v4.md 2.26 KB
Newer Older
Oswaldo Ferreira's avatar
Oswaldo Ferreira committed
1 2 3 4 5 6
# V3 to V4 version

Our V4 API version is currently available as *Beta*! It means that V3
will still be supported and remain unchanged for now, but be aware that the following
changes are in V4:

7
### 8.17
Oswaldo Ferreira's avatar
Oswaldo Ferreira committed
8 9

- Removed `/projects/:search` (use: `/projects?search=x`)
10 11 12
- `iid` filter has been removed from `projects/:id/issues`
- `projects/:id/merge_requests?iid[]=x&iid[]=y` array filter has been renamed to `iids`
- Endpoints under `projects/merge_request/:id` have been removed (use: `projects/merge_requests/:id`)
13
- Project snippets do not return deprecated field `expires_at`
14
- Endpoints under `projects/:id/keys` have been removed (use `projects/:id/deploy_keys`)
15 16 17

### 9.0

18
- Status 409 returned for POST `project/:id/members` when a member already exists
19
- Moved `DELETE /projects/:id/star` to `POST /projects/:id/unstar`
20 21 22 23 24 25 26 27 28
- Removed the following deprecated Templates endpoints (these are still accessible with `/templates` prefix)
  - `/licences`
  - `/licences/:key`
  - `/gitignores`
  - `/gitlab_ci_ymls`
  - `/dockerfiles`
  - `/gitignores/:key`
  - `/gitlab_ci_ymls/:key`
  - `/dockerfiles/:key`
29
- Moved `/projects/fork/:id` to `/projects/:id/fork`
30
- Moved `DELETE /todos` to `POST /todos/mark_as_done` and `DELETE /todos/:todo_id` to `POST /todos/:todo_id/mark_as_done`
31
- Endpoints `/projects/owned`, `/projects/visible`, `/projects/starred` & `/projects/all` are consolidated into `/projects` using query parameters
Robert Schilling's avatar
Robert Schilling committed
32
- Return pagination headers for all endpoints that return an array
33
- Removed `DELETE projects/:id/deploy_keys/:key_id/disable`. Use `DELETE projects/:id/deploy_keys/:key_id` instead
34
- Moved `PUT /users/:id/(block|unblock)` to `POST /users/:id/(block|unblock)`
Robert Schilling's avatar
Robert Schilling committed
35
- Make subscription API more RESTful. Use `post ":project_id/:subscribable_type/:subscribable_id/subscribe"` to subscribe and `post ":project_id/:subscribable_type/:subscribable_id/unsubscribe"` to unsubscribe from a resource.
36
- Labels filter on `projects/:id/issues` and `/issues` now matches only issues containing all labels (i.e.: Logical AND, not OR)
37 38 39 40 41 42
- Renamed param `branch_name` to `branch` on the following endpoints
  - POST `:id/repository/branches`
  - POST `:id/repository/commits`
  - POST/PUT/DELETE `:id/repository/files`
- Renamed `branch_name` to `branch` on DELETE `id/repository/branches/:branch` response