Skip to content

tighten/laravelversions

Repository files navigation

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:

  • "active": receiving bug and security fixes
  • "security": only receiving security fixes
  • "end-of-life": no longer receiving security or bug fixes

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?

  • fork this repository
  • copy this file of the English version with your translation: from lang/en.json file to lang/{code-lang}.json file (where 'code-lang' is the short code of the translated language)
  • add language in the configuration file config/localized-routes.php
    • in the variable supported-locales, the code of the supported language
    • in the variable locales-name-native the language code as the key, and the value of the name of the native language, which will be displayed in the menu.
  • add a pull request with the name of the language
    • ex: [pl] New language