v1.2.0
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