# man > Date::Manip::Changes6

---
type: CommandReference
command: Date::Manip::Changes6
mode: perldoc
section: 3pm
source: perldoc
---

## Quick Reference
- `VERSION 6.86` — 2021-11-15: Change warn to carp, bug fixes, time zone fixes (tzdata 2021e)
- `VERSION 6.85` — 2021-03-01: Test fixes
- `VERSION 6.84` — 2021-03-01: Time zone fixes (tzdata 2021a), language fixes
- `VERSION 6.83` — 2020-12-01: Time zone fixes (tzdata 2020d)
- `VERSION 6.82` — 2020-06-01: Time zone fixes (tzdata 2020a)
- `VERSION 6.81` — 2020-03-01: Packaging fix
- `VERSION 6.80` — 2020-03-01: Missing Changes entry fixed
- `VERSION 6.79` — 2019-12-01: Time zone fixes (tzdata 2019c)

## Name
`Date::Manip::Changes6` — changes in `Date::Manip` 6.xx

## Synopsis
This describes the changes made to the `Date::Manip` module in the 6.xx series. Major changes are marked with **(*)**; backward incompatible changes are marked with **(!)**.

### VERSION 6.86 (2021-11-15)
- Changed warn to carp (carp instead of warn) for all warnings.
- Fixed next/prev `Date::Manip::Recur` methods when no matching dates exist (GitHub #36).
- Time zone fixes: Newest zoneinfo data (tzdata 2021e).

### VERSION 6.85 (2021-03-01)
- Test fixes: corrected failing tests.

### VERSION 6.84 (2021-03-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2021a).
- Language fixes: Italian corrections and additions (GitHub #33).

### VERSION 6.83 (2020-12-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2020d) (GitHub #32).

### VERSION 6.82 (2020-06-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2020a).

### VERSION 6.81 (2020-03-01)
- Fixed packaging error in 6.80.

### VERSION 6.80 (2020-03-01)
- Added missing Changes entry for previous version (GitHub #31).

### VERSION 6.79 (2019-12-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2019c).

### VERSION 6.78 (2019-08-29)
- Time zone fixes: Newest zoneinfo data (tzdata 2019b).
- Documentation fixes: fixed broken link (GitHub #29).

### VERSION 6.77 (2019-06-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2019a).

### VERSION 6.76 (2019-03-01)
- Fixed bug in `Date::Manip::Date::list_holidays` (used 'now' instead of stored date).
- Reordered TZ detection methods (lower priority for tzdata files to avoid issues in Docker) (GitHub #20).
- Time zone fixes: Newest zoneinfo data (tzdata 2018i).

### VERSION 6.75 (2018-12-03)
- Fixed packaging problems (version not set correctly in some files, invalid entries in Makefile.PL) (RT 127870).

### VERSION 6.74 (2018-12-01)
- Removed .travis.yml file from tarball (GitHub #23).
- Time zone fixes: Newest zoneinfo data (tzdata 2018e).

### VERSION 6.73 (2018-09-01)
- Fixed math overflow on non-64-bit architectures in `Date::Manip::Base` (GitHub #22, RT 126052).
- Fixed bug in normalizing estimated business deltas.

### VERSION 6.72 (2018-06-06)
- Fixed recurrence bug (previous fix broke another form) (GitHub #20).
- Fixed version number in two files.
- Documentation fixes.

### VERSION 6.71 (2018-06-01)
- Fixed infinite loop in recurrences that never produce a valid date; added `MaxRecurAttempts` config variable (RT 123708).
- Added Changes file support.
- Fixed timezone determination on MacOS High Sierra (symlinks) (GitHub #15).
- Time zone fixes: Newest zoneinfo data (tzdata 2018e).
- Documentation fixes.

### VERSION 6.70 (2018-03-01)
- **(*)** **(!)** Improved delta handling: formalized semi-exact deltas, added new type (estimated), deprecated old `set`/`parse` options in `Date::Manip::Delta`.
- **(!)** Deprecated parts of `Date::Manip::Delta` (old style will be removed in 7.00).
- Deprecation of TZ variable postponed to 7.00.
- Speed improvements (replaced logical calculations with numerical ones).
- Changed behavior: if timezone cannot be determined, operations use GMT instead of failing (RT 123229).
- Fixed Makefile.PL (module paths) (GitHub #13).
- Time zone fixes: Newest zoneinfo data (tzdata 2018c).
- Documentation fixes: rewrote `Date::Manip::Delta` page.

### VERSION 6.60 (2017-09-01)
- Bug fixes: recurrence with no interval and start/end dates (GitHub #12).
- Documentation fixes: clarified `Date::Manip::TZ::all_periods`.

### VERSION 6.59 (2017-06-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2017b).
- Documentation fixes.

### VERSION 6.58 (2017-03-01)
- Better support for `$mode` in `DateCalc` (DM6).
- Bug fixes: `printf %e` gave '02' instead of ' 2' (RT 119787); tzdata method error (GitHub #8).
- Time zone fixes: Newest zoneinfo data (tzdata 2017a).

### VERSION 6.57 (2016-12-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2016j).
- Test fixes: faulty tests.

### VERSION 6.56 (2016-09-09)
- Test fixes: corrected faulty test (RT 117404).

### VERSION 6.55 (2016-09-01)
- Fixed bug: `$::TZ` not interpreted correctly (RT 114949).
- Fixed recurrence parsing: incorrect values now trapped (GitHub #7).
- Fixed bug in object creation methods.
- Time zone fixes: Newest zoneinfo data (tzdata 2016f).
- Test fixes: added tests based on `Devel::Cover`.

### VERSION 6.54 (2016-05-31)
- Deprecation of `Date::Manip` 5.xx tests (no longer run by default).
- Deprecation of TZ variable postponed to March 2017.
- Bug fixes: `ExtUtils::MakeMaker` requirement changed (RT 112286); timezone abbreviation parsing fix.
- Time zone fixes: Newest zoneinfo data (tzdata 2016d); default timezones changed.
- Documentation fixes.

### VERSION 6.53 (2016-03-02)
- Bug fixes: `Date::Manip::Delta::cmp` comparison bug; missing validity check in `secs_since_1970_GMT` (RT 111915).
- Time zone fixes: Newest zoneinfo data (tzdata 2016a).
- Documentation fixes: many typos fixed.

### VERSION 6.52 (2015-12-01)
- Added date ranges on unmodified dates in Recur.
- Added IWn and NWn recurrence modifiers.
- **(!)** Reworked holidays: holiday names must be unique; complex holidays allowed.
- Bug fixes: `RecurRange` config variable not used; deltas not parsed correctly as dates (RT 109600).
- Time zone fixes: Newest zoneinfo data (tzdata 2015g).
- Test fixes: added tests.

### VERSION 6.51 (2015-09-01)
- Minor changes from perlcritic.
- **(!)** `Date::Manip::Delta::value` now returns empty string instead of undef.
- Bug fixes: large delta calculations now fail with error (RT 105737); fixed introduced bug; fixed warning in 5.22.0.
- Improved DM6 `ParseDate` and `ParseDateString` (added `@opts` argument) (RT 105622).
- Time zone fixes: Newest zoneinfo data (tzdata 2015f); now uses `/etc/localtime` to determine local timezone (RT 105159); clearer invalid date messages.
- Test fixes: coverage increased.
- Documentation fixes.

### VERSION 6.50 (2015-06-01)
- Bug fixes: removed bundled NYTprof data (RT 103252); fixed discarded date completeness info; `SetDate` with zone alias; added `Format_MMMYYYY` config variable (RT 103142); fixed Makefile.PL for Windows (RT 104141).
- Time zone fixes: Newest zoneinfo data (tzdata 2015d); added HP-UX aliases.
- Documentation fixes.

### VERSION 6.49 (2015-03-01)
- Added deprecation warning for TZ config variable.
- Speedups for timezone handling (RT 102284).
- Bug fixes: added missing `is_date` base method to `Date::Manip::Base`.
- Time zone fixes: Newest zoneinfo data (tzdata 2015a).
- Language fixes: corrections by Nicholas Riley.

### VERSION 6.48 (2014-12-01)
- Put repository on GitHub.
- `parse_time` now parses ISO 8601 times.
- Parsing special dates with timezones now works (e.g., "Christmas at noon PST").
- `dm_zdump` modified to include gmtoff.
- Bug fixes: `printf` with embedded newlines (infinite loop); `24:00` parsing; fractional values with comma.
- Time zone fixes: Newest zoneinfo data (tzdata 2014j).

### VERSION 6.47 (2014-09-01)
- Time zone fixes: Newest zoneinfo data (tzdata 2014f).
- Language fixes: fixed encoding errors in POD.

### VERSION 6.46 (2014-07-08)
- Broken distribution: removed temporary edit file (RT 96459).
- Time zone fixes: Newest zoneinfo data (tzdata 2014e).
- Language fixes: added missing plural abbreviations (RT 96944).

### VERSION 6.45 (2014-06-05)
- Test fix: one failing test.

### VERSION 6.44 (2014-06-01)
- **(*)** Improvements to UTF8 handling: case-insensitive matching, regexp fixes, Russian and Romanian corrections, added cp1251 encoding (RT 93545).
- New features: `parse_format` can return `%+` if desired.
- Time zone fixes: Newest zoneinfo data (tzdata 2014c).
- Documentation fixes.

### VERSION 6.43 (2014-03-03)
- Several distribution file changes (Build.PL, Makefile.PL, META.yml) for quality.
- Time zone fixes: Newest zoneinfo data (tzdata 2013i).
- Documentation fixes: cleaned up Recur documentation.

### VERSION 6.42 (2013-12-02)
- Added `ParseDateFormat` function to DM6 functional interface (RT 89286).
- Added Common Log format (apache logs).
- Time zone fixes: Newest zoneinfo data (tzdata 2013h).
- Bug fixes: delta with timezone failed (RT 89256); events warning if no events (RT 90344).

### VERSION 6.41 (2013-09-05)
- Bug fixes: removed .swp file (RT 85845); `parse_format` times between 00:00:00 and 01:00:00; Makefile.PL requirements (RT 86137); `parse_format` with `%s` (RT 87498); `find_encoding` import (RT 87665); recurrences with no interval and no dates in range.
- Time zone fixes: Newest zoneinfo data (tzdata 2013d).

### VERSION 6.40 (2013-06-01)
- Removed POD generation for `Date::Manip::TZ::*` and `Date::Manip::Offset::*` modules.
- Time zone fixes: Newest zoneinfo data (tzdata 2013c).

### VERSION 6.39 (2013-03-01)
- Added `$mode` argument to `ParseDateDelta` (RT 82991).
- Added `get_config` method to all classes.
- Language fixes: German fix.
- Documentation fixes: workaround for dmake in strawberry perl.

### VERSION 6.38 (2013-01-08)
- **(*)** Tar file format corrected to 'gnu' (RT 80594).
- **(*)** `Date::Manip` 5.xx end-of-life (no further support).
- **(!)** Removed deprecated config variables: `IntCharSet`, `RecurNumFudgeDays`.

### VERSION 6.37 (2012-12-01)
- Bug fixes: ISO 8601 YYYY-WXX-D in December.
- Time zone fixes: Newest zoneinfo data (tzdata 2012j).
- Documentation fixes: spelling.

### VERSION 6.36 (2012-10-31)
- Fix version numbers (6.35 had incorrect numbers).

### VERSION 6.35 (2012-10-31)
- Fix PATH issue (overrode PATH).
- Removed dependency on YAML (reverted to perl literals).
- Bug fixes: PATH fix (RT 80435).

### VERSION 6.34 (2012-09-04)
- Bug fix: PATH only in Unix section.

### VERSION 6.33 (2012-09-01)
- Improvements to `Date::Manip::Delta`: added `convert` method, cleaned up field lengths, added `cmp` method.
- Bug fixes: closed DATA filehandle (Doru Theodor Petrescu); better DM5/DM6 loading (RT 78152); secure PATH in TZ.pm (RT 78566).
- Time zone fixes: support for spaces in timezone filenames (RHEL); newest zoneinfo data (tzdata 2012e).
- Documentation fixes.

### VERSION 6.32 (2012-06-01)
- Modified Build.PL for better HTML building support (RT 75118).
- Bug fixes: business day calculations (RT 76336); Delta/Recur object creation; SetDate/ForceDate in config file.
- Time zone fixes: Newest zoneinfo data (tzdata 2012c).
- Documentation fixes: UTF-8 in POD.

### VERSION 6.31 (2012-03-01)
- Added extended formats to printf: `%<A=NUM>`, `%<a=NUM>`, `%<v=NUM>`, `%<B=NUM>`, `%<b=NUM>`, `%<p=NUM>`, `%<E=NUM>`.
- Can now parse formats where time and zone are not adjacent.
- Added `PeriodTimeSep` config variable.
- Holidays can be used as date strings (e.g., `parse('Christmas')`).
- Added new recur modifiers: WDn, IBD, NBD.
- Added new date format: '2nd day in May'.
- More flexible timezone parsing with both offset and abbrev (parentheses optional).
- Deltas now support fractional values (e.g., 1.5 days).
- Multiple holidays supported.
- Bug fixes: abbreviation case-insensitivity; Holidays split across config files.
- Language fixes: Norwegian, Danish, Finnish; printf directive cleanup.
- Documentation fixes.

### VERSION 6.30 (2012-01-11)
- **(*)** **(!)** Reworked deltas: removed constraint that day=24 hours, added semi-exact deltas, cosmetic sign changes, non-normalized deltas, removed `subtract=2` limitation.
- **(!)** Modified `Delta_Format`: added 'semi' mode.
- **(!)** Removed deprecated config variables: `GlobalCnf`, `IgnoreGlobalCnf`, `PersonalCnf`, `PersonalCnfPath`, `PathSep`, `Internal`, `DeltaSigns`, `UpdateCurrTZ`, `ConvTZ`, `OldConfigFiles`, `ResetWorkDay`.
- Time zone fixes: Newest zoneinfo data (tzdata 2011n); fixed +0000/-0000 parsing; store 30 years of future dates; timezone abbreviations take higher precedence.
- Better handling of `undef` in DM6.
- Bug fixes: `parse_format` `%f` and `%i`; `Date::Manip::Delta::set` month; DST change parsing; minor `Delta_Format` fix.

### VERSION 6.25 (2011-08-31)
- Relaxed ISO 8601 constraint: single digit hour allowed with whitespace.
- **(*)** Set official removal dates for old config variables (2 years after deprecation, TZ kept for 4 years).
- Time zone fixes: Newest zoneinfo data (tzdata 2011i).

### VERSION 6.24 (2011-06-13)
- New features: spaces ignored in SetDate/ForceDate config values.
- Bug fixes: 'in one week' parsing; options passed as listref; timezone data.
- Time zone fixes: Newest zoneinfo data (tzdata 2011g).

### VERSION 6.23 (2011-04-15)
- **(!)** Renamed `Date::Manip::Recur::base` to `basedate`.
- **(*)** Reworked holidays defined as recurrences (improved bootstrap).
- New features: `printf` can take multiple format strings.
- Bug fixes: `GlobalCnf` not working; improved error messages; invalid date/timezone check; object creation bugs; Recur->dates; mode preservation; recurrence with base date outside range; `%s` in GMT.
- Time zone fixes: Newest zoneinfo data (tzdata 2011f).
- Documentation fixes.

### VERSION 6.22 (2011-03-07)
- Time zone fixes: Newest zoneinfo data (tzdata 2011b); fixed gmtoff method; env method now allows offset; removed VMS SYS$TIMEZONE_RULE method; improved alias/abbreviation order.
- Language fixes: module dies if language module cannot be loaded.
- Documentation fixes: added sample config file.

### VERSION 6.21 (2011-01-10)
- New features: deltas support spelled out numbers (e.g., 'two weeks').
- Bug fixes: `week_of_year`; minor potential bug.
- Time zone fixes: updated Windows aliases.
- Language fixes: added Norwegian.

### VERSION 6.20 (2010-12-01)
- **(*)** **(!)** Reworked recurrences: now calculated relative to base date, not previous event; base date from start date if not specified; added iterator functions; `RecurNumFudgeDays` deprecated.
- Time zone fixes: Newest zoneinfo data (tzdata 2010o).

### VERSION 6.14 (2010-10-20)
- **(*)** `Date::Manip` 5.xx fully integrated with 6.xx (both installed, correct one chosen).
- Bug fixes: recurrence handling broken (RT 62128).
- Documentation fixes: cleaned up.

### VERSION 6.13 (2010-10-13)
- New features: input methods to `Date::Manip::Date` and `Date::Manip::Delta`; `date +%z` used for timezone.
- Bug fixes: memory leak workaround (RT 54937); incomplete date with 'last'; 'Sunday, 9th Jan 1972' parsing.
- Time zone fixes: Zones.pm generation order.
- Language fixes: French month abbreviations with periods.
- Test fixes: added tests from RT 29655.
- Documentation fixes: corrected `new_*` methods documentation.

### VERSION 6.12 (2010-09-27)
- **(!)** `IntCharSet` config variable deprecated.
- New features: `Encoding` config variable; EXIF date format parsing.
- Bug fixes: Build.PL perl version requirement; `Date::Manip::Date::set` broken; `Date::Manip::Delta::set` broken (RT 59096).
- Time zone fixes: Newest zoneinfo data (tzdata 2010m).
- Language fixes: **(*)** Converted all language files to UTF-8, added encoding support; Polish, Dutch fixes; extended 'nth' to 53rd; German corrections.
- Documentation fixes: clarified `Date::Manip::Recur`.

### VERSION 6.11 (2010-04-30)
- Bug fixes: fixed incorrect module requirement in Build.PL.

### VERSION 6.10 (2010-04-29)
- **(*)** Combined 5.xx and 6.xx releases into one distribution.
- **(!)** Zones specified by offset: default now checks daylight saving time zones first.
- Bug fixes: `Date_ConvTZ` with offset; business mode with minutes; business mode failures (RT 56638).
- Time zone fixes: Newest zoneinfo data (tzdata 2010i); `dst` sometimes default for `$dstflag`; OpenUNIX colon removal.
- Test fixes: converted to `Test::Inter`.
- Documentation fixes: corrected `$dstflag` default.

### VERSION 6.07 (2010-02-05)
- Bug fixes: `Date_TimeZone` not returning timezone.

### VERSION 6.06 (2010-02-05)
- Bug fixes: `%Z` printf format; '5pm' support; minor warning; speedups.
- Time zone fixes: Newest zoneinfo data (tzdata 2010b); added dm_zdump script; improved periods; fixed `Date_ConvTZ` empty values; fixed odd timezone cases.

### VERSION 6.05 (2009-12-09)
- **(!)** `%z` format reverted to `-0500` (RFC 822), new `%N` format for `-05:00:00`.
- **(*)** Significant speedups (suggestions from perlmonks).
- Bug fixes: `parse_date` default time; `DateCalc` with `$mode`; `Makefile.PL` for `Win32::TieRegistry`; added dm_date script.
- Time zone fixes: fixed non-English Windows; tzdata 2009b.
- Test fixes: reduced precision for long double.

### VERSION 6.04 (2009-11-25)
- Bug fixes: events not interpreted in correct timezone with SetDate/ForceDate.

### VERSION 6.03 (2009-11-24)
- Bug fixes: corrected backward incompatibility with `UnixDate`.

### VERSION 6.02 (2009-11-24)
- Bug fixes: disabled `curr_zone_methods` under taint checking.
- Test fixes: ensured tests run correctly in other timezones.

### VERSION 6.01 (2009-11-23)
- **(*)** Fixed bug where SetDate/ForceDate caused wrong timezone.

### VERSION 6.00 (2009-11-23)
- First release of 6.xx series.
- **(*)** Massive reorganization and near total rewrite.
- **(*)** Broke into several smaller modules.
- **(*)** Full timezone support (tzdata 2009s).
- New features: `ForceDate` config variable, languages converted to YAML, better delta formats, `SetDate` config variable, `parse_format`.
- Several config variables deprecated.
- Bug fixes: YYtoYYYY, VMS `date` command, New Year's Day recurrence.
- Language fixes: Turkish, Dutch.

## See Also
- [Date::Manip](http://localhost/phpMan.php/perldoc/Date%3A%3AManip/markdown) — main module documentation

## Bugs and Questions
Please refer to the [Date::Manip::Problems](http://localhost/phpMan.php/perldoc/Date%3A%3AManip%3A%3AProblems/markdown) documentation for information on submitting bug reports or questions to the author.

## License
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## Author
Sullivan Beck (<sbeck@cpan.org>)