Gedcom.pm history
Release 1.22 - 15th November 2019
- Clarify licence in MYMETA files (Tina Müller) (github 25)
Release 1.21 - 14th November 2019
- Add relationship method between two individuals (Nigel Horne) (github 12)
- Fix "flush" output (Dabrien 'Dabe' Murphy) (github 24)
- Modernise infrastructure
- Improve documentation
Release 1.20 - 17th September 2016
- Tidy up Makefile (Alberto Simões) (github 17)
- Correct WebServices version (pauloscustodio) (github 9)
- Fix AGE_AT_EVENT in 5.5.1 grammar (pauloscustodio) (github 8)
- Work around Date::Manip API change (Tudor Constantin) (github 7)
- Don't warn on using user-defined tags (Nigel Horne) (github 16)
- Handle a star at the end of a value (Erin Spiceland) (github 6)
- Validation error when there should be no value (Nigel Horne) (github 13)
Release 1.19 - 18th August 2013
- Allow CONC and CONT on PAGE (Ken Williams) (github 2)
- Make default grammar more lax but also include strict grammar file
- Make Text::Soundex a prerequisite
Release 1.18 - 24th January 2013
- Get dmake on Windows running again
Release 1.17 - 29th December 2012
- Lots of clean-ups (Brian Cassidy)
- POD fixes (Brian Cassidy) (rt 31321)
- Add half-sibling/-brothers/-sisters (Michael H. Ionescu) (github 1)
- Make sex() tolerant of missing information (Michael H. Ionescu) (github 1)
- Select correct grammar when adding items (rt 82196)
- Some doc fixes (rt 76519)
- Change and document method for specifying a top-level xref
- Always use correct grammar for notes (based on code from Jonathan Kamens)
(rt 45391)
- Clean up Makefile.PL (rt 6681)
- Handle UTF-8 encoded files and BOMs (rt 79507)
- Add grammar for version 5.5.1
Release 1.16 - 24th April 2009
- Allow family to be undef in children_statement in lines2perl
- Add basic web services
Release 1.15 - 3rd May 2005
- Update mailing list information
Release 1.14 - 5th April 2004
- Fix the test routine. Oops
- Don't lose the first line of level zero notes
Release 1.13 - 6th December 2003
- Add get_ functions to Gedcom.pm, and some tests for them
- Gedcom::Individual::surname returns "" when no surname is found
- Spell Gedcom::Lifelines::getstrmsg correctly
- Use maniread() to read manifest
- Add Gedcom::Comparison and gedcom_compare (unfinished)
- Add gedcom-5.5.aft.grammar for Ancestry Family Tree (Brad Rubenstein)
Release 1.12 - 2nd February 2003
- Ignore CRLF differences in tests
- Tighten up and improve XML output
- Add some missing functions to lines2perl (John S. Quarterman)
Release 1.11 - 7th April 2002
- Improvements to the algorithm in Gedcom::Grammar::item()
Release 1.10 - 5th March 2002
- Correct write_xml() documentation
- Make Gedcom::Grammar::item() return a list of valid items, not just one
- Pick the correct item from the list returned by Gedcom::Grammar::item()
- Make Gedcom::Individual::given_names() strip and normalise whitespace
- Don't assume another file won't be read while we are reading files by
providing an argument to tell()
- Fix Gedcom::Lifelines::parents()
- Tidy Gedcom::get_individual() and return all matches from all
categories in list context
- Let Gedcom::Item::write() output 0 values correctly
- Let various functions in Gedcom::Record deal with 0 values correctly
- Add a pointer flag to Gedcom::Item along with the corresponding function
- Gedcom::new without a gedcom_file argument will create an empty
Gedcom object with mandatory fields filled in
- Add methods to add, delete and change records
- Add functions to:
Gedcom.pm:
add_record()
add_header()
add_submitter()
add_individual()
add_family()
add_note()
add_repository()
add_source()
add_trailer()
Item.pm:
parent()
delete()
pointer()
Record.pm:
add_record()
add()
set()
get_and_create()
Family.pm:
add_husband()
add_wife()
add_child()
- Add t/ged_create.t
- Change Gedcom::Record::resolve() so that unresolved xrefs do not return
undef in list context
- Establish the convention that SUBM xrefs start with SUBM to avoid
clashes with SOUR
- Some reorganisation of the AUTOLOAD functions
- Add baptism and endowment information as default to Gedcom::CGI::indi()
- Ensure a grammar knows its version number
- Always add headers and trailers to a Gedcom file if necessary
- Change get_individual to return all matching individuals rather than
just those which match in the same category
- A number of fixes to Gedcom::Lifelines.pm, some of which are based on
work by Tim Lanfear
- Update copyright
- A little work on the documentation
- Some general tidying up
- A couple of workarounds for bleadperl bugs that are fixed now
Release 1.09 - 12th February 2001
- Improve XML output especially with respect to notes
- Quieten some spurious warnings
- Fix some bugs reported by users that I don't recall at the moment
- Add index file to speed up read_only option
- Read files with binmode - keeps Windows happy
- Correct line numbers of errors
- Use File::Spec so tests pass under Windows
- Allow for creation of ppms
- Add Gedcom::CGI and cgi-bin/gedcom.cgi
Release 1.08 - 8th May 2000
- Allow xrefs to match .+ instead of \w+\d+
- Make XML output valid
- Allow extra sub-items of a grammar structure
Release 1.07 - 14th March 2000
- Add functions to:
Item.pm:
item()
full_value()
- Get parse_grammar working again
- Add a test for parse_grammar
Release 1.06 - 13th February 2000
- Add functions to:
Item.pm:
get_item()
Record.pm:
record()
get_record()
get_value()
tag_record()
tag_value()
delete_record()
- Deprecate use of Item::get_child() - use Item::get_item() instead
- Deprecate use of Item::get_children() - use Item::get_item() instead
- Deprecate use of Record::child_value() - use Record::tag_value() instead
- Deprecate use of Record::child_values() - use Record::tag_value() instead
- Complete Lifelines::roman() using Roman.pm
- Add check for Roman.pm to Makefile.PL
- Add read_only option for lazy parsing
- Rename ged.vim to gedcom.vim and package it up for inclusion with Vim
- Restructure and abstract away some of the basic tests
- Add tests:
t/Engine.pm
t/Basic.pm
t/read_only.t
t/resolve.t
t/resolve_read_only.t
t/birthdates.t
t/Lines.pm
t/lines.t
t/lines/lines.ll
t/bias.t
t/lines/bias.ll
- Use "item" instaed of "child" to represent Gedcom hierarchies
- Raname Gedcom::Item::add_children() to Gedcom::Item::add_items()
Gedcom::Item::skip_children() Gedcom::Item::skip_items()
Gedcom::Item::delete_child() Gedcom::Item::delete_item()
Gedcom::Item::delete_children() Gedcom::Item::delete_items()
Gedcom::Item::next_record() Gedcom::Item::next_item()
Gedcom::Grammar::child() Gedcom::Grammar::item()
Gedcom::Grammar::children() Gedcom::Grammar::items()
Gedcom::Grammar::valid_children() Gedcom::Grammar::valid_items()
- Allow accessor functions in Gedcom::Item to set data too
- Bless appropriate objects into Gedcom::Event
- Add an experimental write_xml()
- Add tutorial section to documentation
Release 1.05 - 20th July 1999
- Add LifeLines.pm
- Add Event.pm
- Add functions to:
Gedcom.pm:
soundex()
Item.pm:
level()
xref()
tag()
value()
min()
max()
gedcom()
file()
line()
Individual.pm:
name()
cased_name()
surname()
given_names()
soundex()
sex()
older_siblings()
younger_siblings()
Family.pm:
parents()
number_of_children()
- Change most functions in Individual and Family to check wantarray
- Have get_individual check xrefs and soundex
- Fix renumber error - xrefs are now calculated and then changed
- Change basic.t to reflect renumber fix
- Move normalise_dates from Item.pm to Record.pm
- Add AUTOLOAD function to Record.pm to provide access based on tag
name or description
- Change lines2perl to use references to arrays and hashes
- Other major changes to lines2perl to increase functionality
- Change require 5.004 to require 5.005
- Add check for Text/Soundex.pm to Makefile.PL
Release 1.04 - 29th May 1999
- Improve default sort subroutine
- Include mailing list information
- Add lines2perl
- Improve Makefile.PL environment tests
- Work around IO::Handle::input_line_number bug
Release 1.03 - 13th May 1999
- Add Grammar::child() and Grammar::structure()
- Make valid_children more efficient and include min and max information
- Add validate_syntax() to Gedcom::Record.pm
- Rename Record::validate() to Record::validate_semantics()
- Add min(), max() and children() to Gedcom::Grammar.pm
- Add GEDC and SUBM to royal.ged to accommodate validate_syntax()
- Fix bug which prevented writing of @s around xref values
Release 1.02 - 5th May 1999
- Add RIN numbers to royal.ged
- Move test.pl to t/basic.t
- Make basic.t "use Test"
- Add many tests to basic.t
- Add pre-parsed grammar files
- Add grammar target to Makefile.PL
- Add functions to Family.pm and change Individual.pm to use them
- Improve error messages reading top level children
- Change the profile of renumber()
- Internally, remove leading and trailing @ in xrefs
- Change order of renumber() to match documentation
- Get renumber() to call collect_xrefs()
- Add resolve_xref() to Gedcom.pm
- Add next_xref() to Gedcom.pm
- Add unresolve_xrefs() to compliment resolve_xrefs()
Release 1.01 - 27th April 1999
- Add some documentation
- Add Individual.pm and Family.pm
- Remove get_records() - use get_children() instead
- Change get_children() and children() to return a list, rather than a
reference to one
- Add resolve_xref() and resolve()
- Change the profile of collect_xrefs(), resolve_xrefs() and validate()
- Add get_individual()
- Remove redundant Gedcom::Item::renumber()
- Rename child() to child_value() and children() to child_values()
- Improve testsuite
- Make Date::Manip.pm optional
Release 1.00 - Initial release - 8th March 1999