1.1.1 Release
This release contains
- a performance improvement for fetch operations achieved through changing the time the primarykey ulid is created so there's no unnecessary creations
Fixes
Note
all of the bugs below were found during defensive unit test expansion.
-
fixes a logic bug in merging pending changes that appeared when a save failed while there were concurrent writes to the same context (the changes weren’t merged correctly)
-
fixes models updated, deleted and re-inserted without save in between not rolling back to db stage
-
fetchCount now returns 0 on nonexistent table instead of throwing operationCouldNotBeCompleted
-
Fixes correctness of Relationships:
Relationships allow duplicates, but weren't handled correctly. Also reparenting instead of removing and then adding somewhere else left dangling referencesShould you be affected by this issue I recommend creating a migration after updating to Vein 1.1.1 and restoring the state you expect on one side. I originally wanted to ship an autoheal, but what is correct depends too much on what your application does, so an autoheal isn't feasible.
What's Changed
- Improve performance by moving ULID() to not be a default parameter anymore by @MiaKoring in #139
- refactor unit tests to allow largely running in memory dbs by @MiaKoring in #142
- should improve stability of identitymap clearing tests especially on windows by @MiaKoring in #143
- New tests & fix 2 edge cases by @MiaKoring in #144
- Fixed Relationship correctness and added more tests by @MiaKoring in #146
Full Changelog: 1.1.0...1.1.1