Ical

Latest version: v8.3.0

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 12

6.1.1

------------------

Minor changes:

- Add a ``weekday`` attribute to ``vWeekday`` components. See `Issue 749 <https://github.com/collective/icalendar/issues/749>`_.
- Document ``vRecur`` property. See `Issue 758 <https://github.com/collective/icalendar/issues/758>`_.
- Print failure of doctest to aid debugging.

Breaking changes:

- The ``relative`` attribute of ``vWeekday`` components has the correct sign now. See `Issue 749 <https://github.com/collective/icalendar/issues/749>`_.

New features:

- ...

Bug fixes:

- ...

6.1.0

------------------

Minor changes:

- Add ``end``, ``start``, ``duration``, ``DTSTART``, ``DUE``, and ``DURATION`` attributes to ``Todo`` components. See `Issue 662`_.
- Add ``DTSTART``, ``TZOFFSETTO`` and ``TZOFFSETFROM`` properties to ``TimezoneStandard`` and ``TimezoneDaylight``. See `Issue 662`_.
- Format test code with Ruff. See `Issue 672 <https://github.com/collective/icalendar/issues/672>`_.
- Document the Debian package. See `Issue 701 <https://github.com/collective/icalendar/issues/701>`_.
- Document ``vDatetime.from_ical``
- Allow passing a ``datetime.date`` to ``TZP.localize_utc`` and ``TZP.localize`` methods.
- Document component classes with description from :rfc:`5545`.
- Merge "File Structure" and "Overview" sections in the docs. See `Issue 626 <https://github.com/collective/icalendar/issues/626>`_.
- Update code blocks in ``usage.rst`` with the correct lexer.
- Tidy up the docstring for ``icalendar.prop.vPeriod``.
- Improve typing and fix typing issues


New features:

- Add ``VALARM`` properties for :rfc:`9074`. See `Issue 657 <https://github.com/collective/icalendar/issues/657>`_
- Test compatibility with Python 3.13
- Add ``Timezone.from_tzinfo()`` and ``Timezone.from_tzid()`` to create a ``Timezone`` component from a ``datetime.tzinfo`` timezone. See `Issue 722`_.
- Add ``icalendar.prop.tzid_from_tzinfo``.
- Add ``icalendar.alarms`` module to calculate alarm times. See `Issue 716 <https://github.com/collective/icalendar/issues/716>`_.
- Add ``Event.alarms`` and ``Todo.alarms`` to access alarm calculation.
- Add ``Component.DTSTAMP`` and ``Component.LAST_MODIFIED`` properties for datetime in UTC.
- Add ``Component.is_thunderbird()`` to check if the component uses custom properties by Thunderbird.
- Add ``X_MOZ_SNOOZE_TIME`` and ``X_MOZ_LASTACK`` properties to ``Event`` and ``Todo``.
- Add ``Alarm.ACKNOWLEDGED``, ``Alarm.TRIGGER``, ``Alarm.REPEAT``, and ``Alarm.DURATION`` properties
as well as ``Alarm.triggers`` to calculate alarm triggers.
- Add ``__doc__`` string documentation for ``vDate``, ``vBoolean``, ``vCalAddress``, ``vDuration``, ``vFloat``, ``vGeo``, ``vInt``, ``vPeriod``, ``vTime``, ``vUTCOffset`` and ``vUri``. See `Issue 742 <https://github.com/collective/icalendar/issues/742>`_.
- Add ``DTSTART``, ``TZOFFSETTO``, and ``TZOFFSETFROM`` to ``TimezoneStandard`` and ``TimezoneDaylight``
- Use ``example`` methods of components without arguments.
- Add ``events``, ``timezones``, and ``todos`` property to ``Calendar`` for nicer access.
- To calculate which timezones are in use and add them to the ``Calendar`` when needed these methods are added: ``get_used_tzids``, ``get_missing_tzids``, and ``add_missing_timezones``.
- Identify the TZID of more timezones from dateutil.
- Identify totally unknown timezones using a UTC offset lookup tree generated in ``icalendar.timezone.equivalent_timezone_ids`` and stored in ``icalendar.timezone.equivalent_timezone_ids``.
- Add ``icalendar.timezone.tzid`` to identify a timezone's TZID.

Bug fixes:

- Add ``icalendar.timezone`` to the documentation.

.. _`Issue 722`: https://github.com/collective/icalendar/issues/722

6.0.1

------------------

New features:

- Added ``end``, ``start``, ``duration``, ``DTSTART``, ``DUE``, and ``DURATION`` attributes to ``Event`` components. See `Issue 662`_.
- Added ``end``, ``start``, ``duration``, and ``DTSTART`` attributes to ``Journal`` components. See `Issue 662`_.

Bug fixes:

- Fix a few ``__all__`` variables.
- Added missing ``docs`` folder to distribution packages. See `Issue 712 <https://github.com/collective/icalendar/issues/712>`_.

.. _`Issue 662`: https://github.com/collective/icalendar/issues/662

6.0.0

------------------

Minor changes:

- Add ``__all__`` variable to each modules in ``icalendar`` package
- Improve test coverage.
- Adapt ``test_with_doctest.py`` to correctly run on Windows.
- Measure branch coverage when running tests.
- Export ``Component`` base class for typing

New features:

- Use ``pyproject.toml`` file instead of ``setup.py``

Bug fixes:

- Fix link to stable release of tox in documentation.
- Fix a bad ``bytes`` replace in ``unescape_char``.
- Handle ``ValueError`` in ``vBinary.from_ical``.
- Ignore the BOM character in incorrectly encoded ics files.

6.0.0a0

--------------------

Minor changes:

- Test that all code works with both ``pytz`` and ``zoneinfo``.
- Add message to GitHub release, pointing to the changelog
- Make coverage report submission optional for pull requests
- Parallelize coverage
- Rename ``master`` branch to ``main``, see `Issue
<https://github.com/collective/icalendar/issues/627>`_
- Update ``docs/usage.rst`` to use zoneinfo instead of pytz.
- Added missing public classes and functions to API documentation.
- Improved namespace management in the ``icalendar`` directory.
- Add Python version badge and badge for test coverage
- Remove 4.x badge
- Update list of ``tox`` environments
- Use Coveralls' GitHub Action
- Check distribution in CI

Breaking changes:

- Use ``zoneinfo`` for ``icalendar`` objects created from strings,
see `Issue 609 <https://github.com/collective/icalendar/issues/609>`_.

This is an tested extension of the functionality, not a restriction:
If you create ``icalendar`` objects with ``pytz`` timezones in your code,
``icalendar`` will continue to work in the same way.
Your code is not affected.

``zoneinfo`` will be used for those **objects that** ``icalendar``
**creates itself**.
This happens for example when parsing an ``.ics`` file, strings or bytes with
``from_ical()``.

If you rely on ``icalendar`` providing timezones from ``pytz``, you can add
one line to your code to get the behavior of versions below 6:

.. code:: Python

import icalendar
icalendar.use_pytz()

- Replaced ``pkg_resources.get_distribution`` with ``importlib.metadata`` in
``docs/conf.py`` to allow building docs on Python 3.12.

- Remove ``is_broken`` property. Use ``errors`` instead to check if a
component had suppressed parsing errors.
See `Issue 424 <https://github.com/collective/icalendar/issues/424>`_.

- Remove untested and broken ``LocalTimezone`` and ``FixedOffset`` tzinfo
sub-classes, see `Issue 67 <https://github.com/collective/icalendar/issues/67>`_

- Remove Python 3.7 as compatible. icalendar is compatible with Python
versions 3.8 - 3.12, and PyPy3.

- Remove ``pytz`` as a dependency of ``icalendar``. If you require ``pytz``,
add it to your dependency list or install it additionally with::

pip install icalendar==6.* pytz

New features:

- Check code quality with `Ruff <https://docs.astral.sh/ruff/>`_, optional report
- Test compatibility with Python 3.12
- Add function ``icalendar.use_pytz()``.
- Allows selecting components with ``walk(select=func)`` where ``func`` takes a
component and returns ``True`` or ``False``.
- Add compatibility to :rfc:`7529`, adding ``vMonth`` and ``vSkip``
- Add ``sphinx-autobuild`` for ``livehtml`` Makefile target.
- Add pull request preview on Read the Docs, building only on changes to documentation-related files.
- Add link to pull request preview builds in the pull request description only when there are changes to documentation-related files.
- Add documentation of live HTML preview of documentation and clean up of ``install.rst``.
- Add ``sphinx-copybutton`` to allow copying code blocks with a single click of a button.

Bug fixes:

- Change documentation to represent compatibility with Python 3.8 - 3.12, and PyPy3.
- Rename RFC 2445 to RFC 5545, see `Issue 278
<https://github.com/collective/icalendar/issues/278>`_

5.0.13

-------------------

Minor changes:

- Guide to delete the build folder before running tests
- Add funding information
- Make documentation build with Python 3.12
- Update windows to olson conversion for Greenland Standard Time
- Extend examples in Usage with alarm and recurrence
- Document how to serve the built documentation to view with the browser
- Improve test coverage

New features:

- Create GitHub releases for each tag.

Bug fixes:

- Parse calendars with X-COMMENT properties at the end the file by ignoring these properites

Page 1 of 12

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.