All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Nothing yet
- Updated to
pear/file_marc@devsince the last stable release is not compatible with PHP >= 8.1 (#26, by @danmichaelo) - Add PHP 8.3 to test matrix
- Fixed crash when 250 is missing (6850aed)
- Made
getSubfieldValues()public. (#21, by @rudolfbyker)
- Added edition property to BibliographicRecord. (da949e6)
- Made
getSubfieldValues()public. (#21, by @rudolfbyker)
- Fixed return types in @method annotations. (#20, by @rudolfbyker)
2.1.0 - 2019-11-20
- Added info to contributors (CONTRIBUTING.md). (62949a1)
- Added initialization from SimpleXMLElement object through the new methods
Collection:fromSimpleXMLElement($obj)andRecord:fromSimpleXMLElement($obj).
- Improved documentation and support for IDE code analysis. (#15 by @rudolfbyker)
2.0.2 - 2019-09-13
- Added new method
Field::asLineMarc()to return a line mode Marc string representation of the field. (ba20a6d)
- Fixed the
Subject::getParts()method. (1fe8408) - Added additional subject subfield codes that were missing. (7908616)
- Added 852 $i and $j to
Location.callCode. (cba1508) - Fixed the string representation of the
Locationclass. (74652a3)
2.0.1 - 2019-01-09
- Fixed strict comparison in
Field::mapSubFields()to avoid matching0to other subfields.
2.0.0 - 2018-10-23
- Added new helper methods to
HoldingsRecord:getLocation()andgetLocations()for 852 fields. - Added new helper methods to
BibliographicRecord:getCreators()for 100 and 700 fields.getClassifications()for 080, 082, 083, 084 fields.getPublisher()for 26[04]$bgetPubYear()for pub year in 008getToc()for 505 fieldsgetSummary()for 520 fieldsgetPartOf()for 773 fields
- Added a
mapSubFields()method to theFieldclass. - Made the
Recordclass JSON serializable. - Added a
getType()andgetTag()method toClassification.
- Changed the
Field::sf()method to returnNULL, not an empty string, when no matching subfield was found. - Changed
Record::query(),Record::getField()etc. to returnFieldobjects rather than raw File_MARC objects. - Split the
Recordclass into classes that reflect the type of record (HoldingsRecord,AuthorityRecordandBibliographicRecord) and inherit from theRecordclass. - Renamed
Subject::getControlNumber()toSubject::getId(). - Added chopping of ending punctuation from the string representations of
SubjectandPersonin the same way as done by Library of Congress when they convert MARC21 to MODS and BibFrame (see discussion on ISBD punctuation in MARC DISCUSSION PAPER NO. 2010-DP01).
1.0.1 - 2017-12-04
- Fixed a bug in
QueryResult::count().
1.0.0 - 2017-07-02
- Removed support for PHP 5.5, now requires PHP 5.6 or 7.x
0.3.2 - 2017-01-15
- Added
JsonSerializableimplementations to theFieldclasses to make them behave better when passed throughjson_encode(). - Officially removed PHP 5.4 support
- Re-licensed as MIT (But since the dependency File_MARC is licensed under LGPL-2.1, the library cannot be used without complying with LGPL-2.1).
0.3.1 - 2017-01-15
- Fixed a bug where
makeFieldObjects()would not create the correct class.
0.3.0 - 2016-11-19
Record::get()was replaced byRecord::query(), which returns aQueryResultobject rather than an array of strings. This allows access to the marc fields / subfields matched by the query.Collection::recordshas been removed in favor of making the records available directly on theCollectionclass. Replaceforeach ($collection->records as $record)withforeach ($collection as $record).Subject::getType()now returns the tag number (like "650)" instead of a string representing the tag (like "topic"). Constants have been defined onSubjectfor comparison, so to check if a subject is a topical term, you can do$subject->type == Subject::TOPICAL_TERM.Record::fromStringnow throws aRecordNotFoundexception rather than anErrorExceptionexception if no record was found.Record::getTypenow throws aUnknownRecordTypeexception rather than anErrorException.