Skip to content

Releases: jsonlt/jsonlt-python

v0.2.0

02 Jan 23:16
v0.2.0
1d8bac6

Choose a tag to compare

Added

  • Table.from_records() and Table.from_file() factory methods for convenient table initialization
  • Dictionary-like access for Table and Transaction (table[key], table[key] = record, del table[key], pop, popitem, setdefault, update)
  • Value-based equality for Table and Transaction (== compares path, key specifier, and records)

v0.1.0

31 Dec 18:37
v0.1.0
48c0a94

Choose a tag to compare

Added

  • Table class for working with JSONLT files supporting CRUD operations (get, put, delete, has) and Python protocols (Sized, Container, Iterable)
  • Transaction class with snapshot isolation, optimistic concurrency control, context manager support, and Python protocols (Sized, Container, Iterable)
  • Compound key support for multi-field keys (for example, ("customer_id", "order_id"))
  • Cross-platform file locking for concurrent access (fcntl on Unix, LockFileEx on Windows)
  • Query operations: find() and find_one() with predicate functions
  • Table maintenance: compact() to remove superseded records and tombstones
  • Exception hierarchy with ConflictError for write-write conflict detection
  • Full conformance with the JSONLT specification
  • Property-based tests using Hypothesis for JSON serialization, records, and state
  • Benchmark suite for performance testing

v0.1.0a4

31 Dec 06:04
v0.1.0a4
7373632

Choose a tag to compare

v0.1.0a4 Pre-release
Pre-release

What's Changed

Performance

  • Cache serialized records in Transaction to avoid double serialization (#10)

Features

  • Improve benchmark measurement accuracy and add missing benchmarks (#6)

Maintenance

  • Bump actions/download-artifact from 6.0.0 to 7.0.0 (#9)
  • Bump actions/attest-build-provenance from 3.0.0 to 3.1.0 (#8)
  • Bump actions/upload-artifact from 5.0.0 to 6.0.0 (#7)

Full Changelog: v0.1.0a3...v0.1.0a4

v0.1.0a3

28 Dec 21:19
v0.1.0a3
3d6b9b1

Choose a tag to compare

v0.1.0a3 Pre-release
Pre-release

Changes

  • Add MIT license
  • Add project metadata (URLs, classifiers, keywords)
  • Add free-threading classifier (unstable)
  • Fix Windows glob expansion in release workflow
  • Fix coverage collection for Codecov
  • Fix TestPyPI verification with index-strategy
  • Add release asset uploads to GitHub releases

v0.1.0a1

28 Dec 20:49
v0.1.0a1
43ef514

Choose a tag to compare

v0.1.0a1 Pre-release
Pre-release

Initial alpha release for testing.