0.3 Mon Aug 23 19:39:00 1999
0.4 Sun Sep 5 13:49:00 1999
0.5 Sun Sep 5 19:45:00 1999
0.6 Mon Sep 6 18:17:00 1999
- consolidate into single file
-------------------------------------------------------------
Revision history for Perl extension MARC.
0.01 Tue Sep 7 10:48:10 1999
- original version; created by h2xs 1.18
- linux command: h2xs -A -X -n MARC
0.61 Tue Sep 7 12:56:23 CDT 1999
- convert version 0.6 into CPAN format (lots of little changes)
0.62 Fri Sep 10 05:18:00 1999
- revised datastructure to hash of tags plus non-tag elements
like 'array' which serve as structured views into data
0.63 Sun Sep 12 20:38:00 1999
- permit incremental processing to reduce memory footprint
0.65 Fri Sep 17 08:07:42 1999
- add openmarc,nextmarc,closemarc,deletemarc
0.7 Sun Sep 21 07:15:00 1999
- major upgrade: revise new for incremental reads and tag maps
- add selectmarc,searchmarc, createrecord, _joinfield, addfield
- add error processing and use Carp
- add header/body/footer outputs
- revise documentation
0.71 Wed Sep 22 15:50:31 1999
- compute @tags once in _marc2html, fix $outputall detection
- add Win32 test and install
- t/test1.t uses new output file spec, tests append & $var
0.72 Fri Sep 24 07:42:00 1999
- add getvalue
- add doc example: xml_header, xml_body, xml_footer
- add doc example: createrecord, addfield
0.80 Sun Oct 3 17:14:00 1999
- add isbd and unimarc
0.81 Mon Oct 4 22:25:17 CDT 1999
- update CPAN doc files: Changes, README, Makefile.PL
- add isbd to t/test1.t
0.82 Wed Oct 6 13:30:22 CDT 1999
- Win32 Makefile.PL improvements including automatic html install
- Added single quotes to hash keys in MARC.pm and t/test1.t to
eliminate nuisance warnings from Perl 5.004.
0.83 Mon Oct 11 22:22:00 EST 1999
- Updated MARC.pm line 108 to store scalar references instead of
scalars. This will hopefully cut down on duplication of data in
the MARC object.
- Also, updated the getvalue(), searchmarc() and addfield() methods to
reflect the change in the way subfield data is stored.
- Added line 220 to return '0 but true' instead of 0 when no records
were read in. This will allow for statements like
$x->openmarc("test.mrc") || die;
0.84 Tue Oct 12 22:07:18 CDT 1999
- more Win32 Makefile.PL tweaks after TPJ technical review
- add binmode for marc file read/write
- unspecified 'increment' defaults to 0
- fix repeated subfield in field bug in addfield
0.85 Wed Oct 13 21:19:00 EST 1999
- modified addfield to push scalar references instead of scalars when
adding subfield data to the $x->[record]{field}{subfield} data member
on line 859.
- updated closemarc to return 1, to allow constructs like
$x->closemarc() || die;
0.9 Sun Oct 17 19:48:00 EST 1999
- modified deletemarc() to support deleting specified fields and
subfields
- modified addfield() to support adding fields in tag order
0.91 Tue Oct 19 18:01:43 CDT 1999
- add demo addlocal.pl, microlif.001, and directory eg
- closemarc() returns results of close()
- filter '\r' and '\cZ' from binary input stream
- fix "delete all records" bug
0.911 Wed Oct 20 21:49:02 CDT 1999 <Birthisel>
- add "exists" tests to getvalue()
- use scalar $callno in addlocal.pl
0.92 Sat Oct 23 00:00:00 CDT 1999 <Lane>
- initialize loop counter in getvalue() to avoid warnings
- add methods for manipulating "000" and "008" fields:
unpack_ldr, bib_format, unpack_008
- add internal subroutines supporting those methods:
_unpack_ldr, _bib_format, _unpack_008,
- add internal update subroutines:
_pack_ldr, _pack_008
0.93 Wed Oct 27 21:30:17 CDT 1999 <Birthisel>
- deprecate length(), use marc_count() instead
- new: bless earlier so _readxxx can use methods
- add error checks to file open/close, use binmode
- add lineterm for _readmarcmaker and default to DOS
- always store header in $record->{'000'} tag position
- fix bugs in 'i12' subfield structure
- add usmarc_default, ustext_default, MARCMaker charset encode/decode
- use createrecord, addfield in _readmarcmaker
- fix fieldnotvalue in searchmarc
- extensive changes to getvalue to cover '000' tag and indicators
- use getvalue in unpack_008
- return undef instead of die in _unpack_008
- allow lineterm option in output, 'format' defaults to 'marc',
lineterm to '\n' except MARCMaker (CRLF)
- add nolinebreak option for MARCBreaker output
- 'html_header' outputs "Content-type...", 'html_start' does "<body>"
- _writemarc also updates '000' size data in structure
- warnings off in addfield
- update copyright
- add test2.t and test3.t plus supporting files: makrbrkr.mrc,
brkrtest.ref, makrtest.src
- add filestring and out_cmp test utilities, MARCopt.pm stub
- add MARCMaker/Breaker, getvalue, and searchmarc tests
0.94 Thu Oct 28 20:23:57 CDT 1999 <Birthisel>
- added numerous "exists" tests for hash queries
- add 'title' parameter to html_start
- extra error checking: addfield
- new getupdate() method
- add tests for searchmarc, deletemarc, addfield, getupdate,
html_xxx formats
- fix test3.t to use MARCopt everywhere
0.95 Tue Nov 02 20:49:09 CST 1999 <Birthisel>
- clean up the Win32 "make clean" implementation in Makefile.PL
- add tests for selectmarc
- add 'title' option for URLs output
- terminate addfield if $subfield_id eq "\036" from getupdate()
- pod updates: SYNOPSIS, Option Template, various typos
- add updaterecord()
- template extensions for deletemarc(), searchmarc(), getvalue()
- add eg/fixlocal.pl demo and eq/specials.001
0.95d Wed Nov 03 17:00:01 EST 1999 <Lane>
- Removed FF_ prefix from @LDR_FIELDS. Left package globals for
fixed fields and leaders as globals: this should facilitate
anybody who wants to subclass for MFHL, community, records.
- Added pack_008 and pack_ldr. Added get_hash_008 and
get_hash_ldr for future tied interface. Fixed bugs.
(FF_ prefixes in hash keys.)
- Added and updated docs for the new functions.
- Added comment on how to renumber tests.
- Added tests of pack_008 and pack_ldr. Fixed some test bugs
with FF_ prefixes and non-existent functions.
0.96 Wed Nov 3 23:04:31 CST 1999 <Birthisel>
- fix typos in pod2man and pod2html output
- fix test3.t like test1.t
0.97 Fri Nov 5 17:44:15 CST 1999 <Birthisel>
- replace '%$' construct (4 places) which designates pseudo-hash
in 5.005 and fails in 5.004. Detected by CPAN-Testers
- Add tests for deletemarc() subfield to t/test2.t
0.98 Fri Nov 12 21:13:39 CST 1999 <Birthisel>
- fix addfield reorder bug (new tag > existing)
- improved eg/addlocal.pl and added eg/uclocal.pl
- moved binmode from _readmarc* to openmarc() and new() to get around
unwanted seek on binmode in Win32 5.00402.
0.99 Sun Nov 14 21:59:00 EST 1999 <Summers>
- created MARC::XML subclass to handle MARC<->XML conversions
- moved _marc2xml() from MARC.pm into MARC::XML
0.991 Sun Nov 21 18:49:00 EST 1999 <Summers>
- removed MARC::XML specific pod from MARC.pm and added to MARC::XML
1.00 Mon Nov 22 22:22:32 CST 1999 <Birthisel>
- add warnings for unsupported output formats
- return undef for output failure, test in place of XML
1.01 Sun Dec 05 23:14:15 CST 1999 <Birthisel>
- add invalid size checks to _readmarc()
- add header check to _readmarcmaker()
- delete length() method and CORE::length() overrides
- add $TEST; replace carp with mycarp
1.02u Mon Dec 20 06:52:00 EST 1999 <Lane>
- added *map* series; supports a data-index view of marc.
- added deletefirst and updatefirst to support ties
- added getmatch and insertpos to support update or insert
of subfields.
- added getfields/updatefields for fine-grained access to
the {array} structures. Allows "in-place" update of fields.
- changed add_fields to use add_map. Lets subclasses have a
policy of how they want their indices to look.
- changed _readmarc and _readmarcmaker to use add_map. Good
for testing.
- Added simple tests for *first and *map* series as test4.t
More complex and complete tests are in MARC::Tie.
- Added docs for *map*, getmatch,*fields*,getmatch and insertpos.
1.03 Mon Jan 17 15:21:54 CST 2000 <Birthisel>
- Use fill char "|" for "none" in eg/addlocal.pl
- integrate "102u" changes into CPAN format
- fix bug in addfield where add_map not called if ($tag<10)
1.04 Mon Jan 24 22:31:26 CST 2000 <Birthisel>
- oops, had to fix the Win32 5.00402 binmode again (c.f 0.98)
- added quotes to 'rebuild_map' used as hash key (5.004 warnings)
- add docs for "keys" in hash returned by 'unpack_ldr'
- add xml format error messages
1.05 Sat Jan 29 22:59:03 EST 2000 <Lane>
- Removed unnecessary quotes in various potentially tainted variables.
- Removed bad references to FF_* in docs.
- Updatefields() no longer assumes that fields with the same tag are
contiguous (e.g. cjk).
- Getfields() no longer assumes that fields with the same tag are
contiguous (again, cjk).
- Docs updated to reflect the relaxed assumption.
- Extensive quoting of keys for a more warning-free experience.
Sun Jan 30 14:34:02 EST 2000 <Lane>
- Created add_005s(), _make_005().
- Inserted add_005s into output so now we are correctly datestamped.
- Docs added for 005 functionality.
Mon Jan 31 12:55:52 EST 2000 <Lane>
- Fixed $args->{'record'} complaint if $args does not exist.
- Now we return "19960221075055.7" when in $TEST mode for 005.
- Fixed and updated test2.t and test files makrbrkr.mrc and
makrtest.src. (now have all canonical 005's; makrtest had a
17 digit time, not 16 in the first record).
1.06 Sun Feb 27 22:00:00 EST 2000 <Lane>
- Added getfirstvalue to avoid dependency on index for Ties.
- Added from_string and as_string; mainly for Tie
but also has promise for searchmarc. Added option to rebuild map.
- Created MARC::Rec and started moving functions to it.
Thu Mar 9 22:00:00 EST 2000 <Lane>
- Finished the bulk of ::Rec-ising.
- Normalised {records}-{record} handling and %params creation
(_records and _params).
- Updated searchmarc and deletemarc to more idiomatic Perl; fixed bugs.
(Deletemarc was not updating {$tag}{$field}{subfield} information
correctly; it does now since it uses rebuild_map).
- Fixed one potential problem in _urls (looked at indicators when it
should have only been looking at subfields).
Sat Mar 11 22:00:00 EST 2000 <Lane>
- Checked that a subclass of MARC(:Btrieve) works even in the presence
of MARC::Rec dependencies.
- Tested Tie::MARC and Tie::MARC::Btrieve against 1.06
- Fixed bugs. All tests pass.
- Updated Docs to reflect pervasive MARC::Rec presence and (few)
additional functions.
Sun Mar 12 14:39:27 EST 2000 <Lane>
- Configured shipping script for MARC.
- Fixed numbering in test5.t. All tests pass.
- Added option to read from a string for MARC::Rec. (nextmarc())
1.07 Sun Apr 23 16:41:46 CDT 2000A <Birthisel>
- convert all usage to $MARC::TEST, $MARC::DEBUG. Clean up other
"use vars" variables only needed in one package. Sync $VERSION.
- Perl 5.6.0 warns on "join (//,", use "join (''," instead.
- fixes to $naptime and $testfile in t/test5.t
- openmarc did not set 'handle' and 'format' for MARC::Rec