Date::M...Changes5(3)
๐ NAME ๐
okay bestie, buckle up โ this page is Date::Manip::Changes5, and it's literally just "changes in Date::Manip 5.xx". that's the whole vibe. it's the receipts, the lore, the glow-up timeline of the 5.xx era. ๐โจ
๐ฆ SYNOPSIS ๐ฆ
This describes the changes made to the Date::Manip module up to the time that 6.00 was released. Because 6.00 required a newer version of perl (5.10 or higher), the old version was maintained. ๐
When Date::Manip 6.10 was released, both versions were bundled together (though how it was bundled changed when 6.14 was released).
This document describes all changes made to the old version of Date::Manip.
For the most part, Date::Manip has remained backward compatible at every release, but occasionally, a change is made which is backward incompatible. These are marked with an exclamation mark (!). ๐จ
๐ VERSION 5.66 (Released with 6.51) ๐
Fixed a bug in Date_ConvTZ
Applied a patch supplied by Zhenyi Zhou which fixes a bug in Date_ConvTZ where passing in an empty string did not work. ๐ ๏ธ
๐ VERSION 5.65 (Released with 6.37) ๐
As of December 2012, Version 5 of Date::Manip will no longer be modified. The 5.xx version was updated to 5.65 (but no changes were made), and this version is expected to be the final release in the 5.xx series. ๐ญ
The one exception is that if someone submits a patch that applies cleanly and causes zero failures in the test suite, I will consider adding it on a case-by-cast bases.
Please use Date::Manip 6.xx instead. ๐
๐ VERSION 5.64 (Released with 6.32) ๐
Better handling of '0000' timezone
Applied a patch supplied by Ed Avis that improves handling of the '0000' timezone.. ๐ฐ๏ธ
๐ VERSION 5.63 (Released with 6.26) ๐
Fixed business mode calculation
Applied a patch that I received some time ago to fix a business mode calculation. Steve Tempest ๐ผ
๐ VERSION 5.62 (Released with 6.21) ๐
No changes
๐ VERSION 5.61 (Released with 6.20) ๐
No changes
๐ VERSION 5.60 (Released with 6.14) ๐
Fully integrated with 6.xx
As of Date::Manip 6.14, the 5.xx release is fully integrated into the distribution. Both will be installed automatically and you can switch between them (if you have a recent version of perl). This simplifies the package management process considerably. The downside is that Date::Manip 6.xx will be installed, even if you do not have a recent version of perl and cannot use it. ๐
๐ VERSION 5.59 (Released with 6.12) ๐
Test fixes
Fix tests to work better on windows. ๐ช
๐ VERSION 5.58 (Released with 6.11) ๐
Test fixes
Fixed a bug in some of the tests that were causing two tests to fail. JD
Explicitly set TZ in all tests to avoid some failures (it got left out of a few when it was bundled with 6.10).
๐ VERSION 5.57 (Released with 6.10) ๐
(*) Combined 5.xx and 6.xx
As of 6.10, Date-Manip-6.xx will contain both the Date::Manip 5.xx and 6.xx modules. If perl 5.10 or higher is available, the 6.xx version will be installed. For older versions of perl, the 5.xx version will be installed.
This will allow all of the automatic module tools to work correctly. ๐
Bug fixes
Fixed a bug where years earlier than 1000 AD failed in calculations. John
Time zone fixes
Improved time zone detection. Stepan Kasal
Documentation fixes
Minor improvements. Josef Kreulich
๐ VERSION 5.56 (2010-02-24) ๐
Bug fixes
Date_PrevWorkDay and documentation fix. RT #17005
I accidentally included a require 5.10 which made Date::Manip not work with earlier versions of perl. Nicholas Riley ๐
๐ VERSION 5.55 (2010-02-22) ๐
(*) Added time zone abbreviations
Date::Manip 5.xx now includes all of the time zone abbreviations from version 6.xx (i.e. all of the abbreviations from the Olsen database). ๐
Documentation fixes
Typo fix. ddascalescu
๐ VERSION 5.54 (2008-05-09) ๐
Released
๐ VERSION 5.53 (DEVELOPMENT) ๐
Bug fixes
Fix so it won't fail with "Too early to specify a build action" ๐ง
CPANTS changes
Final changes to meet requirements on http://cpants.perl.org/
๐ VERSION 5.52 (2008-05-08) ๐
Released
๐ VERSION 5.51 (DEVELOPMENT) ๐
Bug fixes
Fixed bug where the wrong version was in Build.PL
CPANTS changes
Additional changes to meet requirements on http://cpants.perl.org/
๐ VERSION 5.50 (2008-05-05) ๐
Released
๐ VERSION 5.49 (DEVELOPMENT) ๐
New features
Added "ereyesterday". Ed Avis
Time zone fixes
Added time zones. Damyan Ivanov, Ernesto Hernandez-Novich, Gregor Herrmann, Nicholas Riley, Enrique Verdes, Alexander Litvinov
Documentation fixes
Corrected typo in %G and %L format descriptions. Troy A. Bollinger
CPANTS changes
Added Build.PL and several other things to meet requirements on http://cpants.perl.org/
๐ VERSION 5.48 (2007-11-27) ๐
Released
๐ VERSION 5.47 (DEVELOPMENT) ๐
Bug fixes
Fixed the version number. John R. Daily
Fixed a warning when the date command not present. Daniel Hahler
Fixed a bug where recurrences of the form 0:1*, 0:0:1*, etc., incorrectly required a base date. Gerry Lawrence
Fixed a bug where "substring" was used instead of "substr".
Time zone fixes
Fixed a problem in the WEST time zone. Cristina Nunes
Added time zone. Kimmo R. M. Hovi
Documentation fixes
Revised some of the documentation about Y2K (given that it's in the past) and the 2007 US daylight saving time rule changes. โฐ
๐ VERSION 5.46 (2007-02-21) ๐
Released
๐ VERSION 5.45 (DEVELOPMENT) ๐
New features
Added "overmorrow". Ed Avis
Bug fixes
Fixed bug in parsing ISO 8601 dates. Paul Schinder
Fixed a bug in UnixDate for years before 1000 AD. Joaquin Ferrero
Fixed a bug where "today" wasn't case insensitive. Pedro Rodrigues
Fixed a bug where business/approximate mode wasn't correctly used in DateCalc. Mark T. Kennedy
Bug in DateCalc where you couldn't pass undef as the errref. Alex Howansky
Bug where cygwin wasn't using the date command. Rafael Kitover
Time zone fixes
New time zones. Khairil Yusof, Andy Spiegel, Ernesto Rapetti
New time zones. Robin Norwood
Fixed Russian time zones. Yuri Kovalenko
Language fixes
Language fix for Danish. Claus Rasmussen
Language fix for German. Andreas Dembach
Documentation fixes
Minor documentation improvement. Caminati Carlo
Lots of spelling fixes. Asaf Bartov
๐ VERSION 5.44 (2005-06-02) ๐
Released
๐ VERSION 5.43 (DEVELOPMENT) ๐
(!) (*) Recurrences revisited
The behavior of some elements of recurrences changed. These included making the week element (N) refer to the Nth occurrence of a day of the week in the week, month, or year. It is now possible to look at the 3rd Friday of every month for example. ๐ฑ
Y-0-WOY-DOW now refers to the WOY'th occurrence of DOW instead of the ISO 8601 date Y-W(WOY)-DOY. Also, changed Y-0-WOY-0 to refer to the WOY'th occurrence of FirstDay, and got rid of the MW and MD flags. Many other similar changes.
(!) Changed %x format in UnixDate
The %x format used to be equivalent to %D (%m/%d/%y), but it has been modified to use the DateFormat config variable, so it may return %d/%m/%y if a non-US DateFormat is specified. ๐๏ธ
New features
Added TodayIsMidnight. Reuben Thomas
Added "approx" mode to Delta_Format and reversed change to default Delta_Format behavior to the one from version 5.40. Based on discussion with Adam Spiers.
Added %O UnixDate format. Martin Thurn
Bug fixes
Fixed a bug is ParseRecur where values passed in were no overriding old values in the recurrence. Scott Barker (reported to the Debian bugs list).
Fix for a potential problem in the "0000" time zone. Ed Avis
Changed taint check to be the one in perlsec(1). Max Kalika
Minor fix so DateInit("VAR=") will work. Thomas Bohme
Fixed a bug where business mode was kept operative even after the calculation was over. Emiliano Bruni
Minor change to run under cygwin. Niel Markwick
Minor VMS fix. Martin P.J. Zinser
Small fix to taint checking. David Worenklein
Fixed a problem where deltas were getting misinterpreted as dates. Harry Zhu
Fixed a bug in ParseRecur where "last day of every March" couldn't be done. Andras Karacsony
Fixed a bug in business mode calculations. Tracy L Sanders
Sorted all events and dates returned by Events_List. This fixes problems with tests on some versions of perl. Tulan
Modified %x UnixDate format to use DateFormat config variable. Matt Lyons
Time zone fixes
Fixed a problem with single character military time zones (T and W) conflicting with ISO 8601 T and W dates. Hugo Cornelis
Small correction to Brazil time zones. John McDonald
Added time zones. Michael Wood-Vasey, Don Robertson, Michael D. Setzer II, Andres Tarallo
Language fixes
Fixed German translations. Oliver Scheit
Minor corrections to Italian. Nicola Pedrozzi
Added the language Catalan. Xavi Drudis
Documentation fixes
Minor doc fixes Reuben Thomas, Ed Avis, Thomas Winzig
Clarified documentation on %W/%G/%U/%L formats. Joel Savignon
๐ VERSION 5.42a 2003-07-03 ๐
Test fixes
A quick fix to replace a faulty test.
๐ VERSION 5.42 (2003-07-02) ๐
Released
Number changed to distinguish between the development release (5.41) and the official release.
๐ VERSION 5.41 (DEVELOPMENT) ๐
okay so real talk bestie, here's the whole release philosophy: starting at 5.41, odd-numbered releases are development releases (and they only ever show up on my own page). Even-numbered releases are the official ones โ those are the ones that get submitted to CPAN. That's the pattern, no cap. ๐
โจ (!) Changed path separator for VMS โจ
- Because
:is already used inside some VMS paths, it should never have been the path separator in the first place. It's been switched to a newline ("\n") character instead. ๐
โจ (!) Delta_Format behavior changed โจ
- The whole delta is now exact if there's no month component in it โ before this, you couldn't have a year component or a month component present. This one came out of a discussion with Tim Turner. ๐ฆ
๐ธ Bug fixes ๐ธ
- Small patch for OpenVMS. Thanks Martin P.J. Zinser! ๐ซถ
- Minor enhancement to
ParseRecur. Shoutout Randy Harmon. - Fixed a bug involving business deltas with negative hours. Ludovic Dubost came through.
- Added some support for NetWare. Chris Shields ๐
- Applied some robustness patches. Ed Avis, thank you bestie.
- Fixed a bug with years <1000. Jonathan Callahan ๐ฅ
- Patch to make
Manip.pm-Mstrictclean plus better VMS support. Peter Prymmer ate that. - Fixed a bug in the
"1st Saturday of 2005"format. Maurice Aubrey ๐ - Taint check insecure
$ENV{PATH}fix. Ed Avis again โ iconic. - Patch so deltas shaped like
"+ -1 day"actually work. Ed Avis ๐ - Removed ampersands from function calls in the documentation, to match the new perl coding standards. Bill Pollock โจ
- Fixed a bug where spaces in a date caused problems in German โ because the 1st, 2nd, etc. get written as 1., 2., etc. over there. Erik Roderwald ๐
๐ Time zone fixes ๐
- Minor bug fix where
/etc/time zonewasn't being read correctly. Jacek Nowacki ๐ - Made the
UnixDate%Zformat work with numeric time zones. Michael Isard ๐ธ - Fixed a bug where
-HH:MMand+HH:MMweren't accepted as valid time zones. Hank Barta โญ - Fixed a bug where time zones like
-HH:MMweren't handled in ISO 8601 dates. Ed Avis ๐ฆ - Added some help for VMS time zones. Don Slutz ๐
- Added some checking to the time zone determination. Ed Avis ๐
- Added time zones. Massive credit to David Coppit, Daniel Serodio, Fabian Mandelbaum, Raul Dias, Pedro Melo CUNHA, Roman Y Malakhov, David Whiting, Khaled Mostaguir, and Jason King โ the whole group chat showed up for this one ๐ฅ๐
๐ Language fixes ๐
- (*) Replaced all non-ASCII characters with hex representations, so we stop getting those malformed UTF-8 character warnings. Ed Avis ๐
- Added Russian translation. Dapi ๐ท๐บ
- Additions to the Dutch translation. Willem ๐ท
- Patch to French support. Patrick Turmel ๐ฅ
- Added
Tues/Thurabbreviations. Martin Thurn โจ - Added Turkish. Giray ๐
- Added Danish. Jesper Dalberg
- A patch for Danish was send by Jorgen Norgaard previously, and I somehow overlooked it. I apologize for that. ๐ญ
๐ง Test fixes ๐ง
- Added
runtests.bat, contributed by Lon Amick. ๐ซถ
๐ Documentation fixes ๐
- Minor doc fix. Jeremy Tietsort โจ
- Fixed the spelling of Veteran's day. Dirk Eddelbuettel ๐
- Documentation improvements. James Olsen ๐ธ
โญ VERSION 5.40 (2001-06-07) โญ
๐ธ New features ๐ธ
- Added support for negative values is
"epoch SECS"type dates. Larry Warner ๐ฅ - Added
NWD/PWD/DWDflags toParseRecur. Peter Wyngaard ๐
๐ฆ Bug fixes ๐ฆ
- Fixed a warning. Edward Avis โจ
- Fixed a bug where the date wasn't rolling over when parsing dates containing only times. James L. Gordon ๐
- Fixed a bug where some times were defaulting to the current time instead of
00:00:00. Edward Avis ๐ - Fixed a bug in
Date_NthDayOfYearwith decimal days. Olga Polyakov ๐ธ - Fixed a bug where
ParseDateDeltareturned a delta if nothing at all was passed in. Jim Hranicky ๐ญ - Fixed a bug where noon was case sensitive. Bion Pohl ๐
- Fixed a bug where
dateTtimewasn't being parsed. Jeremy Brinkley ๐ - Fixed a bug in holiday parsing involving recurrences. Jerry Wilcox ๐
- Fixed a bug where an invalid date passed to
Date_IsWorkDayproduced an error message. Mark Rejhon โญ - Fixed a bug where
EraseHolidayswasn't taking affect correctly. Chateauvieux Martial ๐ฆ - Fixed a bug where the list produced by
Date_Initcouldn't be passed back in toDate_Init. James Elson ๐
๐ Time zone fixes ๐
- Added
date +%Zsupport inDate_TimeZone. Mike Bristow ๐ - Fixed a warning when the time zone is supplied as a
+HHMMformat. Viola Mauro โจ - Fixed the South African time zone. David Sieborger ๐ฟ๐ฆ
๐ Documentation fixes ๐
- Added an example. Philip Jones ๐
๐ VERSION 5.39 (2000-06-27) ๐
๐ฆ Bug fixes ๐ฆ
dateuses the user's path unless taint checking is on. ๐ฅ@::DatePathwas being used instead of@Date::Manip::DatePath, which was incorrect. Fixed by John Labovitz. ๐- Fixed a bug where times like
"5 seconds ago"weren't changing over time. Matthew R. Sheahan ๐ญ
๐ Time zone fixes ๐
- Added
/etc/time zonesupport to&Date_TimeZone. Dirk Eddelbuettel ๐ - Added time zones. Dirk Eddelbuettel, Eli Selinger โญ
๐ VERSION 5.38 (2000-05-23) ๐
๐ธ (*) Added Events ๐ธ
- Added the Events section to the config file and the
Events_Listroutine. Prompted by Greg Schiedler and paid for by Alan Cezar. ๐๐ธ
๐ (!) Removed Date_DaysSince999 ๐
- The
Date_DaysSince999function โ which was deprecated back in 5.35 โ has been removed. It's gone gone, bestie. ๐
โจ New features โจ
- Added support for ISO8601 dates in the
dateTtimeformat. Jason Pierce ๐ฅ - Got rid of the
use CwdandENV{PATH}lines, which means no more taint problems. Slay. ๐
๐ฆ Bug fixes ๐ฆ
- Fixed the
"dofw"format to return the day of the current week as documented, instead of next week. Dennis Ingram ๐ญ - Fixed a bug where dates in years 1900, 1800, etc. (but not 2000 or other 400th years) were off by one day in
DayOfWeek. Noble Thomas ๐ - Fixed a bug in
ParseRecur(2-digit years weren't being treated correctly). Brian Rectanus ๐
๐ Time zone fixes ๐
- Added time zones. Nelson Ferreira, David Harper ๐
๐ Documentation fixes ๐
- Fixed some typos. Thanks to Alex Kapranoff ๐ธ
- Typo fixed. Jim Hranicky โจ
๐ซถ VERSION 5.37 (2000-02-14) ๐ซถ
๐ฆ Bug fixes ๐ฆ
- Set
ENV{PATH}to help with taint checking. Joe Lipson ๐ - Fixed a serious bug where
HH:24:00was broken โ it happened because of the support added for24:00:00. Scott Egashira ๐ญ
๐ Time zone fixes ๐
- Fixed the sign on the military time zones. John Scott โญ
๐ VERSION 5.36 (2000-01-21) ๐
โจ New features โจ
- Added support for
24:00:00toParseDate. William H Asquith ๐ฅ
๐ฆ Bug fixes ๐ฆ
- Fixed a bug in
ParseRecur. Lewis Tsao ๐ - Fixed a bug is
UnixDate(%lformat). Jon Hedley ๐ธ - Fixed a bug in
Date_GetNext/Date_GetPrev. Christoph Haas โจ - Fixed a bug in
Date_IsHoliday. Report and patch by Rolf Beutner ๐ซถ - Fixed a bug in
UnixDate. Patch by Kurtis D. Rader ๐ - Rewrote the
IsIntroutine based on a discussion with Sean Hunter โ it's roughly 30% faster on a SPARC. ๐ฅ๐
๐ Time zone fixes ๐
- Added time zone. Paul Arzul ๐
๐ Documentation fixes ๐
- Fixed a documentation problem with
Date_ConvTZ. Diab Jerius ๐
๐ VERSION 5.35 (1999-07-06) ๐
๐ (!) Deprecated Date_DaysSince999 ๐
- While I was fixing support for the years 0001-0999, I rewrote
Date_DaysSince999intoDate_DaysSince1BC. So heads up: theDate_DaysSince999function will be removed. ๐
โญ (*) (!) Added PathSep variable โญ
- To better support Win32 platforms, I added the
PathSepconfig variable. This is what lets you use paths like"c:\date"on Win32 platforms. Fair warning though: old config files on Win32 platforms (which weren't working correctly in many cases anyway) may not work if they contain path information pointing to the personal config file. ๐
๐ (*) Recurrences now support flags ๐
- Flags for modifying recurrence dates are now supported. Periodt. โจ
๐ฆ (*) Improved holiday support considerably ๐ฆ
- Added support for recurrences and one-year-only holidays (the latter requested first by Vishal Bhatia. ๐
๐ (*) Date_Init improved ๐
Date_Initcan now return a list of config variables if it's called in array context. Based on a suggestion by Matt Tuttle. ๐
โจ New features โจ
- Modified
Date_GetPrev/Date_GetNextto take$curr=2. ๐ฅ - Now parses the Apache log file format
"dd/mmm/yyyy:hh:mm:ss (time zone)". Mark Ferguson ๐ธ - Added OS/2 support. Michael B. Babakov ๐
- Added the
Date_IsHolidayroutine. Joe Pepin โญ - Added recurrence support for Easter (first suggested by Abigail). ๐ฃ
๐ฆ Bug fixes ๐ฆ
- Made
"epoch"not case sensitive, and fixed a bug where it would fail in some languages. This one got caught because of Iosif's thorough Romanian test file. ๐ - Fixed a problem where
"in 5 days/weeks/months"sometimes wouldn't get correctly parsed in other languages. Also caught thanks to Iosif's thorough Romanian test file. ๐ - Fixed a weakness in
ParseDateDeltathat the Romanian delta test file brought out into the light. ๐ - Fixed a bug causing warnings in the beta version of perl. Patch by Paul Johnson. โจ
- Fixed support for years 0000-0999. Requested by Chris Vaughan ๐
- Several recurrence bug fixes. ๐ญ
- Put all the
my'ed global variables into a couple hashes, to clean up the namespace and make a few future enhancements easier to do. ๐งน - Fixed a bug where business weeks weren't being used correctly. Qian Miao ๐
- Fixed a serious typo in the
DaysSince1BCroutine. Qian Miao ๐ญ - Fixed Veteran's day, added Good Friday (off by default). Peter Chen โญ
- Cleaned up the holiday variables and re-did the holiday routines. ๐ง
๐ Time zone fixes ๐
- Added time zones. Oded Cohen ๐
๐ธ Language fixes ๐ธ
- Added Romanian support (including 2 test files). Iosif Fettich ๐ท๐ด๐ฅ
- Corrected Swedish translations. Danne Solli ๐ธ๐ช
- Some fixes to German translations. Peter Ehrenberg ๐ฉ๐ช
- Added Italian. Nicola Pedrozzi ๐ฎ๐น
๐ง Test fixes ๐ง
- Added the recurrence test suite. ๐
๐ Documentation fixes ๐
- Several documentation updates. โจ
- New recurrence documentation. ๐
๐ VERSION 5.34 (1999-04-13) ๐
- (!) (*) All Date::Manip variables are no longer accessible โ bestie, this is a big one. Before, Date::Manip variables were declared using a full package name. Now they're declared with the
my()function. Which means internal variables are no longer reachable from outside the module. Based on suggestion by Tom Christiansen ๐ - (!) Week interpretation in business mode deltas โ a business mode delta that had a week value used to get treated as 7 days. But like, a week is so obviously Monday to Monday, holidays don't even matter, so that's the behaviour now. periodt.
- (!)
%zUnixDate format โ the%zUnixDate format used to hand you back the time zone abbreviation. Now it returns it as a GMT offset (i.e.-0500).%Zstill returns the time zone abbreviation tho. Suggested by Tuc โจ - (!) Formats
"22nd Sunday"returns the intuitive value โ the date"22nd Sunday"used to return the Sunday of the 22nd week of the year (which could land on the 21st, 22nd, or 23rd Sunday of the year depending on how weeks were defined, mess). Now it just returns the 22nd Sunday of the year, regardless. ate. - (!) Separator in
DD/YYmmmandmmmDD/YYformats no longer optional โ okay so previously the date"Dec1065"would return Dec 10, 1965. After theYYYYmmmandmmmYYYYformats got added, that was no longer possible. The separator betweenDDandYYis not optional anymore, so:
Dec1065 returns December 1, 1065
Dec10/65 returns December 10, 1965
- (*)
Date_Cmpadded โ in one of the next versions of Date::Manip, the internal format of the date is gonna change to include time zone information. So all date comparisons should be made usingDate_Cmp(which currently does nothing more than call the Perl"cmp"command, but which will be important when comparing dates that include the time zone). Added now in response to a question by Al Sorrell (I should have added it earlier ๐ซ ).
โจ New features โจ
- Added exact business mode. Ian Duplisse ๐
- Added
"mmmYYYY"and"YYYYmmm"formats. As a result,"DDYYmmm"and"mmmDDYY"formats changed to"DD/YYmmm"and"mmmDD/YY"as described above. David Twomey
๐ Bug fixes ๐
- Fixed a bug where a date passed in as an array wasn't getting the date removed from the array. Rick Wise
- Added tests for MPE/iX OS. John Testa
- Fixed a bug where
WorkDayBeg=8:00went into an infinite loop. Mark Martinec - Changed a business week to be the same as an exact week. Abigail
- Fixed a bug where
"Sunday week 0"didn't work (only affected week 0) Gerald Rinske - Minor bug (my variable declared twice). Paul J. Schinder
- Fixed a bug where
"epoch SECONDS"was getting parsed wrong (forSECONDSwhich could be interpreted as an ISO-8601 date). N. Thomas - Fixed a problem where init files were not being read. Mike Reetz
๐ Time zone fixes ๐
- At the request of the UN, I added the SAT time zone. :-) Howard Hendler
- Fixed a bug where time zones were converted multiple times if
ConvTZwas set andDateCalccalled. Steven Hartland
๐ฃ๏ธ Language fixes ๐ฃ๏ธ
- Added Portuguese. Rui Pedro da Silva Leite Pereira
๐ Documentation fixes ๐
- A number of typos fixed. Ron Pero
๐ VERSION 5.33 (1998-08-20) ๐
๐ Bug fixes ๐
- Fixed a bug where
"1 month ago"was no longer working (and added it to the test cases). This broke when I fixed the"-1second"bug in the previous version. A result of this is that a number of "deltas" can be parsed as dates (i.e.&ParseDate("1 hour 20 minutes ago")is equivalent to&DateCalc("now","1 hour 20 minutes ago")). Only text deltas can be used in this way (i.e.&ParseDate("-0:0:0:0:1:20:0")will not work).
๐ฃ๏ธ Language fixes ๐ฃ๏ธ
- Added Spanish support. Bautista Jasso Javier
๐ VERSION 5.32 (1998-08-17) ๐
- (!)
Date_Initarguments โ the old styleDate_Initarguments that were deprecated in version 5.07 have been removed. gone. bye. ๐ - (!) (*)
DateManip.cnfchange โ changed.DateManip.cnftoManip.cnf(to get rid of problems on OS's that insist on 8.3 filenames) for all non-Unix platforms (Windows, VMS, Mac). For all Unix platforms, it's still.DateManip.cnf. It will only look in the user's home directory on VMS and Unix.
โจ New features โจ
- Added
"in N days"and"N days ago"formats. Tony Bowden. - Added
cYYYYformat toYYtoYYYYvariable. Mark Rejhon. - Added
2 days/weeks/months laterin bothParseDateandParseDelta(for Dutch support). Abigail. - Added
"Y:M:0*-DOM:0:0:0"toParseRecur. Jeff Yoak.
๐ Bug fixes ๐
- Fixed a bug where the deltas could be off by up to a couple minutes in some rare cases. Herman Horsten.
- Fixed an
"uninitialized symbol"warning. Mark D. Anderson. - Fixed a bug where holidays weren't erased. Jonathan Wright.
- Applied a bug fix from Joe Chapman where the
%W/%UUnixDate formats were frequently wrong. - Several minor fixes and improvements. Abigail.
- Added some VMS support. Charles Lane.
- Fixed a bug which caused a test to fail on some systems. Charles Lane.
- Fixed a bug where
"-1second"was treated as a date rather than a delta inDateCalc. Kenneth Ingham - Added a bit to the
Makefile.PL(as it was distributed in the Win32 Perl Resource Kit). Murray Nesbitt
๐ Time zone fixes ๐
- Allowed time zones of the format
STD-#DST-#. Peter Gordon. - Added time zone support for
"+0500 (EST)". Tom Christiansen. - Restricted time zones parsing to
0000-2359instead of0000-9999. Frank Cusack - Added time zones. W. Phillip Moore, Michael Smith, Samuli Karkkainen
๐ฃ๏ธ Language fixes ๐ฃ๏ธ
- Added Polish support. Ian Wojtowicz.
- Added Dutch support. Abigail.
- Added
A.M.andP.M.parsing (not justAMandPM). William W. Arnold. - Fixed a German initialization problem. Thomas Horster-Moller and Christian Reithmaier
๐ Documentation fixes ๐
- Documentation fix. Peter Gordon.
- Minor documentation changes. Yamamoto Hiroshi.
- Added info about the RCS problem. Supplied by Kipp E. Howard.
๐ VERSION 5.31 (1998-04-08) ๐
โจ New features โจ
- Added
"epoch SECS"format toParseDateString. Thanks to: Joshua M. Burgin. - Added a patch by Blair Zajac to make
Date_NthDayOfYearwork with decimal days.
๐ Bug fixes ๐
- Fixed a bug in
ParseDateDelta(seems to appear only in 5.005 pre-releases). Found by Larry W. Virden. - Missed one form in
ParseDate. Noted by Tuc. - Fixed a bug where
"15:00:00"couldn't be parsed. Michael Pizolato. - Split
Manip.pm. New files areHISTORY,TODO,Manip.pod. - Fixed a bug in
ParseDateDelta. Antonio Rosella. - Removed the only occurrence of
$&(which may speed some things up). Fix by Ken Williams. First suggested by Abigail. - Fixed an overflow bug in doing date calculations with 2 dates more than 70 years apart. Fix by Vishal Bhatia.
- Fixed a bug where
"5:00pm"wasn't always parsed correctly. Thanks to Jim Trocki. - Fixed a bug in
UnixDate(it wouldn't return the correct string for a format who's last character was'0') noted by Ramin V.
๐ Time zone fixes ๐
- Relaxed some restrictions on time zones so ISO-8601 dates can use non-ISO-8601 time zones. Noted by John Chambers.
- Fixed a bug in converting time zones with a minutes field (
+1030). Found by Paul O.
๐ฃ๏ธ Language fixes ๐ฃ๏ธ
- Some fixes to the French translations by Emmanuel Bataille.
- Added German support. Thanks to Andreas C. Poszvek.
๐ Documentation fixes ๐
- Minor documentation fixes. Will Linden.
- Fixed a documentation problem with
Date_GetPrev. It was still0-6instead of1-7. Thanks to Robert Klep.
๐ VERSION 5.30 (1998-01-21) ๐
- (!) (*) Delta format changed โ a week field has been added to the internal format of the delta. It now reads
"Y:M:W:D:H:MN:S"instead of"Y:M:D:H:MN:S". glow up ๐ - (*) Now handles recurring events โ added
ParseRecur. First suggested by Chris Jackson.
โจ New features โจ
- All routines can now take either a 2- or 4-digit year.
- Added
Delta_Format. First suggested by Alan Burlison. - Added
Date_SetDateField. Thanks to Martin Thurn.
๐ Bug fixes ๐
- Made the
$errargument toDateCalcoptional. - Changed the name of several of the library routines (not the callable ones) to standardize naming.
๐ VERSION 5.21 (1998-01-15) ๐
- (!) Long running processes may give incorrect time zone โ a process that runs during a time zone change (Daylight Saving Time specifically) may report the wrong time zone. See the
UpdateCurrTZvariable for more information. ๐ญ - (!) UnixDate
"%J","%W", and"%U"formats fixed โ the%J,%W, and%Uwill no longer report a week 0 or a week 53 if it should really be week 1 of the following year. They now report the correct week number according to ISO 8601. slay.
โจ New features โจ
- Added
YYtoYYYYvariable. Suggested by Michel van der List. - Added the
UpdateCurrTZvariable to increase speed at the cost of being wrong on the time zone. - Added British date formats. Thanks to Piran Montford.
Monday weektoday week- as well as some US formats
in 2 monthsnext month
- Time can now be written
5pm. Piran Montford. - Added the
TomorrowFirstvariable andDate_NearestWorkDayfunction. - Added UnixDate formats
%Gand%Lto correctly handle the year. Thanks to Samuli Karkkainen. - Added
ForceDatevariable. Based on a suggestion by Christian Campbell.
๐ Bug fixes ๐
- Now passes Taint checks. Thanks to Mike Fuhr, Ron E. Nelson, and Jason L Tibbitts III.
- Put everything in a
"use integer"pragma. - Added a missing space in the
%gUnixDate format. Thanks to Mike Booth. - Removed all mandatory call to
Date_Init(only called when current time is required). Significantly faster. ๐ฅ - Fixed a bug in
Date_ConvTZ. Thanks to Patrick K Malone. - Fixed a bug in
Date_IsWorkDay.
๐ Time zone fixes ๐
- Fixed some Australian time zones. Kim Davies.
๐ฃ๏ธ Language fixes ๐ฃ๏ธ
- Cleaned up multi-lingual initialization and added the
IntCharSetvariable. - Improved French translations. Thanks to Emmanuel Bataille.
- Added
"Sept"as a recognized abbreviation. Thanks to Martin Thurn. - Typo in the French initialization. Thanks to Michel Minsoul.
๐งช Test fixes ๐งช
- Fixed the tests to not fail in 1998.
๐ Documentation fixes ๐
- Documented how to get around Micro$oft problem. Based on a mail by Patrick Stepp.
VERSION 5.20 (1997-10-12)
(*)ISO 8601 support โ okay so ISO 8601 dates are now parsed. This resulted in several other changes specified below. <๐ฆโจ>(!)(*)ParseDate formats removed โ ngl because of ISO 8601 support, some formats which previously worked may no longer be parsed since they conflict with an ISO 8601 format. These includeMM-DD-YY(conflicts withYY-MM-DD) andYYMMDD(conflicts withYYYYMM).MM/DD/YYstill works, so the first form can be kept easily by changing-to/.YYMMDDcan be changed toYY-MM-DDbefore being parsed. Whenever parsing dates using dashes as separators, they will be treated as ISO 8601 dates. You can get around this by converting all dashes to slashes. <๐ ๐>(!)(*)Week day numbering โ the way that day numbering was changed from0-6(Sun-Sat) to1-7(Mon-Sun) to be ISO 8601 compatible. Weeks start on Monday (though this can be overridden using theFirstDayconfig variable) and the 1st week of the year contains Jan 4 (though it can be forced to contain Jan 1 with theJan1Week1config variable). <๐ธ>
โจ New features โจ
- Several new parsing formats added, including:
"Friday"suggested by Rob Perelman"12th"suggested by Rob Perelman"last day of MONTH"suggested by Chadd Westhoff
- Added
ParseDateStringfor speed (and simplicity for modifyingParseDate) - Added
%Jand%Kformats toUnixDate. - Added
Date_DaysInMonth.
๐ Bug fixes ๐
- Reorganized
ParseDatemore efficiently. - Fixed some incorrect uses of
$ininstead of$futureinParseDate. Thanks to Erik Corry. - Added some speedups (more to come).
๐งช Test fixes ๐งช
- Cleaned up testing mechanism a bit and added tests for ISO 8601 formats.
VERSION 5.11 (1997-08-07)
- Version 5.11 was never released to CPAN. <๐>
๐ Bug fixes ๐
- Added one more check for NT perl. Thanks to Rodney Haywood.
- Added some comments to help me keep my personal libraries up-to-date with respect to Date::Manip and vice-versa.
- Fixed a bug which showed up in French dates (though it could happen in other languages as well). Thanks to Georges Martin.
- Fixed a bug in
DateCalc. Thanks to Thomas Winzig. - Removed the
"eval"statement fromCheckFilePathwhich causes a suid c wrapper program to die when it calls a Date::Manip script. Thanks to Hank Hughes. - Fixed a bug in business mode calculations. Thanks to Sterling Swartwout.
- Fixed a bug in which
"1997023100:00:00"was accepted as valid. Thanks to Doug Emerald. - Fixed a bug in which
ConvTZwas not used correctly inParseDate. Re-did portions ofDate_ConvTZ. Thanks to Vivek Khera. - Fixed a bug in business mode calculations. Thanks to Ian Duplisse.
- Added
$^Xcheck for Win95 perl. Thanks to Walter Soldierer. - Missed one call to
NormalizeDeltaso the output was wrong. Thanks to Brad A. Buikema.
๐ Time zone fixes ๐
- Added time zones. Paul Gillingwater, Rosella Antonio, Kang Taewook
VERSION 5.10 (1997-03-19)
๐ Bug fixes ๐
- Cleaned up
In,At, andOnregexps. - Added 2 checks for
MSWin32(date command andgetpw*didn't work). Thanks to Alan Humphrey. - Fixed two bugs in the
DateCalcroutines. Pointed out by Kevin Baker. - Added a check for
Windows_95. Thanks to Charlie W. - Cleaned up checks for
MacOSand Microsoft OS's. Hopefully I'm catching everything. Thanks to Charlie Wu for one more check. - Fixed a typo which broke
Time%Date(Date=dd%mmm%yy) format. Thanks to Timothy Kimball.
๐ Time zone fixes ๐
- Fixed some problems with how
"US/Eastern"type time zones were used. Thanks to Marvin Solomon.
๐งช Test fixes ๐งช
- Tests will now run regardless of the time zone you are in.
- Test will always read the
DateManip.cnffile int/now. - A failed test will now give slightly more information.
DateManip.cnffile int/now sets ALL options to override any changes made in theManip.pmfile.
๐ Documentation fixes ๐
- Added documentation for backwards incompatibilities to POD.
- Fixed some problems in POD documentation. Thanks to Marvin Solomon.
- Fixed minor POD error pointed out by John Perkins.
- Changed documentation for
Date_IsWorkDay(it was quite confusing using a variable named$time). Thanks to Erik M. Schwartz. - Fixed typo in documentation (midnight misspelled). Thanks to Timothy Kimball.
VERSION 5.09 (1997-01-28)
๐ Bug fixes ๐
- Upgraded to
5.003_23and fixed one problem associated with it. - Used
carpand changed alldie's toconfess. - Replaced some UNIX commands with perl equivalents (
datewithlocaltimein the tests,pwdwithcwdin the path routines). - Cleaned up all routines working with the path.
๐งช Test fixes ๐งช
- Tests work again (broke in 5.08). Thanks to Alex Lewin and Michael Fuhr for running debugging tests.
VERSION 5.08 (1997-01-24)
๐ Bug fixes ๐
(*)Fixed serious bug inConvTZpointed out by David Hall.(*)ModifiedDate_ConvTZ(and documented it).
VERSION 5.07p2 1997-01-03
Released two patches for 5.07.
๐ Bug fixes ๐
- Fixed a bug where a delta component of
"-0"would mess things up. Reported by Nigel Chapman.
๐ Time zone fixes ๐
(*)Can now understandPST8PDTtype zones (but only inDate_TimeZone).- Added lots of time zone abbreviations.
๐งช Test fixes ๐งช
- Fixed some tests (good for another year).
VERSION 5.07 (1996-12-10)
(!)UnixDate"%s"format โ Used to return the number of seconds since1/1/1970in the current time zone. It now returns the number of seconds since1/1/1970 GMT. The"%o"format was added which returns what"%s"previously did. <๐ญ๐ฅ>(!)(*)Internal format of delta โ The format for the deltas returned byParseDateDeltachanged. Previously, each element of a delta had a sign attached to it (+1:+2:+3:+4:+5:+6). The new format removes all unnecessary signs by default (+1:2:3:4:5:6). Also, because of the way deltas are normalized (see documentation onParseDateDelta), at most two signs are included. For backwards compatibility, the config variableDeltaSignswas added. If set to1, all deltas include all 6 signs.(!)(*)Date_Init arguments โ The format of theDate_Initcalling arguments changed. The old method
Date_Init($language,$format,$tz,$convtz);
is still supported , but this support will likely disappear in the future. Use the new calling format instead:
Date_Init("var=val","var=val",...);
NOTE: The old format is no longer supported as of version 5.32 .
(*)Added weeks toParseDateDelta. โ Suggested by Mike Bassman. Note that since this is a late addition, I did not change the internal format of a delta. Instead, it is added to the days field.(*)Now reads a config file. โ Refer to theDate_Initdocumentation for details.(*)Added business mode. โ See documentation. Suggested by Mike Bassman.
โจ New features โจ
(*)Modified how deltas are normalized and added theDeltaSignsconfig variable.- Added
%qformat"YYYYMMDDHHMMSS"toUnixDate. Requested by Rob Perelman. Also added%Pformat"YYYYMMDDHH:MM:SS". - Added a new config variable to allow you to work with multiple internal formats (with and without colons). Requested by Rob Perelman. See
Date_Initdocumentation. - Added the following formats suggested by Andreas Johansson:
Sunday week 22 [in 1996] [at 12:00]22nd Sunday [in 1996] [at 12:00]Sunday 22nd week [in 1996] [at 12:00]
- Added a new config variable to allow you to define the first day of the week. See
Date_Initdocumentation. - Added the following formats to
ParseDatefor convenience (some were suggested by Mike Bassman):next/last Friday [at time]next/last week [at time]in 2 weeks [at time]2 weeks ago [at time]Friday in 2 weeksin 2 weeks on FridayFriday 2 weeks ago2 weeks ago Friday
- Added
Date_SecsSince1970GMT, moved the%sformat to%o(secs since1/1/70) and added%sformat (secs since1/1/70 GMT). Based on suggestions by Mark Osbourne. Note this introduces a minor backward incompatibility described above. Date_SetTimenow works with international time separators.- Added the
%gformat (%a, %d %b %Y %H:%M:%S %z) for an RFC 1123 date. Suggested by Are Bryne. - Added options to delete existing holidays and ignore global config file.
Date_GetNextandDate_GetPrevnow return the next/prev occurrence of a time as well as a day. Suggested by Are Bryne.- In approximate mode, deltas now come out completely normalized (only 1 sign). Suggested by Rob Perelman.
- Added
Date::Manip::InitDoneso initialization isn't duplicated. - Added a 3rd internal format to store
YYYY-MM-DD HH:MN:SS(iso 8601). - Added a config variable to allow you to work with 24 hour business days. Suggested by Mike Bassman.
ParseDateDeltanow returns""rather than"+0:0:0:0:0:0"when there is an error.
๐ Bug fixes ๐
(*)Thed:h:mn:sof ALL deltas are normalized.- Huge number of code changes to clean things up.
- Subroutines now check to see if 4 digit years are entered. Suggested by Are Bryne.
- Added
local($_)to all routines which use$_. Suggested by Rob Perelman. - Complete rewrite of
DateCalc. - Fixed a bug where
UnixDate %Eformat didn't work with single digit dates. Patch supplied by Jyrgen Nyrgaard. - Fixed a bug where
"today"was not converted to the correct time zone.
๐ Time zone fixes ๐
- Fixed bug in
Date_TimeZonewhere it didn't recognize+HHMNtype time zones. Thanks to Are Bryne. - Added WindowsNT check to
Date_TimeZoneto get around NT's weird date command. Thanks to Are Bryne. - Fixed typo (
CSDinstead ofCST). - Fixed sign in military time zones making Date::Manip RFC 1123 compliant (except that time zone information is not stored in any format)
๐งช Test fixes ๐งช
(*)Added test suite!
VERSION 5.06 (1996-10-25)
New features
- Added
"today at time"formats. ok this one is so useful bestie ๐ ParseDateDeltanow normalizes the delta as well asDateCalcdoes. consistency queen ๐- Added the
%Qformat"YYYYMMDD"toUnixDate. Requested by Rob Perelman.
Bug fixes
- Fixed another two places where a variable was declared twice using
my(thanks to Ric Steinberger). - Fixed a bug where fractional seconds weren't parsed correctly.
- Fixed a bug where
"noon"and other special times were not parsed in the"which day of month"formats. - Fixed a minor bug where a few matches were case sensitive.
- The command
date +%Zdoesn't work on SunOS machines (and perhaps others) so 5.05 is effectively broken. 5.06 released to fix this. Reported by Rob Perelman.
lowkey a whole release dropped just because of date +%Z on SunOS ๐ญ iconic behaviour fr fr.
VERSION 5.05 (1996-10-11)
New features
- Changed deltas to be all positive or all negative when produced by
DateCalc. Suggested by Steve Braun - Added
DateManipVersionroutine. - (*) Parses RFC 822 dates (thanks to J.B. Nicholson-Owens for suggestion).
- Parses
ctime()date formats (suggested by Matthew R. Sheahan). - Now supports times like
"noon"and"midnight". slay ๐ธ
Bug fixes
- Fixed bug introduced in 5.04 when default day set to 1. When no date given, have day default to today rather than 1. It only defaults to one if a partial date is given.
- Fixed bug where
Date_DaysSince999returned the wrong value (the error did not affect any other functions in Date::Manip due to the way it was called and the nature of the error). Pointed out by Jason Baker - Dates with commas in them are now read properly.
- Fixed two places where a variable was declared twice using
my(thanks to Ric Steinberger). - Hopefully fixed installation problems. (the "hopefully" is doing SO much work here ๐)
- Got rid of the last (I think) couple of US specific strings.
- Fixed bug in
Date_SetTime(didn't work with$hr,$min,$sec< 10). - Added
ModuloAdditionroutine and simplifiedDateCalc.
Time zone fixes
- (*) Now supports time zones.
- (*) Added
Date_ConvTZroutine for time zone support. Date_TimeZonewill now also checkdate '+%Z'suggested by Aharon Schkolnik.
Language fixes
- Added Swedish translation (thanks to Andreas Johansson
- The time separators are now language specific so the French can write
"10h30"and the Swedes can write"10.30". Suggested by Andreas Johansson.
Documentation fixes
- Fixed bad mistake in documentation (use
Date::Manipinstead ofuse DateManip) pointed out by tuc@valhalla.stormking.com - Minor improvements to documentation.
- Documented the 'sort within a sort' bug.
- Fixed type in documentation/README pointed out by James K. Bence.
VERSION 5.04 (1996-08-01)
New features
- Added support for fractional seconds (as generated by Sybase). They are parsed and ignored. Added by Kurt Stephens
Bug fixes
- Fixed bugs reported by J.B. Nicholson-Owens
"Tue Jun 25 1996"wasn't parsed correctly (regexp was case sensitive)- full day names not parsed correctly
- the default day in
ErrorCheckshould be 1, NOT currd since when currd>28, it may not be a valid date for the month
VERSION 5.03 (1996-07-17)
Bug fixes
- Fixed a couple of bugs in
UnixDate. - Declared package variables to avoid warning
"Identifier XXX used only once". Thanks to Peter Bray for the suggestion.
VERSION 5.02 (1996-07-15)
New features
- (*) Added some internationalization (most of the routines had to be modified at least slightly)
Bug fixes
- Fixed a bug where repeated calls to
ParseDate("today")was not reset - Replaced the
%Date::Manip::Datevariable with a large number of other, more flexible variables - Rewrote the
Initroutine
VERSION 5.01 (1996-06-24)
New features
- Added
%Fformat toUnixDate. Rob Perelman - Added
"Date at Time"types - Weekdays can be entered and checked
- Two digit years fall in the range CurrYear-89 to CurrYear+10
Bug fixes
- Reworked a number of the
ParseDateregular expressions to make them more flexible
Documentation fixes
- Fixed a typo (Friday misspelled Fridat). Rob Perelman
- Documentation problem for
\$errinDateCalc. Rob Perelman
VERSION 5.00 (1996-06-21)
- (*) Switched to a package.
- Patch supplied by Peter Bray:
- renamed to
Date::Manip - changed version number to 2 decimal places
- added POD documentation
- renamed to
- Thanks to Peter Bray, Randal Schwartz, Andreas Koenig for suggestions
- Patch supplied by Peter Bray:
Bug fixes
- Fixed a bug pointed out by Peter Bray where it was complaining of an uninitialized variable.
VERSION 4.3 (1995-10-26)
New features
- Added
"which dofw in mmm"formats toParseDate. Mark Dedlow
Bug fixes
- Added a bugfix of Adam Nevins where
"12:xx pm"used to be parsed"24:xx:00".
VERSION 4.2 (1995-10-23)
New features
UnixDatewill now return a scalar or list depending on contextParseDate/ParseDateDeltawill now take a scalar, a reference to a scalar, or a reference to an array- (*) Simple time zone handling
- (*) Added
Date_SetTime,Date_GetPrev,Date_GetNext
Bug fixes
- Added copyright notice (requested by Tim Bunce)
VERSION 4.1 (1995-10-18)
New features
- (*) Added
DateCalc
Bug fixes
- Changed
%DATE_to%DateManip::Date - (*) Rewrote
ParseDateDelta
VERSION 4.0 (1995-08-13)
- (*) First public release
New features
- Added time first formats to
ParseDate
Bug fixes
- (*) Switched to perl 5
- Cleaned up
ParseDate,ParseDateDelta
VERSION 3.0 (1995-05-03)
New features
- Added today/tomorrows/etc. formats
- (*) Added
UnixDate - (*) Added
ParseDateDelta
Bug fixes
- Added
%DATE_global variable to clean some stuff up - Simplified several routines
VERSION 2.0 (1995-04-17)
New features
- Included ideas from Time::ParseDate (David Muir Sharnoff)
- Included ideas from date.pl 3.2 (Terry McGonigal)
- (*) Added seconds to
ParseDate
Bug fixes
- Made error checking much nicer
VERSION 1.2 (1995-03-31)
New features
- Added a few date formats
Bug fixes
- Made months case insensitive
VERSION 1.1 (1995-02-08)
New features
- Added leap year checking
- Both
"Feb"and"February"formats available
VERSION 1.0 (1995-01-20)
- (*) Initial release
- Though not released to the public, the initial released combined routines from several scripts into one library.
ok so that's the ENTIRE origin story bestie, from one lil library to the whole entire thing ๐ history was made fr fr.
๐ BUGS AND QUESTIONS ๐
Please refer to the Date::Manip::Problems documentation for information on submitting bug reports or questions to the author.
โจ SEE ALSO โจ
Date::Manipโ main module documentation
๐ LICENSE ๐
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
๐ AUTHOR ๐
Sullivan Beck (https://github.com/SBECK-github/)
and that's a wrap on the whole entire changelog bestie, we made it to the end ๐ซถ this page is literally perl v5.42.3, dated 2026-09-01, filed under Date::M...Changes5(3) โ go forth and date-manipulate responsibly, mwah ๐๐
๐ฆ where this page comes from
- fedora 43: perl-Date-Manip 7.00-1.fc43 ยท GPL-1.0-or-later OR Artistic-1.0-Perl
- fedora 44: perl-Date-Manip 7.00-1.fc44 ยท GPL-1.0-or-later OR Artistic-1.0-Perl
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms