Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] > API endpoint to (only) get the latest cycle /{product}/latest #2078

Open
adriens opened this issue Dec 17, 2022 · 2 comments
Labels
api Changes that relates to API enhancement New feature or request

Comments

@adriens
Copy link
Contributor

adriens commented Dec 17, 2022

❔ Context

From the API side, we only can get all cycles. Sometimes, we may like to only get the latest one.

💡 Idea

The idea would to get an endpoint like :

/{product}/latest

or

/{product}/cycles
/{product}/cycles/latest
@adriens adriens added the enhancement New feature or request label Dec 17, 2022
@captn3m0
Copy link
Member

captn3m0 commented Dec 17, 2022 via email

@adriens
Copy link
Contributor Author

adriens commented Dec 17, 2022

fetching all cycles and picking the first one as well.

Ok, so you always answer the latest first ?

marcwrobel added a commit that referenced this issue Dec 22, 2022
marcwrobel added a commit that referenced this issue Dec 22, 2022
marcwrobel added a commit that referenced this issue Dec 31, 2022
marcwrobel added a commit that referenced this issue Jan 2, 2023
marcwrobel added a commit that referenced this issue Jan 3, 2023
marcwrobel added a commit that referenced this issue Jan 4, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/tags/<tag> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Jan 4, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Jan 4, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Jan 6, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Jan 12, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Jan 22, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Feb 21, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Mar 2, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Mar 3, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Mar 6, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
@marcwrobel marcwrobel changed the title 💡 [Feature Request] > API endpoint to (only) get the latest cycle /{product}/latest [Feature Request] > API endpoint to (only) get the latest cycle /{product}/latest Mar 7, 2023
marcwrobel added a commit that referenced this issue Mar 10, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
marcwrobel added a commit that referenced this issue Mar 16, 2023
This is a major rework of the API with a lot of breaking changes. Compared the the old API v0, API v1:

- is generated using a Jekyll Generator (see https://jekyllrb.com/docs/plugins/generators/),
- is versioned using the api/v1 prefix (#2066). This will make it easier to implement non-backward-compatible changes in API,
- feels more "Restful".

The API v0 is still generated to give time to users to migrate to API v1.

Changes in the "All products" endpoint:

- Path has been changed from api/all.json to api/v1/products/
- Response has been changed from a simple array to a JSON document. This made it possible to add endoflife-level data, such as the number of products.
- Array elements have been changed from a simple string to a full JSON document. This made it possible to expose new data, such as product category and tags (#2062).

Changes in the "Product" endpoint:

- Path has been changed from api/<product>.json to api/v1/products/<product>/.
- Response has been changed from a simple array to a JSON document. This made it possible to expose product-level data, such as product category and tags (#2062).
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).

Changes in the "Cycle" endpoint:

- Path has been changed from api/<product>/<cycle>.json to api/v1/products/<product>/cycles/<cycle>/.
- Cycles data now always contain all the release cycles properties, even if they are null (example: discontinued, latest, latestReleaseDate, support...).
- A special /api/v1/products/<product>/cycles/latest/ cycle, containing the same data as the latest cycle, has been added (#2078).

New endpoints :

- /api/v1/categories/ - list categories used on endoflife.date
- /api/v1/categories/<category> - list products having the given category
- /api/v1/tags/ - list tags used on endoflife.date
- /api/v1/tags/<tag> - list products having the given tag

Note that we thought of disabling API generation in development (using JEKYLL_ENV like the Jekyll Feed plugin - see https://github.com/jekyll/jekyll-feed/blob/master/lib/jekyll-feed/generator.rb#L145), but it was finally reverted. It does not work well with Netlify preview, and generate production URL (i.e. https://endoflife.date URLs) in development which makes it difficult to use.
@marcwrobel marcwrobel added the api Changes that relates to API label Jul 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Changes that relates to API enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants