- New upstream release 1.57
- The last release would die if Sub::Util was not available, but this
should just be an optional requirement (GH#131); this is the second
time I've introduced this bug, so now there's a test to make sure
that DateTime can be loaded if Sub::Util is not installed, which will
hopefully prevent a third occurrence of this bug
- New upstream release 1.56
- The DateTime->from_epoch constructor now accepts a single, non-hashref
argument, and validates it as an epoch value (GH#119)
- New upstream release 1.55
- Another documentation fix release; this fixes some mistakes, fixes some
broken links, and removes all references to the long-dead datetime.perl.org
- New upstream release 1.51
- Added a $dt->is_between($dt1, $dt2) method (based on GH#97)
- Simplify the calculation of leap seconds in XS (GH#91); this is a little
more efficient for most use cases (anything with future or recent past
datetimes)
- New upstream release 1.51
- Fix CLDR formatting of 'S' pattern with more than 9 digits of precision;
while we only store nanoseconds in the DateTime object we should still be
able to handle an arbitrary number of digits properly (GH#89)
- Modernize spec using %{make_build} and %{make_install}
- New upstream release 1.50
- The %F strftime pattern incorrectly zero-padded numbers less than four
digits; according to POSIX::strftime, this should output the year as-is
without padding (GH#83)
- New upstream release 1.49
- Updated the ppport.h with the latest version of Devel::PPPort, which fixes
a compilation warning when compiling with 5.27.11 (GH#81)
- Switch upstream from search.cpan.org to metacpan.org
- New upstream release 1.48
- The last release would die if Sub::Util was not available, but this should
just be an optional requirement (GH#77, GH#78)
- New upstream release 1.47
- DateTime::Duration->multiply now only allows integer multipliers (GH#73)
- Added is_last_day_of_quarter() and is_last_day_of_year() methods (GH#72)
- When an exception was thrown while adding a duration, the object could be
left in a broken state with the duration partially applied; subsequent
addition or subtraction would produce the wrong results (GH#74)
- Add patch to support use without Sub::Util (GH#77, GH#78)
- New upstream release 1.46
- Fixed the formatting for the CLDR "S" symbol, which in some cases would
round up to 1 instead of truncating a value, e.g. the "SSS" symbol would
format 999,999,999 nanoseconds as "1.000" (GH#71)
- New upstream release 1.44
- Added a stringify() method, which does exactly the same thing as
stringification overloading does (GH#58)
- Added an is_last_day_of_month() method to indicate whether or not an object
falls on the last day of its month (GH#60)
- New upstream release 1.43
- Added a small optimization for boolification overloading: rather than
relying on a fallback to stringification, we now return true directly,
which is a little faster in cases like "if ($might_be_dt) { ... }"
- The datetime() method now accepts a single argument to use as the separator
between the date and time portion; this defaults to "T"
- Drop redundant Group: tag
- New upstream release 1.42
- The DateTime::Duration->add and ->subtract methods now accept
DateTime::Duration objects; this used to work by accident but is now done
intentionallay, with docs and tests (GH#50)
- New upstream release 1.41
- The DateTime->add and ->subtract methods now accept DateTime::Duration
objects; this used to work by accident but is now done intentionally, with
docs and tests (GH#45)
- New upstream release 1.39
- Replaced Params::Validate with Params::ValidationCompiler and Specio
- In my benchmarks this makes constructing a new DateTime object about 14%%
faster
- However, it slows down module load time by about 100 milliseconds (1/10
of a second) on my desktop system with a primed cache (so really
measuring compile time, not disk load time)
- When you pass a locale to $dt->set you will now get a warning suggesting
you should use $dt->set_locale instead (CPAN RT#115420)
- Bump minimum required Perl to 5.8.4 from 5.8.1
- Use NO_PERLLOCAL=1 so we can use "make install"
- New upstream release 1.35
- Use namespace::autoclean in all packages that import anything; without
cleaning the namespace, DateTime ends up with "methods" like try and catch
(from Try::Tiny), which can lead to very confusing bugs (CPAN RT#115983)
- New upstream release 1.33
- When you pass a locale to $dt->set you will now get a warning suggesting
you should use $dt->set_locale instead (CPAN RT#115420)
- Added support for $dt->truncate( to => 'quarter' ) (GH#17)
- Fixed the $dt->set docs to say that you cannot pass a locale (even though
you can but you'll get a warning) and added more docs for $dt->set_locale
- Require DateTime::Locale 1.05
- Require DateTime::TimeZone 2.00
- Take advantage of NO_PACKLIST option in recent EU:MM
- New upstream release 1.28
- Fixed handling of some floating point epochs; since DateTime treated the
epoch like a string instead of a number, certain epochs with a non-integer
value ended up treated like integers (Perl is weird) (GH#15, fixes GH#6)
- New upstream release 1.27
- Added an environment variable PERL_DATETIME_DEFAULT_TZ to globally set the
default time zone (GH#14); using this is very dangerous - be careful!
- BR: perl-generators
- New upstream release 1.25
- DateTime->from_object would die if given a DateTime::Infinite object; now
it returns another DateTime::Infinite object (CPAN RT#112712)
- Simplify find command using -empty and -delete
- New upstream release 1.24
- The last release partially broke $dt->time; if you passed a value to use
as unit separator, it was ignored (CPAN RT#112585)
- New upstream release 1.23
- Fixed several issues with the handling of non-integer values passed to
from_epoch() (GH#11)
- This method was simply broken for negative values, which would end up
being incremented by a full second, so for example -0.5 became 0.5
- The method did not accept all valid float values; specifically, it did
not accept values in scientific notation
- Finally, this method now rounds all non-integer values to the nearest
millisecond, which matches the precision we can expect from Perl itself
(53 bits) in most cases
- Make all DateTime::Infinite objects return the system's representation of
positive or negative infinity for any method that returns a number or
string representation (year(), month(), ymd(), iso8601(), etc.); previously
some of these methods could return "Nan", "-Inf--Inf--Inf", and other
confusing outputs (CPAN RT#110341)