diff --git a/.gitignore b/.gitignore
index d6c6f8ae3..f26d84b31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,28 @@
-Makefile
-Makefile.in
-.linesrc
-lines.cfg
+##
+## GLOBAL PATTERNS
+##
+
+# editor temp files
+**/*~
+**/*.swp
+
+# MacOSX
+**/.DS_Store
+
+# generated makefiles
+**/Makefile
+**/Makefile.in
+
+##
+## ROOT DIRECTORY PATTERNS
+##
+
+# generated configure scripts
aclocal.m4
autom4te.cache
-config.*
configure
stamp-h1
-build/autotools/compile
+
+# configuration files
+.linesrc
+lines.cfg
diff --git a/AUTHORS b/AUTHORS
index 5a2144da9..a86419afa 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,5 +1,5 @@
-LifeLines Source Release, Version 3.1.1
-http://marcno.github.io/lifelines/
+LifeLines Source Release, Version 3.2.0
+https://lifelines.github.io/lifelines/
-------------------------------------------------------------------------
Tom Wetmore (ttw@shore.net) - original author
@@ -26,7 +26,7 @@ Perry Rapp (prapp@erols.com, puddle@users.sourceforge.net)
Petter Reinholdtsen (pere@hungry.com, pere@td.org.uit.no)
- code cleaning, insulation layer
-Stephen Dum (stephen.dum@verizon.net)
+Stephen Dum (dr.doom@frontier.com)
- code cleaning, leak checking, xml docs, bug fixes.
John F. Chandler (jchbn@cuvmb.cc.columbia.edu)
@@ -34,3 +34,6 @@ John F. Chandler (jchbn@cuvmb.cc.columbia.edu)
David A. Bright (dabright@users.sourceforge.net)
- book-latex.ll and other report improvements
+
+nabijaczleweli@nabijaczleweli.xyz
+- fixed race condition and OOM issue due to malloc mis-handling in scandir()
diff --git a/ChangeLog b/ChangeLog
index f6fc9fc5a..582758f2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
-LifeLines Source Release, Version 3.1.1
-http://marcno.github.io/lifelines/
+LifeLines Source Release, Version 3.2.0
+https://lifelines.github.io/lifelines/
-------------------------------------------------------------------------
This is a high-level view of changes made to the source tree.
@@ -8,10 +8,39 @@ commit logs.
XXXX-YY-ZZ Matt Emmerton
- Release 3.1.2 (under development)
-
- Improve curses detection to ensure that we can detect environments
- without wide character support.
+ Release 3.2.0 (under development)
+
+ This release includes full 64-bit support, without database migration!
+
+ Main Program:
+ - Make LifeLines 64-bit clean
+ - Improve parser error for random out-of-palce number
+ - Allow empty block bodies in reports
+ - Allow fullname() to be used with an invalid INDI
+ - Make manip_name() UTF-8 aware (fixes to limit_width and name_string)
+ - Fix bug in j2date()
+ - Massive cleanup of compiler warnings
+
+ Infrastructure:
+ - Improve curses detection for wide character support
+ - Add support for GNU Bison 3.x
+ - Add configure support for --with-32bit and --with-64bit
+ - Add support for cscope, cscout, gcov and sonarqube
+
+ Documentation:
+ - Remove SourceForge and GitHub (MarcNo) refs, replace with GitHub (Lifelines) refs
+ - Update docs to docbook 5 format
+
+ Tools:
+ - Add lldump tool
+
+ Tests:
+ - Add tests for fullname, eqv_pvalue, gengedcomstrong, checkjd2date and math
+ - Add royal92 test for gedcom import
+ - Add view-history and pedigree-longname test
+ - Add string-unicode and string-utf8 tests
+ - Add standalone C test programa and fix nextfkey test
+ - Integrate tests to run with automake Parallel test Harness
2016-03-16 Matt Emmerton
diff --git a/INSTALL b/INSTALL
index 30717aee9..6faf16712 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
-LifeLines Source Release, Version 3.1.1
-http://marcno.github.io/lifelines/
+LifeLines Source Release, Version 3.2.0
+https://lifelines.github.io/lifelines/
-------------------------------------------------------------------------
********************************
@@ -7,42 +7,54 @@ Contents:
1. General (UNIX) installation
1a) Dependencies
1b) Specific Issues
+ 1c) Compilers
2. Platform specific notes
- 2a) Platforms supported out-of-the-box
+ 2a) Platforms supported
2b) Microsoft Windows
2c) cygwin
- 2d) rpm packages
- 2e) Debian binaries
- 2f) gcc 2.7.2.1
- 2g) curses
- 2h) Mac OS X
+ 2d) RPM packages
+ 2e) Debian packages
+ 2f) FreeBSD port
+ 2g) Mac OS X
********************************
-
-
******************************
1. General (UNIX) installation
******************************
-
This is the source distribution of the LifeLines system, a genealogy
software system.
-(If you are building from cvs sources, you will not have a configure
-script, and you should be reading the README.DEVELOPERS instructions.)
-
LifeLines should compile correctly using GNU gcc or any native C compiler.
It also will build using the Cygnus tools on Windows (but see note in the
platform notes section below).
-To build and install LifeLines, do the following:
+In all cases, various dependencies are required. (See section 1a.)
+
+If you have downloaded a "release" package, do the following:
- ./configure (if that does't work, try 'sh ./configure')
+ sh ./configure
make
make install
-If you do not have gettext & iconv installed, you may need to use
- ./configure --disable-nls
+If you have downloaded a "source code" package, or have cloned the git
+repository directly, do the following:
+
+ sh build/autogen.sh
+ sh ./configure
+ make
+ make install
+
+If you want to keep the build area separate from the source area
+replace the configure and make commands with
+
+ mkdir bld64
+ cd bld64
+ ../configure --with-64bit
+ make
+ make install
+
+and likewise you can build a 32 bit executables by replacing 64 with 32 above.
This will generate Makefiles suitable for your platform and then build
and install the LifeLines programs. You will end up with the following
@@ -50,100 +62,125 @@ executables (installed in various places, depending on your platform):
llines -- main LifeLines system program
llexec -- non-interactive version, useful for running reports
-btedit -- general purpose btree edit program
dbverify -- checks a LifeLines database for problems
+btedit -- general purpose btree edit program
+lldump -- dumps the database contents in symbolic format
llines is the main LifeLines program.
-lllexec is a non-interactive version of the main program, and is
+llexec is a non-interactive version of the main program, and is
handy for automatically running reports against a given database.
-dverify can be used to verify the correctness of a LifeLines database.
-This is handy if you're storing databases on floppies, or just for
-peace of mind.
+dverify can be used to verify the correctness of a LifeLines database. This
+is handy if you're storing databases on floppies, a USB stick (which may have
+been improperly removed at some point), or just for peace of mind.
-btedit is a administration tool used for unmangling mangled databases,
+btedit is an administration tool used for unmangling mangled databases,
and is extremely powerful. You should only use this program under the
expert guidance of a LifeLines developer.
-docs:
-Pregenerated versions of the documentation are included, in
-html, pdf, and text formats, so it is not necessary to have
-these tools installed.
-
-If you are tracking the git repository and want to be able to rebuild
-your documentation as changes are made, you must run configure
-with the "--with-docs" option. This has some large dependencies;
-see below for more information.
+lldump is an administration tool used for diagnosing mangled databases.
+You should only use this program under the expert guidance of a LifeLines
+developer, or if you're curious about the internal database format.
-******************************
+****************
1a) Dependencies
-******************************
+****************
+
lifelines has a number of dependencies and they vary depending on
-how you build lifelines. (Avoid gcc version 2.7.2.1)
+how you obtain and build lifelines.
-1. General dependencies:
+1. Generic
ncursesw (or any curses with wide character support)
-2. Building from source code repository
+2. National Language Support (NLS)
+
+ Use of NLS, or regeneration of the language files, requires the following:
+
+ gettext (or gettext-devel)
+ iconv (or libiconv)
+
+ By default, NLS support is enabled. If you want to disable NLS support,
+ run configure with the '--disable-nls' option.
+
+3. Building from source code repository
If you are building directly from the source code repository, and
not from a release package, you will require these tools:
automake
autoconf
- bison
+ bison (2.7+ or 3.1+)
-3. Document Generation
+4. Building documentation
- Regeneration of the docs requires tools to convert from xml to html, pdf,
- and text. Currently the tools being used are:
+ Generation of the documentation requires tools to convert from xml to html,
+ pdf, and text. Currently the tools being used are:
xmlto
dblatex
- texlive-cmap
+ lynx or links
+ texlive-lang-european (Debian / Ubuntu)
+ texlive-cmap (Fedora / RHEL / CentOS / SLES)
-4. Multiple Language support - processed files are checked into cvs, but
- to rebuild the language files:
+ By default, these tools are not required. If you want to edit and rebuild
+ documentation, run configure with the '--with-docs' option.
- gettext
- iconv
-******************************
+*******************
1b) Specific Issues
-******************************
+*******************
-GETTEXT
+1. gettext
-If configure succeeds, but make fails very early with an error like so:
+ If configure succeeds, but make fails very early with an error like so:
cd ../../po && rm -f da.gmo && : -c --statistics -o da.gmo da.po
mv: cannot stat `t-da.gmo': No such file or directory
...
-then you probably do not have the gettext tools -- the commandline
-tools needed for development, which are needed to compile, and
-are generally a separate package from the runtime libraries needed
-by running programs.
+ Then you probably do not have the gettext tools -- the command-line
+ tools needed for development, which are needed to compile, and
+ are generally a separate package from the runtime libraries needed
+ by running programs.
+
+2. bison
+
+ If you run into problems compiling yacc.c, this is likely due to an
+ incompatibility between the generated files created by bison that are
+ shipped with the release packages and checked into the github repo.
+
+ To resolve these problems, ensure that you have a supported version of
+ bison installed, remove yacc.c and yacc.h and rebuild. These files will
+ be regenerated using the bison that is installed on your system which
+ should resolve the problem.
+
+3. expect, bash
+
+ The test suite needs expect and bash to be installed. These may or may
+ not be part of the default install on your system. Both need to be
+ installed for the test suite to function properly..
+
+*************
+1c) Compilers
+*************
+
+Recent versions of gcc and clang build the source cleanly, although there may
+be plenty of warnings.
**************************
2. Platform specific notes
**************************
-*********************
-2a) Platforms supported out-of-the-box
-*********************
+***********************
+2a) Platforms supported
+***********************
-Many unix systems should be supported out-of-the-box with the tarball
-(lifelines-x.y.z.tar.gz) distribution.
+Most UNIX-derived Linux/BSD/MacOS systems should be supported out-of-the-box
+with the tarball (lifelines-x.y.z.tar.gz) distribution.
-Reported successes include:
- lifelines-3.0.46:
- Fedora Core 3
- FreeBSD 4.11-STABLE
- OS X 10.3.9
-
+The primary development platforms are Ubuntu 22.04 and FreeBSD 13.3.
*********************
2b) Microsoft Windows
@@ -161,12 +198,11 @@ included in the subdirectories beneath /win32/msvc6 (which are
currently used by Perry to generate the binaries in the MS-Windows
binary distribution).
-
**********
2c) Cygwin
**********
-Cygwin is a UNIX environment for MS-Windows.
+Cygwin is a UNIX environment for MS-Windows.
http://sources.redhat.com/cygwin
The lines around the boxes in the lifelines curses GUI use OEM
box characters, and so only display correctly with this setting:
@@ -176,69 +212,43 @@ ASCII, this solution may work fine for you. Otherwise, you may
invoke llines with the -z switch to suppress curses graphics, and
use primitive ASCII graphics. This is not particularly attractive,
but is usable. Suggestions are welcome.
-Note that the -z commandline switch was added after the 3.0.9
+Note that the -z commandline switch was added after the 3.0.9
release.
To compile libiconv on cygwin, I had to compile it statically, eg,
(in libiconv directory)
./configure --enable-static --disable-shared
-
-***************
-2d) rpm packages
-***************
+****************
+2d) RPM packages
+****************
The source distribution includes the spec file to create rpm
packages.
-***************
+*******************
2e) Debian packages
-***************
+*******************
Christian Perrier maintains a Debian port of linux.
-See:
-http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&version=all&exact=1&keywords=lifelines
-
-
-***************
-2f) gcc 2.7.2.1
-***************
-
-gcc 2.7.2.1 does not understand -Wreturn-type, so this
-must be removed from configure and from CFLAGS in
-interp/Makefile* files. This must be done before configuring,
-because it causes configure tests to fail spuriously.
-(Jan, 2002)
-
-
-**********
-2g) curses
-**********
+See https://packages.debian.org/search?keywords=lifelines&searchon=names&suite=stable§ion=all
-Compiling with curses (lacking ncurses) on a BSDI 3.1 box,
-I had to add
- -ltermcap
-to the LIBS line in liflines/Makefile. (The symptom was
-"unknown symbol... _tputs.)
-However, I wound up core dumping at run-time, so I don't know
-what is going on.
-(Perry, Jan, 2002)
+****************
+2f) FreeBSD port
+****************
+LifeLines is included in the FreeBSD ports collection in misc/lifelines.
************
-2h) Mac OS X
+2g) Mac OS X
************
-Please see the following page about LifeLines on Mac OS X:
- http://homepage.mac.com/shrubbery/LifeLines
-(which is also available via the Apple downloads site and Stepwise.)
-This page offers both precompiled binaries and instructions for
-compilation.
-NB: Because the gnu tests for platform didn't recognize Darwin,
-on older versions, perhaps before 10.2.x, it was necessary to pass
-an argument to configure, eg,
- ./configure ppc
-There is no specific code needed for Darwin; this is just to avoid
-the macros getting angry at the unknown output from "uname -a".
+As of lifelines-3.2.0, LifeLines is fully supported on on 64-bit MacOSX.
+When installing packages from homebrew, you need to unlink and relink the
+binaries so that they take precedence over those found in the base system.
+eg:
+brew unlink bison && brew link bison --force
+brew unlink gettext && brew link gettext --force
+brew unlink bash && brew link bash --force
diff --git a/Makefile.am b/Makefile.am
index d8e601bfd..b5f44d0cd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,7 @@
ACLOCAL_AMFLAGS = -I build/autotools -I build/gettext
-SUBDIRS = build po src docs reports tt
+SUBDIRS = build po src docs reports tt tests
EXTRA_DIST = .linesrc lines.cfg lines.cfg.m4 \
AUTHORS INSTALL LICENSE NEWS README \
diff --git a/NEWS b/NEWS
index 72730d73d..a2a1ad490 100644
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,19 @@
-LifeLines Source Release, Version 3.1.1
-http://marcno.github.io/lifelines/
+LifeLines Source Release, Version 3.2.0
+https://lifelines.github.io/lifelines/
-------------------------------------------------------------------------
+Changes in 3.2.0 (unreleased)
+=============================
+- full 64-bit port, Mac OS X support
+
+Changes in 3.1.0 (stable)
+=========================
+- move from sourceforce to github
+- cleanup and improvement to build infrastructure
+- update documentation to docbook 4.5 format
+
Changes in 3.0.63 (unreleased)
-===========================
+==============================
- Browse to family picklist now lists multiple spouses for
non-traditional families with more than 2 spouses
- Report function choosespouse can be used with FAM
@@ -23,30 +33,30 @@ Bug fixes in 3.0.62 (stable)
- Fix encoding conversion for GEDCOM, pedigree, and GEDCOM text modes.
Changes in 3.0.61 (stable)
-===========================
+==========================
- Improvements to configure finding curses
- More strings made ready for internationalization
Changes in 3.0.60 (stable)
-===========================
+==========================
- Minor doc tweaks, and packaging tweaks for Debian
-New features added in 3.0.58 (beta)
-============================
+New features in 3.0.58 (beta)
+=============================
- Implement going up & down stack in report debugger
Bug fixes in 3.0.58 (beta)
-============================
+==========================
- Fix inlist to handle empty lists correctly
- Fix not to crash if report doesn't unlock records
Bug fixes in 3.0.57 (beta)
-============================
+==========================
- Fix LocaleDir settings (broken
again just as 3.0.56 released)
Bug fixes in 3.0.56 (beta)
-============================
+==========================
- Write correct CHAR value to header when
exporting GEDCOM, and write UTF-8 BOM
under windows when exporting to UTF-8.
@@ -61,41 +71,41 @@ Bug fixes in 3.0.56 (beta)
Bug fixes in 3.0.55 (beta)
-============================
+==========================
- Fix name manipulation for non-ASCII letters
(fixes S Hacek display problems under MS-Windows)
Bug fixes in 3.0.54 (beta)
-============================
+==========================
- Fix bug in main menu exit option Q
-New features added in 3.0.53 (beta)
-============================
+New features in 3.0.53 (beta)
+=============================
- New Spanish translation by Larry Hamilton
Bug fixes in 3.0.53 (beta)
-============================
+==========================
- Fix strsave assert when called by llrpt_extractdate
while dereferencing null string (sf bug 1583327)
- Update verify.ll to version 13 (Jim Eggert)
- Update some other reports from Jim Eggert
- Fix fpattern compilation issue on NETBSD
-New features added in 3.0.52 (beta)
-============================
+New features in 3.0.52 (beta)
+=============================
- New @ escape from browse prompt to full database search
- Add author & title to full database search
Bug fixes in 3.0.52 (beta)
-============================
+==========================
- Fix buffer overflow in browse list (patch by Andreas Kirschbaum)
-New features added in 3.0.51 (beta)
-============================
+New features in 3.0.51 (beta)
+=============================
- New report functions date2jd, dayofweek, jd2date, setdate.
Bug fixes in 3.0.51 (beta)
-============================
+==========================
- Fix add to list (was repeating first person instead of adding).
- Fix incorrect sporadic ASSERT in merge ("Tried to add already-deleted
record...")
@@ -105,8 +115,8 @@ Bug fixes in 3.0.51 (beta)
- Fix report value bug in extractdate with cascaded calls without set
assignment
-New features added in 3.0.50
-============================
+New features in 3.0.50
+======================
- The spouses() iterator has been overloaded to iterate over the
spouses of an individual if the first argument is an individual,
and to iterate over all the husbands/wives if the first argument is
@@ -118,16 +128,16 @@ New features added in 3.0.50
Refer to the report manual for details.
Bug fixes in 3.0.49
-============================
+===================
- Deleting an individual would remove younger siblings from family
-New features added in 3.0.48
-============================
+New features in 3.0.48
+======================
- Formatted dates now display GEDCOM date phrases raw
- Use cursesw where available, to work correctly with UTF-8 locales
-New features added in 3.0.47 (beta)
-============================
+New features in 3.0.47 (beta)
+=============================
- Adjustable indent (GedcomDisplayIndent) in pedigree (sf#1224300)
- Confirm message before switching spouses or children (sf#1094751)
- Enter key works in database list (sf#1227607 bug)
@@ -135,82 +145,82 @@ New features added in 3.0.47 (beta)
- New day format & month format 21 (produces "00" if missing)
Bug fixes in 3.0.47 (beta)
-============================
+==========================
- ASSERT crash trying to delete family (sf#1242080 bug)
Changes for 3.0.46.1 (stable)
-============================
+=============================
- Updated Swedish translation.
- Fixed German translation
- Improved INSTALL doc
-New features added in 3.0.46 (beta)
-============================
+New features in 3.0.46 (beta)
+=============================
- Import warns if FAMS, FAMC, HUSB, or WIFE occur where not expected.
Bug fixes in 3.0.46 (beta)
-============================
+==========================
- ASSERT crash if automatically add source to family record (sf#1222702)
- ASSERT crash due to FAMS pointer in FAM record (sf#1223357)
- outfile doesn't work in llexec (sf#1223390)
-New features added in 3.0.45 (beta)
-============================
+New features in 3.0.45 (beta)
+=============================
- Kinyarwanda translation
Bug fixes in 3.0.45 (beta)
-============================
+==========================
- Fixed count variable in spouses and families report iterations (sf#1219200)
- Fixed crash upon merging two families (sf#1219209)
- Fixed memory leaks
Bug fixes in 3.0.44 (beta)
-============================
+==========================
- Fixed browing to family (for empty & non-traditional families)
- Remove keytonod record ASSERT which is firing
- Fixed some memory leaks
Bug fixes in 3.0.43 (beta)
-============================
+==========================
- Fixed some memory leaks
- ASSERT failures browsing from family to indi
-New features added in 3.0.42 (beta)
-============================
+New features in 3.0.42 (beta)
+=============================
- empty() report function can also be used on tables and sets
- dbverify can fix bad family linking references
- dbverify can fix bad deleted/undeleted record status
Bug fixes in 3.0.42 (beta)
-============================
+==========================
- Fixed ASSERT failure adding 65th skipped key at import
- Fixed some memory leaks
-New features added in 3.0.41 (beta)
-============================
+New features in 3.0.41 (beta)
+=============================
- ancestorset and parentset now support non-traditional families
Bug fixes in 3.0.41 (beta)
-============================
+==========================
- Crash on some systems with ncurses 5.4
- ASSERT failure if report calls undefined function
-New features added in 3.0.40 (beta)
-============================
+New features in 3.0.40 (beta)
+=============================
- Delete any record menu choice
- length(SET/TABLE/LIST) report function
Bug fixes in 3.0.40 (beta)
-============================
+==========================
- Fixed bug in src/liflines/Makefile.am failing compilation (finding libintl.h)
- Fixed merge function, which locked up in infinite loop in 3.0.39
-New features added in 3.0.39 (beta)
-============================
+New features in 3.0.39 (beta)
+=============================
- New report function test(mode, file)
Bug fixes in 3.0.39 (beta)
-============================
+==========================
- Cache bug causes people to be confused intermittently (sf#1015745)
- Add source/event/other could lead to corruption (sf#1059724)
- Importing GED file with keys with leading zeros (eg, I01) led to crash (sf#1094199)
@@ -219,8 +229,8 @@ Bug fixes in 3.0.39 (beta)
- Removing unsexed spouse led to ASSERT (sf#1097583,sf#1097608)
- Removing empty child led to ASSERT (sf#1097629)
-New features added in 3.0.38 (beta)
-============================
+New features in 3.0.38 (beta)
+=============================
- Two-stage tt conversion via UTF-8
- No more indirect cache
- Unlimited #people may be added to lists and tables (during reports)
@@ -228,46 +238,46 @@ New features added in 3.0.38 (beta)
- Dutch translation
Bug fixes in 3.0.38 (beta)
-============================
+==========================
- Fix nspouses
- Fix display of TTPATH in u/c
- Fix uppercasing of non-ASCII in non-UTF-8 case
-Bug fixes in 3.0.37 (stable & beta)
+Bug fixes in 3.0.37 (stable)
============================
- AnnotatePointers and ExpandRefnsDuringEdit work together
-New features added in 3.0.36 (beta)
-============================
+New features in 3.0.36 (beta)
+=============================
- New option AnnotatePointers
- New option DisplayKeyTags
Bug fixes in 3.0.36 (beta)
-============================
+==========================
- Fix extra .ged appended to short archives
Bug fixes in 3.0.35 (beta)
-============================
+==========================
- Fix name corruption bug in 3.0.33 and 3.0.34.
Bug fixes in 3.0.34 (beta)
-============================
+==========================
- Fix internal translation tables.
Bug fixes in 3.0.33 (beta)
-============================
+==========================
- Fix crash when opening second database in same session.
- Fix browsing */surname for non-ASCII first initials.
- Fix all edits of indi to expand refns (not all were doing it).
- Prepend UTF-8 BOM for file passed to editor on Windows (when appropriate).
-New features added in 3.0.32 (beta)
-============================
+New features in 3.0.32 (beta)
+=============================
- Added the dup() function, which does a "deep" copy of a list.
- New directories created in first directory in LLDATABASES path.
Bug fixes in 3.0.32 (beta)
-============================
+==========================
- Fix translation table menu to show menu keys.
- Fix basm and barm to not say "bapt" in birth display.
- Peter Fales' bugfix for browsing to lower family from tandem.
@@ -275,12 +285,12 @@ Bug fixes in 3.0.32 (beta)
- Compile fix in wcslen.c (to fix compile on MacOS, re: va_list in arch.h).
Bug fixes in 3.0.31 (beta)
-============================
+==========================
- Bugfix for crash if one argument passed to (r)sort.
- Call legacy (built-in) translation tables
-New features added in 3.0.30 (beta)
-============================
+New features in 3.0.30 (beta)
+=============================
- Some low-level btree validation in dbverify
Bug fixes in 3.0.29 (stable)
@@ -302,16 +312,16 @@ Bug fixes in 3.0.27 (stable)
- ASSERT failure searching by name
- Cache overflow
-New features added in 3.0.26 (stable)
-============================
+New features in 3.0.26 (stable)
+===============================
- New report functions sort & rsort.
Bug fixes in 3.0.26 (stable)
============================
- Codeset translation incorrect in menu items
-New features added in 3.0.25 (stable)
-============================
+New features in 3.0.25 (stable)
+===============================
- Tries harder to diplay info on birth & death
- HTML & TEX subcodings added to translation tables
- Regularized report summaries (in report subdir)
@@ -334,9 +344,8 @@ Bug fixes in 3.0.24 (stable)
- Fixed compilation on Darwin
- Fixed list functions
-New features added in 3.0.23 (stable)
-============================
-
+New features in 3.0.23 (stable)
+===============================
- internal use of UTF-8 has significant improvements
- report functions upper & lower fixed for UTF-8
- ANSEL GEDCOMs may be read (using UTF-8)
@@ -344,12 +353,10 @@ New features added in 3.0.23 (stable)
Bug fixes in 3.0.23 (stable)
============================
-
- Fixed crash when using $$ to browse to references
-New features added in 3.0.22 (stable)
-============================
-
+New features in 3.0.22 (stable)
+===============================
- Redirected input works on Win32 version
- New option R to choose from list of GEDCOM input files
- Config file variables
@@ -357,83 +364,69 @@ New features added in 3.0.22 (stable)
- Simpler win32 binary package (includes gettext & iconv dlls, and
translations unzip into place)
-New features added in 3.0.21 (stable)
-============================
-
+New features in 3.0.21 (stable)
+===============================
- New commandline option -I to set property name & value
Bug fixes in 3.0.21 (stable)
============================
-
- Fix to handle bad system comparison without ASSERT in indiseq.c
- Fix broken -x option (run report directly)
Bug fixes in 3.0.20 (stable)
============================
-
- Fix initialization of locale
-New features added in 3.0.19 (stable)
-============================
-
+New features in 3.0.19 (stable)
+===============================
- binary rpm includes message files
- More complete French translation
- Fix for menu item translation in browse screens
-New features added in 3.0.18 (stable)
-============================
-
+New features in 3.0.18 (stable)
+===============================
- Directory structure changes to group sources in src and build stuff in build
- Some improvements in collation & partial UTF-8 support
- French translation (po file)
-New features added in 3.0.17 (stable)
-============================
-
+New features in 3.0.17 (stable)
+===============================
- Change history added (analogous to visit history). Both available off search menu,
or via commands in browse menus.
- Option to quit current database added to main menu.
- Iconv conversion between Internal (database) and Gui, Editor, Report, & Gedcom codesets.
Bug fixes in 3.0.17 (stable)
-===================
-
+============================
- Browsing to a named list would crash.
- Saving a record with blank REFN would crash.
- Couldn't change the value of a top level other node (not INDI, FAM, EVEN, or SOUR).
Bug fixes in 3.0.16 (stable)
-===================
-
-- A fatal crash was triggered if last item was popped off a list in a report.
-
-New features added in 3.0.15 (stable)
============================
+- A fatal crash was triggered if last item was popped off a list in a report.
+New features in 3.0.15 (stable)
+===============================
- Option to list all databases at startup
- Shift page keys to move quickly through long lists
- Prompt after edit if unresolved references
Bug fixes in 3.0.15 (stable)
-===================
-
-- Import was validing but not importing from UTF-8 files with UTF-8 BOM.
-
-New features added in 3.0.13 (stable)
============================
+- Import was validing but not importing from UTF-8 files with UTF-8 BOM.
+New features in 3.0.13 (stable)
+===============================
- Arrow keys, page keys, home/end keys supported in lists & list browse.
-New Features Added in 3.0.11 (stable)
-============================
-
+New Features in 3.0.11 (stable)
+===============================
- INDIs without NAMEs are now allowed.
-
- Records (INDI etc) implicitly convertible to NODEs in reports.
-New Features Added in 3.0.7
-===========================
-
+New Features in 3.0.7
+=====================
- New Display-to-Internal translation table.
- "z" zip browse command changed to "zi" zip for indi and "zz" zip for
@@ -477,7 +470,6 @@ New Features Added in 3.0.7
Bug fixes in 3.0.7
==================
-
- interp_indisetloop & interp_forlist deleted evaluated value too early.
(book-latex.ll would crash from line beginning: forindiset(intersect(...)
@@ -526,9 +518,8 @@ Bug fixes in 3.0.7
- (GEDCOM compliant) French Republic & Hebrew dates were not parsed correctly.
-New Features Added in 3.0.6 (stable)
-===========================
-
+New Features in 3.0.6 (stable)
+==============================
- New data in keyfile detects database from platform of wrong alignment
- New environment variable: LLNEWDBDIR
@@ -582,8 +573,7 @@ New Features Added in 3.0.6 (stable)
Bug fixes in 3.0.6 (stable)
-==================
-
+===========================
- Merge code would produce ghost REFNs & NAMEs if they were edited
- Ctrl-C from open database prompt would fail
@@ -594,7 +584,6 @@ Bug fixes in 3.0.6 (stable)
New Features in 3.0.4
=====================
-
- LifeLines Version 3.0.4, December 15, 1999, is now released under
an MIT-style license. See the file LICENSE in included with this
kit for the full license.
diff --git a/README b/README
index 4fac251df..e5fa970b8 100644
--- a/README
+++ b/README
@@ -1,19 +1,11 @@
-LifeLines Source Release, Version 3.1.1
-http://marcno.github.io/lifelines/
+LifeLines Source Release, Version 3.2.0
+https://lifelines.github.io/lifelines/
-------------------------------------------------------------------------
This is the source distribution of the LifeLines system, a genealogy
software system. To build and install LifeLines, please refer to
the installation instructions located in the INSTALL file.
-GUI Versions of LifeLines for Windows and UNIX/GNOME are under
-development. Visit the LifeLines home page
-(see end of file for URL) for details on how to obtain pre-compiled
-or beta (test) copies of these versions.
-
-The DOS text mode version has been integrated into the primary
-distribution.
-
The original author of LifeLines is Thomas T. Wetmore IV, who released
it to the open source community under a MIT-style licence (see LICENCE).
diff --git a/build/.gitignore b/build/.gitignore
deleted file mode 100644
index 282522db0..000000000
--- a/build/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/build/appdata/lifelines.appdata.xml b/build/appdata/lifelines.appdata.xml
index e291c3db6..e71b2d60a 100644
--- a/build/appdata/lifelines.appdata.xml
+++ b/build/appdata/lifelines.appdata.xml
@@ -15,14 +15,14 @@