CHANGELOG.md 7,4 КБ
Newer Older
Simon Binder's avatar
Simon Binder включено в состав коммита
1
## 2.4.1
Simon Binder's avatar
Simon Binder включено в состав коммита
2
3

- Allow version `0.7.x` of the `js` package.
Simon Binder's avatar
Simon Binder включено в состав коммита
4
5
- Reduce size of `sqlite3.wasm` bundle by removing symbols not referenced in
  Dart.
Simon Binder's avatar
Simon Binder включено в состав коммита
6

Simon Binder's avatar
Simon Binder включено в состав коммита
7
## 2.4.0
Simon Binder's avatar
Simon Binder включено в состав коммита
8

Simon Binder's avatar
Simon Binder включено в состав коммита
9
- Add `isReadOnly` and `isExplain` getters to prepared statements.
Simon Binder's avatar
Simon Binder включено в состав коммита
10
11
12
- Set `NativeCallable.keepIsolateAlive` to `false` for callables managed by
  this package.

Simon Binder's avatar
Simon Binder включено в состав коммита
13
## 2.3.0
Simon Binder's avatar
Simon Binder включено в состав коммита
14

Simon Binder's avatar
Simon Binder включено в состав коммита
15
- Add the `autocommit` getter on databases wrapping `sqlite3_get_autocommit`.
Simon Binder's avatar
Simon Binder включено в состав коммита
16
17
- Improve the error message in the exception when opening a database fails.

Simon Binder's avatar
Simon Binder включено в состав коммита
18
## 2.2.0
Simon Binder's avatar
Simon Binder включено в состав коммита
19

Simon Binder's avatar
Simon Binder включено в состав коммита
20
21
- Add `updatedRows` getter to eventually replace `getUpdatedRows()` method.
- Clarify documentation on `lastInsertRowId` and `updatedRows`.
Simon Binder's avatar
Simon Binder включено в состав коммита
22
23
- Allow customizing the amount of pages to lock at a time in `backup`. A larger
  amount will result in better backup performance.
Simon Binder's avatar
Simon Binder включено в состав коммита
24
25
26
- Use `NativeCallable`s for user-defined functions, collations and update
  streams.

Simon Binder's avatar
Simon Binder включено в состав коммита
27
28
29
30
## 2.1.0

- Add `config` getter to `CommonDatabase` to access `sqlite3_db_config`.

Simon Binder's avatar
Simon Binder включено в состав коммита
31
## 2.0.0
Simon Binder's avatar
Simon Binder включено в состав коммита
32
33
34
35

- __Breaking__: The WASM implementation no longer registers a default virtual
  file system. Instead, `registerVirtualFileSystem` needs to be used to add
  desired file system implementations.
Simon Binder's avatar
Simon Binder включено в состав коммита
36
37
38
- __Breaking__: Fix a typo, `CommmonSqlite3` is now called `CommonSqlite3`.
- __Breaking__: Introduce class modifiers on classes of this package that aren't
  meant to be extended or implemented by users.
Simon Binder's avatar
Simon Binder включено в состав коммита
39
- Add `PreparedStatement.reset()`.
Simon Binder's avatar
Simon Binder включено в состав коммита
40
41
42
43
44
45
- Add the `CustomStatementParameter` class which can be passed as a statement
  parameter with a custom `sqlite3_bind_*` call.
- Add the `StatementParameters` class and `executeWith`/`selectWith` methods
  on `CommonPreparedStatement`. They can be used to control whether values are
  bound by index or by name. The `selectMap` and `executeMap` methods have
  been deprecated.
Simon Binder's avatar
Simon Binder включено в состав коммита
46

Simon Binder's avatar
Simon Binder включено в состав коммита
47
48
49
50
51
## 1.11.2

- Report correct column names for statements that have been re-compiled due to
  schema changes.

Simon Binder's avatar
Simon Binder включено в состав коммита
52
53
54
55
56
## 1.11.1

- Fix user-defined functions returning text not supporting multi-byte utf8
  characters.

Simon Binder's avatar
Simon Binder включено в состав коммита
57
## 1.11.0
Simon Binder's avatar
Simon Binder включено в состав коммита
58
59
60

- Add `WasmSqlite3.loadFromUrl` which uses a streaming `fetch()` request to
  load the sqlite3 WASM binary.
Simon Binder's avatar
Simon Binder включено в состав коммита
61
62
- Add `OpfsFileSystem`, a file system implementation for the WASM library that
  is based on the synchronous File System Access API.
Simon Binder's avatar
Simon Binder включено в состав коммита
63
64
- The WASM version of sqlite3 used by this library is now compiled with `-Oz`
  instead of `-Ofast`.
Simon Binder's avatar
Simon Binder включено в состав коммита
65

Simon Binder's avatar
Simon Binder включено в состав коммита
66
67
68
69
70
## 1.10.1

- Fix a regression introduced in 1.10.0 causing crashes when SQL statements
  containing non-ASCII characters are prepared.

Simon Binder's avatar
Simon Binder включено в состав коммита
71
## 1.10.0
Simon Binder's avatar
Simon Binder включено в состав коммита
72
73
74
75

- Rewrite the implementation to allow more code reuse between `dart:ffi` and
  the WASM-based web implementation.

Simon Binder's avatar
Simon Binder включено в состав коммита
76
## 1.9.3
Simon Binder's avatar
Simon Binder включено в состав коммита
77
78

- Provide more information about the source of sqlite exceptions.
Simon Binder's avatar
Simon Binder включено в состав коммита
79
- Fix prepared statements without parameters not being reused properly.
Simon Binder's avatar
Simon Binder включено в состав коммита
80

Simon Binder's avatar
Simon Binder включено в состав коммита
81
82
83
84
## 1.9.2

- Include parameters when throwing an exception in prepared statements.

Simon Binder's avatar
Simon Binder включено в состав коммита
85
86
87
88
## 1.9.1

- Change `Row.keys` and `Row.values` to return a list.

Simon Binder's avatar
Simon Binder включено в состав коммита
89
## 1.9.0
Simon Binder's avatar
Simon Binder включено в состав коммита
90
91

- Add an API for sqlite3's backup API via `Database.backup()`.
Simon Binder's avatar
Simon Binder включено в состав коммита
92
- Add an API to load extensions via `sqlite3.ensureExtensionLoaded`.
Simon Binder's avatar
Simon Binder включено в состав коммита
93

Simon Binder's avatar
Simon Binder включено в состав коммита
94
## 1.8.0
Simon Binder's avatar
Simon Binder включено в состав коммита
95
96
97
98

- Use a `Finalizer` to automatically dispose databases and statements. As
  finalizers in Dart aren't reliable, you should still make sure to call
  `dispose` manually after you're done with a database or a statement.
Simon Binder's avatar
Simon Binder включено в состав коммита
99
- Avoid using generative constructors on `@staticInterop` classes.
Simon Binder's avatar
Simon Binder включено в состав коммита
100

Simon Binder's avatar
Simon Binder включено в состав коммита
101
## 1.7.2
Simon Binder's avatar
Simon Binder включено в состав коммита
102

Simon Binder's avatar
Simon Binder включено в состав коммита
103
104
- Optimizations in the wasm-based file system.
- Fix the `mutex` parameter not doing anything in the FFI-based implementation.
Simon Binder's avatar
Simon Binder включено в состав коммита
105

Simon Binder's avatar
Simon Binder включено в состав коммита
106
## 1.7.1
westito's avatar
westito включено в состав коммита
107
108
109
110

- Allow binding `BigInt`s to statements and functions. They must still be
  representable as a 64-bit int, but this closes a compatibility gap between
  the web and the native implementations.
Simon Binder's avatar
Simon Binder включено в состав коммита
111
- Use ABI-specific integer types internally.
westito's avatar
westito включено в состав коммита
112

Simon Binder's avatar
Simon Binder включено в состав коммита
113
## 1.7.0
Simon Binder's avatar
Simon Binder включено в состав коммита
114
115
116
117

- Add support for application-defined window functions. To register a custom
  window function, implement `WindowFunction` and register your function with
  `database.registerAggregateFunction`.
Simon Binder's avatar
Simon Binder включено в состав коммита
118
- __Breaking__ (For the experimental `package:sqlite3/wasm.dart` library):
Simon Binder's avatar
Simon Binder включено в состав коммита
119
  - The IndexedDB implementation now stores data in 4k blocks instead of full files.
Simon Binder's avatar
Simon Binder включено в состав коммита
120
121
122
123
124
  - Removed `IndexedDbFileSystem.load`. Use `IndexedDbFileSystem.open` instead.
  - An `IndexedDbFileSystem` now stores all files, the concept of a persistence
    root has been removed.
    To access independent databases, use two `IndexedDbFileSystem`s with a different
    database name.
Simon Binder's avatar
Simon Binder включено в состав коммита
125

Simon Binder's avatar
Simon Binder включено в состав коммита
126
## 1.6.4
westito's avatar
westito включено в состав коммита
127
128
129

- Add `FileSystem.listFiles()` to list all files in a virtual WASM file system.

Simon Binder's avatar
Simon Binder включено в состав коммита
130
131
132
133
## 1.6.3

- Support running `sqlite3/wasm.dart` in web workers.

Simon Binder's avatar
Simon Binder включено в состав коммита
134
135
136
137
## 1.6.2

- Fix `CURRENT_TIMESTAMP` not working with the WebAssembly backend.

Simon Binder's avatar
Simon Binder включено в состав коммита
138
139
140
141
## 1.6.1

- Better support loading sqlite3 on Linux when using `sqlite3_flutter_libs`.

Simon Binder's avatar
Simon Binder включено в состав коммита
142
143
## 1.6.0

Simon Binder's avatar
Simon Binder включено в состав коммита
144
145
- Very experimental web support, based on compiling sqlite3 to web assembly
  with a custom file system implementation.
Simon Binder's avatar
Simon Binder включено в состав коммита
146

Simon Binder's avatar
Simon Binder включено в состав коммита
147
148
149
150
151
152
## 1.5.1

- Fix `checkNoTail` throwing for harmless whitespace or comments following a
  SQL statement.
- Fix a native null-pointer dereference when calling `prepare` with a statement
  exclusively containing whitespace or comments.
Simon Binder's avatar
Simon Binder включено в состав коммита
153
- Fix a potential out-of-bounds read when preparing statements.
Simon Binder's avatar
Simon Binder включено в состав коммита
154

Simon Binder's avatar
Simon Binder включено в состав коммита
155
## 1.5.0
Simon Binder's avatar
Simon Binder включено в состав коммита
156
157

- Add `prepareMultiple` method to prepare multiple statements from one SQL string.
Simon Binder's avatar
Simon Binder включено в состав коммита
158
159
- Add `selectMap` and `executeMap` on `PreparedStatement` to bind SQL parameters by
  their name instead of their index.
Simon Binder's avatar
Simon Binder включено в состав коммита
160
- Add support for custom collations with `createCollation`.
Simon Binder's avatar
Simon Binder включено в состав коммита
161

Simon Binder's avatar
Simon Binder включено в состав коммита
162
## 1.4.0
Simon Binder's avatar
Simon Binder включено в состав коммита
163

Simon Binder's avatar
Simon Binder включено в состав коммита
164
165
- Report writes on the database through the `Database.updates` stream
- Internal: Use `ffigen` to generate native bindings
Simon Binder's avatar
Simon Binder включено в состав коммита
166

Simon Binder's avatar
Simon Binder включено в состав коммита
167
168
169
170
171
172
173
## 1.3.1

- Fix a crash with common iOS and macOS configurations.
  The crash has been introduced in version 1.3.0, which should be avoided.
  Please consider adding `sqlite3: ^1.3.1` to your pubspec to avoid getting the
  broken version

Simon Binder's avatar
Simon Binder включено в состав коммита
174
175
176
177
178
179
## 1.3.0

- Add `Cursor.tableNames` and `Row.toTableColumnMap()` to obtain tables
  involved in a result set.
  Thanks to [@juancastillo0](https://github.com/juancastillo0)!

Simon Binder's avatar
Simon Binder включено в состав коммита
180
## 1.2.0
Simon Binder's avatar
Simon Binder включено в состав коммита
181

Simon Binder's avatar
Simon Binder включено в состав коммита
182
- Add the `selectCursor` API on `PreparedStatement` to step through a result set row by row.
Simon Binder's avatar
Simon Binder включено в состав коммита
183
184
185
- Report the causing SQL statement in exceptions
- Use a new Dart API to determine whether symbols are available

Simon Binder's avatar
Simon Binder включено в состав коммита
186
187
188
189
## 1.1.2

- Attempt opening sqlite3 from `DynamicLibrary.process()` on macOS

Simon Binder's avatar
Simon Binder включено в состав коммита
190
191
192
193
194
195
## 1.1.1

- Fix memory leak when preparing statements!
- Don't allow `execute` with arguments when the provided sql string contains
  more than one argument.

Simon Binder's avatar
Simon Binder включено в состав коммита
196
197
198
199
## 1.1.0

- Add optional parameters to `execute`.

Simon Binder's avatar
Simon Binder включено в состав коммита
200
201
202
203
204
## 1.0.1

- Don't throw when `PreparedStatement.execute` is used on a statement returning
  rows.

Simon Binder's avatar
Simon Binder включено в состав коммита
205
206
207
208
## 1.0.0

- Support version `1.0.0` of `package:ffi`

Simon Binder's avatar
Simon Binder включено в состав коммита
209
210
211
212
213
214
215
## 0.1.10-nullsafety.0

- Support version `0.3.0` of `package:ffi`
- Migrate library to support breaking ffi changes in Dart 2.13:
  - Use `Opaque` instead of empty structs
  - Use `Allocator` api

Simon Binder's avatar
Simon Binder включено в состав коммита
216
217
218
219
## 0.1.9-nullsafety.2

- Fix loading sqlite3 on iOS

Simon Binder's avatar
Simon Binder включено в состав коммита
220
## 0.1.9-nullsafety.1
Simon Binder's avatar
Simon Binder включено в состав коммита
221
222
223

- Migrate package to null safety

Simon Binder's avatar
Simon Binder включено в состав коммита
224
225
226
227
228
## 0.1.8

- Added the `mutex` parameter to control the serialization mode
  when opening databases.

Simon Binder's avatar
Simon Binder включено в состав коммита
229
230
231
232
## 0.1.7

- Expose the `sqlite3_temp_directory` global variable

Simon Binder's avatar
Simon Binder включено в состав коммита
233
234
235
## 0.1.6

- Expose underlying database and statement handles
Simon Binder's avatar
Simon Binder включено в состав коммита
236
- Support opening databases from uris
Simon Binder's avatar
Simon Binder включено в состав коммита
237

Simon Binder's avatar
Simon Binder включено в состав коммита
238
239
240
241
242
## 0.1.5

- Use `sqlite3_version` to determine if `sqlite3_prepare_v3` is available
  instead of catching an error.

Simon Binder's avatar
Simon Binder включено в состав коммита
243
244
245
246
## 0.1.4

- Use `sqlite3_prepare_v2` if `sqlite3_prepare_v3` is not available

Simon Binder's avatar
Simon Binder включено в состав коммита
247
248
249
250
## 0.1.3

- Lower minimum version requirement on `collection` to `^1.14.0`

Simon Binder's avatar
Simon Binder включено в состав коммита
251
252
253
254
255
## 0.1.2

- Enable extended result codes
- Expose raw rows from a `ResultSet`

Simon Binder's avatar
Simon Binder включено в состав коммита
256
257
258
259
## 0.1.1

- Expose the `ResultSet` class

Simon Binder's avatar
Simon Binder включено в состав коммита
260
## 0.1.0
Simon Binder's avatar
init  
Simon Binder включено в состав коммита
261

Simon Binder's avatar
Simon Binder включено в состав коммита
262
- Initial version