> ## Documentation Index
> Fetch the complete documentation index at: https://docs.terraquakeapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Track updates, improvements, and new features in TerraQuake API

## Version 1.0.0 (Current)

The current stable release of TerraQuake API.

### Core Features

> **Earthquake Data Endpoints**
>
> * **Recent earthquakes**: Query current year events with pagination -
>   **Today's earthquakes**: Get same-day seismic events - **Last week**: 7-day
>   historical data - **Monthly queries**: Retrieve earthquakes by month and
>   year - **Location-based search**: Find earthquakes near coordinates with
>   radius filtering - **Region filtering**: Query by Italian region - **Depth
>   filtering**: Search by earthquake depth - **Date range queries**: Custom
>   time period searches - **Magnitude filtering**: Filter events by minimum
>   magnitude - **Event details**: Get specific earthquake by event ID

> **Seismic Station Network**
>
> * **Station listing**: Access all INGV network stations - **Station by
>   code**: Query individual station details - **GeoJSON format**: Station data
>   in mapping-friendly format - **Status filtering**: Filter by operational
>   status (open/closed) - **Network statistics**: Aggregated station network
>   information

> **API Infrastructure**
>
> * **Pagination support**: All endpoints support page and limit parameters -
>   **GeoJSON responses**: Standard geographic data format - **CORS enabled**:
>   Cross-origin resource sharing for web apps - **Rate limiting**: Fair usage
>   policies implemented - **Input validation**: Comprehensive request
>   validation - **Error handling**: Structured error responses - **Security
>   headers**: Helmet.js security middleware - **XSS protection**: XSS-clean
>   middleware - **MongoDB sanitization**: NoSQL injection prevention

### Documentation

* Comprehensive API reference documentation
* Interactive API testing interface
* Code examples for multiple programming languages
* Data source information and attribution

### Technologies

**Backend Stack:**

* Node.js with Express.js
* MongoDB with Mongoose ODM
* JWT authentication (future-ready)
* Passport.js for OAuth integration
* Axios for INGV data fetching
* XML2JS for station data parsing
* Swagger/OpenAPI documentation

**Security & Performance:**

* Express rate limiting
* Helmet.js security headers
* HPP (HTTP Parameter Pollution) protection
* Morgan-body request logging
* Prometheus metrics client

## Recent Updates

### January 2026

> **API Documentation Routes**
>
> Added TerraQuake API documentation routes and controller for better API
> discoverability

### December 2025

> **User Management Improvements**
>
> * Enforced user role as 'user' in signUp for consistent permissions - Updated
>   user model to restrict role assignments - Simplified contact routes with
>   consistent endpoint paths

> **Frontend Enhancements**
>
> * Added internationalization support for DocsEarthquakes component - Updated
>   translations for English, Spanish, and Italian - Enhanced use cases section
>   with improved descriptions

### November 2025

> **Route Refactoring**
>
> * Unified testimonials API routes - Simplified FAQ and post routes - Updated
>   endpoint paths for better consistency - Improved JSON imports with type
>   specification

> **Package Updates**
>
> * Updated nodemailer to version 7.0.9 - Adjusted license information for
>   clarity

## Roadmap

### Planned Features

> **MongoDB Persistence**
>
> Implement persistent data storage for enhanced performance and offline
> capabilities

> **JWT Authentication**
>
> Secure API access with JWT-based authentication system

> **Official SDKs**
>
> Release official client libraries for popular programming languages

> **Advanced Filtering**
>
> Enhanced query capabilities with complex filter combinations

> **Webhook Support**
>
> Real-time notifications for earthquake events

> **GraphQL API**
>
> Alternative GraphQL interface for flexible data queries

> **Historical Archive**
>
> Extended access to multi-year historical seismic data

> **Data Export**
>
> Export earthquake data in multiple formats (CSV, KML, Shapefile)

### Frontend Roadmap

* Interactive mapping with Leaflet integration
* Real-time earthquake notifications
* Statistical charts with Chart.js
* Educational content about earthquakes
* Seismic zone visualization
* Mobile-responsive design improvements
* PWA (Progressive Web App) support

## Breaking Changes

> [!WARNING]
>
> **Version 1.0.0** is the initial stable release. No breaking changes have been
> introduced yet. Future major version updates will be documented here with
> migration guides.

## Migration Guides

No migrations required for the current version.

## Deprecation Notices

No deprecated features in the current version.

## GitHub Releases

> **[View All Releases](https://github.com/nagcas/TerraQuakeApi/releases)**
>
> See detailed release notes and download source code from GitHub

## Commit History

Recent development activity:

```bash Recent Commits theme={null}
5bca8e7 Merge pull request #468 from nagcas/feature/nagcas
bede730 fix: update API Docs link in README for accurate reference
fea691b feat: add TerraQuake API documentation routes and controller
fa3a6ae Merge pull request #465 from nagcas/feature/nagcas
8231db3 feat: update nodemailer version to 7.0.9 and adjust license information
df8549f feat: enforce user role as 'user' in signUp and update user model
b1b88be feat: simplify contact routes by updating endpoint paths for consistency
e076bbd feat: update JSON imports in i18n and data components to include type specification
9d6d166 feat: unify testimonials API routes and update translations for community feedback
0ef0814 feat: simplify user routes by updating endpoint paths for consistency
```

> **[Full Commit History](https://github.com/nagcas/TerraQuakeApi/commits/main)**
>
> View complete development history on GitHub

## Stay Updated

> **[Watch on GitHub](https://github.com/nagcas/TerraQuakeApi)**
>
> Star and watch the repository for updates

> **[Join Discord](https://discord.gg/RDBp8KJB)**
>
> Get announcements in the community Discord server

> **[Follow Development](https://github.com/nagcas/TerraQuakeApi/issues)**
>
> Track upcoming features and bug fixes

> **[RSS Feed](https://github.com/nagcas/TerraQuakeApi/releases.atom)**
>
> Subscribe to release notifications

## Contributing to Releases

Interested in contributing to upcoming releases?

* Check the [Contributing Guide](https://docs.terraquakeapi.com/resources/contributing.md) for how to get started
* Look for issues labeled `good first issue` on [GitHub](https://github.com/nagcas/TerraQuakeApi/issues)
* Join discussions about upcoming features in [Discord](https://discord.gg/RDBp8KJB)
* Participate in [Hacktoberfest 2025](https://hacktoberfest.com/) with TerraQuake API

> [!NOTE]
>
> This project follows [Semantic Versioning](https://semver.org/). Version
> numbers follow the format MAJOR.MINOR.PATCH.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.