• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1ChangeLog for Chrono
2====================
3
4This documents notable changes to [Chrono](https://github.com/chronotope/chrono)
5up to and including version 0.4.19. For later releases, please review the
6release notes on [GitHub](https://github.com/chronotope/chrono/releases).
7
8## 0.4.19
9
10* Correct build on solaris/illumos
11
12## 0.4.18
13
14* Restore support for x86_64-fortanix-unknown-sgx
15
16## 0.4.17
17
18* Fix a name resolution error in wasm-bindgen code introduced by removing the dependency on time
19  v0.1
20
21## 0.4.16
22
23### Features
24
25* Add %Z specifier to the `FromStr`, similar to the glibc strptime
26  (does not set the offset from the timezone name)
27
28* Drop the dependency on time v0.1, which is deprecated, unless the `oldtime`
29  feature is active. This feature is active by default in v0.4.16 for backwards
30  compatibility, but will likely be removed in v0.5. Code that imports
31  `time::Duration` should be switched to import `chrono::Duration` instead to
32  avoid breakage.
33
34## 0.4.15
35
36### Fixes
37
38* Correct usage of vec in specific feature combinations (@quodlibetor)
39
40## 0.4.14 **YANKED**
41
42### Features
43
44* Add day and week iterators for `NaiveDate` (@gnzlbg & @robyoung)
45* Add a `Month` enum (@hhamana)
46* Add `locales`. All format functions can now use locales, see the documentation for the
47  `unstable-locales` feature.
48* Fix `Local.from_local_datetime` method for wasm
49
50### Improvements
51
52* Added MIN and MAX values for `NaiveTime`, `NaiveDateTime` and `DateTime<Utc>`.
53
54## 0.4.13
55
56### Features
57
58* Add `DurationRound` trait that allows rounding and truncating by `Duration` (@robyoung)
59
60### Internal Improvements
61
62* Code improvements to impl `From` for `js_sys` in wasm to reuse code (@schrieveslaach)
63
64## 0.4.12
65
66### New Methods and impls
67
68* `Duration::abs` to ensure that a duration is just a magnitude (#418 @abreis).
69
70### Compatibility improvements
71
72* impl `From` for `js_sys` in wasm (#424 @schrieveslaach)
73* Bump required version of `time` for redox support.
74
75### Bugfixes
76
77* serde modules do a better job with `Option` types (#417 @mwkroening and #429
78  @fx-kirin)
79* Use js runtime when using wasmbind to get the local offset (#412
80  @quodlibetor)
81
82### Internal Improvements
83
84* Migrate to github actions from travis-ci, make the overall CI experience more comprehensible,
85  significantly faster and more correct (#439 @quodlibetor)
86
87## 0.4.11
88
89### Improvements
90
91* Support a space or `T` in `FromStr` for `DateTime<Tz>`, meaning that e.g.
92  `dt.to_string().parse::<DateTime<Utc>>()` now correctly works on round-trip.
93  (@quodlibetor in #378)
94* Support "negative UTC" in `parse_from_rfc2822` (@quodlibetor #368 reported in
95  #102)
96* Support comparisons of DateTimes with different timezones (@dlalic in #375)
97* Many documentation improvements
98
99### Bitrot and external integration fixes
100
101* Don't use wasmbind on wasi (@coolreader18 #365)
102* Avoid deprecation warnings for `Error::description` (@AnderEnder and
103  @quodlibetor #376)
104
105### Internal improvements
106
107* Use Criterion for benchmarks (@quodlibetor)
108
109## 0.4.10
110
111### Compatibility notes
112
113* Putting some functionality behind an `alloc` feature to improve no-std
114  support (in #341) means that if you were relying on chrono with
115  `no-default-features` *and* using any of the functions that require alloc
116  support (i.e. any of the string-generating functions like `to_rfc3339`) you
117  will need to add the `alloc` feature in your Cargo.toml.
118
119### Improvements
120
121* `DateTime::parse_from_str` is more than 2x faster in some cases. (@michalsrb
122  #358)
123* Significant improvements to no-std and alloc support (This should also make
124  many format/serialization operations induce zero unnecessary allocations)
125  (@CryZe #341)
126
127### Features
128
129* Functions that were accepting `Iterator` of `Item`s (for example
130  `format_with_items`) now accept `Iterator` of `Borrow<Item>`, so one can
131  use values or references. (@michalsrb #358)
132* Add built-in support for structs with nested `Option<Datetime>` etc fields
133  (@manifest #302)
134
135### Internal/doc improvements
136
137* Use markdown footnotes on the `strftime` docs page (@qudlibetor #359)
138* Migrate from `try!` -> `?` (question mark) because it is now emitting
139  deprecation warnings and has been stable since rustc 1.13.0
140* Deny dead code
141
142## 0.4.9
143
144### Fixes
145
146* Make Datetime arithmatic adjust their offsets after discovering their new
147  timestamps (@quodlibetor #337)
148* Put wasm-bindgen related code and dependencies behind a `wasmbind` feature
149  gate. (@quodlibetor #335)
150
151## 0.4.8
152
153### Fixes
154
155* Add '0' to single-digit days in rfc2822 date format (@wyhaya #323)
156* Correctly pad DelayedFormat (@SamokhinIlya #320)
157
158### Features
159
160* Support `wasm-unknown-unknown` via wasm-bindgen (in addition to
161  emscripten/`wasm-unknown-emscripten`). (finished by @evq in #331, initial
162  work by @jjpe #287)
163
164## 0.4.7
165
166### Fixes
167
168* Disable libc default features so that CI continues to work on rust 1.13
169* Fix panic on negative inputs to timestamp_millis (@cmars #292)
170* Make `LocalResult` `Copy/Eq/Hash`
171
172### Features
173
174* Add `std::convert::From` conversions between the different timezone formats
175  (@mqudsi #271)
176* Add `timestamp_nanos` methods (@jean-airoldie #308)
177* Documentation improvements
178
179## 0.4.6
180
181### Maintenance
182
183* Doc improvements -- improve README CI verification, external links
184* winapi upgrade to 0.3
185
186## Unreleased
187
188### Features
189
190* Added `NaiveDate::from_weekday_of_month{,_opt}` for getting eg. the 2nd Friday of March 2017.
191
192## 0.4.5
193
194### Features
195
196* Added several more serde deserialization helpers (@novacrazy #258)
197* Enabled all features on the playground (@davidtwco #267)
198* Derive `Hash` on `FixedOffset` (@LuoZijun #254)
199* Improved docs (@storyfeet #261, @quodlibetor #252)
200
201## 0.4.4
202
203### Features
204
205* Added support for parsing nanoseconds without the leading dot (@emschwartz #251)
206
207## 0.4.3
208
209### Features
210
211* Added methods to DateTime/NaiveDateTime to present the stored value as a number
212  of nanoseconds since the UNIX epoch (@harkonenbade #247)
213* Added a serde serialise/deserialise module for nanosecond timestamps. (@harkonenbade #247)
214* Added "Permissive" timezone parsing which allows a numeric timezone to
215  be specified without minutes. (@quodlibetor #242)
216
217## 0.4.2
218
219### Deprecations
220
221* More strongly deprecate RustcSerialize: remove it from documentation unless
222  the feature is enabled, issue a deprecation warning if the rustc-serialize
223  feature is enabled (@quodlibetor #174)
224
225### Features
226
227* Move all uses of the system clock behind a `clock` feature, for use in
228  environments where we don't have access to the current time. (@jethrogb #236)
229* Implement subtraction of two `Date`s, `Time`s, or `DateTime`s, returning a
230  `Duration` (@tobz1000 #237)
231
232## 0.4.1
233
234### Bug Fixes
235
236* Allow parsing timestamps with subsecond precision (@jonasbb)
237* RFC2822 allows times to not include the second (@upsuper)
238
239### Features
240
241* New `timestamp_millis` method on `DateTime` and `NaiveDateTim` that returns
242  number of milliseconds since the epoch. (@quodlibetor)
243* Support exact decimal width on subsecond display for RFC3339 via a new
244  `to_rfc3339_opts` method on `DateTime` (@dekellum)
245* Use no_std-compatible num dependencies (@cuviper)
246* Add `SubsecRound` trait that allows rounding to the nearest second
247  (@dekellum)
248
249### Code Hygiene and Docs
250
251* Docs! (@alatiera @kosta @quodlibetor @kennytm)
252* Run clippy and various fixes (@quodlibetor)
253
254## 0.4.0 (2017-06-22)
255
256This was originally planned as a minor release but was pushed to a major
257release due to the compatibility concern raised.
258
259### Added
260
261- `IsoWeek` has been added for the ISO week without time zone.
262
263- The `+=` and `-=` operators against `time::Duration` are now supported for
264  `NaiveDate`, `NaiveTime` and `NaiveDateTime`. (#99)
265
266  (Note that this does not invalidate the eventual deprecation of `time::Duration`.)
267
268- `SystemTime` and `DateTime<Tz>` types can be now converted to each other via `From`.
269  Due to the obvious lack of time zone information in `SystemTime`,
270  the forward direction is limited to `DateTime<Utc>` and `DateTime<Local>` only.
271
272### Changed
273
274- Intermediate implementation modules have been flattened (#161),
275  and `UTC` has been renamed to `Utc` in accordance with the current convention (#148).
276
277  The full list of changes is as follows:
278
279  Before                                   | After
280  ---------------------------------------- | ----------------------------
281  `chrono::date::Date`                     | `chrono::Date`
282  `chrono::date::MIN`                      | `chrono::MIN_DATE`
283  `chrono::date::MAX`                      | `chrono::MAX_DATE`
284  `chrono::datetime::DateTime`             | `chrono::DateTime`
285  `chrono::naive::time::NaiveTime`         | `chrono::naive::NaiveTime`
286  `chrono::naive::date::NaiveDate`         | `chrono::naive::NaiveDate`
287  `chrono::naive::date::MIN`               | `chrono::naive::MIN_DATE`
288  `chrono::naive::date::MAX`               | `chrono::naive::MAX_DATE`
289  `chrono::naive::datetime::NaiveDateTime` | `chrono::naive::NaiveDateTime`
290  `chrono::offset::utc::UTC`               | `chrono::offset::Utc`
291  `chrono::offset::fixed::FixedOffset`     | `chrono::offset::FixedOffset`
292  `chrono::offset::local::Local`           | `chrono::offset::Local`
293  `chrono::format::parsed::Parsed`         | `chrono::format::Parsed`
294
295  With an exception of `Utc`, this change does not affect any direct usage of
296  `chrono::*` or `chrono::prelude::*` types.
297
298- `Datelike::isoweekdate` is replaced by `Datelike::iso_week` which only returns the ISO week.
299
300  The original method used to return a tuple of year number, week number and day of the week,
301  but this duplicated the `Datelike::weekday` method and it had been hard to deal with
302  the raw year and week number for the ISO week date.
303  This change isolates any logic and API for the week date into a separate type.
304
305- `NaiveDateTime` and `DateTime` can now be deserialized from an integral UNIX timestamp. (#125)
306
307  This turns out to be very common input for web-related usages.
308  The existing string representation is still supported as well.
309
310- `chrono::serde` and `chrono::naive::serde` modules have been added
311  for the serialization utilities. (#125)
312
313  Currently they contain the `ts_seconds` modules that can be used to
314  serialize `NaiveDateTime` and `DateTime` values into an integral UNIX timestamp.
315  This can be combined with Serde's `[de]serialize_with` attributes
316  to fully support the (de)serialization to/from the timestamp.
317
318  For rustc-serialize, there are separate `chrono::TsSeconds` and `chrono::naive::TsSeconds` types
319  that are newtype wrappers implementing different (de)serialization logics.
320  This is a suboptimal API, however, and it is strongly recommended to migrate to Serde.
321
322### Fixed
323
324- The major version was made to fix the broken Serde dependency issues. (#146, #156, #158, #159)
325
326  The original intention to technically break the dependency was
327  to facilitate the use of Serde 1.0 at the expense of temporary breakage.
328  Whether this was appropriate or not is quite debatable,
329  but it became clear that there are several high-profile crates requiring Serde 0.9
330  and it is not feasible to force them to use Serde 1.0 anyway.
331
332  To the end, the new major release was made with some known lower-priority breaking changes.
333  0.3.1 is now yanked and any remaining 0.3 users can safely roll back to 0.3.0.
334
335- Various documentation fixes and goodies. (#92, #131, #136)
336
337## 0.3.1 (2017-05-02)
338
339### Added
340
341- `Weekday` now implements `FromStr`, `Serialize` and `Deserialize`. (#113)
342
343  The syntax is identical to `%A`, i.e. either the shortest or the longest form of English names.
344
345### Changed
346
347- Serde 1.0 is now supported. (#142)
348
349  This is technically a breaking change because Serde 0.9 and 1.0 are not compatible,
350  but this time we decided not to issue a minor version because
351  we have already seen Serde 0.8 and 0.9 compatibility problems even after 0.3.0 and
352  a new minor version turned out to be not very helpful for this kind of issues.
353
354### Fixed
355
356- Fixed a bug that the leap second can be mapped wrongly in the local time zone.
357  Only occurs when the local time zone is behind UTC. (#130)
358
359## 0.3.0 (2017-02-07)
360
361The project has moved to the [Chronotope](https://github.com/chronotope/) organization.
362
363### Added
364
365- `chrono::prelude` module has been added. All other glob imports are now discouraged.
366
367- `FixedOffset` can be added to or subtracted from any timelike types.
368
369    - `FixedOffset::local_minus_utc` and `FixedOffset::utc_minus_local` methods have been added.
370      Note that the old `Offset::local_minus_utc` method is gone; see below.
371
372- Serde support for non-self-describing formats like Bincode is added. (#89)
373
374- Added `Item::Owned{Literal,Space}` variants for owned formatting items. (#76)
375
376- Formatting items and the `Parsed` type have been slightly adjusted so that
377  they can be internally extended without breaking any compatibility.
378
379- `Weekday` is now `Hash`able. (#109)
380
381- `ParseError` now implements `Eq` as well as `PartialEq`. (#114)
382
383- More documentation improvements. (#101, #108, #112)
384
385### Changed
386
387- Chrono now only supports Rust 1.13.0 or later (previously: Rust 1.8.0 or later).
388
389- Serde 0.9 is now supported.
390  Due to the API difference, support for 0.8 or older is discontinued. (#122)
391
392- Rustc-serialize implementations are now on par with corresponding Serde implementations.
393  They both standardize on the `std::fmt::Debug` textual output.
394
395  **This is a silent breaking change (hopefully the last though).**
396  You should be prepared for the format change if you depended on rustc-serialize.
397
398- `Offset::local_minus_utc` is now `Offset::fix`, and returns `FixedOffset` instead of a duration.
399
400  This makes every time zone operation operate within a bias less than one day,
401  and vastly simplifies many logics.
402
403- `chrono::format::format` now receives `FixedOffset` instead of `time::Duration`.
404
405- The following methods and implementations have been renamed and older names have been *removed*.
406  The older names will be reused for the same methods with `std::time::Duration` in the future.
407
408    - `checked_*` → `checked_*_signed` in `Date`, `DateTime`, `NaiveDate` and `NaiveDateTime` types
409
410    - `overflowing_*` → `overflowing_*_signed` in the `NaiveTime` type
411
412    - All subtraction implementations between two time instants have been moved to
413      `signed_duration_since`, following the naming in `std::time`.
414
415### Fixed
416
417- Fixed a panic when the `Local` offset receives a leap second. (#123)
418
419### Removed
420
421- Rustc-serialize support for `Date<Tz>` types and all offset types has been dropped.
422
423  These implementations were automatically derived and never had been in a good shape.
424  Moreover there are no corresponding Serde implementations, limiting their usefulness.
425  In the future they may be revived with more complete implementations.
426
427- The following method aliases deprecated in the 0.2 branch have been removed.
428
429    - `DateTime::num_seconds_from_unix_epoch` (→ `DateTime::timestamp`)
430    - `NaiveDateTime::from_num_seconds_from_unix_epoch` (→ `NaiveDateTime::from_timestamp`)
431    - `NaiveDateTime::from_num_seconds_from_unix_epoch_opt` (→ `NaiveDateTime::from_timestamp_opt`)
432    - `NaiveDateTime::num_seconds_unix_epoch` (→ `NaiveDateTime::timestamp`)
433
434- Formatting items are no longer `Copy`, except for `chrono::format::Pad`.
435
436- `chrono::offset::add_with_leapsecond` has been removed.
437  Use a direct addition with `FixedOffset` instead.
438
439## 0.2.25 (2016-08-04)
440
441This is the last version officially supports Rust 1.12.0 or older.
442
443(0.2.24 was accidentally uploaded without a proper check for warnings in the default state,
444and replaced by 0.2.25 very shortly. Duh.)
445
446### Added
447
448- Serde 0.8 is now supported. 0.7 also remains supported. (#86)
449
450### Fixed
451
452- The deserialization implementation for rustc-serialize now properly verifies the input.
453  All serialization codes are also now thoroughly tested. (#42)
454
455## 0.2.23 (2016-08-03)
456
457### Added
458
459- The documentation was greatly improved for several types,
460  and tons of cross-references have been added. (#77, #78, #80, #82)
461
462- `DateTime::timestamp_subsec_{millis,micros,nanos}` methods have been added. (#81)
463
464### Fixed
465
466- When the system time records a leap second,
467  the nanosecond component was mistakenly reset to zero. (#84)
468
469- `Local` offset misbehaves in Windows for August and later,
470  due to the long-standing libtime bug (dates back to mid-2015).
471  Workaround has been implemented. (#85)
472
473## 0.2.22 (2016-04-22)
474
475### Fixed
476
477- `%.6f` and `%.9f` used to print only three digits when the nanosecond part is zero. (#71)
478- The documentation for `%+` has been updated to reflect the current status. (#71)
479
480## 0.2.21 (2016-03-29)
481
482### Fixed
483
484- `Fixed::LongWeekdayName` was unable to recognize `"sunday"` (whoops). (#66)
485
486## 0.2.20 (2016-03-06)
487
488### Changed
489
490- `serde` dependency has been updated to 0.7. (#63, #64)
491
492## 0.2.19 (2016-02-05)
493
494### Added
495
496- The documentation for `Date` is made clear about its ambiguity and guarantees.
497
498### Fixed
499
500- `DateTime::date` had been wrong when the local date and the UTC date is in disagreement. (#61)
501
502## 0.2.18 (2016-01-23)
503
504### Fixed
505
506- Chrono no longer pulls a superfluous `rand` dependency. (#57)
507
508## 0.2.17 (2015-11-22)
509
510### Added
511
512- Naive date and time types and `DateTime` now have a `serde` support.
513  They serialize as an ISO 8601 / RFC 3339 string just like `Debug`. (#51)
514
515## 0.2.16 (2015-09-06)
516
517### Added
518
519- Added `%.3f`, `%.6f` and `%.9f` specifier for formatting fractional seconds
520  up to 3, 6 or 9 decimal digits. This is a natural extension to the existing `%f`.
521  Note that this is (not yet) generic, no other value of precision is supported. (#45)
522
523### Changed
524
525- Forbade unsized types from implementing `Datelike` and `Timelike`.
526  This does not make a big harm as any type implementing them should be already sized
527  to be practical, but this change still can break highly generic codes. (#46)
528
529### Fixed
530
531- Fixed a broken link in the `README.md`. (#41)
532
533## 0.2.15 (2015-07-05)
534
535### Added
536
537- Padding modifiers `%_?`, `%-?` and `%0?` are implemented.
538  They are glibc extensions which seem to be reasonably widespread (e.g. Ruby).
539
540- Added `%:z` specifier and corresponding formatting items
541  which is essentially the same as `%z` but with a colon.
542
543- Added a new specifier `%.f` which precision adapts from the input.
544  This was added as a response to the UX problems in the original nanosecond specifier `%f`.
545
546### Fixed
547
548- `Numeric::Timestamp` specifier (`%s`) was ignoring the time zone offset when provided.
549
550- Improved the documentation and associated tests for `strftime`.
551
552## 0.2.14 (2015-05-15)
553
554### Fixed
555
556- `NaiveDateTime +/- Duration` or `NaiveTime +/- Duration` could have gone wrong
557  when the `Duration` to be added is negative and has a fractional second part.
558  This was caused by an underflow in the conversion from `Duration` to the parts;
559  the lack of tests for this case allowed a bug. (#37)
560
561## 0.2.13 (2015-04-29)
562
563### Added
564
565- The optional dependency on `rustc_serialize` and
566  relevant `Rustc{En,De}codable` implementations for supported types has been added.
567  This is enabled by the `rustc-serialize` Cargo feature. (#34)
568
569### Changed
570
571- `chrono::Duration` reexport is changed to that of crates.io `time` crate.
572  This enables Rust 1.0 beta compatibility.
573
574## 0.2.4 (2015-03-03)
575
576### Fixed
577
578- Clarified the meaning of `Date<Tz>` and fixed unwanted conversion problem
579  that only occurs with positive UTC offsets. (#27)
580
581## 0.2.3 (2015-02-27)
582
583### Added
584
585- `DateTime<Tz>` and `Date<Tz>` is now `Copy`/`Send` when `Tz::Offset` is `Copy`/`Send`.
586  The implementations for them were mistakenly omitted. (#25)
587
588### Fixed
589
590- `Local::from_utc_datetime` didn't set a correct offset. (#26)
591
592## 0.2.1 (2015-02-21)
593
594### Changed
595
596- `DelayedFormat` no longer conveys a redundant lifetime.
597
598## 0.2.0 (2015-02-19)
599
600### Added
601
602- `Offset` is splitted into `TimeZone` (constructor) and `Offset` (storage) types.
603  You would normally see only the former, as the latter is mostly an implementation detail.
604  Most importantly, `Local` now can be used to directly construct timezone-aware values.
605
606  Some types (currently, `UTC` and `FixedOffset`) are both `TimeZone` and `Offset`,
607  but others aren't (e.g. `Local` is not what is being stored to each `DateTime` values).
608
609- `LocalResult::map` convenience method has been added.
610
611- `TimeZone` now allows a construction of `DateTime` values from UNIX timestamp,
612  via `timestamp` and `timestamp_opt` methods.
613
614- `TimeZone` now also has a method for parsing `DateTime`, namely `datetime_from_str`.
615
616- The following methods have been added to all date and time types:
617
618    - `checked_add`
619    - `checked_sub`
620    - `format_with_items`
621
622- The following methods have been added to all timezone-aware types:
623
624    - `timezone`
625    - `with_timezone`
626    - `naive_utc`
627    - `naive_local`
628
629- `parse_from_str` method has been added to all naive types and `DateTime<FixedOffset>`.
630
631- All naive types and instances of `DateTime` with time zones `UTC`, `Local` and `FixedOffset`
632  implement the `FromStr` trait. They parse what `std::fmt::Debug` would print.
633
634- `chrono::format` has been greatly rewritten.
635
636    - The formatting syntax parser is modular now, available at `chrono::format::strftime`.
637
638    - The parser and resolution algorithm is also modular, the former is available at
639      `chrono::format::parse` while the latter is available at `chrono::format::parsed`.
640
641    - Explicit support for RFC 2822 and 3339 syntaxes is landed.
642
643    - There is a minor formatting difference with atypical values,
644      e.g. for years not between 1 BCE and 9999 CE.
645
646### Changed
647
648- Most uses of `Offset` are converted to `TimeZone`.
649  In fact, *all* user-facing code is expected to be `Offset`-free.
650
651- `[Naive]DateTime::*num_seconds_from_unix_epoch*` methods have been renamed to
652  simply `timestamp` or `from_timestamp*`. The original names have been deprecated.
653
654### Removed
655
656- `Time` has been removed. This also prompts a related set of methods in `TimeZone`.
657
658  This is in principle possible, but in practice has seen a little use
659  because it can only be meaningfully constructed via an existing `DateTime` value.
660  This made many operations to `Time` unintuitive or ambiguous,
661  so we simply let it go.
662
663  In the case that `Time` is really required, one can use a simpler `NaiveTime`.
664  `NaiveTime` and `NaiveDate` can be freely combined and splitted,
665  and `TimeZone::from_{local,utc}_datetime` can be used to convert from/to the local time.
666
667- `with_offset` method has been removed. Use `with_timezone` method instead.
668  (This is not deprecated since it is an integral part of offset reform.)
669
670## 0.1.14 (2015-01-10)
671
672### Added
673
674- Added a missing `std::fmt::String` impl for `Local`.
675
676## 0.1.13 (2015-01-10)
677
678### Changed
679
680- Most types now implement both `std::fmt::Show` and `std::fmt::String`,
681  with the former used for the stricter output and the latter used for more casual output.
682
683### Removed
684
685- `Offset::name` has been replaced by a `std::fmt::String` implementation to `Offset`.
686
687## 0.1.12 (2015-01-08)
688
689### Removed
690
691- `Duration + T` no longer works due to the updated impl reachability rules.
692  Use `T + Duration` as a workaround.
693
694## 0.1.4 (2014-12-13)
695
696### Fixed
697
698- Fixed a bug that `Date::and_*` methods with an offset that can change the date are
699  off by one day.
700
701## 0.1.3 (2014-11-28)
702
703### Added
704
705- `{Date,Time,DateTime}::with_offset` methods have been added.
706
707- `LocalResult` now implements a common set of traits.
708
709- `LocalResult::and_*` methods have been added.
710  They are useful for safely chaining `LocalResult<Date<Off>>` methods
711  to make `LocalResult<DateTime<Off>>`.
712
713### Changed
714
715- `Offset::name` now returns `SendStr`.
716
717- `{Date,Time} - Duration` overloadings are now allowed.
718
719## 0.1.2 (2014-11-24)
720
721### Added
722
723- `Duration + Date` overloading is now allowed.
724
725### Changed
726
727- Chrono no longer needs `num` dependency.
728
729## 0.1.0 (2014-11-20)
730
731The initial version that was available to `crates.io`.
732