β About
Product lifecycle, EoL
(End of Life) and more generally obsolescence is a very hot topic for both :
- π‘οΈ Security
- π€ Customer & Developer Experience
- β Durable time to market performances
Still,... managing these can be a tedious activity... and it's not always as easy to at least manage that, have metrics.
π What you'll learn
This post will introduce you a very concrete API driven approach that makes these data interoperable (through APIs
) so you can build effective dashboard with pretty very few efforts.
β endoflife.date
- EOL and Support information is often hard to track, or very badly presented -All the data is made available using an easily accessible API
- There are a few tools that use this API:
norwegianblue
,cicada
.
πΏ Demos
Below are some integrations we cloud do thanks to endoflife.date
's API
π Get EOL from your terminal with eol
π EoL in Neo4J dashboards
After API-driven integrations We could start to implement these kind of dashboards (Neodash)
... or visualizations (Bloom):
πΉοΈ "Playing" with dependencies and EoLs
Below, a demo on neo4J Neodash:
β¨οΈ Interact Java EoLs roadmap
Once imported into Neo4J, you can run cypher
queries:
MATCH (m:JavaEOL)
WITH m,
CASE
WHEN date(m.support)> date() THEN 'True'
ELSE 'False'
END AS supported
RETURN supported,
count(supported) as total,
m.cycle as version
ORDER BY supported
πΈοΈ Report apps that rely on deprecated Java
MATCH
(a:Application)-[ra:HAS_GITLAB_REPOSITORY]->(g:GitlabRepository)-[rg:HAS_JAVA_VERSION]->(j:JavaEOL)
WITH a,g,j,
CASE
WHEN date(j.support) > date()
THEN 'True'
ELSE 'False'
END as supported
RETURN supported,
count(supported) as total,
a.name as name
ORDER BY supported
π§βπ€βπ§ Our contributions (so far)
I have started to contributed to get the best coverage as possible for our current stack so anyone can take benit of it (including ourselves π ) :
- Quarkus : see detailed and dedicated discussion with Quarkus maintainers
- Spring-Boot 3
- Apache Maven
- Apache Kafka
JReleaser
- OpenSearch
JHipster
Neo4J
- API enhancement
endoflife.date
badges onShields.io
- Make
endoflife.date
urls nicer to share - Data quality enhancement
π§° cli
Tooling
eol
CLI to show end-of-life dates for a number of products. :
You can export EoLs in very various ways (csv
, tsv
, markdown
,...) :
π Feature Request > Please add csv to your output options π #110
β Context
Currently,
β― eol --version
eol 0.9.0 (Python 3.10.6)
The available output options are
-f {html,json,markdown,rst,tsv}, --format {html,json,markdown,rst,tsv}
But most ETL (and other tools) support csv
as input format... and often make the load of csv
the default mode.
π Feature request
Please add csv
output option, respecting rfc4180
For example, the following command :
norwegianblue spring-framework -f csv
Would return :
"cycle","release","latest","latest release","support","eol"
"5.3","2020-10-27","5.3.23","2022-09-15","True","False"
"5.2","2019-09-30","5.2.22","2022-05-11","True","2021-12-31"
"5.1","2018-09-21","5.1.20","2020-12-09","False","2020-12-09"
"5.0","2017-09-28","5.0.20","2020-12-09","False","2020-12-09"
"4.3","2016-06-10","4.3.30","2020-12-09","False","2020-12-31"
"3.2","2012-12-13","3.2.18","2016-12-21","False","2016-12-31"
Thank you in advance and thanks a lot for your tool
π Related tools
-
endoflife.date
: Informative site with EoL dates of everything -
cicada
: Long Term Support Analyzer -
norwegianblue
: CLI to show end-of-life dates for a number of products.