Skip to content

v0.2.0

Compare
Choose a tag to compare
@sebadob sebadob released this 18 Sep 10:47
· 62 commits to main since this release
42aa940

This releases fixes some usability issues of the initial version. It also brings clearer documentation in a lot of
places.

  • Removed the compression feature from rust_embed for better compatibility with other crates in the same project.
  • hiqlite::Client::is_leader_db() + ::is_leader_cache are now pub and can be used in downstream applications.
  • New functions hiqlite::Client::clear_cache() + ::clear_cache_all() to clear caches without a restart.
  • A few (on purpose) panic!, assert! and expect() have been removed in favor of returned Result errors.
  • Hiqlite now always tries to install a rustls crypto provider which makes setup easier and less error-prone.
    It will only log a debug if it fails to do so, which can only happen when it has been done already.
  • Additional type affinity checks for SQLite to be able to convert more things without user interaction, like for
    instance INT will be caught as well, even though it is no SQLite type by definition. Basically, the rules from
    3.1 https://www.sqlite.org/datatype3.html are applied. The "correct" SQLite type definitions will always be faster
    though and should always be preferred.
  • Additional type conversion for:
    • bool - was missing, true is now an INTEGER of 1 and 0 for false
    • chrono::DateTime<Utc>
    • chrono::DateTime<Local>
    • chrono::DateTime<FixedOffset>
    • chrono::NaiveDate
    • chrono::NaiveTime
    • chrono::NaiveDateTime
    • serde_json::Value
      The additional chrono and serde_json types are stored as TEXT inside the DB for compatibility with the
      underlying rusqlite crate. Using INTEGER for chrono::Naive* and Utc types would be faster more efficient,
      which may be changed in the future. For now, all Date and Time-like types are converted to TEXT.
      Note: These auto type conversions only work when you implement the From<hiqlite::Row> and do not work with the
      auto-conversion from deriving serde::Deserialize.
  • openraft has been bumped to v0.9.16 which solves some issues with a not-so-pretty rolling restart of Kubernetes
    StatefulSets for instance due to a race condition.
  • HIQLITE_BACKUP_RESTORE env var to restore from a backup has been renamed to HQL_BACKUP_RESTORE to match the other
    config vars regarding the prefix.