trvl 1.20.0
AI travel agent — 55 MCP tools for flights, hotels, ground transport, price alerts. Free, no API keys.
Install
# One-liner
curl -fsSL https://github.com/MikkoParkkola/trvl/releases/download/v1.20.0/trvl_1.20.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz | tar xz -C /usr/local/bin trvl
# Homebrew
brew install MikkoParkkola/tap/trvl
# Go
go install github.com/MikkoParkkola/trvl/cmd/trvl@v1.20.0What's Changed
Dependencies
- build(deps): Bump trufflesecurity/trufflehog from 3.95.8 to 3.95.9 by @dependabot[bot] in #497
- build(deps): Bump golang.org/x/text from 0.38.0 to 0.40.0 by @dependabot[bot] in #495
- build(deps): Bump golang.org/x/sync from 0.21.0 to 0.22.0 by @dependabot[bot] in #498
- build(deps): Bump golang.org/x/net from 0.56.0 to 0.57.0 by @dependabot[bot] in #499
Changes
- Zero-opt-in search: AFKLM native RT, rail+fly ranking, arrival-window scoring, shared limiter + daily quota (#464) by @MikkoParkkola in #475
- Fix flaky TestSearchRyanair_MapsFare under race job (test isolation) by @MikkoParkkola in #477
- fix(flights): remove afklmNewProvider global-swap data race in SearchMultiAirport by @MikkoParkkola in #476
- test(mcp): offline golden-query eval harness for smart travel router by @MikkoParkkola in #479
- fix(models): carry fare-risk fields with cheapest source when folding duplicates by @MikkoParkkola in #480
- fix(models): include arrival time in carrier-less flight identity key by @MikkoParkkola in #481
- Make cheapest-source currency selection order-independent by @MikkoParkkola in #482
- ground: rank ground routes by comparable price across currencies by @MikkoParkkola in #483
- Currency-honest comparable price for hotel display ranking by @MikkoParkkola in #484
- trip: currency-honest trip totals (needs_price_verification gate) by @MikkoParkkola in #485
- fix(trip): rank cheapest flight within majority-currency cohort by @MikkoParkkola in #486
- multimodal: price every leg in one target currency by @MikkoParkkola in #487
- multimodal: convert foreign legs at a reference rate instead of excluding them by @MikkoParkkola in #488
- pricefeed: rank cheapest provider within a single currency cohort by @MikkoParkkola in #489
- mcp: report cohort-honest cheapest hotel provider by @MikkoParkkola in #490
- hotels: guard the 'Lowest lead-in' headline against currency-mixing by @MikkoParkkola in #491
- tripwindow: normalize flight+hotel into EUR before summing, ranking, budget-filtering by @MikkoParkkola in #492
- hacks: guard split-ticket savings against mixed-currency arithmetic by @MikkoParkkola in #493
- hacks: cross-currency honesty for multimodal return-split detector by @MikkoParkkola in #494
- hacks: display cross-currency travel-hack legs in one honest currency by @MikkoParkkola in #500
Full Changelog: v1.19.1...v1.20.0