# IANA Timezone Information File Library for Ada 2022

**URL:** https://forum.ada-lang.io/t/iana-timezone-information-file-library-for-ada-2022/4024
**Category:** Releases
**Tags:** embedded, spark, ada, gnat
**Created:** [December 8, 2025, 7:54am UTC](https://forum.ada-lang.io/t/iana-timezone-information-file-library-for-ada-2022/4024 "2025-12-08T07:54:02Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![abitofhelp](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/abitofhelp/32/769_2.png) [@abitofhelp](https://forum.ada-lang.io/u/abitofhelp)
#### Post date: [December 8, 2025, 7:54am UTC](https://forum.ada-lang.io/t/iana-timezone-information-file-library-for-ada-2022/4024/1 "2025-12-08T07:54:02Z")

</div>

TZif is an Ada 2022 library for parsing and querying IANA’s compiled timezone information (TZif format, RFC 9636) files. It provides a clean, functional API with Result monad error handling, hexagonal architecture, and embedded-safe patterns.

## SPARK Formal Verification

Designed for safety-critical, embedded, and high-assurance applications with full SPARK compatibility.

Status SPARK Proved  
Scope Domain + Application layers (value objects, containers, parser, operations, ports)  
Mode gnatprove --mode=prove --level=2  
Results 1350 checks: 1155 proved, 195 unproved (in generic instantiations)

## Features

- Parse IANA TZif binary files (versions 1, 2, and 3)

- Query timezone transitions at any Unix epoch time

- Discover and validate timezone data sources

- Find zones by ID, pattern, region, or regex

- Detect the system’s local timezone

- Cross-platform: Linux, macOS, BSD, Windows 11, Embedded

- 4-layer hexagonal architecture (Domain, Application, Infrastructure, API)

- Result monad error handling (via `functional` crate)

- Generic I/O plugin pattern for platform portability

* * *

**Release Notes**

- [v2.0.0](https://github.com/abitofhelp/tzif_ada/releases/tag/v2.0.0)

- [v1.0.0](https://github.com/abitofhelp/tzif_ada/releases/tag/v1.0.0)

---

<div class="post-metadata">

### Author: ![abitofhelp](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/abitofhelp/32/769_2.png) [@abitofhelp](https://forum.ada-lang.io/u/abitofhelp)
#### Post date: [December 8, 2025, 7:57am UTC](https://forum.ada-lang.io/t/iana-timezone-information-file-library-for-ada-2022/4024/2 "2025-12-08T07:57:55Z")

</div>

## 🚀 TZif v2.0.0 has been released! 🥳

## It incorporates your feedback and features for embedded and desktop platforms. Check it out!

## [Release Notes: 2.0.0](https://github.com/abitofhelp/tzif_ada/releases/tag/v2.0.0)

---

<div class="post-metadata">

### Author: ![abitofhelp](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/abitofhelp/32/769_2.png) [@abitofhelp](https://forum.ada-lang.io/u/abitofhelp)
#### Post date: [December 14, 2025, 10:02pm UTC](https://forum.ada-lang.io/t/iana-timezone-information-file-library-for-ada-2022/4024/3 "2025-12-14T22:02:03Z")

</div>

🚀 TZif v3.0.0 for Ada 2022 has been released! 🥳

[GitHub Release v3.0.0](https://github.com/abitofhelp/tzif_ada/releases/tag/v3.0.0)

TZif is an Ada 2022 library for parsing and querying IANA’s compiled timezone information (TZif format, RFC 9636).

Test Coverage: 424 unit + 134 integration + 11 examples = 569 total

\* Functional.Try.Map\_To\_Result pattern replaces manual exception handlers

\* Functional.Try.Map\_To\_Result\_With\_Param for parameterized operations

\* Smart constructor pattern with declarative exception mapping

\* Refactored all infrastructure adapters to use Map\_To\_Result pattern

\* Zone repository: All file operations use declarative exception mapping

\* Improved exception handling consistency across all I/O boundaries

\* Windows tests: Win32 GetDynamicTimeZoneInformation + CLDR mapping

\* Windows CI workflow with URL pin to functional v4.0.0

\* Exception mapping arrays for declarative error categorization

\* Resource\_Error kind added to Error\_Kind enumeration
