@meterapp/vehicle-db 2.14.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  An offline, international vehicle make/model catalog for Node.js and TypeScript. The package combines U.S. model-year data, the UK registered fleet, the European Union's new car and van registration register, the daily-updated Dutch vehicle register, Asian-origin vehicles registered in New Zealand, Malaysian registration transactions, Brazil's national vehicle register, an Indian manufacturer catalog, the Brazil-exclusive Hyundai HB20 family, recent U.S. model configurations from FuelEconomy.gov, and reviewed manufacturer body derivatives and Saudi model-year evidence into one small, zero-dependency API. It never makes runtime network requests.
8
8
 
9
- The current snapshot spans **1990–2027** and includes **1,600 makes** and **41,975 models** in **196,336 model years**, from **12 data sources**. Those are distinct vehicles by name, with case, accents and punctuation ignored, which is how the [Car Image API](https://carimage.dev/cars?ref=catalog) counts and lists them. The package's own records number more (1,612 makes from `getMakes()`), because sources spell some makes and models more than one way (`MOTO GUZZI` and `MOTO-GUZZI`) and a few makes have no model in these years; see [Snapshot stats](#snapshot-stats).
9
+ The current snapshot spans **1990–2027** and includes **1,602 makes** and **42,024 models** in **196,386 model years**, from **13 data sources**. Those are distinct vehicles by name, with case, accents and punctuation normalized while preserving the distinct 03+ badge, which is how the [Car Image API](https://carimage.dev/cars?ref=catalog) counts and lists them. The package's own records number more (1,614 makes from `getMakes()`), because sources spell some makes and models more than one way (`MOTO GUZZI` and `MOTO-GUZZI`) and a few makes have no model in these years; see [Snapshot stats](#snapshot-stats).
10
10
 
11
11
  The catalog covers seven vehicle types: **Motorcycle**, **Passenger Car**, **Truck**, **Bus**, **Multipurpose Passenger Vehicle (MPV)**, **Auto Rickshaw**, and **Other Vehicle**. The European source adds continental models from Dacia, Cupra, DS, Lynk & Co, Alpine, and the Chinese brands entering Europe such as BYD, MG, Omoda, Xpeng, and Nio, as sold in the EU rather than the UK or U.S. The Dutch register keeps that coverage current: vehicles first registered this year appear within days, so 2026 models such as the BYD Atto 2 and Renault 5 E-Tech are already listed. The Asia-Pacific sources add Japanese domestic and kei models, Chinese EVs, Indian and Korean vehicles, Southeast Asian makes such as Perodua and Proton, and additional motorcycles and commercial vehicles. The Brazilian register adds the cars and motorcycles that fill Brazil's roads but are rarely sold elsewhere, such as the Fiat Argo, Mobi and Toro, the Volkswagen Gol and Saveiro, the Renault Kwid, and the Honda Biz and Pop.
12
12
 
@@ -295,6 +295,7 @@ Model results contain `years` and a year-specific `variants` array. Make results
295
295
  | [Brazil SENATRAN national vehicle register (RENAVAM)](https://dados.transportes.gov.br/dataset/registro-nacional-de-veiculos-automotores-renavam) | 5,533 car, pickup, van, SUV, minibus, and motorcycle model/manufacture-year records from 45 makes, mapped from Brazil's registered fleet; 1990–2026 | [Public domain (dados.transportes.gov.br)](https://dados.transportes.gov.br/dataset/registro-nacional-de-veiculos-automotores-renavam) |
296
296
  | [Hyundai Motor Brasil line-up](https://www.hyundai.com.br/) | The Brazil-exclusive HB20 family (HB20 hatchback, HB20S sedan, HB20X crossover), 40 model-year records; Brazilian model years 2013–2027 | Source attribution; factual product names only |
297
297
  | [FuelEconomy.gov](https://www.fueleconomy.gov/) (U.S. DOE/EPA) | U.S. models the fuel-economy catalog lists as distinct models but vPIC does not list under any model year: the 2026 Maserati GT2 Stradale and MCPURA Spyder, 2 model-year records | U.S. government public data |
298
+ | [Reviewed dated manufacturer market catalogs](https://lynkco.com.vn/en) | Individually documented marketed years in Vietnam and India; includes regional MPVs, Lynk & Co models, Indian passenger cars and TVS King EV Max | Source attribution; factual product names only |
298
299
 
299
300
  Year means the source’s model year for NHTSA, year of manufacture for DfT/DVLA (falling back to year of first use when manufacture year is unavailable), catalog year for Atul Auto, vehicle year for NZTA, registration year for Malaysia JPJ, the reporting (registration) year for the EEA register, the year of first admission (first registration anywhere, so imported used vehicles keep their original year) for the Dutch RDW register, the year of manufacture on the registration certificate (ano de fabricação) for the Brazilian SENATRAN register, the Brazilian model year (ano/modelo) for the Hyundai Motor Brasil line-up, and the U.S. model year for FuelEconomy.gov. From 2007 onward, NZTA vehicle year means the year of first registration in New Zealand or overseas. Registration sources are evidence that a make/model was present in that market and do not guarantee a factory model-year designation. Source filters let applications choose the semantics appropriate for their workflow.
300
301
 
@@ -317,6 +318,14 @@ New sources in 2.13.0:
317
318
  - [FuelEconomy.gov bulk feed](https://www.fueleconomy.gov/feg/ws/): 2022–2027 model-year configurations; U.S. government public data. The legacy Maserati source remains independently addressable. Configuration suffixes are preserved, with a reviewed separator-only normalization for Mercedes-Benz AMG G63.
318
319
  - Reviewed manufacturer evidence: eight model-year records for Saudi Kia Pegas and U.S. BMW body derivatives / Lamborghini STO. Factual names only, with per-record URLs and market/year rationale in `data/evidence/manufacturer-reviewed.json`. GSO/SASO bulk data is not bundled; access/permission dependencies are documented in the source investigation.
319
320
 
321
+ ## Dated manufacturer catalogs
322
+
323
+ The reviewed manufacturer sources now include focused US, Indian and Vietnamese additions. `manufacturer-reviewed` carries explicit model-year evidence; `manufacturer-reviewed-catalog` uses **catalog years**: a model was marketed during a specific year documented by a dated sales offer, sales bulletin or manufacturer catalog. These calendar years are not model years or years of manufacture. `getDataSources().yearBasis` identifies these reviewed sources; the per-row market and rationale remain in `data/evidence/manufacturer-reviewed.json`.
324
+
325
+ For scoped resolution of a dated catalog record, pass `yearBasis: "catalog-year"` and its evidenced market. Catalog presence does not establish a generation, facelift, derivative or render; requesting visual depth remains unresolved without reviewed appearance evidence. Lynk & Co 03 and 03+ stay distinct, as do Defender OCTA, Range Rover Sport SV and Cayenne Electric from their base models. The regional additions cover only individually evidenced years; 07, generic Song and unverified editions remain pending in [the source plan](docs/mail-coverage-source-plan.md).
326
+
327
+ New coverage in 2.16.0 adds 22 year/model/type records: seven consistently labeled Saudi Changan model-year entries, four Mexican Changan catalog facts (one overlaps the Saudi CS75 Plus), six Indonesian Wuling models, and six Indian Bajaj passenger/cargo three-wheelers. Per-record official evidence and year semantics are in `data/evidence/manufacturer-reviewed.json`; the regional audit is in [regional-coverage-status.md](docs/regional-coverage-status.md). `WULING` is now a make alongside the official Malaysian `TQ WULING`; search accepts `wuling bingo` for the latter without changing its published IDs or equating Bingo with BinguoEV.
328
+
320
329
  ## Factory colors
321
330
 
322
331
  Factory paint availability is not included. The NZTA and Malaysia records contain the observed basic color of each registered vehicle, not the manufacturer’s stock colors for a make/model/year. Treating those fields as factory availability would produce false positives from repaints, imports, and broad color categories, so the importers intentionally omit them. A future color API should require manufacturer-backed paint options with explicit market and model-year provenance.
@@ -326,15 +335,15 @@ Factory paint availability is not included. The NZTA and Malaysia records contai
326
335
  | | |
327
336
  |---|---:|
328
337
  | Years | 1990–2027 |
329
- | Sources | 12 |
338
+ | Sources | 13 |
330
339
  | Vehicle types | 7 |
331
- | Makes | 1,600 |
332
- | Models | 41,975 |
333
- | Model years | 196,336 |
334
- | Make records (`getMakes()`) | 1,612 |
335
- | Model records (distinct `modelId`) | 46,407 |
336
- | Model-year records (`getModels()`) | 217,830 |
337
- | Bundled TypeScript data | 7.55 MB |
340
+ | Makes | 1,602 |
341
+ | Models | 42,024 |
342
+ | Model years | 196,386 |
343
+ | Make records (`getMakes()`) | 1,614 |
344
+ | Model records (distinct `modelId`) | 46,457 |
345
+ | Model-year records (`getModels()`) | 217,880 |
346
+ | Bundled TypeScript data | 7.56 MB |
338
347
 
339
348
  ## Refreshing and rebuilding
340
349
 
package/dist/data.d.ts CHANGED
@@ -8,6 +8,7 @@ interface CompactData {
8
8
  region: string;
9
9
  description: string;
10
10
  retrieved_at: string;
11
+ year_basis?: "model-year" | "catalog-year";
11
12
  vehicle_type_ids: number[];
12
13
  year_from: number;
13
14
  year_to: number;