# Changelog of CruiseFeed API: Real-Time Cruise Data & Pricing (REST) (`vulnv/cruise-data-api`) Actor

- **URL**: https://apify.com/vulnv/cruise-data-api/changelog.md
- **Full Actor documentation**: https://apify.com/vulnv/cruise-data-api.md

## Changelog

### 1.4

- Removed the Actor input. The upstream API base URL is fixed; callers can no
  longer point the Actor at a different host (operators may still override it at
  deploy time via the `CRUISEFEED_API_BASE` env var).
- Refreshed the served schema to match the enriched cruise feed: added
  `ship_code`, `destination_code`, `sea_days`, `port_count`, `taxes_and_fees`,
  `taxes_currency`, `obc_amount`, `sold_out`, `booking_url`, `detail_url` and
  `image_url` to the cruise object.
- `GET /cruises.csv` now honors `limit` like the JSON endpoints. Previously the
  CSV export streamed the whole filtered set regardless of `limit`, which
  bypassed the free-tier sample and could bill for far more rows than requested.

### 1.3

- Removed `?include=raw` and the `raw` field. The raw provider payload is archived
  off-database (S3) only; the API serves the normalized fields (including the full
  per-cabin `fares` breakdown).

### 1.2

- Providers are abstracted away. Sailings are addressed by an opaque, stable `id`
  (`/cruises/{id}`, `/cruises/{id}/history`) and responses no longer expose
  `source`/`source_id`. Removed `/sources` and the `source` filter; `/stats`
  reports catalogue totals (no per-source breakdown).

### 1.1

- Add `/sources` and expose the full per-cabin-class `fares` breakdown on every
  cruise, plus `?include=raw` to embed the unmodified provider payload.
- Facet lists (`/cruise-lines`, `/ports`, `/sources`) and `/changes` are now
  enveloped as `{ items, total, … }`; errors use `{ "error": { code, message } }`.
- Proxies the versioned upstream API (`/v1`) and authenticates upstream with
  `Authorization: Bearer`. Callers may still send their own CruiseFeed key via
  the `x-api-key` header (Authorization is reserved for the Apify Standby token).

### 1.0

- First release. CruiseFeed API as an Apify **Standby** Actor: an always-on REST
  API that proxies api.cruisefeed.io. Endpoints: `/cruises`, `/cruises.csv`,
  `/cruises/{source}/{source_id}`, `/cruises/{source}/{source_id}/history`,
  `/changes`, `/ships`, `/ships/{ship_id}`, `/cruise-lines`, `/ports`, `/stats`.
- Pay-per-event billing: charged per cruise/ship record returned; single-record
  lookups and reference lists count as one. Non-paying users get a 5-record
  sample per page.
- The CruiseFeed API key is baked in as a secret env var, so callers don't need
  their own. A caller may still send their own `x-api-key` header to use a
  personal cruisefeed.io entitlement.
