Vein 1.0 is here
It is finally time, I reached the feature cut for 1.0
I’m so excited to share it with the community and curious how it will develop in the future.
For some features I already have ideas in my mind (some examples are listed in the issues), some will come through community requests.
To get started I recommend looking at the tutorials at https://vein.amethystsoft.de and/or the Examples in the package root.
Important
I have over 150 Unit tests, I run on every supported platform. Every surface target is tested on at least one platform and at least on one the tests run with thread sanitizer. Everything passes, there are currently no known issues. I did my best to design Vein in a way it rather crashes the process than corrupting data. Still, there will be bugs somewhere. If you find bugs or unexpected crashes, please report them to help improve Vein for everyone.
Supported platforms
- Apple
- Windows
- Linux
- Android (encrypted db only when providing the key store yourself)
Supported ways to use:
- with SwiftUI
- with SwiftCrossUI
- with whatever you want, just no automatic View updates
For more information about supported features please consult the documentation, tutorials and issues. Feature requests are welcome over discussions.
What's Changed
- add some relationship required basics by @MiaKoring in #23
- Add initial support for relationships by @MiaKoring in #24
- Added support for inverse declaration via keypath on one side by @MiaKoring in #26
- Merged VeinSwiftUI into core vein repository, exposes VeinModelMacroBase by @MiaKoring in #28
- [FEAT] filtering by #Predicate by @MiaKoring in #29
- [ULID] is now stored as JSONB for future proofing & some cleanups by @MiaKoring in #30
- Added tsan test, merged ULID lib into vein package + fixed one warning related to ulid by @MiaKoring in #34
- Fixed comment treated as part of type by @MiaKoring in #35
- Now autogenerates
@Fieldif no other propertywrapper is applied by @MiaKoring in #39 - Added LazyField tests and now runs the entire testsuite on VeinSwiftUI too by @MiaKoring in #40
- Added VeinSwiftUI unit tests (except
@Query) and now reference tracks observers by @MiaKoring in #44 - Autogenerate sync required fields by @MiaKoring in #53
- updated ULID Tests to swift testing by @MiaKoring in #54
- added proper ULID.swift attribution by @MiaKoring in #55
- fixed tests in release and resolved 2 tsan issues by @MiaKoring in #56
- attempt to fix ULID was not compiled for testing caused by separated release build by @MiaKoring in #57
- Added configurable logging by @MiaKoring in #60
- Added easy path for persisting RawRepresentable and Codable by @MiaKoring in #62
- Added Unit tests for Query and more by @MiaKoring in #63
- Added Tutorials by @MiaKoring in #64
- Made some things internal or changed the name to _ to not show up in docs and communicate its not intended for public use by @MiaKoring in #68
- Changed Date representation to Double by @MiaKoring in #69
- Added tutorial for custom persistable by @MiaKoring in #70
- Added a lot of documentation to the public api surface by @MiaKoring in #71
- added swiftui tutorial and star button. by @MiaKoring in #72
- Added swift check based fuzzy tests by @MiaKoring in #74
- added spi config by @MiaKoring in #75
- Format and lint + License + making linter happy by @MiaKoring in #77
- Added _isSynced field to make partial syncs possible in the future by @MiaKoring in #78
- Added Migration Testing Tutorial and improved validations of MigrationTester by @MiaKoring in #81
- added cli example & exported import Foundation due to requirement of Model macro by @MiaKoring in #85
- Add workflow status badges to README by @miak2 in #86
- Encrypted db on windows by @MiaKoring in #88
- Adds README, Contribution guidelines and a code of conduct by @MiaKoring in #89
- Update to contributing.md by @MiaKoring in #91
- adding windows CI by @MiaKoring in #92
- Added (updated) Bindings for SwiftCrossUI by @MiaKoring in #93
- Added unit test for credstore and fixed ressource typo by @MiaKoring in #99
- Add key provider & stop running Windows CI on blacksmith by @MiaKoring in #101
- Improve publish to enclosing observer chain by @MiaKoring in #102
- Resolve #94 by @MiaKoring in #103
- Add example to readme by @MiaKoring in #104
- add issue template by @MiaKoring in #105
Full Changelog: 0.2.0...1.0.0