|
| 1 | +# Changelog |
| 2 | +All notable changes to this project will be documented in this file. |
| 3 | + |
| 4 | +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) |
| 5 | +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). |
| 6 | + |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +- Added new helper methods to `HoldingsRecord`: `getLocation()` and `getLocations()` for 852 fields. |
| 13 | +- Added new helper methods to `BibliographicRecord`: |
| 14 | + - `getCreators()` for 100 and 700 fields. |
| 15 | + - `getClassifications()` for 080, 082, 083, 084 fields. |
| 16 | + - `getPublisher()` for 26[04]$b |
| 17 | + - `getPubYear()` for pub year in 008 |
| 18 | + - `getToc()` for 505 fields |
| 19 | + - `getSummary()` for 520 fields |
| 20 | + - `getPartOf()` for 773 fields |
| 21 | +- Added a `mapSubFields()` method to the `Field` class. |
| 22 | +- Made the `Record` class JSON serializable. |
| 23 | + |
| 24 | +### Changed |
| 25 | + |
| 26 | +- Changed the `Field::sf()` method to return `NULL`, not an empty string, |
| 27 | + when no matching subfield was found. |
| 28 | +- Changed `Record::query()`, `Record::getField()` etc. to return `Field` |
| 29 | + objects rather than raw File_MARC objects. |
| 30 | +- Split the `Record` class into classes that reflect the type of |
| 31 | + record (`HoldingsRecord`, `AuthorityRecord` and `BibliographicRecord`) |
| 32 | + and inherit from the `Record` class. |
| 33 | +- Renamed `Subject::getControlNumber()` to `Subject::getId()`. |
| 34 | +- Added chopping of ending punctuation from the string representations of |
| 35 | + `Subject` and `Person` in the same way as done by Library of Congress |
| 36 | + when they convert MARC21 to MODS and BibFrame |
| 37 | + (see discussion on ISBD punctuation in [MARC DISCUSSION PAPER NO. 2010-DP01](https://www.loc.gov/marc/marbi/2010/2010-dp01.html)). |
| 38 | + |
| 39 | +## [1.0.1] - 2017-12-04 |
| 40 | +### Fixed |
| 41 | + |
| 42 | +- Fixed a bug in `QueryResult::count()`. |
| 43 | + |
| 44 | +## [1.0.0] - 2017-07-02 |
| 45 | +### Changed |
| 46 | + |
| 47 | +- Removed support for PHP 5.5, now requires PHP 5.6 or 7.x |
| 48 | + |
| 49 | +## [0.3.2] - 2017-01-15 |
| 50 | + |
| 51 | +### Changed |
| 52 | + |
| 53 | +- Added `JsonSerializable` implementations to the `Field` classes to make them behave better when passed through `json_encode()`. |
| 54 | +- Officially removed PHP 5.4 support |
| 55 | +- 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). |
| 56 | + |
| 57 | +## [0.3.1] - 2017-01-15 |
| 58 | +### Fixed |
| 59 | + |
| 60 | +- Fixed a bug where `makeFieldObjects()` would not create the correct class. |
| 61 | + |
| 62 | +## [0.3.0] - 2016-11-19 |
| 63 | + |
| 64 | +### Changed |
| 65 | +- `Record::get()` was replaced by `Record::query()`, which returns a `QueryResult` object rather than an array of strings. |
| 66 | + This allows access to the marc fields / subfields matched by the query. |
| 67 | +- `Collection::records` has been removed in favor of making the records available directly on the `Collection` class. |
| 68 | + Replace `foreach ($collection->records as $record)` with `foreach ($collection as $record)`. |
| 69 | +- `Subject::getType()` now returns the tag number (like "650)" instead of a string representing the tag (like "topic"). |
| 70 | + Constants have been defined on `Subject` for comparison, so to check if a subject is a topical term, |
| 71 | + you can do `$subject->type == Subject::TOPICAL_TERM`. |
| 72 | +- `Record::fromString` now throws a `RecordNotFound` exception rather than an `ErrorException` exception if no record was found. |
| 73 | +- `Record::getType` now throws a `UnknownRecordType` exception rather than an `ErrorException`. |
| 74 | + |
| 75 | +[Unreleased]: https://github.com/scriptotek/php-marc/compare/v1.0.1...HEAD |
| 76 | +[1.0.1]: https://github.com/scriptotek/php-marc/compare/v1.0.0...v1.0.1 |
| 77 | +[1.0.0]: https://github.com/scriptotek/php-marc/compare/v0.3.2...v1.0.0 |
| 78 | +[0.3.2]: https://github.com/scriptotek/php-marc/compare/v0.3.1...v0.3.2 |
| 79 | +[0.3.1]: https://github.com/scriptotek/php-marc/compare/v0.3.0...v0.3.1 |
| 80 | +[0.3.0]: https://github.com/scriptotek/php-marc/compare/v0.2.1...v0.3.0 |
0 commit comments