-
v0.2.3 Stable
released this
2025-10-14 18:13:30 +02:00 | 71 commits to main since this releaseChangelog
All notable changes to this project will be documented in this file.
[v0.2.3] - 2025-10-14
Added
- Multilanguage support (i18n):
- Added
i18nmodule withload_language()andtr()functions. - Introduced translation files under
src/i18n/locales/(en.json,it.json). - Added
src/i18n/locales/README.mdwith key naming conventions. - CLI option
--lang(or-l) allows overriding the language from configuration. - Config file can define a
language:field for persistent preference. - Added
tr_with()utility for runtime placeholder substitution (e.g.,{path},{title}).
- Added
- Fallback system: if a translation key is missing or the language file is unavailable, English (
en.json) is used automatically. - Python helper script (
scripts/extract_translations.py):- Scans Rust source files for user-facing strings.
- Updates
en.jsonwith any missing entries without overwriting existing ones.
Changed
- All user-facing messages (
print_info,print_ok,print_err,println!, etc.) are now translatable. - Main startup sequence (
main.rs) loads the selected language before configuration and database initialization.
Improved
- Added helper in
config.rsto read language preference directly fromlibrius.conf. - Enhanced verbosity filtering to respect localized messages.
- Clearer structure for future locale additions (fr, es, de, ...).
[v0.2.2] - 2025-10-14
Added
- Structured database migration system
- Introduced
MigrationResultenum replacing the previous boolean return value. run_migrations()now returns explicit results (Applied([...])orNone).- Each applied patch is now logged in the database with detailed information.
- Introduced
- Patch safety improvements
PATCH_002now checks for the existence of columns (language,pages,genre,summary) before adding them.- Prevents duplicate column errors on repeated runs.
- Enhanced migration logging
- Migrations now record results under
DB_MIGRATION_OK,DB_MIGRATION_FAIL, andMIGRATIONS_COMPLETEDevents in
thelogtable. - Clear distinction between actual migrations and up-to-date states.
- Migrations now record results under
Changed
- Refactored
run_migrations()logic for clarity and maintainability. - Updated database initialization flow (
start_db()) to react dynamically to migration results. - Improved internal output messages for migrations and startup consistency.
Fixed
- Ensured safe re-execution of migration patches on existing databases.
- Removed redundant success messages when no migrations were needed.
- Unified patch logging behavior across all modules.
[v0.2.1] - 2025-10-13
Added
- Database migrations: introduced
db/migrate.rswith incremental patch system and automatic execution at startup. - Configuration migrations: added
config/migrate.rsto automatically upgrade YAML configuration files. - Logging system: new
utils::write_log()function records database and migration events into thelogtable. - Verbose mode: added global
--verboseflag for diagnostic and debug output.- Normal mode: silent operation, only command results shown.
- Verbose mode: shows configuration loading, database opening, and migration messages.
db::start_db(): unified entry point that handles opening, creating, and migrating the database automatically.- Timestamp utility: new
utils::now_str()returns ISO 8601 formatted timestamps (%+).
Changed
- Initialization messages are now hidden in normal mode.
main.rssimplified: initialization logic moved intodb::start_db().print_info()andprint_ok()now depend on verbose mode.
Fixed
- Prevented redundant database initialization messages on repeated launches.
- Ensured migrations and configuration updates are idempotent and silent if up-to-date.
[v0.2.0] - 2025-10-13
- feat(cli): add
configcommand with--print,--init,--edit, and--editoroptions - fix(windows): correctly handle editors with spaces in their path using
Path::new(&editor_to_use) - refactor(cli): move command and subcommand definitions into dedicated
cli.rsmodule - feat(utils): introduce
utils.rsmodule with standard CLI icons and colored output helpers - docs(readme): update structure and configuration examples
- style: minor formatting and consistency improvements across CLI output
[v0.1.1] - 2025-10-12
- feat(models): add location fields to
Bookandbookstable schema (room, shelf, row, position)
[v0.1.0] - 2025-10-12
- docs: add crate, module and item-level documentation for docs.rs
- feat(models): update
Bookstruct to matchbookstable schema (editor, language, pages, genre, summary, added_at) - feat(models): change
added_attype tochrono::DateTime<Utc>and enablechronoserdefeature incargo.toml - feat(cli): make
listhandler returnResultand handle errors inmain - feat(list): parse
added_atfrom DB (RFC3339 / SQLite formats) and displayadded_atin the list asYYYY-MM-DD - feat(crate): add
src/lib.rsto expose crate API and improve docs generation on docs.rs - docs: add docs.rs badge and local documentation instructions to
README.md - style: run
rustfmtand fix Clippy warnings (code style and minor refactors)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Multilanguage support (i18n):
-
v0.2.2 Stable
released this
2025-10-14 00:31:35 +02:00 | 76 commits to main since this releaseChangelog
All notable changes to this project will be documented in this file.
[v0.2.2] - 2025-10-14
Added
- Structured database migration system
- Introduced
MigrationResultenum replacing the previous boolean return value. run_migrations()now returns explicit results (Applied([...])orNone).- Each applied patch is now logged in the database with detailed information.
- Introduced
- Patch safety improvements
PATCH_002now checks for the existence of columns (language,pages,genre,summary) before adding them.- Prevents duplicate column errors on repeated runs.
- Enhanced migration logging
- Migrations now record results under
DB_MIGRATION_OK,DB_MIGRATION_FAIL, andMIGRATIONS_COMPLETEDevents in
thelogtable. - Clear distinction between actual migrations and up-to-date states.
- Migrations now record results under
Changed
- Refactored
run_migrations()logic for clarity and maintainability. - Updated database initialization flow (
start_db()) to react dynamically to migration results. - Improved internal output messages for migrations and startup consistency.
Fixed
- Ensured safe re-execution of migration patches on existing databases.
- Removed redundant success messages when no migrations were needed.
- Unified patch logging behavior across all modules.
[v0.2.1] - 2025-10-13
Added
- Database migrations: introduced
db/migrate.rswith incremental patch system and automatic execution at startup. - Configuration migrations: added
config/migrate.rsto automatically upgrade YAML configuration files. - Logging system: new
utils::write_log()function records database and migration events into thelogtable. - Verbose mode: added global
--verboseflag for diagnostic and debug output.- Normal mode: silent operation, only command results shown.
- Verbose mode: shows configuration loading, database opening, and migration messages.
db::start_db(): unified entry point that handles opening, creating, and migrating the database automatically.- Timestamp utility: new
utils::now_str()returns ISO 8601 formatted timestamps (%+).
Changed
- Initialization messages are now hidden in normal mode.
main.rssimplified: initialization logic moved intodb::start_db().print_info()andprint_ok()now depend on verbose mode.
Fixed
- Prevented redundant database initialization messages on repeated launches.
- Ensured migrations and configuration updates are idempotent and silent if up-to-date.
[v0.2.0] - 2025-10-13
- feat(cli): add
configcommand with--print,--init,--edit, and--editoroptions - fix(windows): correctly handle editors with spaces in their path using
Path::new(&editor_to_use) - refactor(cli): move command and subcommand definitions into dedicated
cli.rsmodule - feat(utils): introduce
utils.rsmodule with standard CLI icons and colored output helpers - docs(readme): update structure and configuration examples
- style: minor formatting and consistency improvements across CLI output
[v0.1.1] - 2025-10-12
- feat(models): add location fields to
Bookandbookstable schema (room, shelf, row, position)
[v0.1.0] - 2025-10-12
- docs: add crate, module and item-level documentation for docs.rs
- feat(models): update
Bookstruct to matchbookstable schema (editor, language, pages, genre, summary, added_at) - feat(models): change
added_attype tochrono::DateTime<Utc>and enablechronoserdefeature incargo.toml - feat(cli): make
listhandler returnResultand handle errors inmain - feat(list): parse
added_atfrom DB (RFC3339 / SQLite formats) and displayadded_atin the list asYYYY-MM-DD - feat(crate): add
src/lib.rsto expose crate API and improve docs generation on docs.rs - docs: add docs.rs badge and local documentation instructions to
README.md - style: run
rustfmtand fix Clippy warnings (code style and minor refactors)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Structured database migration system
-
v0.2.1 Stable
released this
2025-10-13 14:13:25 +02:00 | 82 commits to main since this releaseChangelog
All notable changes to this project will be documented in this file.
[v0.2.1] - 2025-10-13
Added
- Database migrations: introduced
db/migrate.rswith incremental patch system and automatic execution at startup. - Configuration migrations: added
config/migrate.rsto automatically upgrade YAML configuration files. - Logging system: new
utils::write_log()function records database and migration events into thelogtable. - Verbose mode: added global
--verboseflag for diagnostic and debug output.- Normal mode: silent operation, only command results shown.
- Verbose mode: shows configuration loading, database opening, and migration messages.
db::start_db(): unified entry point that handles opening, creating, and migrating the database automatically.- Timestamp utility: new
utils::now_str()returns ISO 8601 formatted timestamps (%+).
Changed
- Initialization messages are now hidden in normal mode.
main.rssimplified: initialization logic moved intodb::start_db().print_info()andprint_ok()now depend on verbose mode.
Fixed
- Prevented redundant database initialization messages on repeated launches.
- Ensured migrations and configuration updates are idempotent and silent if up-to-date.
[v0.2.0] - 2025-10-13
- feat(cli): add
configcommand with--print,--init,--edit, and--editoroptions - fix(windows): correctly handle editors with spaces in their path using
Path::new(&editor_to_use) - refactor(cli): move command and subcommand definitions into dedicated
cli.rsmodule - feat(utils): introduce
utils.rsmodule with standard CLI icons and colored output helpers - docs(readme): update structure and configuration examples
- style: minor formatting and consistency improvements across CLI output
[v0.1.1] - 2025-10-12
- feat(models): add location fields to
Bookandbookstable schema (room, shelf, row, position)
[v0.1.0] - 2025-10-12
- docs: add crate, module and item-level documentation for docs.rs
- feat(models): update
Bookstruct to matchbookstable schema (editor, language, pages, genre, summary, added_at) - feat(models): change
added_attype tochrono::DateTime<Utc>and enablechronoserdefeature incargo.toml - feat(cli): make
listhandler returnResultand handle errors inmain - feat(list): parse
added_atfrom DB (RFC3339 / SQLite formats) and displayadded_atin the list asYYYY-MM-DD - feat(crate): add
src/lib.rsto expose crate API and improve docs generation on docs.rs - docs: add docs.rs badge and local documentation instructions to
README.md - style: run
rustfmtand fix Clippy warnings (code style and minor refactors)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Database migrations: introduced
-
v0.2.0 Stable
released this
2025-10-13 09:51:16 +02:00 | 89 commits to main since this releaseChangelog
All notable changes to this project will be documented in this file.
[v0.2.0] - 2025-10-13
- feat(cli): add
configcommand with--print,--init,--edit, and--editoroptions - fix(windows): correctly handle editors with spaces in their path using
Path::new(&editor_to_use) - refactor(cli): move command and subcommand definitions into dedicated
cli.rsmodule - feat(utils): introduce
utils.rsmodule with standard CLI icons and colored output helpers - docs(readme): update structure and configuration examples
- style: minor formatting and consistency improvements across CLI output
[v0.1.1] - 2025-10-12
- feat(models): add location fields to
Bookandbookstable schema (room, shelf, row, position)
[v0.1.0] - 2025-10-12
- docs: add crate, module and item-level documentation for docs.rs
- feat(models): update
Bookstruct to matchbookstable schema (editor, language, pages, genre, summary, added_at) - feat(models): change
added_attype tochrono::DateTime<Utc>and enablechronoserdefeature incargo.toml - feat(cli): make
listhandler returnResultand handle errors inmain - feat(list): parse
added_atfrom DB (RFC3339 / SQLite formats) and displayadded_atin the list asYYYY-MM-DD - feat(crate): add
src/lib.rsto expose crate API and improve docs generation on docs.rs - docs: add docs.rs badge and local documentation instructions to
README.md - style: run
rustfmtand fix Clippy warnings (code style and minor refactors)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- feat(cli): add
-
v0.1.1 Stable
released this
2025-10-13 00:54:35 +02:00 | 98 commits to main since this releaseChangelog
All notable changes to this project will be documented in this file.
[v0.1.1] - 2025-10-12
- feat(models): add location fields to
Bookandbookstable schema (room, shelf, row, position)
[v0.1.0] - 2025-10-12
- docs: add crate, module and item-level documentation for docs.rs
- feat(models): update
Bookstruct to matchbookstable schema (editor, language, pages, genre, summary, added_at) - feat(models): change
added_attype tochrono::DateTime<Utc>and enablechronoserdefeature incargo.toml - feat(cli): make
listhandler returnResultand handle errors inmain - feat(list): parse
added_atfrom DB (RFC3339 / SQLite formats) and displayadded_atin the list asYYYY-MM-DD - feat(crate): add
src/lib.rsto expose crate API and improve docs generation on docs.rs - docs: add docs.rs badge and local documentation instructions to
README.md - style: run
rustfmtand fix Clippy warnings (code style and minor refactors)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- feat(models): add location fields to
-
v0.1.0 Stable
released this
2025-10-12 22:22:48 +02:00 | 107 commits to main since this releaseChangelog
All notable changes to this project will be documented in this file.
[v0.1.0] - 2025-10-12
- docs: add crate, module and item-level documentation for docs.rs
- feat(models): update
Bookstruct to matchbookstable schema (editor, language, pages, genre, summary, added_at) - feat(models): change
added_attype tochrono::DateTime<Utc>and enablechronoserdefeature incargo.toml - feat(cli): make
listhandler returnResultand handle errors inmain - feat(list): parse
added_atfrom DB (RFC3339 / SQLite formats) and displayadded_atin the list asYYYY-MM-DD - feat(crate): add
src/lib.rsto expose crate API and improve docs generation on docs.rs - docs: add docs.rs badge and local documentation instructions to
README.md - style: run
rustfmtand fix Clippy warnings (code style and minor refactors)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads