Skip to content

Releases: Webisso/currency-api

v1.0.2

31 May 21:00

Choose a tag to compare

Summary

This release aligns snapshot storage with the publication date embedded in the source XML so the stored raw snapshots and generated static API outputs follow the same calendar logic. It also makes duplicate daily source snapshots explicit during builds instead of silently regenerating the same dated API folder.

What changed

  • Fetching now parses the source XML before saving and stores snapshots under the source bulletin date rather than the local execution date.
  • Snapshot path generation now validates and derives directory segments directly from an ISO date string.
  • Static API generation now deduplicates snapshots that resolve to the same source date and logs when duplicate files are skipped.
  • Documentation now explains why data/ and docs/ may stay on the same dated snapshot when the upstream provider republishes the same bulletin on different days.
  • Package metadata was updated for the 1.0.2 release.

Why this matters

Previously, raw XML files could appear to update every day because their filenames were based on the fetch date, while the generated docs/ API artifacts were based on the source bulletin date inside the XML. When the upstream source repeated the same bulletin date across multiple days, data/ and docs/ diverged in a confusing way. This release removes that mismatch and makes the build output deterministic.

Validation

  • Ran npm run build:api successfully on version 1.0.2.
  • Confirmed duplicate source snapshots are reported as skipped during the build when they map to the same bulletin date.
  • Rebasing and pushing were completed against the latest main before publishing this release.

v1.0.1

29 May 12:10

Choose a tag to compare

Currency API 1.0.1

This release improves the delivery pipeline to keep published endpoints reliably up to date and removes redundant generated artifacts.

Highlights

  • Fixed CI trigger behavior so data and docs updates are processed consistently.
  • Added a safeguard to prevent bot-driven push loops during workflow runs.
  • Removed the redundant public output tree to avoid duplicate artifacts.
  • Kept GitHub Pages as the single source of truth from docs.
  • Bumped package version to 1.0.1.

Why this matters

These changes help ensure latest API endpoints stay fresh while simplifying repository maintenance and reducing unnecessary generated files.

v1.0.0

27 May 15:29

Choose a tag to compare

Currency API - Release Notes

Highlights

This release upgrades the project from a daily XML collector into a static-first currency platform that works on both GitHub Pages and jsDelivr.

  • Switched deployment model to main /docs for straightforward GitHub Pages publishing
  • Added versioned static endpoints for latest and date-based snapshots
  • Added query-based conversion feature for browser usage
  • Improved CI flow for daily fetch, JSON generation, and commit automation
  • Refined repository docs, links, and examples for direct production usage

What's New

1) Static API Distribution (Pages + jsDelivr)

You can now consume data from both:

  • GitHub Pages
  • jsDelivr (GitHub source)

Example endpoints:

https://webisso.github.io/currency-api/latest/v1/currencies.json
https://cdn.jsdelivr.net/gh/Webisso/currency-api@main/docs/latest/v1/currencies.json

2) Date-Versioned Data Structure

Generated outputs are now organized under docs/:

docs/
  latest/
    v1/
  YYYY-MM-DD/
    v1/

This enables stable latest access and historical snapshot access in parallel.

3) Query-Based Conversion Feature

A new browser-side conversion endpoint is available:

/latest/v1/convert/?from=USD&to=EUR&unit=10

Returns JSON with:

  • source currency metadata
  • target currency metadata
  • TRY rates for both
  • direct conversion rate
  • converted amount

Live examples:

https://webisso.github.io/currency-api/latest/v1/convert/?from=USD&to=EUR&unit=10
https://cdn.jsdelivr.net/gh/Webisso/currency-api@main/docs/latest/v1/convert/?from=USD&to=EUR&unit=10

Programmatic module:

https://webisso.github.io/currency-api/latest/v1/convert.js
https://cdn.jsdelivr.net/gh/Webisso/currency-api@main/docs/latest/v1/convert.js

4) CI/CD Improvements

  • Daily scheduled fetch pipeline remains active at 17:30 Turkey time (14:30 UTC)
  • Automatic XML fetch retry handling
  • Automatic JSON rebuild pipeline
  • Change-aware commit behavior (no empty commits)

Changes Summary

Added

  • docs/latest/v1/convert.js
  • docs/latest/v1/convert/index.html
  • Query-based conversion response flow

Changed

  • Build target directory changed from public/ to docs/
  • Local static server now serves docs/
  • Workflow paths and commit targets updated for docs/

Removed

  • Legacy Pages deploy workflow for Actions-based artifact deployment

Compatibility Notes

  • Existing JSON consumers should use .../docs/... path for jsDelivr source URLs.
  • GitHub Pages must be configured as: Deploy from a branch -> main /docs.

Quick Smoke Test

npm run build:api
npm start

Then test:

http://localhost:3000/latest/v1/currencies.json
http://localhost:3000/latest/v1/convert/?from=USD&to=EUR&unit=10

Suggested Tag

v1.1.0

Suggested Release Title

v1.1.0 - Static API, Query Conversion, and Docs-Based Pages Deployment