Changelog

New features, improvements, and fixes for every AirTrail release.

v3.7.0

GitHub

♾️ Custom Fields

With this feature, you can add arbitrary data fields to flights. This could be anything from the booking reference, how many frequent flyer points you earned, or the codeshare airline.

πŸš€ Features

  • feat: custom fields by @johanohly in #471
  • feat: add terminal & gate flight fields by @johanohly in #475

🌟 Enhancements

  • feat: handle controlled duplicate IATA codes by @johanohly in #472

πŸ› Bug fixes

  • fix: AM/PM selection not working on some phones by @johanohly in #477

Full Changelog: v3.6.0...v3.7.0

v3.6.0

GitHub

πŸš€ Features

  • feat: add byAir data importer by @johanohly in #460

🌟 Enhancements

  • fix: normalize flight number format by @binnichtaktiv in #454
  • feat: add client-side lookup caches for airports, airlines, and aircraft by @johanohly in #461

πŸ› Bug fixes

  • fix: correct date shift when editing flights across timezone boundaries by @johanohly in #457
  • feat: add user mapping for AirTrail JSON imports by @johanohly in #458
  • fix: avoid pre-filling actual times for future flights by @johanohly in #459

New Contributors

  • @binnichtaktiv made their first contribution in #454

Full Changelog: v3.5.2...v3.6.0

v3.5.2

GitHub

πŸ› Bug fixes

  • fix: allow flights with only scheduled departure time by @johanohly in #450

Full Changelog: v3.5.1...v3.5.2

v3.5.1

GitHub

πŸ› Bug fixes

  • fix: open native date picker on iOS Safari via direct tap by @johanohly in #445

Full Changelog: v3.5.0...v3.5.1

v3.5.0

GitHub

πŸš€ Features

  • feat: detailed flight timetables by @johanohly in #440

πŸ› Bug fixes

  • fix: simplify config migration to prevent PostgreSQL crash by @johanohly in #438
  • fix: resolve SwipeableFlightRow state corruption after modal dismiss by @johanohly in #439

Full Changelog: v3.4.4...v3.5.0

v3.4.4

GitHub

🌟 Enhancements

  • feat: guided onboarding by @johanohly in #432

πŸ› Bug fixes

  • fix: remount mobile swipe rows after modal closes by @johanohly in #433
  • fix: wait for map and flights before fitting by @johanohly in #435

Full Changelog: v3.4.3...v3.4.4

v3.4.3

GitHub

🌟 Enhancements

  • feat: more detailed visited country borders by @johanohly in #423

πŸ› Bug fixes

  • fix: prevent airport autocomplete cache race by @johanohly in #424
  • fix: remove unnecessary sticky header in statistics drill-down by @johanohly in #429
  • fix: avoid month offset in some Flighty imports by @johanohly in #425
  • fix: avoid month shifts in local datetime parsing by @johanohly in #428

New Contributors

  • @thomas-mc-work made their first contribution in #409
  • @r4lv made their first contribution in #415
  • @Xalaok made their first contribution in #421

Full Changelog: v3.4.2...v3.4.3

v3.4.2

GitHub

This update makes it possible to contribute to the list of airlines and aircraft models that is shipped with AirTrail, along with making it easier to contribute airline icons.

Read more at /data/README.md.

πŸ› Bug fixes

  • fix: add timezone override for Gold Coast airport (OOL) by @johanohly in #408

Full Changelog: v3.4.1...v3.4.2

v3.4.1

GitHub

🌟 Enhancements

  • feat: add drill-down for countries by continent by @vdusart in #401
  • feat: add flight duration warning to flights exceeding 24h by @AlexKalopsia in #403
  • feat: re-add close button on stats page by @mhlas7 in #393

πŸ› Bug fixes

  • fix: add timezone handling to flighty importer by @johanohly in #405
  • fix: filter icon for departure and arrival filters by @mhlas7 in #394

New Contributors

  • @luketainton made their first contribution in #381
  • @steffenrapp made their first contribution in #383
  • @tpulatha made their first contribution in #384
  • @LarssonOliver made their first contribution in #391
  • @avee87 made their first contribution in #395
  • @sma33in made their first contribution in #397
  • @AlexKalopsia made their first contribution in #403

Full Changelog: v3.4.0...v3.4.1

v3.4.0

GitHub

✈︎ Airline Icons

The flight list now shows airline icons if available, and the mobile flight list has been completely redesigned! AirTrail now provides a growing selection of airline icons (at /static/airlines in the repository). At start-up, AirTrail will download them to a local directory of your choosing, so the icons don't depend on a third-party CDN to load.

You are encouraged to contribute missing airline icons to this repository for everyone to benefit, but of course you also have the ability to add/edit the icons of airlines locally through the Settings -> Data -> Airlines page.

Enabling airline icons

Apart from updating to this version, to enable airline uploads, some configuration changes are required. Namely, configuring the new UPLOAD_LOCATION environment variable to a path that AirTrail has access to.

For Docker users, this would mean the following changes:

# docker-compose.yml
services:
  db:
    ...
  airtrail:
    ...
+   volumes:
+     # Required for file uploads (e.g., airline icons)
+     # The path to the right of the colon needs to match UPLOAD_LOCATION in your .env file
+     - uploads:/app/uploads

volumes:
  db_data:
+ uploads:
# .env
ORIGIN=http://localhost:3000

...

+ # File Uploads (optional)
+ ###################################################################################
+ # Path to store uploaded files (e.g., airline icons)
+ # If not set, file uploads will be disabled
+ # For Docker: Use a path inside the container that's mounted to a volume (e.g., /app/uploads)
+ # For local development: Use an absolute path on your system
+ UPLOAD_LOCATION=/app/uploads

πŸš€ Features

  • feat: airline icons by @johanohly in #375

🌟 Enhancements

  • feat: new mobile flight list layout by @johanohly
  • feat: new "Add Flight" modal layout by @johanohly
  • feat: browser back button now closes newest modal by @johanohly
  • feat: show modals as drawers on mobile by @johanohly
  • feat: filter flights by airline by @mhlas7 in #370
  • feat: filter by aircraft type and add filter icons by @mhlas7 in #372
  • feat: statistics by year by @Gaudv in #374
  • feat: add logos of the largest US airlines by @mhlas7 in #378
  • feat: add country by continent stat by @vdusart in #362
  • feat: add user editing by @johanohly

Full Changelog: v3.3.0...v3.4.0

v3.3.0

GitHub

πŸš€ Features

  • feat: map missing airports on import by @johanohly in #363
  • feat: map missing airlines on import by @johanohly in #365

🌟 Enhancements

  • feat: allow installing app as a PWA by @mhlas7 in #361
  • feat: add 'Others' and 'No Data' categories to statistics by @johanohly in #367

πŸ› Bug fixes

  • fix: prevent date shift when updating flight with no time by @johanohly in #366

Full Changelog: v3.2.2...v3.3.0

v3.2.2

GitHub

🌟 Enhancements

  • feat: add version information to the settings by @vdusart in #349
  • feat: handle spaces in flight number lookup input by @johanohly in #355

πŸ› Bug fixes

  • fix: handle potential null values for airport IDs in flight filtering by @johanohly in #352
  • fix: update chart drilldown logic to handle country statistics correctly by @johanohly in #354

Full Changelog: v3.2.1...v3.2.2

v3.2.1

GitHub

🌟 Enhancements

  • feat: customizable oauth login button text by @mhlas7 in #345
  • feat: add visited country stats by @vdusart in #347

New Contributors

  • @vdusart made their first contribution in #347

Full Changelog: v3.2.0...v3.2.1

v3.2.0

GitHub

πŸš€ Features

  • feat: route and airport pages by @johanohly in #340

🌟 Enhancements

  • feat: add option to hide password form when SSO is enabled by @mhlas7 in #338
  • feat: improve flight lookup selection UI and handle potential missing departure/arrival data by @johanohly in #334
  • feat: re-trigger flight fitting on flight filter change by @johanohly in #341

πŸ› Bug fixes

  • fix: simplify flight-fitting triggering logic to avoid false-triggering by @johanohly in #335
  • fix: allow scrolling in settings on mobile by @johanohly in #343

New Contributors

  • @mhlas7 made their first contribution in #338

Full Changelog: v3.1.2...v3.2.0

v3.1.2

GitHub

🌟 Enhancements

  • feat: allow specifying only ICAO codes for airlines and aircraft when creating/updating a flight via the API by @moorecp in #330

πŸ› Bug fixes

  • fix: seat data not showing in shared statistics by @johanohly in #331

New Contributors

  • @moorecp made their first contribution in #330

Full Changelog: v3.1.1...v3.1.2

v3.1.1

GitHub

🌟 Enhancements

  • fix: improve flight creation API date formats and seat defaults in API by @johanohly in #327

Full Changelog: v3.1.0...v3.1.1

v3.1.0

GitHub

🌟 Enhancements

  • feat: add showSeat option to public shares by @johanohly in #317
  • feat: add legacy airtrail file importing by @johanohly in #315
  • fix: filter out zero-value entries in pie charts by @johanohly in #316

Full Changelog: v3.0.5...v3.1.0

v3.0.5

GitHub

πŸ› Bug fixes

  • fix: handle missing arrival airport gracefully in statistics by @johanohly in #309

Full Changelog: v3.0.4...v3.0.5

v3.0.4

GitHub

πŸ› Bug fixes

  • fix: adapt the airport syncing feature to the new airport format by @johanohly in #308

Full Changelog: v3.0.3...v3.0.4

v3.0.3

GitHub

πŸ› Bug fixes

  • fix: adsbdb flight lookup (the default provider) by @johanohly in #303
  • fix: add back missing airlines (missing since v3) by @johanohly in #305

Full Changelog: v3.0.2...v3.0.3

v3.0.2

GitHub

🌟 Enhancements

  • feat: include any new versions in the version announcement rather than just the latest by @johanohly in #301

πŸ› Bug fixes

  • fix: aircraft and airline creation ID collision by @johanohly in #299
  • fix: adapt deduplicate to new airport format by @johanohly in #300

Full Changelog: v3.0.1...v3.0.2

v3.0.1

GitHub

πŸ› Bug fixes

  • fix: prevent unauthenticated users getting redirected when accessing share links by @johanohly in #296

Full Changelog: v3.0.0...v3.0.1

v3.0.0

GitHub

πŸ›©οΈ Custom Aircraft & Airlines

At long last! You can now fully manage the list of aircraft and airlines directly inside AirTrail. Over time it became clear that relying on a fixed, hard-coded list wasn’t sustainable - it required constant maintenance and couldn’t keep up with the variety of aircraft and airlines used around the world. With this release, you’re in control. This was the last major feature gap in AirTrail, making the platform much more complete.

[!WARNING] This update includes database migrations. While they’ve been tested thoroughly, we recommend exporting your data (Settings -> Export -> .json) before upgrading - just to be safe.

πŸš€ Features

  • feat: custom aircraft by @johanohly in #289
  • feat: custom airlines by @johanohly in #290
  • feat: public sharing by @johanohly in #293
  • feat: Flighty import by @johanohly in #292

🌟 Enhancements

  • feat: introduce interactive pie charts with drill-down functionality in statistics by @johanohly in #287
  • feat: add cockpit seats options by @Gaudv in #294

πŸ› Bug fixes

  • fix: prevent closing edit flight modal when removing a seat by @johanohly in #288

Full Changelog: v2.7.1...v3.0.0

v2.7.1

GitHub

🌟 Enhancements

  • feat: Add a piechart for Top 5 most visited airports by @conchyliculture in #282

πŸ› Bug fixes

  • fix: handle timezone offset passed to flight lookup endpoint by @johanohly in #285

Full Changelog: v2.7.0...v2.7.1

v2.7.0

GitHub

πŸš€ Features

  • feat: TripIt trip import and import deduplication by @johanohly in #281
  • feat: add a PieChart for most flown routes by @Gaudv in #280

Full Changelog: v2.6.0...v2.7.0

v2.6.0

GitHub

πŸš€ Features

  • feat: add AeroDataBox as a flight information source by @johanohly in #277
    • If you configure this data source, you will gain the ability to, just from the flight number, prefill the following information (you can set the departure date or the search will default to the most recent flights)

πŸ› Bug fixes

  • fix: repopulate airport suggestions when input is reopened with prefilled value by @johanohly in #279

Full Changelog: v2.5.3...v2.6.0

v2.5.3

GitHub

πŸš€ Features

  • feat: add a PieChart for most specific aircraft flown by @conchyliculture in #260

🌟 Enhancements

  • fix: improve airport search accuracy by using unaccented string matching by @johanohly in #270
  • fix: always show arrival date in flight list by @johanohly in #274

πŸ› Bug fixes

  • fix(jetlog): if arrival time is before departure and no arrival_date is provided, assume next-day arrival by @johanohly in #272
  • fix: when editing flight time, always display time in latin format by @johanohly in #273

πŸ“š Documentation

  • docs: update examples for multiple origins in environment configuration by @nelsonni in #242

New Contributors

  • @nelsonni made their first contribution in #242
  • @conchyliculture made their first contribution in #260
  • @Gaudv made their first contribution in #261

Full Changelog: v2.5.2...v2.5.3

v2.5.2

GitHub

πŸ› Bug fixes

  • fix: support multiple origins in environment configuration by @johanohly in #241
  • fix: ensure version announcement modal is closed on dismissal by @johanohly in #240

Full Changelog: v2.5.1...v2.5.2

v2.5.1

GitHub

🌟 Enhancements

  • feat: tail- and flight number in flight list by @johanohly in #238

πŸ› Bug fixes

  • fix: adjust weekday start based on locale settings by @johanohly in #239

Full Changelog: v2.5.0...v2.5.1

v2.5.0

GitHub

This version has a build error, use version 2.5.0.