Library for parsing epub document metadata (Haskell)

root / changelog.md

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
4.5 (2016-10-19)

   * Fix merged for UTF8 issue


4.4 (2016-10-11)

   * Removed defunct cabal stability field
   * Moved copyright dates up to 2016
   * Moved tested-with up to GHC 8.0.1
   * Removed GHC switch simpl-tick-factor
   * Moved cabal-version up to >= 1.10
   * Project now builds with stack
   * Fixed failing damaged zip file unit test


4.3 (2015-05-25)

   * Replaced deprecated Control.Monad.Error with
     Control.Monad.Except
   * Updated cabal homepage, tested-with and source-repository
   * Cleaned out ui3.info stuff from the README
   * Updated boringfile with cabal sandbox filespecs
   * TODO is now a Markdown document


4.2 (2014-05-09)

   * Added many files missing from extra-source-files


4.1 (2014-05-04)

   * Fix for Simplifier ticks exhausted problem that was exposed
     after upgrade to GHC 7.8.2
   * Added README.md and changelog.md files, better docs!
   * Some documentation fixes
   * Fixed a bug reading books where the container XML document is malformed


4.0 (2013-09-20)

   * Added support for epub3 documents. This was done using a single
     set of datatypes, not specific to either epub2 or epub3.
   * Redesigned the book examining API to be an edsl. Actions are to be
     combined together based on what the developer needs from the document.
   * The data structures to contain epub metadata "sections" were
     redesigned to no longer be nested. Part of this change includes a
     typeclass-based pretty-print API for displaying this data.
   * Documentation rewrites and additions, including a working code
     example in the API docs.


3.0 (2013-04-13)

   * Repackaged this code to show that it's for epub v2.x only at
     this time
   * Fixed a bug where mimetype file not occurring first in the archive
     on Windows
   * Fixed support for all 0-or-more epub2 metadata fields
   * Redesigned the Format (metadata display) code
   * Modularized the unit tests so that more tests could be added that
     aren't specifically about parsing metadata.
   * Cosmetic updates to the epub metadata API including some
     documentation clean-up


2.3.2 (2013-02-01)

   * Added code to strip illegal characters from the beginning of the
     OPF metadata XML file
   * Switched the encoding hack to be case-insensitive


2.3.1 (2012-10-31)

   * Added a fix for epub zip files with a damaged central directory
     signature


2.3.0 (2012-01-29)

   * Encountered a problem in Windows where using a lazy ByteString
     to read the entire epub zip file was never closing the file while
     consumer applications were still running. Changed this library to
     use a strict ByteString instead for reading the zip archive.


2.2.0.1 (2011-10-27)

   * Changed display output of OPF data to label the textual content of
     a tag as "text"
   * Extensive changes to the cabal build of this project to bring it
     up to Cabal 1.10
   * Unit tests now use the test-suite cabal stanza


2.2.0.0 (2011-04-20)

   * Now includes some API functions for working directly with zip
     archives and directories full of the loose files which will be made
     into epubs
   * Moved the epubmeta utility from this project. It's now in epub-tools


2.1.0 (2011-02-13)

   * Project now uses zip-archive instead of the libzip
     library. zip-archive is a pure Haskell solution that's easier to
     build on non-UNIX-like platforms
   * Other changes to the build and project to make it buildable under
     Windows


2.0.2 (2011-01-10)

   * This library now uses the haskell LibZip library instead of relying
     on unzip shell command invocation
   * Changed command-line utility name from epub-meta to epubmeta


2.0.1 (2011-01-08)

   * Now always using namespace qualification for all OPF Package
     tags. Library would incorrectly fail if the OPF document was created
     using explicit namespacing for the OPF package elements.
   * Hack to avoid problems with UTF-8 encoding in OPF Package XML
     documents
   * Hack to avoid problems with !DOCTYPE declarations. Found some
     books where a DTD was specified for a completely different type of
     document. Discarding these declarations for now.
   * Changed this code to use System.Process instead of HSH for unzip
     invocation in order to have more control over interpreting exit
     codes.


2.0.0 (2011-01-02)

   * Added parsing and output of the manifest, spine and guide portions
     of the spec. Full read capability of OPF Package data is now
     complete.
   * Major redesign of the API. It's been split and organized into
     smaller, more focused modules.
   * Updated to work with the 9.x version of hxt
   * Redesigned epub metadata formatting code to be much more efficient
     using Writer monad and Data.Sequence
   * Added support for new capabilities to command-line utility
   * Clarified the Haddock documentation to describe how these data
     types map to the source XML data
   * Updated unit tests to reflect the large API changes


1.0.2 (2010-05-11)

   * Initial release