messydates 0.5.4
Coercion
- Improved how as_messydates()handles text with dates in
American format, e.g. October 10, 2010 (fixes #86)
messydates 0.5.3
Components
- Improved year()to be faster and work on durations
- Improved precision()
- precision()is now a S3 generic, dispatching to- precision.mdate()
- precision.mdate()now returns the inverse of the
previous measure, meaning maximising precision makes more sense
 
messydates 0.5.2
Package
- Moved mreport()to{manydata}
- Consolidated and renamed scripts internally
Coerce to
- Fixed pkgdown#2855 by fixing how as_messydate methods interpret
infinite dates
- Fixed time zone defaults in as.POSIXct.mdate()andas.POSIXlt.mdate()
- Fixed set bug in validate_messydate()
Coerce from
- Renamed as.numeric()toas.double()to fix
S3 dispatching
- Separated extrema functions into min.mdate()andmax.mdate()for summaries andvmin.mdate()andvmax.mdate()for vector coercion
- Separated tendency functions into mean.mdate(),median.mdate(), andmodal.mdate()for
summaries andvmean.mdate(),vmedian.mdate(),
andvmodal.mdate()for vector coercion
- Vector coercion previously in random.mdate()now invrandom.mdate()
- Improved how coercion/resolution functions handle BCE dates
Manipulation
- Fixed how precision()calculates precision
messydates 0.5.1
Package
- Fixed redirected url in README
- Fixed pkgdown help links
messydates 0.5.0
Package
- Dropped the vignettes as they were ‘outdated’
- Dropped a number of tests to provide rapid testing framework
- Dropped {tibble}dependency by just using{dplyr}
- Updated Github workflows
- Updated testthat to version 3, tests now run in parallel
- Updated pkgdown to bootstrap 5
- Updated DESCRIPTION with config packages
Functions
- Moved from {stringr}to{stringi}for
speed
- Added as.numeric.mdate()andas_messydate.numeric()for coercing between messydates and
numbers (closes #85)
- Added seq.mdate()for creating sequences from one or
two messydates
- This includes correct sequences for leap years and historical dates
including before the common era
 
- Added is_bce()for testing whether dates are from
before the common era
- Added stri_squish()helper for trimming white space
everywhere
- Improved c.mdate()so that it will strip class from anmdateobject, as expected
- Improved is_uncertain()andis_approximate()so that they also recognise%annotations
- Improved min.mdate(),max.mdate(), andmodal.mdate()to avoid usingexpand()and
consequently run much faster
- Improved min.mdate(),max.mdate(),modal.mdate(),mean.mdate(),median.mdate(), andrandom.mdate()by addingrecursiveargument for resolving vectors down to a
scalar
- Fixed bug in messyduration.mdate()where the minimum of
an underspecified later date was used
- Fixed bug in as_messydate()where zero padding for
early dates was not added correctly
messydates 0.4.1
Package
- The package now depends on R versions bigger or equal to 4.0 since
functions for subsetting and comparing ‘mdate’ objects rely on functions
introduced in that version
Functions
- Closed #83 by fixing how logical comparisons works for negative and
year only dates
messydates 0.4.0
Functions
- Closed #46 by adding the mdates_durationclass that
introduces methods to annotate a duration or period with representations
of its uncertainty
- Closed #72 by fixing issues with double unspecified components not
being contracted correctly
- Closed #73 by fixing bugs with the conversion of dates where month
is spelled
- Closed #74 and #82 by adding other logical comparison operators for
‘mdate’ objects (e.g. <,>,<=,>=) (thanks @WerthPADOH)
- Closed #76 by adding proportional operators that calculate the
proportion of messy dates meeting logical tests (e.g. %l%%le%,%g%,%ge%,%><%,%>=<%)
- Closed #77 by adding basic vector methods for subsetting and data
frames (thanks @WerthPADOH)
- Added alias function mdate()foras_messydate()
- Renamed set family of functions to work as operators
(i.e. %intersect%and%union%)
- Replaced is_element()byis_subset()for
clarity and consistency
- Closed #80 by updating make_messydates()function to
also construct ranges of dates
messydates 0.3.5
Functions
- Updated how contract()function checks if ‘mdate’
object has been expanded
messydates 0.3.4
Package
- Updated ‘battles’ internal data
- Corrected issues with zero padding for certain date ranges
- Added ‘US_party’ and ‘N_actors’ additional variables for replication
purposes
 
Functions
- Closed #68 by updating as_messydate()function
- Fixed bugs with zero padding for ranges of dates
- Fixed bugs with the re-ordering of months and day components for
incorrectly specified dates
 
- Closed #69 by updating contract()function to ‘expand’
dates before ‘contracting’ them
- Updated expand()function to handle, and properly
convert, date objects that are not ‘mdate’
messydates 0.3.3
Package
- Moved cheatsheet.pdf to ‘inst’ folder instead of the ‘man’
folder
messydates 0.3.2
Package
- Closed #64 by updating failing tests to test for other aspects
instead of the printing of negative dates across OS
- Closed #65 by updating cheatsheet for new package changes
Functions
- Closed #62 by adding “resequence” as an argument to
as_messydates()for explicit date format conversion, if
necessary
- Closed #63 by fixing issues with unnecessary white spaces added in
date conversion
messydates 0.3.1
Package
- Updated README by removing unattractive package startup
messages
- Updated battlesdata by adding ‘parties’ variable
Functions
- Closed #54 by adding new mreport()function to properly
report on data containing ‘mdate’ variables
- Updated expand()function
- Fixed bug with the expansion of approximate dates
- Removed unnecessary function message
 
messydates 0.3.0
Package
- Closed #51 by changing object class name to mdate
- Note that this is a breaking change
 
- Closed #41 by creating {skimr}template formdateclass
Functions
- Updated coercion to messy dates
- Closed #26 by adding “resequence” argument to
as_messydate()allowing users to choose component order of
ambiguous dates
- Closed #45 by improving how as_messydate()re-orders 6
digit date components if necessary
- Closed #48 by adding zero padding incomplete date ranges and sets of
dates
- Updated as_messydate()to also extract dates from text
strings
 
- Added is_precise()function that provides a logical
test for precise dates
- Updated messy dates expansion
- Updated expand()to allow for the expansion of
incomplete date ranges and sets of dates
- Closed #49 by updating resolve functions to only expand dates if
they are not precise
 
messydates 0.2.1
Package
- Added a vignette for working with the {messydates}package
Functions
- Closed #9 by adding arithmetic operations for working with
messydtobjects
- Added S3 methods for “+” and “-” operators
- Added add()andsubtract()helper
functions for arithmetic operations
 
- Updated expand()function
- Closed #31 by updating how approximate dates are expanded to account
for leap years
- Closed #34 by updating expand()to manage negative
dates
- Added expand_negative_dates()helper function for
expanding ranges of negative dates
 
- Updated functions that coerce from messydtobjects toDateto manage negative dates
- Added negative_dates()helper function to coerce
negativemessydtdates
 
- Closed #39 by updating how resolve mean methods work for negative
dates
- Closed #40 by updating contract function to manage the contraction
of negative dates
- Added compact_negative_dates()helper function to
compact negative date ranges
- Added is.sequence()as a helper function to check if
dates are a range
 
- Updated resequence script to export interleave()function
messydates 0.2.0
Package
- Added PANARCHIC project details to README file
- Added cheatsheet
- Added a new CSS style to website and updated functions
displayed
- Addressed workflow actions issues
- Updated pushrelease.yml workflow actions file to stop installing
{messydates}from Github
- Updated README file to stop installing {messydates}from Github
 
- Fixed Codecov test coverage URL on README file for CRAN
submission
Functions
- Expanded on messydates checks for class validity
- Fixed bugs for make_messydate()
- Added annotation functions and standardized annotation so that it is
consistent with ISO2019E standards.
- on_or_before()
- on_or_after()
- as_approximate()
- as_uncertain()(includes discrimination between month
uncertainty and day and month uncertainty)
 
- Updated as_messydate()by adding zero padding for
month, day or year
- Updated resequence()to work consistently with
messydate objects
- Updated expand()function to expand imprecise,
unspecified, approximate, uncertain, and negative dates according to
approximate ranges and added tests
- Updated precision()to return the lengths of expanded
dates
- Updated median()in resolve family of functions to work
with changes toexpand()
- Added tests for functions
- Added tests for expand()
- Added tests for contract()
- Added tests for precision()
- Added tests for coerce_from_messydate()
 
messydates 0.1.1
Package
- Updated README with some more explanation about what the package
does/offers
- Fixed URL to the package website
messydates 0.1.0
Package
- Updated call to messydtclass in DESCRIPTION file
Functions
- Updated documentation for as_messydate()functions
- Updated documentation for expand()function
- Updated documentation for resolve family of functions
- Updated documentation for coerce from family of functions
- Updated documentation for coerce to family of functions
messydates 0.0.1
Package
- Setup {messydates}package
- Added DESCRIPTIONfile
- Added Rfolder
- Added LICENSEfile
- Added NAMESPACEfile
- Added NEWSfile
- Added READMEfiles
- Added .githubfolder and files
- Added testsfolder and files
 
- Setup pkgdown website
- Added package logo
Functions
- Added a new messydtclass which follows the latest ISO
8601 (2019) standards
- Added validation checks for messydt class
- Added print methods for messydt class
 
- Added as_messydate()function to coerce from date
objects to messydate
- as_messydate()standardises date order, separators and
ambiguity
- Added date class coercion
- Added POSIXct class coercion
- Added POSIXlt class coercion
- Added character class coercion
 
- Added functions to coerce from messydate objects to other date
classes
- Added as.Date.messydt()for coercing to date class
- Added as.POSIXct.messydt()for coercing to POSIXct
class
- Added as.POSIXlt.messydt()for coercing to POSIXlt
class
 
- Added expand()function for expanding ranged and
uncertain dates
- Added functions to resolve expanded dates
- Added min.messydt()to get minimum value from expanded
range
- Added max.messydt()to get maximum value from expanded
range
- Added median.messydt()to get median value from
expanded range
- Added mean.messydt()to get mean value from expanded
range
- Added modal.messydt()to get mode value from expanded
range
 
- Added contract()function for contracting expanded
dates
- Added extract functions to get particular date components
- Added year()to extract year from date
- Added month()to extract month from date
- Added day()to extract day from date
 
- Added make_messydate()function to get messy dates from
multiple columns
- Added set functions for operations in sets of messy dates
- Added md_intersect()to find intersection of sets of
messy dates
- Added md_union()to find union of sets of messy
dates
- Added md_multiset()to join two sets of messy
dates
 
- Added logical function for various logical tests for messy date
objects
- Added is_messydate()to test for messydt class
- Added is_intersecting()to test if dates intersect
- Added is_element()to test for multiple elements in
dates
- Added is_similar()to test for similarities in
dates
 
- Added tests for new functions
- Added tests for messydt class and às_messydate()function
- Added tests for coerce from messy dates functions
- Added tests for coerce to messy dates functions
- Added tests for contract()function
- Added tests for expand()function
- Added tests for extract functions
- Added tests for make_messydate()function
- Added tests for resolve functions
- Added tests for set functions