@@ -7,6 +7,44 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77
88## [ Unreleased]
99
10+ ## [ 0.1.1] — 2026-06-01
11+
12+ First Oracle-verified release. KBGSuite, a real-world DBFit suite of network-topology
13+ tests against an Oracle 19c instance, runs end-to-end (6/6 pages green) via dbression
14+ with no changes to the underlying ` .wiki ` files.
15+
16+ ### Added
17+
18+ - ** ` Ordered Query ` ** fixture for tests where row order is part of the contract.
19+ Default ` Query ` is now unordered (set-based) — see * Changed* below.
20+ - ** Function return values in ` Execute Procedure ` ** : a ` ? ` column header (DBFit
21+ convention) is now captured from the call result and compared against the
22+ corresponding cell. Works for Oracle SQL functions called via ` SELECT … FROM dual ` .
23+
24+ ### Changed
25+
26+ - ** ` Query ` is now set-based (multiset) by default** , matching DBFit's ` RowFixture `
27+ semantics: expected rows must match actual rows regardless of order, with no
28+ surplus and nothing missing. Tests previously written for the strict positional
29+ comparison should still pass (a multiset matches if the list matches); tests that
30+ used a hand-curated row order without an ` ORDER BY ` will now pass where they
31+ previously failed.
32+ - ** Numeric cell comparison** uses ` Decimal ` instead of string equality. Oracle
33+ ` NUMBER ` columns arrive as ` Decimal('2502.0') ` and now match the wiki cell ` "2502" ` .
34+ - ** Oracle stored-routine calls** transparently try ` BEGIN … END; ` , ` SELECT … FROM dual `
35+ and positional variants in order. Errors with PLS-00103 / PLS-00306 (which usually
36+ indicate "this is a FUNCTION, not a PROCEDURE") trigger the next candidate.
37+ - ** Column-name lookup in result sets** falls back to positional mapping when the
38+ expected header count equals the actual column count. Covers idioms like
39+ ` select count(*) ` where the implicit column name is ` COUNT(*) ` .
40+
41+ ### Fixed
42+
43+ - ** ` Update ` fixture semantics** : the ` = ` suffix on a column header marks a ** SET**
44+ column (previously WHERE), bare headers mark ** WHERE** columns (previously SET).
45+ This is the DBFit convention; v0.1.0 had it inverted. If you wrote any ` Update `
46+ fixtures against v0.1.0, swap the ` = ` markers across.
47+
1048## [ 0.1.0] — 2026-05-29
1149
1250Initial public release. Functional core that runs real-world DBFit suites against PostgreSQL,
@@ -61,5 +99,6 @@ with code paths in place for SQL Server and Oracle.
6199 reject ` python-oracledb ` thin-mode authentication. Configuration is via
62100 ` DBRESSION_ORACLE_CLIENT_LIB_DIR ` .
63101
64- [ Unreleased ] : https://github.com/angrydat/dbression/compare/v0.1.0...HEAD
102+ [ Unreleased ] : https://github.com/angrydat/dbression/compare/v0.1.1...HEAD
103+ [ 0.1.1 ] : https://github.com/angrydat/dbression/releases/tag/v0.1.1
65104[ 0.1.0 ] : https://github.com/angrydat/dbression/releases/tag/v0.1.0
0 commit comments