tighten / laravelversions

94 stars 43 forks source link

Project Banner

Laravel Versions

A canonical source of everything you need to know about Laravel versions' support history and future.

API

Full list of all released versions here:

https://laravelversions.com/api/versions

{
  "data":[
    {
      "major":9,
      "latest_minor":47,
      "latest_patch":0,
      "latest":"9.47.0",
      "released_at":"2022-02-08T00:00:00.000000Z",
      "ends_bugfixes_at":"2023-08-08T00:00:00.000000Z",
      "ends_securityfixes_at":"2024-02-08T00:00:00.000000Z",
      "status":"active",
      "links":[
        {
          "type":"GET",
          "rel":"self",
          "href":"https:\/\/laravelversions.com\/api\/versions\/9"
        },
        {
          "type":"GET",
          "rel":"latest",
          "href":"https:\/\/laravelversions.com\/api\/versions\/9.47.0"
        }
      ],
      "global":{
        "latest_version":"9.47.0",
      }
    },
    {}
  ]
}

Test individual versions like this:

https://laravelversions.com/api/versions/8 https://laravelversions.com/api/versions/8.1 https://laravelversions.com/api/versions/8.1.0

If you pass a major version (e.g. /8) you'll only see information about that major version, just like its entry in the full list (as seen above).

If you request a minor/patch version (e.g. /8.1 or /8.1.0) you'll see an additional section called specific_version that give you details about whether your provided release is the most up-to-date for its major. For example, this would be the output of requesting /8.1.5 at a time when 8.24.0 was the most up-to-date release for Laravel 8:

{
    "data": {
        "major": 8,
        "latest_minor": 24,
        "latest_patch": 0,
        "latest": "8.24.0",
        "released_at": "2020-09-08T00:00:00.000000Z",
        "ends_bugfixes_at": "2021-04-21T00:00:00.000000Z",
        "ends_securityfixes_at": "2021-09-08T00:00:00.000000Z",
        "status": "active",
        "specific_version": {
            "provided": "8.1.5",
            "needs_patch": true,
            "needs_major_upgrade": false
        },
        "links": [
            {
                "type": "GET",
                "rel": "major",
                "href": "https://laravelversions.com/api/versions/8"
            },
            {
                "type": "GET",
                "rel": "self",
                "href": "https://laravelversions.com/api/versions/8.1.5"
            },
            {
                "type": "GET",
                "rel": "latest",
                "href": "https://laravelversions.com/api/versions/8.24.0"
            }
        ]
    }
}

Potential statuses:

Instructions for hosting/installing yourself

Requirements

Installation

  1. (Optionally) Fork this repository
  2. Clone the repository locally
  3. Install dependencies with composer install
  4. Copy .env.example to .env and modify its contents to reflect your local environment.
  5. Generate an application key

    php artisan key:generate
  6. Create a "classic" GitHub Personal Access Token and update the GITHUB_TOKEN key in your .env file.
  7. Create a database and point the DB_DATABASE to it in the .env file.
  8. Run database migrations and populate with initial seed data.

    php artisan migrate --seed
  9. Run php artisan fetch-laravel-versions to pull in the latest releases.
  10. Install frontend dependencies with npm install
  11. Build frontend assets with npm run dev
  12. Configure a web server, such as the built-in PHP web server, to use the public directory as the document root.

    php -S localhost:8080 -t public
  13. Run tests with php artisan test.

Note: In order to make page caching work, you'll need to follow the installation instructions if you're installing this site on a production server. https://github.com/JosephSilber/page-cache

How do I add additional languages to Laravel Versions?