Given an input date, your entry will output the full list of supported versions of the Ubuntu Linux distro on that date.
The full list of all releases is as follows:
Version Code name Release date Supported until 4.10 Warty Warthog 2004-10-20 2006-04-30 5.04 Hoary Hedgehog 2005-04-08 2006-10-31 5.10 Breezy Badger 2005-10-13 2007-04-13 6.06 LTS Dapper Drake 2006-06-01 2009-07-14 2011-06-01 (Server) 6.10 Edgy Eft 2006-10-26 2008-04-25 7.04 Feisty Fawn 2007-04-19 2008-10-19 7.10 Gutsy Gibbon 2007-10-18 2009-04-18 8.04 LTS Hardy Heron 2008-04-24 2011-05-12 2013-05-09 (Server) 8.10 Intrepid Ibex 2008-10-30 2010-04-30 9.04 Jaunty Jackalope 2009-04-23 2010-10-23 9.10 Karmic Koala 2009-10-29 2011-04-30 10.04 LTS Lucid Lynx 2010-04-29 2013-05-09 2015-04-30 (Server) 10.10 Maverick Meerkat 2010-10-10 2012-04-10 11.04 Natty Narwhal 2011-04-28 2012-10-28 11.10 Oneiric Ocelot 2011-10-13 2013-05-09 12.04 LTS Precise Pangolin 2012-04-26 2017-04-26 12.10 Quantal Quetzal 2012-10-18 2014-05-16 13.04 Raring Ringtail 2013-04-25 2014-01-27 13.10 Saucy Salamander 2013-10-17 2014-07-17 14.04 LTS Trusty Tahr 2014-04-17 2019-04 14.10 Utopic Unicorn 2014-10-23 2015-07-23 15.04 Vivid Vervet 2015-04-23 2016-01 15.10 Wily Werewolf 2015-10-22 2016-07 16.04 LTS Xenial Xerus 2016-04-21 2021-04
Rules
- For each supported version, the exact version string will be output, e.g.
4.10
- For LTS (long-term support) versions,
LTS
will be appended to the version - The three oldest LTS versions come in two flavours - desktop and server. If both of these LTS versions are supported on the given date, the output will simply be the version string as above. However if only the server version is supported, then you must append
-server
to the end of the version string - At the time of writing, 4 of the recent versions only have YYYY-MM in their supported-until dates. You must treat these dates as if they are the last day of the given month. e.g. 2019-04 must be treated as 2019-04-30
- There will be no output for dates outside of the full date range captured in the table
- Input date formats are flexible, but must contain some enumeration of Year, Month and Day. Number of days or seconds (or other units) from an epoch are not valid input formats.
- Output lists may be given in whatever format is convenient for your language
- You may use datetime functions from your language
- You may assume all inputs are valid
Examples:
Input: Output: 2000-01-01 2004-10-20 4.10 2005-05-05 4.10, 5.04 2006-06-06 5.04, 5.10, 6.06LTS 2010-10-10 6.06LTS-server, 8.04LTS, 9.04, 9.10, 10.04LTS, 10.10 2021-04-30 16.04LTS 2021-05-01
2010-10-10
should return6.06LTS-server, 8.04LTS, 9.04, 9.10LTS, 10.04LTS, 10.10
\$\endgroup\$