Skip to content

Releases: lifeos-plus/lifeos-cli

v1.4.3

Choose a tag to compare

@github-actions github-actions released this 02 Oct 02:55
5193d6d

Changes

  • Finance balance-sheet snapshots behave correctly when a rate snapshot is selected. A currency whose amount is zero no longer blocks converted aggregation just because the rate snapshot has no rate for it, since 0 converts to 0 at any rate. Auto-generated tree rollups now keep their original currency and amount instead of being overwritten with the converted primary-currency value, so lifeos finance snapshot show reports raw amounts as raw while conversion stays in the converted column and the snapshot totals.

  • Dependency advisories are cleared with urllib3 2.8.0 and virtualenv 21.14.3, alongside routine direct dependency minor updates.

Full changelog: v1.4.2...v1.4.3

v1.4.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 11:41
77c0f35

Changes

  • Quick batch entry (lifeos timelog add) keeps zero-length lines as zero-minute records instead of silently pushing the end time to the next day and storing 24 hours. Both HHMM Title and HH:MM-HH:MM Title lines with equal start and end now store exactly what was typed; ranges that genuinely cross midnight still roll forward with the existing warning.

  • Dependency handling is fixed and current: the package declares sqlalchemy[asyncio], so uv tool install "lifeos-cli[web,postgres]" keeps greenlet on every install shape, and the locked dependency set moves to SQLAlchemy 2.1.1. A fresh install previously resolved SQLAlchemy 2.1 without greenlet, and lifeos web serve exited during startup with ImportError: The SQLAlchemy asyncio module requires that the Python 'greenlet' library is installed.

Full changelog: v1.4.1...v1.4.2

v1.4.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 05:48
bea448a

Changes

  • timelog list and timelog search now filter completed time with --min-duration-minutes and --max-duration-minutes over an inclusive minute range, and the local Web API exposes the same min_duration_minutes and max_duration_minutes query parameters for the Web UI. A negative minimum surfaces reversed records whose end_time precedes start_time.

  • list and search commands now share one pagination contract: --limit defaults to 100 and accepts 1-500, --offset accepts 0 or greater, and values outside those ranges fail during argument parsing with an explicit message instead of an opaque database error. Use --offset to page through larger result sets.

Full changelog: v1.4.0...v1.4.1

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 07:55
e61607f

Changes

  • Database writes and migrations are safer on SQLite and PostgreSQL, with reliable rollback and coordinated concurrent updates. Web writes reserve SQLite's writer before reading; lock contention returns 503 with Retry-After instead of an unhandled 500.
  • Full backups now use schema-v4 bundles with a consistent snapshot of authoritative data, including relationships and soft-deleted history, and validation before restore. Legacy v3 bundles remain merge-only and cannot replace a database.
  • Database diagnostics now detect hierarchy problems, dangling links, and task effort drift, with explicit repair and effort-rebuild options that preserve recoverable history and manual vision experience.
  • Moving tasks between visions now updates soft-deleted descendants as well, preventing new cross-vision inconsistencies that could block imports and restores.

Before upgrading the database, retain a verified backup and stop other writers, then run lifeos db upgrade.

Full changelog: v1.3.8...v1.4.0

v1.3.8

Choose a tag to compare

@github-actions github-actions released this 07 Sep 01:00
3f0b7f3

Changes

  • Habits can now be linked to a life Area, and their dated actions inherit that Area through both the CLI and the local Web API. The association is optional and additive, so existing habits stay unassigned until an Area is chosen.

Full changelog: v1.3.7...v1.3.8

v1.3.7

Choose a tag to compare

@github-actions github-actions released this 31 Aug 02:52
86fa1a3

Changes

  • Area ordering writes are now resilient under database contention: the API validates and updates the full order in one batch, retries transient SQLite and PostgreSQL lock conflicts, and returns 503 Service Unavailable with Retry-After when the database remains busy instead of exposing an unhandled 500 error.

Full changelog: v1.3.6...v1.3.7

v1.3.6

Choose a tag to compare

@github-actions github-actions released this 28 Aug 06:48
1b6f5eb

Changes

  • Health records are now first-class data resources: body measurements, menstrual days and factors, and sleep segments support export, import, batch update, and batch delete. Body measurements can also be synchronized idempotently by measured_at through natural-key upsert or add --replace-existing, with active-record uniqueness and concurrent-write protection.

Full changelog: v1.3.5...v1.3.6

v1.3.5

Choose a tag to compare

@github-actions github-actions released this 26 Aug 06:43
e58c2a0

Changes

  • The Mayan 13 Moon calendar is now user-configurable: the new year start day (month-day, default July 26) and the seven-year anchor year are stored as preferences, the Day Out of Time is the day before the configured new year start (February 29 is treated as February 28), and all calendar consumers read the same preferences through the shared adapter.

Full changelog: v1.3.4...v1.3.5

v1.3.4

Choose a tag to compare

@github-actions github-actions released this 26 Aug 03:57
0a33721

Changes

  • Stats buckets now come from the backend: the aggregated-areas API returns the complete, ordered period timeline (including buckets without data), and the Mayan 13 Moon calendar's Day Out of Time (July 25) no longer shows up as its own week or month in stats views — it stays in day and year views only.

Full changelog: v1.3.3...v1.3.4

v1.3.3

Choose a tag to compare

@github-actions github-actions released this 24 Aug 12:47
fc8087c

Changes

  • Comment conventions: 116 boilerplate docstrings that merely restated their signatures were removed across the CLI codebase, CONTRIBUTING.md now codifies the "why-only" comment policy, and ruff's ERA rule keeps commented-out code out of CI.

Full changelog: v1.3.2...v1.3.3