Skip to content

Latest commit

 

History

History
174 lines (123 loc) · 6.75 KB

CHANGELOG.md

File metadata and controls

174 lines (123 loc) · 6.75 KB

Changelog

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.

Unreleased

Nothing yet

[3.0.0] - 2024-02-27

Changed

  • Updated to pear/file_marc@dev since the last stable release is not compatible with PHP >= 8.1 (#26, by @danmichaelo)
  • Add PHP 8.3 to test matrix

[2.2.3] - 2022-12-17

Changed

  • Fixed return type for PHP 8.1 compatibility (#23, by @gerricom)
  • Add PHP 8.2 to test matrix

[2.2.1] - 2021-05-06

Changed

  • Fixed crash when 250 is missing (6850aed)

Changed

[2.2.0] - 2020-09-16

Added

  • Added edition property to BibliographicRecord. (da949e6)

Changed

Fixed

2.1.0 - 2019-11-20

Added

  • Added info to contributors (CONTRIBUTING.md). (62949a1)
  • Added initialization from SimpleXMLElement object through the new methods Collection:fromSimpleXMLElement($obj) and Record:fromSimpleXMLElement($obj).

Fixed

  • Improved documentation and support for IDE code analysis. (#15 by @rudolfbyker)

2.0.2 - 2019-09-13

Added

  • Added new method Field::asLineMarc() to return a line mode Marc string representation of the field. (ba20a6d)

Fixed

  • 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 Location class. (74652a3)

2.0.1 - 2019-01-09

Fixed

  • Fixed strict comparison in Field::mapSubFields() to avoid matching 0 to other subfields.

2.0.0 - 2018-10-23

Added

  • Added new helper methods to HoldingsRecord: getLocation() and getLocations() 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]$b
    • getPubYear() for pub year in 008
    • getToc() for 505 fields
    • getSummary() for 520 fields
    • getPartOf() for 773 fields
  • Added a mapSubFields() method to the Field class.
  • Made the Record class JSON serializable.
  • Added a getType() and getTag() method to Classification.

Changed

  • Changed the Field::sf() method to return NULL, not an empty string, when no matching subfield was found.
  • Changed Record::query(), Record::getField() etc. to return Field objects rather than raw File_MARC objects.
  • Split the Record class into classes that reflect the type of record (HoldingsRecord, AuthorityRecord and BibliographicRecord) and inherit from the Record class.
  • Renamed Subject::getControlNumber() to Subject::getId().
  • Added chopping of ending punctuation from the string representations of Subject and Person in 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

  • Fixed a bug in QueryResult::count().

1.0.0 - 2017-07-02

Changed

  • Removed support for PHP 5.5, now requires PHP 5.6 or 7.x

0.3.2 - 2017-01-15

Changed

  • Added JsonSerializable implementations to the Field classes to make them behave better when passed through json_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

  • Fixed a bug where makeFieldObjects() would not create the correct class.

0.3.0 - 2016-11-19

Changed

  • Record::get() was replaced by Record::query(), which returns a QueryResult object rather than an array of strings. This allows access to the marc fields / subfields matched by the query.
  • Collection::records has been removed in favor of making the records available directly on the Collection class. Replace foreach ($collection->records as $record) with foreach ($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 on Subject for comparison, so to check if a subject is a topical term, you can do $subject->type == Subject::TOPICAL_TERM.
  • Record::fromString now throws a RecordNotFound exception rather than an ErrorException exception if no record was found.
  • Record::getType now throws a UnknownRecordType exception rather than an ErrorException.