Releases: arkohut/pensieve
v0.26.2
🐛 Bug Fixes
- Fixed file timestamp handling by @arkohut
- Corrected file_created_at timestamp in database migration
- Improved file creation timestamp selection in sync operations
- Enhanced file processing logic by @arkohut
- Added processing for files when entering processing window while idle
🔧 Refactoring
- Improved entity and search functionality by @arkohut
- Enhanced entity loading with relationship handling
- Optimized search provider dependency injection
📝 Documentation
- Added PostgreSQL installation instructions to README files by @arkohut
This release focuses on improving timestamp handling and enhancing entity relationships while adding better documentation for PostgreSQL support.
Full Changelog: v0.26.1...v0.26.2
🐛 修复
- 修复文件 timestamp 处理问题 by @arkohut
- 修正数据库迁移中的 file_created_at timestamp
- 改进 sync 操作中的文件创建 timestamp 选择
- 增强文件处理逻辑 by @arkohut
- 添加在 idle 状态进入 processing window 时处理文件的逻辑
🔧 重构
- 改进 entity 和 search 功能 by @arkohut
- 增强 entity loading 和 relationship 处理
- 优化 search provider dependency injection
📝 文档
- 在 README 文件中添加 PostgreSQL 安装说明 by @arkohut
此版本专注于改进 timestamp 处理和增强 entity relationships,同时为 PostgreSQL 支持添加更好的文档。
完整更新日志: v0.26.1...v0.26.2
v0.26.1
🐛 Bug Fixes
- Fixed timezone handling by @arkohut
- Standardized all datetime fields to use UTC timezone
- Added
UTCDateTime
type for consistent time storage
- Removed Sonner toast component by @arkohut
- Simplified UI by removing unnecessary notifications
- Improved performance by reducing dependencies
This release standardizes all datetime handling to UTC and streamlines the UI by removing unused components.
Full Changelog: v0.26.0...v0.26.1
🐛 修复
- 修复时区处理问题 by @arkohut
- 统一所有日期时间字段使用 UTC 时区
- 添加
UTCDateTime
类型确保时间存储一致性
- 移除 Sonner toast 组件 by @arkohut
- 通过移除不必要的通知简化 UI
- 通过减少依赖提升性能
此版本统一了所有日期时间处理为 UTC,并通过移除未使用的组件简化了 UI。
完整更新日志: v0.26.0...v0.26.1
v0.26.0
✨ Features
- Enhanced idle-time file synchronization by @aisensiy
- Added smart file processing during system idle time
- Implemented background processing for skipped files
- Added configurable idle processing time interval
- Enhanced retry mechanism for unprocessed files
- Improved image handling by
- Adjusted image sizing in Figure component with height-based scaling
🐛 Bug Fixes
- Fixed timezone handling by @aisensiy
- Ensured UTC timezone for timestamp formatting
- Fixed timezone processing for records and screenshots
- Fixed plugin initialization
- Ensured default plugins are bound only during initial library creation
- Fixed system-specific error related to 'spdisplays_ndrvs' by @yiminglu
🎉 New Contributors
This release introduces intelligent file synchronization that operates during system idle time, optimizing system resources while ensuring reliable file processing. It also addresses important timezone and plugin initialization issues.
✨ 新功能
- 增强空闲时段文件同步 by @aisensiy
- 新增系统空闲时智能文件处理
- 实现后台处理未同步文件
- 添加可配置的空闲处理时间间隔
- 增强未处理文件的重试机制
- 改进图像处理
- 优化了 Figure 组件中的图像尺寸调整,采用基于高度的缩放
🐛 修复
- 修复时区处理问题 by @aisensiy
- 确保时间戳使用 UTC 时区
- 修复记录和截图的时区处理
- 修复插件初始化问题
- 确保默认插件仅在初始库创建时绑定
- 修复与 'spdisplays_ndrvs' 相关的系统特定错误 by @yiminglu
🎉 新贡献者
这个版本引入了智能文件同步机制,在系统空闲时段进行文件处理,优化了系统资源使用,同时确保可靠的文件处理。此外还解决了重要的时区处理和插件初始化问题。
Full Changelog: v0.25.7...v0.26.0
v0.25.4
✨ Features
- Enhanced screenshot functionality with larger display size
- Improved UI design
- Added gradient background
- Enhanced text rendering
🐛 Bug Fixes
- Fixed database migration issues from SQLite to PostgreSQL
This release focuses on enhancing the visual experience through larger screenshot displays and modernized interface design, while also addressing database migration concerns.
✨ 新功能
- 优化了截图功能,增大了截图显示尺寸
- 改进了 UI 设计
- 添加了渐变背景
- 优化了文本渲染效果
🐛 修复
- 修复了从 SQLite 迁移到 PostgreSQL 的问题
这个版本主要改进了用户界面的视觉体验,通过增大截图尺寸和优化背景设计使界面更加现代化,同时解决了数据库迁移方面的问题。
Full Changelog: v0.25.2...v0.25.4
v0.25.2
✨ Major Features
- Added comprehensive PostgreSQL database support as an alternative to SQLite
- Enhanced search capabilities with advanced indexing and filtering
- Improved Chinese language support with jieba tokenization
- Implemented caching and hashing for embedding generation
💻 Installation
For basic installation:
pip install memos
For PostgreSQL support:
pip install memos[postgresql]
📝 Detailed Changes
💾 Database Enhancements
- Added full PostgreSQL database support with migration tools
- Implemented SQLite to PostgreSQL database migration command
- Added persistent volume support for PostgreSQL data storage
- Enhanced database queries with sorting and eager loading optimizations
- Improved timestamp filtering for cross-database compatibility
🔍 Search Improvements
- Implemented advanced PostgreSQL full-text search with jieba tokenization
- Enhanced vector search capabilities with advanced indexing and filtering
- Optimized full-text search with improved prefix matching
- Added caching and hashing mechanisms for embedding generation
✨ 主要特性
- 新增了全面的 PostgreSQL 数据库支持,作为 SQLite 的替代方案
- 通过高级索引和过滤功能增强了搜索能力
- 使用 jieba 分词改进了中文语言支持
- 实现了嵌入生成的缓存和哈希机制
💻 安装
基本安装:
pip install memos
支持 PostgreSQL 的安装:
pip install memos[postgresql]
📝 详细变更
💾 数据库增强
- 新增了完整的 PostgreSQL 数据库支持,并提供了迁移工具
- 实现了 SQLite 到 PostgreSQL 数据库的迁移命令
- 新增了对 PostgreSQL 数据存储的持久卷支持
- 通过排序和预加载优化增强了数据库查询
- 改进了时间戳过滤功能,确保跨数据库兼容性
🔍 搜索改进
- 使用 jieba 分词实现了高级的 PostgreSQL 全文搜索
- 通过高级索引和过滤功能增强了向量搜索能力
- 优化了全文搜索的前缀匹配功能
- 新增了嵌入生成的缓存和哈希机制
v0.24.0
Memos v0.24.0 Release Notes
🔍 Search Enhancements (#55, #57, #60)
- Introduced Typesense-like facet search functionality
- Optimized hybrid search performance
- Removed auto-search, optimized debounce logic
📊 Data Structure Improvements
- Support facet
- Migrated from tags to app names for facet support
- Added file creation timestamp to embedding table
- Optimized entity indexing
🛠 Infrastructure Updates
- Introduced Alembic for database migrations
- Added plugin processing status tracking
- Enhanced webhook handling
- Integrated Logfire for logging
- Improved SQLAlchemy and FastAPI support
💅 UI Improvements
- Added skeleton component for loading states
- Fixed selected app names reset on enter key press during search
🐛 Bug Fixes
- Fixed vector table recreation handling
- Improved version import fallback
- Added safe index creation for entities table
⚠️ Important Notes
After upgrading, you must run memos reindex --force
to rebuild the search index for the new vector table structure
Memos v0.24.0 发布说明
🔍 搜索功能增强 (#55, #57, #60)
- 引入类 Typesense 的 facet 搜索功能
- 优化混合搜索性能
- 移除自动搜索,优化防抖逻辑
📊 数据结构改进
- 支持 facet 功能
- 从标签系统迁移到应用名称的 facet 支持
- 为 embedding 表添加文件创建时间戳
- 优化实体索引
🛠 基础设施更新
- 引入 Alembic 进行数据库迁移管理
- 添加插件处理状态跟踪
- 增强 webhook 处理
- 集成 Logfire 日志系统
- 改进 SQLAlchemy 和 FastAPI 支持
💅 界面改进
- 新增加载状态骨架屏
- 修复搜索时按回车键重置选中应用名称的问题
🐛 问题修复
- 修复向量表重建相关问题
- 改进版本导入的容错处理
- 添加实体表安全索引创建
⚠️ 重要提示
升级后,必须执行 memos reindex --force
命令以重建新向量表结构的搜索索引
v0.23.2
What's Changed
Pensieve dynamically adjusts the image processing interval based on the frequency of screenshot generation and the speed of processing individual images. In environments without NVIDIA GPUs, it may be challenging to ensure that image processing keeps up with the rate of screenshot generation. To address this, Pensieve processes images on a sampled basis.
To prevent excessive system load, Pensieve’s default sampling strategy is intentionally conservative. However, this conservative approach might limit the performance of devices with higher computational capacity. To provide more flexibility, additional control options have been introduced in ~/.memos/config.yaml
, allowing users to configure the system for either more conservative or more aggressive processing strategies.
watch:
# number of recent events to consider when calculating processing rates
rate_window_size: 10
# sparsity factor for file processing
# a higher value means less frequent processing
# 1.0 means process every file, can not be less than 1.0
sparsity_factor: 3.0
# initial processing interval for file processing, means process one file with plugins for every N files
# but will be adjusted automatically based on the processing rate
# 1 means process the first file at the beginning
processing_interval: 12
If you want every screenshot file to be processed, you can configure the settings as follows:
# A watch config like this means process every file with plugins at the beginning
# but if the processing rate is slower than file generated, the processing interval
# will be increased automatically
watch:
rate_window_size: 10
sparsity_factor: 1.0
processing_interval: 1
Remember to do memos stop && memos start
to make the new config work.
- Refact processing rate by @arkohut in #46
- fix(indexing): refetch full entity before indexing by @arkohut in #47
- chore: improve SQLite extension loading error message by @arkohut in #48
- chore: add pypi readme with absolute link by @arkohut in #49
Full Changelog: v0.23.1...v0.23.2
v0.23.1
What's Changed
- BUG: The vlm token should be decoded. by @xiyuan-lee in #39
- fix(ocr): the ocr token should be decoded by @xiyuan-lee in #43
New Contributors
- @xiyuan-lee made their first contribution in #39
Full Changelog: v0.23.0...v0.23.1
v0.23.0
What's Changed
- Update logs for the server plugins
- Bug fix for
scan
andsync
command
Full Changelog: v0.22.0...v0.23.0
v0.22.0
What's Changed
- Added support for the
memos version
command to easily retrieve the current version information. - Adjusted the parameters for connecting to SQLite3 to reduce errors during high concurrency.
- Optimized the
memos scan
command by improving its preprocessing speed and adding support for scanning specific sub-paths by passing a path.
# Only scan folder ~/.memos/screenshots/20241008
$ memos scan ~/.memos/screenshots/20241008
pensieve-0.22.0-features.mp4
Full Changelog: v0.21.3...v0.22.0