Skip to content

Releases: ubleipzig/marctools

marctools 1.6.4

Choose a tag to compare

@miku miku released this 07 Apr 21:18
  • maint

marctools 1.6.3

Choose a tag to compare

@miku miku released this 09 Mar 12:18
  • add -safe flag following #5

Maintenance release.

marctools 1.6.2

Choose a tag to compare

@miku miku released this 02 Feb 17:59
  • 1.6.2 release
  • use batched operations in marctojson
  • TODO: eventually apply optimizations to marcxmltojson and marctotsv

marctools 1.6.1

Choose a tag to compare

@miku miku released this 06 Jan 18:49

Added marcsnapshot command.

Status: Experimental.

marcsnapshot takes a list of MARC files and deduplicates records, keeping only the "newest", if multiple versions are found.

Field 001 is used as ID. Field 005 value is used to sort.


Example: three marcfiles, possibly with duplicates.
Field 001 values can be identified by the first 9 chars.

    $ marcsnapshot -verbose -l 9 2010.mrc 2011.mrc 2012.mrc > out.mrc

marctools 1.6.0

Choose a tag to compare

@miku miku released this 14 Dec 21:11

The default output of marctojson uses "record" as key, not "content". If you rely on the key being "content", use

$ marctojson -recordkey content ...

to get the old behaviour.


  • marctojson got a -recordkey flag
  • move marctools import from miku to ubleipzig

marctools 1.5.5

Choose a tag to compare

@miku miku released this 17 Sep 17:59

marcdb got an -encode flag.

marctools 1.5.4

Choose a tag to compare

@miku miku released this 17 Sep 12:15

Small improvements in marcdb.

marctools 1.5.3

Choose a tag to compare

@miku miku released this 17 Sep 11:14

Added marcdb command.

marctools 1.5.2

Choose a tag to compare

@miku miku released this 13 Aug 09:32

Added marcxmltojson.

marctools 1.5.0

Choose a tag to compare

@miku miku released this 23 Jul 15:44

Changed json export format for marctojson.

The new format uses arrays for all subfield values,
not just for those, which had more than one element.

old: {"020": [{"a": "1234567890", "ind1": " ", "ind2": " ", "z": ["A", "B"]}]}
new: {"020": [{"a": ["1234567890"], "ind1": " ", "ind2": " ", "z": ["A", "B"]}]}

This unifies and hopefully simplifies processing on the consumer side.

Control field values are still just strings, since they are single values by spec.