@@ -4,6 +4,171 @@ All notable changes to this project will be documented in this file. This projec
44## [ Unreleased]
55
66
7+ <a name =" v1.0.5 " ></a >
8+ ## [ v1.0.5] - 2021-08-02
9+ ### Bug Fixes
10+ - bind psql port to the same IP address as grpc interface ([ #867 ] ( https://github.com/vchain-us/immudb/issues/867 ) )
11+ - Update crypto, sys dependencies
12+ - consistent reads of recently written data
13+ - ** embedded/ahtree:** fix the full revert corner case
14+ - ** embedded/store:** Truncate aht before commit
15+ - ** embedded/store:** Don't fail to open on corrupted commit log
16+ - ** embedded/store:** revert change so to prevent nil assigments
17+ - ** embedded/store:** handle missing error case during commit phase
18+ - ** embedded/store:** use reserved concurrency slot for indexing
19+ - ** embedded/tbtree:** ensure clog is the last one being synced
20+ - ** embedded/tbtree:** garbage-less nodes log
21+ - ** embedded/tbtree:** use padding to ensure stored snapshots are named following lex order
22+ - ** embedded/tbtree:** flush logs containing compacted index
23+ - ** embedded/tbtree:** ensure proper data flushing and syncing
24+ - ** pkg/client/auditor:** fix and enhance state signature verification
25+ - ** pkg/pgsql/server:** fix boolean and blob extended query handling
26+ - ** pkg/pgsql/server:** hardened bind message parsing and fix leftovers
27+ - ** pkg/pgsql/server/fmessages:** use a variable size reader to parse fe messages
28+ - ** pkg/server:** initialize db settings if not present
29+ - ** pkg/server:** lock userdata map read
30+ - ** s3:** Use remote storage for index
31+ - ** s3:** Use remote storage for new databases
32+ - ** sql/engine:** Harden DecodeValue
33+ - ** store/indexer:** Ensure indexer state lock is always unlocked
34+
35+ ### Changes
36+ - Better logging when opening databases
37+ - increased coverage handling failure branches ([ #861 ] ( https://github.com/vchain-us/immudb/issues/861 ) )
38+ - remove unused interceptors and add missing error code prefixes
39+ - move sqlutils package to schema
40+ - group user methods in a dedicated file
41+ - Update dependencies
42+ - ** appendable:** Expose validation functions of appendable options
43+ - ** appendable/multiapp:** Introduce appendableLRUCache
44+ - ** appendable/multiapp:** Add hooks to the MultiFileAppender implementation
45+ - ** cmd/immuclient:** fix panic in immuclient cli mode
46+ - ** cmd/immuclient:** update error comparisson
47+ - ** embedded:** col descriptor with attributes
48+ - ** embedded/ahtree:** minor changes towards code redabilitiy
49+ - ** embedded/ahtree:** minor refactoring improving readability
50+ - ** embedded/ahtree:** auto-truncate partially written commit log
51+ - ** embedded/cache:** Add Pop and Replace methods to LRUCache.
52+ - ** embedded/sql:** initial type specialization in place
53+ - ** embedded/sql:** dump catalog with a different database name
54+ - ** embedded/sql:** Remove linter warnings
55+ - ** embedded/sql:** explicit catalog reloading upon failed operations
56+ - ** embedded/sql:** parameters type inference working with aggregations
57+ - ** embedded/sql:** towards non-blocking sql initialization
58+ - ** embedded/sql:** remove public InferParameters operations from sql statements
59+ - ** embedded/sql:** several adjustments and completion in type inference functions
60+ - ** embedded/sql:** cancellable wait for catalog
61+ - ** embedded/sql:** expose InferParameters function in RowReader interface
62+ - ** embedded/sql:** type specialization
63+ - ** embedded/sql:** validate either named or unnamed parameters are used within the same stmt
64+ - ** embedded/store:** tx metatada serialization/deserialization
65+ - ** embedded/store:** minor code simplification
66+ - ** embedded/store:** validate replicated tx against current store
67+ - ** embedded/store:** minor refactoring improving readability
68+ - ** embedded/store:** edge-case validation with first tx
69+ - ** embedded/store:** auto-truncate partially written commit log
70+ - ** embedded/tbtree:** nodes and commit prefix renaming
71+ - ** embedded/tbtree:** auto-truncate partially written commit log
72+ - ** embedded/tbtree:** use setOffset for historical data overwriting
73+ - ** embedded/tbtree:** enable snapshot generation while compaction is in progress
74+ - ** embedded/tbtree:** expose current number of snapshots
75+ - ** embedded/tbtree:** full snapshot recovery
76+ - ** embedded/tbtree:** warn if an error is raised while discarding snapshots
77+ - ** pkg/api:** kept simple db creation api to guarantee backward compatibility
78+ - ** pkg/api:** kept same attribute id in TxEntry message
79+ - ** pkg/api:** fix typo inside a comment
80+ - ** pkg/api:** comment on deprecated and not yet supported operations
81+ - ** pkg/api:** remove information not required to cryptographically prove entries
82+ - ** pkg/auth:** list of supported operations in maintenance mode
83+ - ** pkg/database:** support the case where database tx is not the initial one due to migration
84+ - ** pkg/database:** sql operations after catalog is created
85+ - ** pkg/database:** single-store databases
86+ - ** pkg/database:** method to retrieve row cursor based on a sql query stament
87+ - ** pkg/database:** no wait for indexing during tx replication
88+ - ** pkg/database:** use fixed database name
89+ - ** pkg/database:** sql catalog reloading on replica
90+ - ** pkg/database:** migrate systemdb catalog to fixed database naming
91+ - ** pkg/database:** internal method renaming
92+ - ** pkg/database:** sql catalog per database. migration from shared catalog store when required
93+ - ** pkg/database:** replace fixed naming with current database
94+ - ** pkg/database:** replace fixing naming with current database
95+ - ** pkg/database:** expose catalog loading operation
96+ - ** pkg/database:** catalog reloading by replicas
97+ - ** pkg/database:** parameter inference for parsed statements
98+ - ** pkg/database:** re-construct sql engine once catalog is ready
99+ - ** pkg/database:** wait for sql engine initialization before closing
100+ - ** pkg/database:** add IsReplica method
101+ - ** pkg/database:** gracefully stop by cancelling sql initialization
102+ - ** pkg/database:** log when a database is sucessfully opened
103+ - ** pkg/database:** log warning about WIP feature when using replication capabilities
104+ - ** pkg/errors:** immuerrors use an internal map to determine code from the message
105+ - ** pkg/errors:** add more error codes and add Cod prefix to codes var names
106+ - ** pkg/errors:** fix user operations error codes with pgsql official ones, increase coverage
107+ - ** pkg/errors:** add comments
108+ - ** pkg/pgsql:** increase server coverage
109+ - ** pkg/pgsql/server:** protect parameters description message from int16 overflown
110+ - ** pkg/pgsql/server:** increase code coverage
111+ - ** pkg/pgsql/server:** handle positional parameters
112+ - ** pkg/pgsql/server:** add max parameters value size guard and move error package in a higher level to avoid cycle deps
113+ - ** pkg/pgsql/server:** add bind message negative value size guards
114+ - ** pkg/pgsql/server:** handle empty statements
115+ - ** pkg/pgsql/server:** hardened INTEGER parameters conversion
116+ - ** pkg/pgsql/server:** increase multi inserts tests number in simple and extended query
117+ - ** pkg/pgsql/server:** some polishments in the state machine
118+ - ** pkg/pgsql/server:** simplify query machine
119+ - ** pkg/pgsql/server:** add a guard to check max message size and handle default case in parsing format codes in bind messages
120+ - ** pkg/pgsql/server/fmessages:** uniform malformed bind messages
121+ - ** pkg/server:** systemdb renaming
122+ - ** pkg/server:** disable user mgmt operations in maintenance mode
123+ - ** pkg/server:** move userdata lock in the inner method getLoggedInUserDataFromUsername
124+ - ** pkg/server:** minor updates after rebasing
125+ - ** pkg/server:** remove duplicated property
126+ - ** pkg/server:** minor adjustments after rebasing from master branch
127+ - ** pkg/server:** fix typo in error message
128+ - ** pkg/server:** remove methods moved to user file
129+ - ** pkg/stream:** inject immu errors
130+ - ** pkg/stream:** fix namings on stream api objects
131+ - ** pkg/stream:** use io.Reader interface
132+ - ** pkg/stream:** use wrapped errors
133+
134+ ### Features
135+ - immuclient running as auditor - replace "prometheus-port" and "prometheus-host" CLI flags with "audit-monitoring-host" and "audit-monitoring-port" (int) and start a single HTTP server which exposes all the needed endpoints (GET /metrics, /initz, /readyz, /livez and /version)
136+ - add /healthz and /version endpoints for immudb and immuclient auditor
137+ - add immudb error package
138+ - ** appendable:** Add remote s3 backend
139+ - ** cmd/immuadmin:** update database command
140+ - ** cmd/immuadmin:** upgrade database creation with settings
141+ - ** cmd/immuadmin:** add flag to create database as a replica
142+ - ** cmd/immuclient:** upgrade database creation with settings
143+ - ** embedded/sql:** support for named positional parameters
144+ - ** embedded/sql:** towards leveraging readers for type inference
145+ - ** embedded/sql:** catalog dumping
146+ - ** embedded/sql:** adding method to infer typed parameters from sql statements
147+ - ** embedded/sql:** support for unnamed parameters
148+ - ** embedded/store:** WIP replicatedCommit
149+ - ** embedded/store:** passive waiting for transaction commit
150+ - ** embedded/store:** tx export and commit replicated
151+ - ** pkg/api:** enhanced createDatabase endpoint to specify database replication
152+ - ** pkg/api:** new endpoint to update database settings
153+ - ** pkg/api:** endpoints for exporting and replicating txs
154+ - ** pkg/client:** replica creation and replication API
155+ - ** pkg/client:** implements update database settings operation
156+ - ** pkg/client:** deprecate CleanIndex operation
157+ - ** pkg/database:** suppport runtime replication settings changes
158+ - ** pkg/database:** implement passive wait for committed tx
159+ - ** pkg/database:** parameters type inference exposed in database package
160+ - ** pkg/database:** db as replica and replication operations
161+ - ** pkg/error:** add improved error handling
162+ - ** pkg/pgsql/server:** add extended query messages and inner logic
163+ - ** pkg/server:** initial handling of database replication settings
164+ - ** pkg/server:** replicas and replication endpoints
165+ - ** pkg/server:** implements update database settings endpoint
166+ - ** pkg/server:** leverage maintenance mode to recover systemdb and defaultdb databases
167+ - ** pkg/server:** stream of committed txs
168+ - ** pkg/server:** enable simultaneous replication of systemdb and defaultdb
169+ - ** pkg/stream:** readFully method to read complete payload transmitted into chunks
170+
171+
7172<a name =" v1.0.1 " ></a >
8173## [ v1.0.1] - 2021-06-02
9174### Bug Fixes
0 commit comments