Released on 2024-06-18
- #227: Add get_hairline() and set_hairline() functions
Released on 2024-04-27
- Drop Python 3.7 support, add Python 3.12 support
- #221: Add environment variable to set folder where DLLs are installed on Windows
- #225: Use Ruff instead of Flake8 and isort
Released on 2023-07-24
- #217: Repair installation with PyInstaller
Released on 2023-06-12
This version uses a new CFFI mode that may break your program.
CairoCFFI now uses Flit for packaging and is also distributed as a Python wheel.
Please test carefully and don’t hesitate to report issues before using it in production.
- #216: Use ABI-level in-line CFFI mode
Released on 2023-04-15
- #212: Bring back XCB support during wheel generation
Released on 2023-03-17
- #106, #200: Fallback to manual PNG file creation on hardened systems
- #210: Use pyproject.toml for packaging and remove other useless files
Released on 2022-09-23
Released on 2021-10-04
- 2cd512d: Drop Python 3.6 support
- #196: Fix import constants.py import
- #169: Add extra library name "cairo-2.dll"
- #178: Workaround for testing date string with cairo 1.17.4
- #186: Fix link in documentation
- #195: Fix typo in documentation
- #184, a4fc2a7: Clean .gitignore
Released on 2020-10-29
- #152: Add NumPy support
- #143: Make write_to_png function work on hardened systems
- #156: Use major version name to open shared libraries
- #165: Don’t list setuptools as required for installation
Released on 2019-09-05
- #135, #127, #119: Clean the way external libraries are found
- #126: Remove const char* elements from cdef
- Support Cairo features up to 1.17.2
- Fix documentation generation
Released on 2019-02-15
- #123: Rely on a recent version of setuptools to handle VERSION
Released on 2019-02-12
- #120: Don't delete _generated modules on ffi_build import
Released on 2019-02-08
6 years after its first release, cairocffi can now be considered as stable.
- Drop Python 2.6, 2.7 and 3.4 support
- Test with Python 3.7
- Clean code, tests and packaging
Released on 2018-08-06
- Drop Python 3.2 and 3.3 support
- Test with PyPy and PyPy3
- #114: Fix test compatibility with Cairo 1.15.12
- #112: Add cairo library name from PyGObject for Windows
- Fix
pango_example.py
- #85: Fix crash with xbc tests
- Clean documentation
- Support Cairo features up to 1.15.12
Released on 2018-05-30
- #98: Add width and height options to pixbuf.decode_to_image_surface
- #112: Add cairo library name from PyGObject for Windows
Released on 2017-02-03
- Follow semver
- #76: Avoid implicit relative import
- #74: Use utf-8 instead of utf8 in headers
- #73: Keep cairo library loaded until all relevant objects are freed
- #86: Add cairo_quartz_* functions for MacOS
- Use the default ReadTheDocs theme
- Fix implicit casts
Released on 2015-08-04
- Use ctypes.util.find_library with dlopen.
Released on 2015-06-22
- Allow installing cairocffi when cffi<1.0 is installed.
Released on 2015-06-05
- #47: Fix PyPy support.
- #60: Use CFFI-1.0 methods.
- #61: Allow ffi import when package is pip installed.
Released on 2014-09-23.
- #39: Add :class:`xcb.XCBSurface`.
- #42: Add :class:`Win32PrintingSurface`.
Released on 2014-05-23.
- Stop testing with tox on Python 3.1, start on 3.4
- Start testing pushes and pull requests on Travis-CI
- Add more variants of the library names to try with dlopen(). This seems to be necessary on OpenBSD.
Released on 2014-03-11.
Fix #28: Add another dynamic library name to try to load, for OS X.
Released on 2014-02-27.
Fix #21:
UnicodeDecodeError
when installing with a non-UTF-8 locale.
Released on 2013-07-16.
Fix #15:
Work around CFFI bug #92
that caused memory leaks when file-like target
objects
are passed to :meth:`Surface.write_to_png`, :class:`PDFSurface`,
:class:`PSSurface` and :class:`SVGSurface`.
Released on 2013-06-20.
Change :func:`~cairocffi.pixbuf.decode_to_image_surface` to raise a specific :exc:`~cairocffi.pixbuf.ImageLoadingError` exception instead of a generic :exc:`ValueError`. This new exception type inherits from :exc:`ValueError`.
Released on 2013-05-27.
- Fix #10: Pretend to be pycairo 1.10.0, for compatibility with matplotlib which does version detection.
- Fix WeasyPrint#94: Make (again??) GTK acutally optional for PixBuf support.
Released on 2013-05-03.
- Fix #9: Make GTK acutally optional for PixBuf support.
Released on 2013-04-30.
- Various documentation improvements
- Bug fixes:
- Fix error handling in :meth:`ImageSurface.create_from_png`.
- Fix :meth:`ScaledFont.text_to_glyphs` and :meth:`Context.show_text_glyphs` with new-style enums.
Released on 2013-04-06.
No change since 0.3.1, but depend on CFFI < 0.6 because of backward-incompatible changes. cairocffi 0.4 will require CFFI 0.6 or more.
# Before cairocffi 0.4: surface = cairocffi.ImageSurface('ARGB32', 300, 400) # All cairocffi versions: surface = cairocffi.ImageSurface(cairocffi.FORMAT_ARGB32, 300, 400)
- Compatibility with CFFI 0.6
Released on 2013-03-29.
No change since 0.3.1, but depend on CFFI < 0.6 because of backward-incompatible changes. cairocffi 0.4 will require CFFI 0.6 or more.
Released on 2013-03-18.
Fix handling of GDK-PixBuf errors.
Released on 2013-02-26.
- Add :mod:`cairocffi.pixbuf`, for loading images with GDK-PixBuf.
- Add iteration and item access on :class:`Matrix`.
- Better Windows support by trying to load
libcairo-2.dll
Released on 2013-01-08.
Added :class:`RecordingSurface`.
Released on 2013-01-07.
First PyPI release.