Skip to content

Commit

Permalink
Merge branch 'release/0.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
lindyhopchris committed May 20, 2017
2 parents dde1bc1 + 4af3275 commit 90ff187
Show file tree
Hide file tree
Showing 95 changed files with 6,190 additions and 2,197 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ insert_final_newline = true
[*.{php,stub,json}]
indent_size = 4

[*.md]
[*.{md,yml}]
indent_size = 2
12 changes: 12 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
language: php

php:
- '5.6'
- '7.0'
- '7.1'

before_script:
- travis_retry composer install --no-interaction --prefer-dist

script:
- vendor/bin/phpunit
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,36 @@
All notable changes to this project will be documented in this file. This project adheres to
[Semantic Versioning](http://semver.org/) and [this changelog format](http://keepachangelog.com/).

## [0.8.0] - 2017-05-20

### Added
- Generator for API config - `php artisan make:json-api <name>`
- All routes registered now have route names.
- Support for packages providing resources into an API via a `ResourceProvider` class. Note that this is currently
experimental.

### Changed
- Route registration has been refactored so that only the JSON API routes that are required for a specific resource
type are registered.
- 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.
- Store adapters now relate to a specific resource type, and also contain all filtering/pagination logic for an
index HTTP request.
- The validators class now provides query parameter validation rules rather than rules specifically for the filter
query parameter.
- Pagination is now implemented via a pagination strategy that is injected into the `EloquentAdapter`. This allows
for pagination strategies to be changed on a per-resource type basis. The package includes a `StandardStrategy` that
integrates with the default Laravel page number/size pagination.

### Removed
- A resource's `Request` class has been removed as its functionality is now handled by middleware, and query parameter
checking has been moved to the `Validators` class.
- `Search` classes have been removed in favour of the new store adapters.
- Package no longer supports Laravel 5.1 and 5.2.

### Fixed
- Shortcut for non-Eloquent generation on generator commands has been changed to `-N` (was previously `-ne` which
did not work).

## [0.7.0] - 2017-03-16

### Added
Expand Down
39 changes: 33 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[![Build Status](https://travis-ci.org/cloudcreativity/laravel-json-api.svg?branch=master)](https://travis-ci.org/cloudcreativity/laravel-json-api)

# cloudcreativity/laravel-json-api

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

## Demo

A demo application is available at [here](https://github.com/cloudcreativity/demo-laravel-json-api).

## Laravel Versions

We use semantic versioning but Laravel does not. This table will help...

| Laravel | This Package |
| --- | --- |
| 5.3.* | ^0.8 |
| 5.4.* | ^0.8 |

## Lumen

Currently we have not integrated the package with Lumen. If you use Lumen and can help, please let us know on
[this issue](https://github.com/cloudcreativity/laravel-json-api/issues/61).

## Documentation

We're in the process of adding full documentation to the wiki. We'll also be adding a demo app.
We're in the process of adding full documentation to the wiki.

## Status

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

The reason we have not tagged the package as `1.0` is because some features require refinement. You'll see from the
issues that there are plenty of suggestions from users of the package as to how to improve it. We might therefore
need to introduce breaking changes as we work on these improvements.

We are committed to providing [upgrade notes](UPGRADE.md) on each breaking change as we develop the package.
> We are aiming for v1.0 as soon as possible. See
[this issue](https://github.com/cloudcreativity/laravel-json-api/issues/60) for progress.

## License

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

Installation is via `composer`. See the wiki for complete instructions.

## Contributing

Contributions are absolutely welcome. Ideally submit a pull request, even more ideally with unit tests.
Please note the following:

* **Bug Fixes** - submit a pull request against the `master` branch.
* **Enhancements / New Features** - submit a pull request against the `develop` branch.

We'd recommend submitting an issue before taking the time to put together a pull request.
Loading

0 comments on commit 90ff187

Please sign in to comment.