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

- Migrate away from legacy web APIs: `dart:html`, `dart:js`, `dart:indexeddb`
  and `package:js` are no longer imported from this package.
Simon Binder's avatar
Simon Binder включено в состав коммита
5
6
7
- Experimentally support being compiled to WebAssembly. Strong caveats apply,
  please check [#230](https://github.com/simolus3/sqlite3.dart/issues/230)
  before relying on this!
Simon Binder's avatar
Simon Binder включено в состав коммита
8

Simon Binder's avatar
Simon Binder включено в состав коммита
9
10
11
12
13
## 2.4.2

- Fix string and blob arguments to prepared statements never being
  deallocated ([#225](https://github.com/simolus3/sqlite3.dart/issues/225)).

Simon Binder's avatar
Simon Binder включено в состав коммита
14
## 2.4.1+1
Simon Binder's avatar
Simon Binder включено в состав коммита
15
16

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

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

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

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

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
33
34
- Add `updatedRows` getter to eventually replace `getUpdatedRows()` method.
- Clarify documentation on `lastInsertRowId` and `updatedRows`.
Simon Binder's avatar
Simon Binder включено в состав коммита
35
36
- 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 включено в состав коммита
37
38
39
- Use `NativeCallable`s for user-defined functions, collations and update
  streams.

Simon Binder's avatar
Simon Binder включено в состав коммита
40
41
42
43
## 2.1.0

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

Simon Binder's avatar
Simon Binder включено в состав коммита
44
## 2.0.0
Simon Binder's avatar
Simon Binder включено в состав коммита
45
46
47
48

- __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 включено в состав коммита
49
50
51
- __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 включено в состав коммита
52
- Add `PreparedStatement.reset()`.
Simon Binder's avatar
Simon Binder включено в состав коммита
53
54
55
56
57
58
- 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 включено в состав коммита
59

Simon Binder's avatar
Simon Binder включено в состав коммита
60
61
62
63
64
## 1.11.2

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

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

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

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

- Add `WasmSqlite3.loadFromUrl` which uses a streaming `fetch()` request to
  load the sqlite3 WASM binary.
Simon Binder's avatar
Simon Binder включено в состав коммита
74
75
- 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 включено в состав коммита
76
77
- The WASM version of sqlite3 used by this library is now compiled with `-Oz`
  instead of `-Ofast`.
Simon Binder's avatar
Simon Binder включено в состав коммита
78

Simon Binder's avatar
Simon Binder включено в состав коммита
79
80
81
82
83
## 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 включено в состав коммита
84
## 1.10.0
Simon Binder's avatar
Simon Binder включено в состав коммита
85
86
87
88

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

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

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

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

- Include parameters when throwing an exception in prepared statements.

Simon Binder's avatar
Simon Binder включено в состав коммита
98
99
100
101
## 1.9.1

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

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

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

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

- 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 включено в состав коммита
112
- Avoid using generative constructors on `@staticInterop` classes.
Simon Binder's avatar
Simon Binder включено в состав коммита
113

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

Simon Binder's avatar
Simon Binder включено в состав коммита
116
117
- 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 включено в состав коммита
118

Simon Binder's avatar
Simon Binder включено в состав коммита
119
## 1.7.1
westito's avatar
westito включено в состав коммита
120
121
122
123

- 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 включено в состав коммита
124
- Use ABI-specific integer types internally.
westito's avatar
westito включено в состав коммита
125

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

- 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 включено в состав коммита
131
- __Breaking__ (For the experimental `package:sqlite3/wasm.dart` library):
Simon Binder's avatar
Simon Binder включено в состав коммита
132
  - The IndexedDB implementation now stores data in 4k blocks instead of full files.
Simon Binder's avatar
Simon Binder включено в состав коммита
133
134
135
136
137
  - 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 включено в состав коммита
138

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
143
144
145
146
## 1.6.3

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

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
151
152
153
154
## 1.6.1

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

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
160
161
162
163
164
165
## 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 включено в состав коммита
166
- Fix a potential out-of-bounds read when preparing statements.
Simon Binder's avatar
Simon Binder включено в состав коммита
167

Simon Binder's avatar
Simon Binder включено в состав коммита
168
## 1.5.0
Simon Binder's avatar
Simon Binder включено в состав коммита
169
170

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

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
180
181
182
183
184
185
186
## 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 включено в состав коммита
187
188
189
190
191
192
## 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 включено в состав коммита
193
## 1.2.0
Simon Binder's avatar
Simon Binder включено в состав коммита
194

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

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
203
204
205
206
207
208
## 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 включено в состав коммита
209
210
211
212
## 1.1.0

- Add optional parameters to `execute`.

Simon Binder's avatar
Simon Binder включено в состав коммита
213
214
215
216
217
## 1.0.1

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

Simon Binder's avatar
Simon Binder включено в состав коммита
218
219
220
221
## 1.0.0

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

Simon Binder's avatar
Simon Binder включено в состав коммита
222
223
224
225
226
227
228
## 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 включено в состав коммита
229
230
231
232
## 0.1.9-nullsafety.2

- Fix loading sqlite3 on iOS

Simon Binder's avatar
Simon Binder включено в состав коммита
233
## 0.1.9-nullsafety.1
Simon Binder's avatar
Simon Binder включено в состав коммита
234
235
236

- Migrate package to null safety

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

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

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

- Expose the `sqlite3_temp_directory` global variable

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
251
252
253
254
255
## 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 включено в состав коммита
256
257
258
259
## 0.1.4

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

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

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

Simon Binder's avatar
Simon Binder включено в состав коммита
264
265
266
267
268
## 0.1.2

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

Simon Binder's avatar
Simon Binder включено в состав коммита
269
270
271
272
## 0.1.1

- Expose the `ResultSet` class

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

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