Skip to content

v1.2.0

Choose a tag to compare

@diggy diggy released this 24 Apr 22:23
· 5 commits to main since this release
4413ad2

What's Changed

  • ISO 8601 Timestamp Implementation with Nanosecond Resolution by @diggy in #14
  • 2025-04-25_diggy_bump-version-to-v1.2.0 by @diggy in #15

Full Changelog: v1.1.0...v1.2.0


ISO 8601 Timestamp Implementation with Nanosecond Resolution

Implementation Details

This change implements the ISO 8601 basic format with the 'T' separator between date and time, followed by nanosecond precision, for (a) internal identifiers and (b) filenames. This format:

  • Is ISO 8601 compliant
  • Provides nanosecond resolution (9 digits) for up to 1 billion unique timestamps per second
  • Works well as filenames across all major operating systems
  • Maintains proper chronological sorting when sorted lexicographically

NB: while Python can generate timestamps with nanosecond precision, the actual precision you get depends on your operating system and hardware. On most systems, you'll get microsecond precision at best, with the nanosecond portion often being zeros or having limited variation.

File Storage Considerations

The IDs are used directly as filenames with the .md extension. Since the ISO 8601 basic format avoids characters that are problematic in filenames (such as colons), this format works well across all major operating systems.

Comprehensive Testing

The testing suite verifies:

  • Format Compliance: Ensures IDs follow the correct ISO 8601 format
  • Uniqueness: Confirms that IDs remain unique even when generated in rapid succession
  • Chronological Sorting: Validates that lexicographical sorting of IDs maintains chronological order

Implementation Benefits

This implementation offers several advantages:

  • Standards Compliance: Follows ISO 8601, an internationally recognized standard
  • Collision Prevention: Nanosecond precision virtually eliminates ID collisions
  • Human Readability: The ISO format with T separator is easier to parse visually
  • Future Compatibility: Aligns with modern timestamp standards and practices