From 056242cfae2e5e5b580fb4fcd5a270116ba4c068 Mon Sep 17 00:00:00 2001 From: VPRamon Date: Fri, 15 May 2026 22:08:05 +0200 Subject: [PATCH] chore: update version to 0.4.0 in CMakeLists and changelog --- CHANGELOG.md | 15 +++++++++++++++ CMakeLists.txt | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b47b323..e414fae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.4.0] - 2026-05-15 + +### Added + +- `include/tempoch/legacy_time.hpp` with opt-in deprecated aliases for pre-redesign names such as `UTC`, `JulianDate`, `MJD`, `TT`, `TAI`, `TDB`, `TCG`, `TCB`, `UT`, `JDE`, and `GPS`. +- New FFI exception mappings in `include/tempoch/ffi_core.hpp` for generic conversion failures and invalid format identifiers via `ConversionFailedError` and `InvalidFormatIdError`. + +### Changed + +- Refactored the public time model around explicit physical scales and external encodings: `Time` represents canonical instants, while `EncodedTime` covers representations such as `JulianDate`, `ModifiedJulianDate`, `UnixTime`, and `GpsTime`. +- `include/tempoch/time.hpp`, `time_base.hpp`, `scales.hpp`, and `period.hpp` now expose the split scale/format API, including `TimeContext` for UT1 and historical UTC conversions. +- `Period` is now generalized across supported time representations through `TimeTraits`, with the default period type moved to `Period>`. +- README, Doxygen docs, examples, and tests were migrated from implicit aliases (`UTC`, `JulianDate`, `MJD`, `TT`) to the explicit typed API and conversion flow. +- Updated the vendored `tempoch` and `qtty-cpp` submodules to the snapshots used by this branch. + ## [0.3.1] - 2026-05-11 ### Fixed diff --git a/CMakeLists.txt b/CMakeLists.txt index d1f273a..cd7e93f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.15) -project(tempoch_cpp VERSION 0.3.1 LANGUAGES CXX) +project(tempoch_cpp VERSION 0.4.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)