CHANGELOG.adoc 8.46 KB
Newer Older
1 2
= CHANGELOG

3 4 5
== 0.3.9

* [BUG FIX]Set {EPUB::Metadata::DCMES#lang} properly from xml:lang attribute
6
* Change default XML backend from REXML to Nokogiri
7

8 9
== 0.3.8

10
* [REFACTORING]Add {EPUB::Parser::NokogiriAttributeWithPrefix} and use `Nokogiri::XML::Node#attribute_with_prefix` instead of `EPUB::Parser::Utils#extract_attribute`
11
* Set default value for detect_encoding argument for {EPUB::Publication::Package::Manifest::Item#read} to false
12 13
* Make XML library switchable between REXML and Nokogiri
* Make REXML a default XML backend
14

15 16 17
== 0.3.7

* Strip leading and trailing white spaces from identifiers. See http://www.idpf.org/epub/31/spec/epub-packages.html#sec-opf-dcidentifier for details.
18
* Change home page and documentation from rubydoc.info to GitLab Pages
19 20 21
* Parse `package/metadata/meta@name` and `@content` to allow EPUB 2 meta info
* Add {EPUB::Metadata#cover_image Metadata#cover_image}
* Make {EPUB::Book::Features#cover_image Book::Features#cover_image} return EPUB 2 cover image if EPUB 3's not available
22
* Add `epub-cover` command-line tool. See {file:docs/EpubCover.adoc} for details.
23

24
== 0.3.6
25

KitaitiMakoto's avatar
KitaitiMakoto committed
26
* [BUG FIX]Ignore fragment when find item by relative IRI
27
* Enable https://github.com/ko1/pretty_backtrace[PrettyBacktrace] only when specified by env var for testing performance
KitaitiMakoto's avatar
KitaitiMakoto committed
28

29
== 0.3.5
KitaitiMakoto's avatar
KitaitiMakoto committed
30

31
* [BUG FIX]Fix a bug that {EPUB::ContentDocument::Navigation::Item#item} is `nil` when `href` includes double dots(`..`)(Thanks https://gitlab.com/aelkiss[aelkiss]!)
32

33
== 0.3.4
34 35

* Add {EPUB::Publication::Package#full_path} and {EPUB::Publication::Package#rootfile}
36
* [BUG FIX]Fix a bug that {EPUB::ContentDocument::Navigation::Item#item} doesn't return correct {EPUB::Publication::Package::Manifest::Item Item}(Thanks https://gitlab.com/aelkiss[aelkiss]!)
37

38
== 0.3.3
39 40

* [BUG FIX]Use UnpackedURI adapter for URI
41
* [BREAKING CHANGE]Remove deprecated second argument from `EPUB::Parser::Publication#initialize`
42
* Add `detect_encoding` keyword argument to `Publication::Package::Manifest::Item#read` and `ContentDocument::XHTML#read`
43

44
== 0.3.2
45 46 47

* Use epub-cfi gem for EPUB CFI

48
== 0.3.1
KitaitiMakoto's avatar
KitaitiMakoto committed
49 50 51 52 53

* Load epub/parser.rb in epub/parser/cfi.rb to allow to use Parser::CFI independently
* Make `CFI` comparable. Now can call `CFI#==`
* Include `Publication::Package::Spine::Itemref` in `Searcher.search_element`'s result

54
== 0.3.0
KitaitiMakoto's avatar
KitaitiMakoto committed
55 56 57

* Wrong release. I'm sorry.

58
== 0.2.9
KitaitiMakoto's avatar
KitaitiMakoto committed
59 60 61 62

* Fix a bug that `Searcher.search_element` returns wrong CFI
* Add `Searcher.search_by_cfi`

63
== 0.2.8
64 65 66 67

* Change Searcher API: #search -> #search_text
* Add Searcher.search_element

68
== 0.2.7
69

KitaitiMakoto's avatar
KitaitiMakoto committed
70
* Add `EPUB::Metadata#children` to keep all child emements to count them on CFI search
71
* Allow class including `EPUB` to intialize with extra arguments(Thanks, https://github.com/skukx[skukx]!)
72

73
== 0.2.6
74 75 76

* Add `EPUB::Publication::Package::Metadata#package_identifier` as alias of `#release_identifier`, which is defined in EPUB Publication 3.0 spec
* [BUG FIX]Metadata#modified returns modified with no refiners
77
* Make second argument for `EPUB::Parser::Publication.new` deprecated
78
* Add META-INF/metadata.xml support defined in [EPUB Multiple-Rendition Publications 1.0][multi-rendition]
79
* Add `EPUB::Book::Features#packages` and `#default_rendition`
80
* [BUG FIX]Don't raise error when using `Zipruby` container adapter
81 82

[multi-rendition]: http://www.idpf.org/epub/renditions/multiple/
83

84
== 0.2.5
KitaitiMakoto's avatar
KitaitiMakoto committed
85

KitaitiMakoto's avatar
KitaitiMakoto committed
86
* [BUG FIX]Don't load Zip/Ruby if unneccessary
KitaitiMakoto's avatar
KitaitiMakoto committed
87 88
* Raise error when PhysicalContainer::ArchiveZip fails find entry
* Remove unused files in schemas directory
89
* Add `EPUB::CFI::PhysicalContainer.find_adapter`
KitaitiMakoto's avatar
KitaitiMakoto committed
90

91
== 0.2.4
92

93
* Bug fix for `EPUB::CFI::Location#<=>`
94
* Change default physical container adapter from `EPUB::OCF::PhysicalContainer::ZipRuby` to `EPUB::OCF::PhysicalContainer::ArchiveZip`
95
* Add `EPUB::CFI::Step#element?` and `#character_data?`
96
* Change attribute name: `EPUB::CFI::Step#step` -> `EPUB::CFI::Step#value`, `EPUB::CFI::CharacterOffset#offset` -> `EPUB::CFI::CharacterOffset#value`
97
* Show modified on `epubinfo` command
98

99
== 0.2.3
100 101

* Change the name of physical container adapter for file system: :File -> :UnpackedDirectory
102
* Add `EPUB::Publication::Package::Manifest::Item#full_path`
103
* Make #href= acceptable String
KitaitiMakoto's avatar
KitaitiMakoto committed
104
* Implement `EPUB::CFI` and `EPUB::Parser::CFI`
105
* Remove https://github.com/rubys/nokogumbo/[nokogumbo] from dependencies. It ommits `head` and `body` elements
KitaitiMakoto's avatar
KitaitiMakoto committed
106
* Remove Cucumber and Cucumber features
107 108
* Add `EPUB::Publication::Package::Metadata#modified` and `EPUB::Book::Features#modified`
* Add `EPUB::Book::Features#release_identifier`
109

110
== 0.2.2
111 112 113

* [BUGFIX]Item#entry_name returns normalized IRI

114
== 0.2.1
115 116

* Remove deprecated `EPUB::Constants::MediaType::UnsupportedError`. Use `UnsupportedMediatType` instead.
117
* Make it possible to use https://github.com/javanthropus/archive-zip[archive-zip] gem to extract contents from EPUB package via `EPUB::OCF::PhysicalContainer::ArchiveZip`
118
* Add warning about default physical container adapter change
119
* Make it possible to extract contents from the web via `EPUB::OCF::PhysicalContainer::UnpackedURI`. See {file:ExtractContentsFromWeb.markdown} for details.
120

121
== 0.2.0
122 123

* Introduce abstraction layer for OCF physical container
KitaitiMakoto's avatar
KitaitiMakoto committed
124
* Add `EPUB::OCF::PhysicalContainer::File` and make it possible to parse file system directory as an EPUB file. See {file:docs/UnpackedArchive.markdown} for details.
125
* Remove `EPUB::Parser::OCF::CONTAINER_FILE` and other constants
126

127
== 0.1.9
128

129
* Introduce https://github.com/rubys/nokogumbo/[Nokogumbo] for XHTML Content Documents
130
* Stop support for Ruby 1.9
131
* Remove `EPUB.included` method. Now including `EPUB` module empowers nothing of EPUB features. Include `EPUB::Book::Features` instead.
132
* Add `EPUB::Searcher::XHTML::Seamless` and make it default searcher
133
* Add `EPUB::Publication::Package::Manifest#each_nav`
134
* Stop to use enumerabler gem
135

136
== 0.1.8
137

138
* Explicity #close each zip member file that has been opened via #fopen(Thanks, https://github.com/xunker[xunker]!)
139

140
== 0.1.7.1
141 142 143

* Don't set encoding when content is not text

144
== 0.1.7
145 146

* [Experimental]Add `EPUB::Searcher` module. See {file:Searcher.markdown} for details
147
* Detect and set character encoding in `EPUB::Publication::Package::Item#read`
148

149
== 0.1.6
KitaitiMakoto's avatar
KitaitiMakoto committed
150
* Remove `EPUB.parse` method
151
* Remove `EPUB::Publication::Package::Metadata#to_hash`
152
* Add `EPUB::Publication::Package::Metadata::Identifier` for ad-hoc `scheme` attribute and `#isbn?` method
153
* Remove `MethodDecorators::Deprecated`
154
* Make `EPUB::Parser::OCF::CONTAINER_FILE` and other constants deprecated
155
* Make `EPUB::Publication::Package::Metadata::Link#rel` a `Set`
156 157
* Add exception class `EPUB::Constants::MediaType::UnsupportedMediaType`
* Make `EPUB::Constants::MediaType::UnsupportedError` deprecated. Use `UnsupportedMediatType` instead
158
* Add `EPUB::Publication::Package::Item#cover_image?`
159
* Add `EPUB::Book::Features` module and move methods of `EPUB` module to it(Thanks, https://github.com/takahashim[takahashim]!)
160
* Make including `EPUB` deprecated
161
* Parse `hidden` attribute of `nav` elements
162
* [Experimental]Add `EPUB::ContentDocument::Navigation::Item#traverse`
163

164
== 0.1.5
165
* Add `ContentDocument::XHTML#title`
166
* Add `Manifest::Item#xhtml?`
167
* Add `--words` and `--chars` options to `epubinfo` command which count words and charactors of XHTMLs in EPUB file
168 169 170
* API change: `OCF::Container::Rootfile#full_path` became Addressable::URI object rather than `String`. `EPUB#rootfile_path` still returns `String`
* Add `ContentDocument::XHTML#rexml` which returns document as `REXML::Document` object
* Add `ContentDocument::XHTML#nokogiri` which returns document as `Nokogiri::XML::Document` object
171
* Inspect more readbly
172

173 174
== 0.1.4
* http://www.idpf.org/epub/fxl/[Fixed-Layout Documents] support
KitaitiMakoto's avatar
KitaitiMakoto committed
175 176 177 178 179
* Define `ContentDocument::XHTML#top_level?`
* Define `Spine::Itemref#page_spread` and `#page_spread=`
* Define some utility methods around `Manifest::Item` and `Spine::Itemref`
  * `Manifest::Item#itemref`
  * `Spine::Itemref#item=`
KitaitiMakoto's avatar
KitaitiMakoto committed
180

181
== 0.1.3
KitaitiMakoto's avatar
KitaitiMakoto committed
182 183 184 185 186 187
* Add `EPUB::Parser::Utils` module
* Add a command-line tool `epub-open`
* Add support for XHTML Navigation Document
* Make `EPUB::Publication::Package::Metadata#to_hash` obsolete. Use `#to_h` instead
* Add utility methods `EPUB#description`, `EPUB#date` and `EPUB#unique_identifier`

188 189
== 0.1.2
* Fix a bug that `Item#read` couldn't read file when `href` is percent-encoded(Thanks, https://github.com/gambhiro[gambhiro]!)
KitaitiMakoto's avatar
KitaitiMakoto committed
190

191
== 0.1.1
KitaitiMakoto's avatar
KitaitiMakoto committed
192 193 194 195
* Parse package@prefix and attach it as `Package#prefix`
* `Manifest::Item#iri` was removed. It have existed for files in unzipped epub books but now EPUB Parser retrieves files from zip archive directly. `#href` now returns `Addressable::URI` object.
* `Metadata::Link#iri`: ditto.
* `Guide::Reference#iri`: ditto.