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.
- Support for Python 3.13 (#208)
delocate
dependency only required on Windows platform
- Windows (x64) support (#91)
- Type stubs (#198)
- Using C++ libzim 9.2.3-2
- Support for Python 3.8 (EOL)
- New
Creator.add_alias
method for multiple entries pointing to same content
- Using C++ libzim 9.1.0
- Support for Python 3.12
- Support (and wheels) for musl/Alpine
- Using C++ libzim 9.0.0
- Added
clean
command to setup.py to remove downloaded libzim
- Build with (and target) libzim 8.2.1
- Fixed setup checking download platform even when using own libzim (not downloading)
- Support for Python 3.7 (EOL)
- Revamped setup to create proper wheels and sdist out-of-the-box (
python3 -m build
)- Build can now sign + notarize for macOS
- Build can now create macOS universal wheels
- Added cibuildwheel config
- Build with (and target) libzim 8.2.0
version
module withversion.get_versions()
returning an OrderedDict of library:version inclusing libzimversion.print_versions()
print it on stdout (or another fd)version.get_libzim_version()
returns the libzim version only
Creator.add_metadata
no longer transforms (~pascalize) name (#161)
writer.pascalize
function
Archive.media_count
- Python 3.11 Support
- Using libzim 8.1.0
- Exceptions in getIndexData dont crash interpreter (#153)
- Removed
lzma
compression option (#150)
- Using libzim 8.0.0
- Building with Cython 0.29.30
- Specifying max python version to 3.10.x in metadata
Archive.get_metadata_item()
(#127)- Python 3.10 Support
- using libzim 7.2.2
- RuntimeError exception is now raised on invalid/duplicate entries
- Allow setting mimetype for metadata
- Updated Cython to 0.29.28
- Fixed
Archive.filesize
(#137)
- skip cython on setup.py clean (#131)
OFFLINE
environ skips network-using tests (#132)
- using libzim 7.0.0
- Python 3.9 support
- [breaking] Using new libzim 7-based API for both reader and writer
- No more namespaces
- Defaulting to zstd compression
- https://github.com/openzim/libzim/blob/master/ChangeLog
- Rewrote all tests for new API ; using libzim's own test ZIM files to test reader
- Code-coverage now includes Cython code as well
- macOS releases are signed and notarized
- Early-failure on invalid destination ZIM path
- added compression argument to Creator to set compression algorithm (libzim.writer.Compression)
- Creator positional arguments order changed: min_chunk_size moved after compression
- Reader
get_suggestions_results_count
renamedget_estimated_suggestions_results_count
(#71) - Reader
get_search_results_count
renamedget_estimated_search_results_count
(#71) - Article subclasses must implement
get_size()
- Fixed using
get_filename()
(#71) - using libzim 6.1.8
- fixed access to bundled libzim on macOS (missing rpath)
- [reader] fixed
main_page
retrieval - [reader] provide access to redirect target via
get_redirect_article()
(#51) - [reader] fixed
ReadArticle.__repr__
(#37) - [reader] raising
IndexError
andKeyError
on incorrect url/ID (#38) - [reader]
File.get_metadata()
now returnsbytes
(#30) - [reader] cleaner reader API
- added/fixed all docstrings, including annotations
File
can be used as a contextmanagerFile.get_namespaces_count()
renamed toget_namespace_count()
- [writer] removed ZIM filename printed on stdout at Creator init
- [writer] Creator now closed upon deletion (#31)
- [writer]
min_chunk_size
andindex_language
now optional at Creator init (#29) - [writer] Creator now uses
pathlib.Path
forfilename
(#45) - [writer] cleaner Creator API
- added/fixed all docstrings, including annotations
- added
_closed
property - removed
_get_counter_string()
- removed
write_metadata()
- removed
_update_article_counter)_
- removed
pascalize()
update_metadata()
acceptsdatetime.datetime
forDate
- [writer] exceptions in
Article
methods now forwarded to python (asRuntimeError
with details in message) - [writer] fixed creation of redirect from
Article
(get_redirect_url()
) - added macOS support (#35)
- building with Cython 0.29.20+
- using libzim 6.1.7
- initial release
- using libzim 6.1.6