Releases: oom-ai/oomstore
Releases · oom-ai/oomstore
v0.1.1-rc.0
Changelog
- 4ffa2fe add credits
- f5b3620 feat(oomagent): add group_name to OnlineGetRequest
- 2c7ec40 feat(oomstore): add GetByGroup api to online store
- 6cb19c1 feat(oomstore): add GetByGroup api to oomstore
- 4e9c76f feat(oomstore): add get group by name api to informer
- 272f678 feat(oomstore/informer): add index for online scenario
- 1ae419d feat(sdk/py): update online get api
- b8b0830 feat(sdk/rust): update online get api
- 8ca9b2a feat: add get feature api to informer
- bb2c813 fix(dbutil): function DBValueType support TIDB
v0.1.0
v0.0.5-rc2
v0.0.5-rc1
Changelog
- 8a62483 Add 1 git-crypt collaborator
- df42fad Add 1 git-crypt collaborator
- e3a6158 Create CODE_OF_CONDUCT.md
- 2781f29 cleanup(database): delete implementation of Export
- f15572c cleanup(database): delete offline method ExportOneGroup
- 5554a7f doc(oomstore/export): update ChannelExport comment
- 4cf72fa doc(oomstore/join): join already support stream feature
- dcce913 doc(pkg/oomstore): add comments for oomstore APIs and functions
- 0395fea doc(proto/oomagent): add comments for oomagent rpc
- c8c5e19 feat(database): add Cassandra to dbOpt
- 6dfbef0 feat(database): add Limit for Export
- 61cda4d feat(database): add TimeRange to bigquery.TableSchema
- dc15ad3 feat(database): add helper buildExportQuery and prepareEntityTable
- e7cc143 feat(database): aggregate parameters to BuildTableSchemaParams
- dd64d52 feat(database): implement Export
- 6cec7e4 feat(database): implement Export for backends except bigquery
- 7935d18 feat(database): implement bigquery Export
- 5d770b5 feat(database): refactor redshift CreateTable
- 2a8e426 feat(database): refactor sqlutil.Export to adapt with bigquery
- 8b668cd feat(database):error for unsupported backend in IsTableNotFoundError
- bfdf2be feat(database/metadata): implement method GetCachedGroup
- 1ffa2bf feat(database/offline): add helper buildAggregateQuery
- 5730c18 feat(database/offline): define new method Export
- c4403ad feat(database/offline): implement QueryTableTimeRange for bigquery
- 334a9b1 feat(database/offline): modify offline method Export
- 05c7dc7 feat(database/offline): use TimeRange to filter unnecessary ranges
- c962d4e feat(database/online): define new method CreateTable
- 9b5edff feat(database/online): fix dynamodb delete table error
- 59e5677 feat(database/online): impl CreateTable for mysql, postgres, sqlite
- bb8b9ab feat(database/online): implement CreateTable for cassandra
- b28d3d9 feat(database/online): implement CreateTable for dynamoDB
- 0b8fc3b feat(database/online): implement sqlutil CreateTable
- 1f54a6f feat(database/online): redis and tikv doesn't need online table
- bbb504f feat(database/online): reuse CreateTable in online.Import
- 5bea211 feat(database/online): support tikv import streaming features
- dcdb8d3 feat(grpc): add method push define
- c605958 feat(json-schema): add entity json schema file
- 52c1ea8 feat(json-schema): add feature json schema file
- d2f460d feat(json-schema): add group json schema file
- ffa5790 feat(metadata): group add field SnapshotInterval
- cdebc6a feat(metadata/revision): updateRevision add new argument NewCdcTable
- 81386e7 feat(oomagent): add method shapshot
- 3651c84 feat(oomagent): graceful shutdown
- 4e094bf feat(oomagent): implement method push
- ad091e6 feat(oomagent): use user-defined delimiter
- fd752ad feat(oomagent): write down the listening addres
- 0f577a8 feat(oomcli): add sub-command push
- 9bde752 feat(oomcli): sub-command get-online support multiple entitys
- 3e2da85 feat(oomcli/cmd): add CdcTable to parseTokenLists
- 85c711d feat(oomcli/cmd): add outputParams for outputEntity/Group/Feature
- c53f6ca feat(oomcli/register): register group add option SnapshotInterval
- b1862a7 feat(oomsotre/stream-cache): make stream push processor configurable
- d75a99b feat(oomstore): check if group already has a revision when creating a feature
- 5646a6d feat(oomstore): replace s.metadata.CreateRevision with s.CreateRevision
- 9f68e97 feat(oomstore): support stream feature join
- dce1b7b feat(oomstore/apply): apply support group SnapshotInterval
- 5fcd154 feat(oomstore/revision): add CreateRevision, it will check and create dymmy revision
- 10c8a25 feat(pkg/oomstore): add CsvFileDataSource
- 51976b9 feat(pkg/oomstore): add ListGroupOpt to API ListGroup
- b6c636e feat(pkg/oomstore): add TimeRange to DataTableSchema
- fdf1c86 feat(pkg/oomstore): add helper DBFullName for types.Feature
- a7ce503 feat(pkg/oomstore): add methods IDs and Names for EntityList
- 1010e1a feat(pkg/oomstore): add methods Names and IDs to GroupList
- 74326fd feat(pkg/oomstore): add util func SliceIndex
- 360d928 feat(pkg/oomstore): check FeatureNames are valid for Export
- 0b0e7bc feat(pkg/oomstore): check group category in API Push
- 68c64d0 feat(pkg/oomstore): clean up ExportBatch and ExportStream
- e18c32d feat(pkg/oomstore): deprecate createFirstSnapshotTable
- bdf2890 feat(pkg/oomstore): implement API ImportStream
- d7f69f7 feat(pkg/oomstore): implement new API Export
- ffe24d7 feat(pkg/oomstore): implement tableLinkImportStream
- 9a702c9 feat(pkg/oomstore): modify API ListFeature
- b8a18c6 feat(pkg/oomstore): modify API Sync, support streaming features
- 72f68e2 feat(pkg/oomstore): take snapshot before Join
- b35c651 feat(sdk/py): add client class
- 24823ac feat(sdk/py): implement export api
- d49ff0e feat(sdk/py): implement import api
- 5af55b8 feat(sdk/py): implement join api
- 92b1474 feat(sdk/py): implement online get api
- 017cfab feat(sdk/py): implement online multi get api
- 5cb5a2b feat(sdk/py): implement push api
- ba18e88 feat(sdk/py): implement snapshot api
- 15bf0db feat(sdk/py): implement sync api
- a993dc7 feat(sdk/python): add with_embedded_oomagent api
- d0c1c16 feat(sdk/python): init (#1017)
- f46cb74 feat(sdk/rust): add channel_import api
- 7bdabc0 feat(sdk/rust): add connect and check_health api
- 0093815 feat(sdk/rust): add import api
- dad3cbf feat(sdk/rust): add online_get api
- c53905f feat(sdk/rust): add online_get_raw api
- 998be13 feat(sdk/rust): add online_multi_get api
- c62fc7a feat(sdk/rust): add push api
- e4af11a feat(sdk/rust): add sync api
- 3d370e6 feat(sdk/rust): add with_embedded_oomagent api
- 9cf2209 feat(sdk/rust): default embedded agent
- 4153737 feat(sdk/rust): graceful kill
- 116a362 feat(sdk/rust): implement channel export api
- 10cf777 feat(sdk/rust): implement channel join api
- d266b1e feat(sdk/rust): implement embedded agent
- 14f3549 feat(sdk/rust): implement export api
- 199b7cd feat(sdk/rust): implement file join api
- c2131e1 feat(sdk/rust): implement snapshot api
- ad9a8c6 feat(sdk/rust): update proto
- f4d386a feat: add basic example
- 43efcb3 feat: docgen should start with h1
- 9d3dd5a feat: hide docgen command
- 0e422c4 feat: only support py3.7+ to match pyo3
- 2e50642 feat: rust sdk init
- c7ed8fe feat: use cobra.MaximumNArgs
- c47db82 fix(apply): multi connect write one db file at same time
- 1b96409 fix(database/pg): fix duplicate index
- 8d6e033 fix(database/stream-cache): create table and retry push when table revision not found
- aa730c5 fix(export): if req.FeatureNames is empty, oomstore will panic
- 12d1eda fix(integration-test): fix oomcli test stream join
- c70ddd9 fix(offline/join): if table name has special char drop will failed
- 5a5ba9d fix(online/import): fix importOpt.ExportError check
- 7e7db92 fix(online/tikv): call GetOpt.Validate at the beginning of Get
- abc2050 fix(oomagent/join): fix deadlock
- e30140c fix(oomagent/join): optimization error msg at request is empty
- 5f458bc fix(oomcli/join): fix the column alignment in join result is not fixed
- e1723cc fix(oomstore): index name need quote
- 09eaf84 fix(oomstore): stream push processor not exit graceful
- 10c2045 fix(oomstore/errdefs): fix wrapped error does not print out the call stack
- 736d041 fix(oomstore/join): fix panic if group revision is empty
- 15ed2d9 fix(oomstore/snapshot): fix first snapshot panic
- fe51be4 fix(oomstore/sync): fix sync stream feature
- 03151f7 fix(oomstore/sync): set the revision of the batch group to milliseconds whtn sync
- deeb04e fix(push): fix panic when group not exists
- 1829551 fix(snapshot): using a database unique index
- 716700c fix(test): fix grpc tests
- f51f41f fix: helper msg markdown rendering
- 5c39dc1 fix: typo
- 6c51b15 oomcli(test): update integration-test for yaml indent
- 94ad52c oomcli: set yaml indent to 2
- 9e51d69 oomstore(json-schema): add snapshot dependence
- 8f9cc61 proto: modify proto fields of Export and ChannelExport
- 9e47a36 reface(oomcli/test): modify the snapshot_interval of group user-click to 1s
- 2513b1d refacot(online): modify dbs get/multi-get implement for BatchRevisionID
- 0d84391 update local secrets [skip ci]
v0.0.5-beta
Changelog
- 9b4c93f feat(database): add helper DeserializeByValueType
- 228277a feat(database): add new fields cdcTable and unixMilli to ExportOpt
- 09bdd95 feat(database): panic if backend is not supported
- 248d906 feat(pkg/oomstore): define ChannelExportStreamOpt
- 64907df feat(pkg/oomstore): implement ChannelExportStream
v0.0.4
Changelog
- 5220264 Add 1 git-crypt collaborator
- 26862c1 Fix typo: papy -> pypa
- 95ef33b Revert "chore: remove dead code"
- d8c1d9f cleanup(database): remove dead code
- 65ae7a2 cleanup(featctl): delete unused package
- 67a90e8 cleanup(featctl/pkg): clean up list_revision pacakage
- 3b1f9a8 cleanup(featctl/pkg): delete unused package
- 3545d6f cleanup(internal/database): delete method UpdateFeatureGroupRevision
- 0ccaf7b cleanup(internal/database): deprecate unused methods
- 05d1c83 cleanup(pkg/database): delete pkg/database/ package We have migrated database to internal/database, deprecate pkg/database in this commit.
- 0150d0d cleanup: delete deadcode
- 9b3492b cleanup: get historical-feature doesn't neeed group
- adbf3a8 cleanup: remove dead code
- 95efb4d cleanup: remove materialize remained
- 0794a35 cleanup: reorg mysql online files
- 884059d cleanup: reorg pg online files
- 13baaa4 cleanup: snowflake.Open
- 68d7621 cleanup: sync doesn't need flags
- 98df480 database: add db error identifying
- fb35b39 doc(featctl): uniform to db-value-type
- 1429f4c doc(pkg/oomstore): add use example for Export
- 962962a doc: add comments for all oomstore APIs
- daf1414 doc: more detailed --help
- 5989755 doc: re-title
- 72a4a58 feaet(database/offline): implement TypeTag for snowflake
- 5466585 feaet(internal/database): add new func WithTransaction The new func is different from the receiver method WithTransaction, which takes in sqlx.DB as a parameter.
- 497e3b6 feat(ci): add release ci
- fc7349e feat(databas): modify feature methods to adapt with mysql
- 20c4498 feat(database): add BigQuery to DBValueType
- 3a5cb84 feat(database): add
Public
before tableName for snowflake - af8087f feat(database): add pg driver
- d3a5236 feat(database): add sqlite config
- ae9b81f feat(database): add two helper functions to dbutil
- 154c245 feat(database): define DBOpt, add method ExecContext and BuildInsertQuery
- 83ba71e feat(database): deserialize export result
- 7410963 feat(database): remove died code
- 6042179 feat(database): remove useless code
- 390ce65 feat(database): remove useless code
- ad305e8 feat(database/dbutil): add BigQuery to createSchemaFunc
- 830c610 feat(database/dbutil): modify method ValueType
- 0821832 feat(database/metadata): add CdcTable to CreateRevision
- 47cffdd feat(database/metadata): add Tx for SQLite
- 534b7e7 feat(database/metadata): add argument entityIDs for ListEntity
- 2b734de feat(database/metadata): add argument groupIDs for ListGroup
- 6a821ab feat(database/metadata): add db methods for mysql
- 1a41c77 feat(database/metadata): add field full_name to table schema
- 698dc15 feat(database/metadata): add full_name in createFeature
- 8f19f9d feat(database/metadata): add helper ListMetaData
- fc70012 feat(database/metadata): add metadata store methods
- f667d76 feat(database/metadata): add offline streaming table name
- 20430af feat(database/metadata): add unit test for GetFeature
- 89a1d5a feat(database/metadata): add unit test for GetFeatureByName
- 80e1ea6 feat(database/metadata): add unit test for ListEntity
- 9d0c88b feat(database/metadata): copy feature methods to sqlutil except createFeature
- 16b6bbb feat(database/metadata): copy group methods to sqlutil
- c081faf feat(database/metadata): copy revision methods to sqlutil
- 731510a feat(database/metadata): create mysql database
- 35530ea feat(database/metadata): define metadata DB for sqlite
- 224a488 feat(database/metadata): define mysql schema
- 33792ee feat(database/metadata): enrich entity for listGroup and getGroup
- 06cc6a5 feat(database/metadata): impl GetEntity and GetEntityByName
- d758e45 feat(database/metadata): impl GetGroup and GetGroupByName
- fe39b73 feat(database/metadata): implement SQLite db methods
- 91de8df feat(database/metadata): implement createEntity for sqlite
- 6319d37 feat(database/metadata): implement createFeature for mysql
- 0c21c28 feat(database/metadata): implement createGroup for mysql
- 3de683d feat(database/metadata): implement createRevision for SQLite
- 6d65f7e feat(database/metadata): implement createRevision for mysql
- f494cf3 feat(database/metadata): implement db-based method GetFeature
- 7102c86 feat(database/metadata): implement db-based method GetFeatureByName
- 8b5fc54 feat(database/metadata): implement db-based method ListEntity
- ce9c3a1 feat(database/metadata): implement db-based method ListFeature
- fc88bfd feat(database/metadata): implement db-based method ListGroup
- 13de238 feat(database/metadata): implement db-based revision methods
- 3cfd6e0 feat(database/metadata): implement entity related methods
- c6ea401 feat(database/metadata): implement mysql group methods
- e79aff6 feat(database/metadata): implement mysql method createEntity
- ac8c8fa feat(database/metadata): implement mysql methods for feature
- 2ad1ace feat(database/metadata): implement revision methods for mysql
- 2174d37 feat(database/metadata): implement tx for mysql
- cb393cc feat(database/metadata): move entity methods to sqlutil
- 31521b8 feat(database/metadata): regenerate metadata mock methods
- 9e6e483 feat(database/metadata): regenerate metadata mock methods
- 5afcab9 feat(database/metadata): use ListMetaData for mysql and postgres
- 8f25fd2 feat(database/metadata):define schema and implement CreateDatabase
- a6558b8 feat(database/metadata):implement method createGroup for SQLite
- c535807 feat(database/offline): add CDC_JOIN_QUERY and build functions
- 407abe4 feat(database/offline): add bigquery as offline store
- c12ae6d feat(database/offline): add datasetID to bigquery.DB and its option
- 8f4e711 feat(database/offline): add helper DeserializeByValueType
- 39706e3 feat(database/offline): add helper DoJoin
- c1b96f1 feat(database/offline): add helper functions for method Join
- 87fad50 feat(database/offline): copy method Export to sqlutil
- 6c11687 feat(database/offline): copy offline Join method to sqlutil
- 02ff62b feat(database/offline): copy offline method Import to sqlutil
- 0596edc feat(database/offline): generate new mock method
- 9f7911e feat(database/offline): handle streaming features in Join
- cc2b794 feat(database/offline): impl TableSchema for mysql
- e38d37f feat(database/offline): impl TableSchema for sqlite
- 648ff4b feat(database/offline): implement Join for snowflake
- c20be9f feat(database/offline): implement TypeTag for bigquery
- 0b45956 feat(database/offline): implement TypeTag for mysql
- 64ea71e feat(database/offline): implement method Join for bigquery
- ea9ecdd feat(database/offline): implement method TableSchema for bigquery
- aa58de0 feat(database/offline): implement offline method Export
- b4220db feat(database/offline): implement offline method Import
- eaf4448 feat(database/offline): implement offline method Snapshot
- d3c78be feat(database/offline): implement offline store method Snapshot
- 65b5402 feat(database/offline): make Export adapt with mysql db
- db0b87c feat(database/offline): make Import adapt with mysql db
- f65c634 feat(database/offline): make method Join adapt with mysql db
- 654898c feat(database/offline): open offline mysql database
- 94c3118 feat(database/offline): use milliseconds for revision
- cdcf401 feat(database/offline): use sqlutil.Join for mysql db
- d9df6ed feat(database/online): add helper deserializeByTag for sqlutil
- ce64a4c feat(database/online): fix cassandra MultiGet method
- 3211f04 feat(database/online): fix cassandra OnlineGet
- b7d1c95 feat(database/online): implement method Get for dynamoDB
- 1977465 feat(database/online): implement method Import for dynamoDB
- 2f6f597 feat(database/online): implement method Purge for dynamoDB
- f0d8596 feat(dbuti/dbtype): add mysql/postgres/snoflake/dynamodb
- c1997ad feat(dbutil): add BuildSchema schama
- 1a6ed98 feat(dbutil): add func Placeholders
- 5ae5a16 feat(dbutil): add type.BIGQUERY to quote helpers
- 62c5da6 feat(errdefs): Add error mechanism for oomstore
- af409a7 feat(errdefs): add invalid attribute error
- 37839bd feat(featctl):
import
supports absolute path - 2033be4 feat(featctl): add
--limit
option to export - ea6e3ae feat(featctl): add
mustOpenOneStore
- 599ec97 feat(featctl): add featctl command describe group
- 60566d7 feat(featctl): implement
featctl register entity
(#143) - d2d3040 feat(featctl): implement
featctl register group
- f609bef feat(featctl): implement apply entity
- 1291ce4 feat(featctl): implement apply feature
- 1827965 feat(featctl): implement apply feature group
- fc0fbf2 feat(featctl): implement cmd list revision
- 1b79324 feat(featctl): make argument
group
as optional forlist feature
- 12c3155 feat(featctl): modify README for list feature
- fe7ae8d feat(featctl): udpate docs
- ba93c38 feat(featctl): update docs
- 80dc5d2 feat(featctl): update docs
- ae0b573 feat(featctl): update docs
- 02ac753 feat(featctl): update docs
- ef59c71 feat(featctl): use rich_feature_group for command list group
- 709bb22 feat(featctl/cmd): add command list entity
- bb28c90 feat(featctl/cmd): add command list feature
- 92c4e60 feat(featctl/cmd): add command update group
- 7495c67 feat(featctl/cmd): add featctl command describe entity
- 1ebfa96 feat(featctl/cmd): add featctl command join
- a92629c feat(featctl/cmd): add featctl command materialize
- acdd82f feat(featctl/cmd): add featctl command update entity
- 9dc35f4 feat(featctl/cmd): add featctl subcommand join historical features
- 91808f7 feat(featctl/cmd): add format for command get historical feature
- 353bf58 feat(featctl/cmd): add format for command get online feature
- b6417ad feat(featctl/cmd): add format for command join historical feature
- 39c56af feat(featctl/cmd): add format for command list entity
- 57d0ff8 feat(featctl/cmd): add format for command list feature
- 84162f1 feat(featctl/cmd): add format for command list group
- 65cee32 feat(featctl/cmd)...
v0.0.3-rc5
Changelog
- 7a229cd doc(featctl): uniform to db-value-type
- dc5b224 doc(pkg/oomstore): add use example for Export
- f5c75da feat(database/offline): use milliseconds for revision
- 8fc9dd0 feat(errdefs): Add error mechanism for oomstore
- f0f0b8d feat(errdefs): add invalid attribute error
- 396e36f feat(featctl): implement apply entity
- 0b5befa feat(featctl): implement apply feature
- cf25b95 feat(featctl): implement apply feature group
- 116b57a feat(oomd): add helper buildStatus
- 8a791e5 feat(oomd): add unimplemented grpc APIs
- 822b253 feat(oomd): adding a configuration system
- 6e950d0 feat(oomd): copy google.rpc.Status
- c342ec9 feat(oomd): generate server interface and client interface
- aa250cf feat(oomd): implement OnlineGet
- cbe7fd0 feat(oomd): implement grpc API ImportByFile
- 91b5a02 feat(oomd): implement grpc API OnlineMultiGet
- e45ce45 feat(oomd): implement grpc import api
- ecc5a2e feat(oomd): implement sync
- 7b69859 feat(oomd): init oomd.proto
- d9c7b66 feat(oomd/codegen): generate oomd.pb.go
- 7cd9e15 feat(oomd/server): impl grpc API JoinByFile
- c248ad3 feat(oomd/server): implement rpc Export and ChannelExport
- edcee3e feat(oomstore): app apply processing framework
- b78447c feat(pkg/oomstore): add API JoinByFile
- 81f345c feat(pkg/oomstore): add new API ExportByFile
- a76d68e feat(pkg/oomstore): add oomstore API ImportByFile
- 62980b9 feat(pkg/oomstore): deprecate unused structs
- 65b66b7 feat(pkg/oomstore): refresh informer for low-frequency APIs
- 348ca7c feat(proto): define customized proto Value
- 4a73089 feat(proto): define grpc API Export and ExportByFile
- c75a06d feat(sdk/python): add ci for auto push python distribution to pypi
- 5cfff72 feat(sdk/python): add the required files for packing package
- e6acaf2 feat(sdk/python): implement python sdk export and channel_export
- 363c45d feat(sdk/python): start oomd asynchronously at initialisation
- 95955dd feat: add oomd server template
- 95d32c8 feat: add purge_delay option in proto
- a061f84 feat: add status grpc py code
- 8646da5 feat: convert proto msg type to dict
- ee8f42f feat: generate protoset file for grpcurl
- fc19aee feat: generate python grpc code for oomd
- 8c90fe9 feat: implement ChannelJoin rpc
- ab6e92e feat: implement python sdk
- a9d9025 feat: python call grpc
- 3f32b5f feat: python client class
- 8465349 feat: support delay purge
- 9834a1f feat: update go.mod
- f155eca fix(featctl/get-online): fix typo
- 2cbb000 fix(oomstore/apply): add validate
- 401964d fix(pkg/oomstore): fix typo
- 31eb06f fix: edit generated python code st relative import works
- e42618e fix: fix description type in apply
- 94f8673 fix: replace sed with perl for os portability
- 1c8529f fix: simpler gitignore
- 6a4c53c fix: typo
- 3c26b65 fix: wrongly return nil instead of error
- fbc5081 go.mod: update dependency