arrow v1.4.0 Release Notes

Release Date: 2025-10-24 // 8 months ago
  • ➕ ADDED

    • ➕ Added week_start parameter to floor() and ceil() methods. PR #1222
    • Added FORMAT_RFC3339_STRICT with a T separator. PR #1201
    • ➕ Added Macedonian in Latin locale support. PR #1200
    • ➕ Added Persian/Farsi locale support. PR #1190
    • ➕ Added week and weeks to Thai locale timeframes. PR #1218
    • ➕ Added weeks to Catalan locale. PR #1189
    • ➕ Added Persian names of months, month-abbreviations and day-abbreviations in Gregorian calendar. PR #1172

    🔄 CHANGED

    • Migrated Arrow to use ZoneInfo for timezones instead of pytz. PR #1217

    🛠 FIXED

    • 🛠 Fixed humanize month limits. PR #1224
    • Fixed type hint of Arrow. __getattr__. PR #1171
    • 🛠 Fixed spelling and removed poorly used expressions in Korean locale. PR #1181
    • ⚡️ Updated shift() method for issue #1145. PR #1194
    • 👌 Improved Greek locale translations (seconds, days, "ago", and month typo). PR #1184, PR #1186
    • ➕ Addressed datetime.utcnow deprecation warning. PR #1182

    INTERNAL

    • ➕ Added codecov test results. PR #1223
    • ⚡️ Updated CI dependencies (actions/setup-python, actions/checkout, codecov/codecov-action, actions/cache).
    • ➕ Added docstrings to parser.py. PR #1010
    • ⚡️ Updated Python versions support and bumped CI dependencies. PR #1177
    • ➕ Added dependabot for GitHub actions. PR #1193
    • 🚚 Moved dateutil types to test requirements. PR #1183
    • ➕ Added documentation link for arrow.format. PR #1180

Previous changes from v1.3.0

    • 👍 [ADDED] Added official support for Python 3.11 and 3.12.
    • [ADDED] Added dependency on types-python-dateutil to improve Arrow mypy compatibility. PR #1102
    • ⚡️ [FIX] Updates to Italian, Romansh, Hungarian, Finish and Arabic locales.
    • 📜 [FIX] Handling parsing of UTC prefix in timezone strings.
    • 📚 [CHANGED] Update documentation to improve readability.
    • 👍 [CHANGED] Dropped support for Python 3.6 and 3.7, which are end-of-life.
    • [INTERNAL] Migrate from setup.py/Twine to pyproject.toml/Flit for packaging and distribution.
    • 🔧 [INTERNAL] Adopt .readthedocs.yaml configuration file for continued ReadTheDocs support.