v1.15.0
trvl 1.15.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.15.0/trvl_1.15.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.15.0What's Changed
Dependencies
- chore(deps): bump trufflesecurity/trufflehog from 3.95.5 to 3.95.6 by @dependabot[bot] in #272
- chore(deps): bump dependabot/fetch-metadata from 2.4.0 to 3.1.0 by @dependabot[bot] in #271
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #270
Changes
- Fix MCP registry publish: server.json description must be <= 100 chars by @MikkoParkkola in #245
- fix(hotels): surface link durability and island fallback by @MikkoParkkola in #248
- fix(mcp): concurrent stdio handling so ping stays snappy under load by @MikkoParkkola in #246
- feat: price-history substrate and four travel-intelligence features (MIK-6229, 6231, 6232, 6233, 6234) by @MikkoParkkola in #249
- feat: wire all travel-intelligence features end-to-end (shift-day, Tier-2 probe, rooms ready, nudges corpus, MCP) by @MikkoParkkola in #250
- ci: hands-off dependabot auto-merge (patch+minor on green) by @MikkoParkkola in #251
- feat: backlog drain — Tier-1 scheduler probe, livecheck test, tripcoalesce flake fix, docs by @MikkoParkkola in #252
- fix(savings): distinct honest bucket for pre-computed Tier-1 savings by @MikkoParkkola in #253
- feat(mcp): enable Tier-1 by default + make price signals clear on the MCP path by @MikkoParkkola in #254
- refactor(pricefeed): single source of truth for price signals (CLI + MCP) by @MikkoParkkola in #255
- perf(watch): bound total ad-hoc route observations (never evict watch history) by @MikkoParkkola in #256
- test(pricefeed): regression for cache-backed savings independence by @MikkoParkkola in #257
- fix: flatio fetcher data race + gate live tripwindow tests + d2d currency band by @MikkoParkkola in #259
- refactor: shared atomicjson helper + migrate probecache and dealquality by @MikkoParkkola in #260
- refactor(hotelarb): use atomicjson helper for hold persistence by @MikkoParkkola in #261
- refactor(trips): use atomicjson helper for trip+alert persistence by @MikkoParkkola in #262
- refactor(watch): use atomicjson helper for watch+history persistence by @MikkoParkkola in #263
- refactor(nudge): use atomicjson helper for nudge-state persistence by @MikkoParkkola in #264
- harden(atomicjson): create temp file with O_EXCL at 0600 to close TOCTOU window by @MikkoParkkola in #265
- docs: add brew trust step for Homebrew 6.0 by @MikkoParkkola in #266
- refactor: migrate dategrid + share stores to internal/atomicjson by @MikkoParkkola in #268
- Tag round-trip leg direction so return-ticket data is legible by @MikkoParkkola in #269
- Fetch native round-trip fares and prefer them when cheaper by @MikkoParkkola in #273
- feat(flights): true round-trip ticket data across all providers by @MikkoParkkola in #274
- docs(readme): user-first hero — value, who-it-is-for, differentiators by @MikkoParkkola in #267
- feat(flights): selectable single low-cost carrier with composed round-trips by @MikkoParkkola in #275
- ci: pin staticcheck and govulncheck versions instead of @latest by @MikkoParkkola in #276
- refactor: split files over 800 LOC into focused siblings by @MikkoParkkola in #278
- fix(accommodations): normalize offer currency and enforce min_stars (#277) by @MikkoParkkola in #279
- fix(flights): tag native round-trip inbound legs by date by @MikkoParkkola in #280
- fix: release hardening — 11 confirmed bug fixes (flights, hotels, auth) by @MikkoParkkola in #281
- docs: restructure README into a 5-minute storefront + linked reference docs by @MikkoParkkola in #282
Full Changelog: v1.14.3...v1.15.0