Skip to content

Commit 90ff187

Browse files
committed
Merge branch 'release/0.8.0'
2 parents dde1bc1 + 4af3275 commit 90ff187

File tree

95 files changed

+6190
-2197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+6190
-2197
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ insert_final_newline = true
1010
[*.{php,stub,json}]
1111
indent_size = 4
1212

13-
[*.md]
13+
[*.{md,yml}]
1414
indent_size = 2

.travis.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
language: php
2+
3+
php:
4+
- '5.6'
5+
- '7.0'
6+
- '7.1'
7+
8+
before_script:
9+
- travis_retry composer install --no-interaction --prefer-dist
10+
11+
script:
12+
- vendor/bin/phpunit

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,36 @@
22
All notable changes to this project will be documented in this file. This project adheres to
33
[Semantic Versioning](http://semver.org/) and [this changelog format](http://keepachangelog.com/).
44

5+
## [0.8.0] - 2017-05-20
6+
7+
### Added
8+
- Generator for API config - `php artisan make:json-api <name>`
9+
- All routes registered now have route names.
10+
- Support for packages providing resources into an API via a `ResourceProvider` class. Note that this is currently
11+
experimental.
12+
13+
### Changed
14+
- Route registration has been refactored so that only the JSON API routes that are required for a specific resource
15+
type are registered.
16+
- Config is now defined on a per-API basis. E.g. for an API named `v1`, config is stored in a `json-api-v1.php` file.
17+
- Store adapters now relate to a specific resource type, and also contain all filtering/pagination logic for an
18+
index HTTP request.
19+
- The validators class now provides query parameter validation rules rather than rules specifically for the filter
20+
query parameter.
21+
- Pagination is now implemented via a pagination strategy that is injected into the `EloquentAdapter`. This allows
22+
for pagination strategies to be changed on a per-resource type basis. The package includes a `StandardStrategy` that
23+
integrates with the default Laravel page number/size pagination.
24+
25+
### Removed
26+
- A resource's `Request` class has been removed as its functionality is now handled by middleware, and query parameter
27+
checking has been moved to the `Validators` class.
28+
- `Search` classes have been removed in favour of the new store adapters.
29+
- Package no longer supports Laravel 5.1 and 5.2.
30+
31+
### Fixed
32+
- Shortcut for non-Eloquent generation on generator commands has been changed to `-N` (was previously `-ne` which
33+
did not work).
34+
535
## [0.7.0] - 2017-03-16
636

737
### Added

README.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
[![Build Status](https://travis-ci.org/cloudcreativity/laravel-json-api.svg?branch=master)](https://travis-ci.org/cloudcreativity/laravel-json-api)
2+
13
# cloudcreativity/laravel-json-api
24

35
Add [jsonapi.org](http://jsonapi.org) compliant APIs to your Laravel 5 application.
@@ -14,20 +16,35 @@ From [jsonapi.org](http://jsonapi.org)
1416
1517
For full information on the spec, plus examples, see http://jsonapi.org
1618

19+
## Demo
20+
21+
A demo application is available at [here](https://github.com/cloudcreativity/demo-laravel-json-api).
22+
23+
## Laravel Versions
24+
25+
We use semantic versioning but Laravel does not. This table will help...
26+
27+
| Laravel | This Package |
28+
| --- | --- |
29+
| 5.3.* | ^0.8 |
30+
| 5.4.* | ^0.8 |
31+
32+
## Lumen
33+
34+
Currently we have not integrated the package with Lumen. If you use Lumen and can help, please let us know on
35+
[this issue](https://github.com/cloudcreativity/laravel-json-api/issues/61).
36+
1737
## Documentation
1838

19-
We're in the process of adding full documentation to the wiki. We'll also be adding a demo app.
39+
We're in the process of adding full documentation to the wiki.
2040

2141
## Status
2242

2343
This repository is under development. We have production applications that are using the package and extensive test
2444
coverage of these applications.
2545

26-
The reason we have not tagged the package as `1.0` is because some features require refinement. You'll see from the
27-
issues that there are plenty of suggestions from users of the package as to how to improve it. We might therefore
28-
need to introduce breaking changes as we work on these improvements.
29-
30-
We are committed to providing [upgrade notes](UPGRADE.md) on each breaking change as we develop the package.
46+
> We are aiming for v1.0 as soon as possible. See
47+
[this issue](https://github.com/cloudcreativity/laravel-json-api/issues/60) for progress.
3148

3249
## License
3350

@@ -36,3 +53,13 @@ Apache License (Version 2.0). Please see [License File](LICENSE) for more inform
3653
## Installation
3754

3855
Installation is via `composer`. See the wiki for complete instructions.
56+
57+
## Contributing
58+
59+
Contributions are absolutely welcome. Ideally submit a pull request, even more ideally with unit tests.
60+
Please note the following:
61+
62+
* **Bug Fixes** - submit a pull request against the `master` branch.
63+
* **Enhancements / New Features** - submit a pull request against the `develop` branch.
64+
65+
We'd recommend submitting an issue before taking the time to put together a pull request.

0 commit comments

Comments
 (0)