@abloatai/ablo 0.59.0 → 0.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.59.1
4
+
5
+ ### Plans recognize completed database migrations
6
+
7
+ `ablo plan` now treats a connected PostgreSQL column as evidence that required
8
+ field migration work is complete when the mapped column exists, has the expected
9
+ type, and already enforces `NOT NULL`. The plan reports that verified work once
10
+ instead of demanding a synthetic backfill merely because the active Ablo
11
+ artifact predates the database migration.
12
+
13
+ The same reconciliation now recognizes a risky field-type correction as already
14
+ completed when PostgreSQL has the candidate type, so activation does not demand
15
+ `--force` merely because the active artifact still describes the old type. That
16
+ evidence remains a forward-only contract boundary: reactivating the old artifact
17
+ would disagree with the migrated database. Enum narrowing is not inferred from
18
+ a `TEXT` column because the observed shape does not prove existing values satisfy
19
+ the new constraint.
20
+
21
+ Removing a model from the served schema also no longer implies that Ablo will
22
+ drop its table when the connected database is application-owned and the table is
23
+ still present. The plan reports a compatibility warning, retains the physical
24
+ table, and allows the reviewed metadata activation without `--force`. Ablo-owned
25
+ tables, missing application tables, and unobserved database states remain
26
+ destructive errors.
27
+
28
+ Missing, nullable, incompatible, contradictory, and unobserved database states
29
+ remain blocked. Duplicate physical findings shared by the candidate and active
30
+ schemas are collapsed, while genuine three-state disagreements remain visible
31
+ in both directions.
32
+
33
+ ### Batched writes preserve their exact-read evidence
34
+
35
+ Reactive writes that carry captured rows through `reads` now retain those
36
+ dependencies when several writes are sealed into one durable commit, including
37
+ after an offline replay. A premise that became stale is therefore still rejected
38
+ instead of being lost at the batch boundary.
39
+
3
40
  ## 0.59.0
4
41
 
5
42
  ### Schema changes now have one ordered deployment plan
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abloatai/ablo",
3
- "version": "0.59.0",
3
+ "version": "0.59.1",
4
4
  "description": "The public Ablo SDK for coordinated reads, commits, claims, observation, and reactive applications.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -140,8 +140,8 @@
140
140
  "directory": "packages/ablo"
141
141
  },
142
142
  "dependencies": {
143
- "@abloatai/humans": "^0.59.0",
144
- "@abloatai/transaction": "^0.59.0",
143
+ "@abloatai/humans": "^0.59.1",
144
+ "@abloatai/transaction": "^0.59.1",
145
145
  "zod": "^4.4.3"
146
146
  },
147
147
  "peerDependencies": {