{"id":19974025,"url":"https://github.com/objectbox/objectbox-go-gitbook","last_synced_at":"2025-03-01T18:27:06.170Z","repository":{"id":44744069,"uuid":"160537607","full_name":"objectbox/objectbox-go-gitbook","owner":"objectbox","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-23T14:35:03.000Z","size":222,"stargazers_count":1,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-12T09:32:14.680Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/objectbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-05T15:20:18.000Z","updated_at":"2023-10-06T10:19:26.000Z","dependencies_parsed_at":"2025-01-12T09:28:41.289Z","dependency_job_id":"d57be20f-5281-4f22-8f9c-3ec06decaa13","html_url":"https://github.com/objectbox/objectbox-go-gitbook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-gitbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-gitbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-gitbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/objectbox%2Fobjectbox-go-gitbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/objectbox","download_url":"https://codeload.github.com/objectbox/objectbox-go-gitbook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241406597,"owners_count":19958013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T03:13:37.650Z","updated_at":"2025-03-01T18:27:06.140Z","avatar_url":"https://github.com/objectbox.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ndescription: \u003e-\n  ObjectBox Go is a lean NoSQL Golang database for persisting objects. It is\n  designed to give you high performance and easy native Go APIs on any\n  POSIX-system and embedded devices.\n---\n\n# Golang Database\n\nYour opinion matters to us! To make ObjectBox better for our users, we have set up an [Anonymous Feedback Form](https://forms.gle/bdktGBUmL4m48ruj7). Please do fill this in (it only takes 2 minutes). Every response is highly appreciated. To rate this documentation, you can use the \"Was this page helpful?\" smiley at the end of each page.\n\nOtherwise, feel free to open an [issue on GitHub](https://github.com/objectbox/objectbox-go/issues) or send us your comments to contact\\[at]objectbox.io - Thank you! - and if you like what you see, we also appreciate a shoutout :)\n\n## Changelog\n\n### v1.7.0 (2023-06-23)\n\n* Update [objectbox-c to v0.18.1](https://cpp.objectbox.io/#0.18.1-2023-01-30) bringing many improvements to Go\n\n### v1.6.1 (2022-01-27)\n\n* Improved version check for the dynamically loaded C lib\n* Update to objectbox-c v0.15.1 which contains fixes and minor performance improvements\n\n### v1.6.0 (2022-01-14)\n\n* Update [objectbox-c to v0.15.0](https://cpp.objectbox.io/#v0.15.0-2021-12-09) bringing many improvements to Go\n\n### v1.5.0 (2021-08-18)\n\n* update objectbox-c to v0.14.0\n* add [PropertyQuery](queries.md#propertyquery) support\n\n### v1.4.0 (2021-04-01)\n\n* add TimeSeries model definition support using `id-companion` and `date-nano` annotations\n* avoid `time.Duration.Milliseconds()` not available on old Go Versions\n* `NewSyncClient` - flip return values to align with the other \"constructors\"\n* add `NanoTimeInt64*` built-in converters\n\n### v1.3.0 (2021-03-19)\n\n* add [ObjectBox Sync](https://objectbox.io/sync/) client support\n* add self-assignable IDs: `objectbox:\"id(assignable)\"`\n* add query `GreaterOrEqual`/`LessOrEqual` for ints and floats\n* update objectbox-generator to v0.12.0\n* update objectbox-c to v 0.13.0\n* fix compiling on old gcc (e.g. the one in CentOS 7)\n\n### v1.2.0 (2020-08-25)\n\n* update to objectbox-c v0.10.0 with latest improvements and fixes\n* support comma in addition to space as an annotation separator\n* extract code generation into a separate module/project [objectbox-generator](https://app.gitbook.com/s/-LR89ifsSca2Mcwcn53Q/github.com/objectbox/objectbox-generator) and depend on it to preserve existing `go:generate` annotations\n\n### v1.1.2 (2020-03-18)\n\n* ensure Query finalizer is only executed by Go GC after a native call finishes\n\n### v1.1.1 (2020-02-14)\n\n* use temp directories in tests to prevent failure in recent Go versions checking-out modules as read-only\n\n### v1.1.0 (2019-12-16)\n\n* add Box `Insert` and `Update` methods with stricter semantics than `Put`\n* add AsyncBox with `Put`, `Insert`, `Update`, `Remove`\n* add Query order and parameter alias support - see [Queries](queries.md) docs for more info\n* Code generator improvements\n  * handle type-checker errors more gracefully (don't fail on failures in unneeded imports)\u0026#x20;\n  * add `clean` command-line option to remove all generated files\n  * `time.Time` will automatically use a built in converter to Unix timestamp (milliseconds)\n  * improve model.json file diff-level compatibility with other language bindings\n  * embedded struct and to-one relations cycle detection\n  * support changing property type and resetting its stored value\n  * nil check for embedded pointer structs in the generated code\n  * minor bug fixes when the generated code wouldn't compile in some edge cases\n* update to the latest ObjectBox-C library v0.8.1\n* deprecate `box.PutAsync()` in favor of `box.async().Put()` i.e. using AsyncBox\n* mark `byte` properties as unsigned\n* fix getters on objects with missing relations and non-existent IDs in `GetMany`\n* better windows installation experience using a PowerShell script\n* make `golint` happier :)\n\n### v1.0.0 (2019-07-16)\n\nThis is quite a big release, bringing some new features and cleaning up the API.\n\n* explicit transaction support via `ObjectBox::RunInReadTx` and `ObjectBox::RunInWriteTx`\n* Go Modules support\n* add `objectbox` namespace to tags to align with `reflect.StructTag.Get` unofficial spec\n* optional lazy loading on to-many relations - `lazy` annotation\n* box additions:\n  * `GetMany` , `RemoveMany`, `RemoveIds`, `ContainsIds`, `RemoveIds`\n  * to-many relation auxiliary methods: `RelationIds` , `RelationPut`, `RelationRemove`, `RelationReplace`\n* switch default/recommended `go:generate` entity generator command from `objectbox-gogen` to  `//go:generate go run github.com/objectbox/objectbox-go/cmd/objectbox-gogen`\n* quite a few internal changes, renames and other refactorings (e.g. renamed `PutAll` to `PutMany`, removed `Cursor`, aligned model JSON with other bindings, ...)\n\n### v0.9.0 (2019-04-24)\n\n* Fixed macOS build and 32-bit query support.\n* Minor refactoring/linter issues\n\n### v0.9.0-rc (2019-02-22)\n\nAs we queued up quite a few changes, we're doing a release candidate first for you to test:\n\n* Improved relations support\n* Embedded structs\n* Custom [value-converter ](custom-types.md)to store unsupported types \u0026 structs that can't be inlined/prefixed\n* Recognize and handle type aliases and named types used as entity fields\n* New Box methods: CountMax(), IsEmpty(), Contains() and PutAsyncWithTimeout()\n* Query support AND \u0026 OR (combine conditions)\n* New Query methods: [Limit, Offset](queries.md#limit-offset-and-pagination)\n* New Query methods: [Set\\*Params (type-based) ](queries.md#reusing-queries-and-parameters)- to run a cached query with custom  parameters\n* Query LT|GT|Between support for unsigned numbers\n* Support numeric string ID in the entity\n* Support for`[]string` as a field type\n* Optional pass/return-by-value for slice-of-structs in the generated code\n* Change strings to use hash-based instead of value-based indexes by default\n* A new option to AlwaysAwaitAsync that can be enabled during initialization\n\n### v0.8.0 (2018-12-06)\n\n* New [Query API](queries.md)\n* Box and Query do not require manual closing anymore\n* Support for [renaming entities and their properties](schema-changes.md) using UIDs\n\n### v0.7.1 (2018-11-30)\n\n* Fixed wrong mapping for Go types (u)int and (u)int8. Luckily we noticed this very early: if you used those types in previous versions, please delete old database files.\n* Transactions are now safely aborted in case of panics\n\n### v0.7.0 (2018-11-29)\n\n* Changed file name of generated code, e.g. file endings for model is now \".obx.go\"\n* Foundation for all query conditions (final query API will come with the next version)\n* Put(object) now assigns the new id to the object itself\n\n### v0.6.0 (2018-11-28)\n\nInitial public release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectbox%2Fobjectbox-go-gitbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fobjectbox%2Fobjectbox-go-gitbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fobjectbox%2Fobjectbox-go-gitbook/lists"}