From 1501ea57e4cff5095b860d99612e35831bc291d0 Mon Sep 17 00:00:00 2001 From: bdamokos <163609735+bdamokos@users.noreply.github.com> Date: Tue, 24 Dec 2024 15:43:19 +0100 Subject: [PATCH] prepare for 0.3.0 release --- CHANGELOG.md | 10 +++++++++- src/mobility_db_api/api.py | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f76b70..c74317f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,10 @@ 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.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## [0.3.0] - 2024-12-24 ### Added +- Comprehensive documentation site at https://bdamokos.github.io/mobility-db-api/ - Thread-safe and process-safe metadata handling: - File locking for concurrent metadata access - Shared locks for reading (multiple readers allowed) @@ -27,6 +28,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Each instance can have its own data directory - Separate logger instances for better debugging - Safe concurrent access to shared data directories +- Fixed metadata change detection in multi-process scenarios + +### Developer Changes +- Added automated test issue management +- Added comprehensive test suite for concurrent operations +- Improved GitHub Actions security with explicit permissions +- Added documentation testing and validation workflows ## [0.2.0] - 2024-12-23 diff --git a/src/mobility_db_api/api.py b/src/mobility_db_api/api.py index c750f2d..881dc8b 100644 --- a/src/mobility_db_api/api.py +++ b/src/mobility_db_api/api.py @@ -195,6 +195,10 @@ def _save_metadata(self, base_dir: Optional[Path] = None): # Update last modification time after successful save if base_dir is None: self._last_metadata_mtime = self._get_metadata_mtime() + else: + # If saving to a different directory, update mtime if it's our main metadata file + if metadata_file == self.metadata_file: + self._last_metadata_mtime = self._get_metadata_mtime() except IOError as e: self.logger.error(f"Error saving metadata: {str(e)}")