|
2 | 2 |
|
3 | 3 | ## Unlreleased |
4 | 4 |
|
| 5 | +## v0.13.10 |
| 6 | +- added: Ability to specify `:load_extensions` for custom sqlite extensions. |
| 7 | +- changed: Updated sqlite3 to `3.41.2` |
| 8 | + |
5 | 9 | ## v0.13.9 |
6 | 10 | - fixed: Do not free mutex if it is not set. |
7 | 11 |
|
8 | | -## v0.13.8 - 2023-03-14 |
9 | | -- fixed: Handle SEGFAULT when trying to open a database that the application does not have permissions to open. [#246](https://github.com/elixir-sqlite/exqlite/pull/246) |
| 12 | +## v0.13.8 |
| 13 | +- fixed: Handle SEGFAULT when trying to open a database that the application does not have permissions to open. |
10 | 14 |
|
11 | | -## v0.13.7 - 2023-03-13 |
12 | | -- added: precompilation support for musl based libc. [#244](https://github.com/elixir-sqlite/exqlite/pull/244) |
13 | | -- changed: Updated sqlite to 3.41.1 |
| 15 | +## v0.13.7 |
| 16 | +- added: precompilation support for musl based libc. |
| 17 | +- changed: Updated sqlite to `3.41.1` |
14 | 18 |
|
15 | | -## v0.13.6 - 2023-03-09 |
16 | | -- fixed: Error responses from sqlite NIF come back as an atom, the `message` field in `Exqlite.Error` is expected to be a string. [#242](https://github.com/elixir-sqlite/exqlite/pull/242) |
| 19 | +## v0.13.6 |
| 20 | +- fixed: Error responses from sqlite NIF come back as an atom, the `message` field in `Exqlite.Error` is expected to be a string. |
17 | 21 |
|
18 | | -## v0.13.5 - 2023-02-27 |
19 | | -- changed: Allow `:force_build` to be specified in application configration to allow projects to force build the application rather than use precompiled binaries. [#241](https://github.com/elixir-sqlite/exqlite/pull/241) [#240](https://github.com/elixir-sqlite/exqlite/pull/240) |
| 22 | +## v0.13.5 |
| 23 | +- changed: Allow `:force_build` to be specified in application configration to allow projects to force build the application rather than use precompiled binaries. |
20 | 24 |
|
21 | | -## v0.13.4 - 2023-02-24 |
22 | | -- changed: Updated sqlite3 to 3.41.0 |
| 25 | +## v0.13.4 |
| 26 | +- changed: Updated sqlite3 to `3.41.0` |
23 | 27 |
|
24 | | -## v0.13.3 - 2023-02-19 |
25 | | -- added: precompilation support. [#234](https://github.com/elixir-sqlite/exqlite/pull/234) |
| 28 | +## v0.13.3 |
| 29 | +- added: precompilation support. |
26 | 30 |
|
27 | | -## v0.13.2 - 2023-01-26 |
| 31 | +## v0.13.2 |
28 | 32 | - fixed: `-O2` flag was not being set when compiling binaries in non windows environment. |
29 | 33 |
|
30 | | -## v0.13.1 - 2023-01-26 |
| 34 | +## v0.13.1 |
31 | 35 | - added: `SQLITE_ENABLE_DBSTAT_VTAB=1`. |
32 | 36 | - changed: Allow `EXQLITE_SYSTEM_CFLAGS` to be appended to the `CFLAGS` regardless. |
33 | 37 |
|
34 | | -## v0.13.0 - 2023-01-11 |
| 38 | +## v0.13.0 |
35 | 39 | - removed: Remove support for Elixir 1.11 |
36 | | -- added: Support for custom pragmas to be set. [#229](https://github.com/elixir-sqlite/exqlite/pull/229) |
| 40 | +- added: Support for custom pragmas to be set. |
37 | 41 | - changed: Updated sqlite3 to 3.40.1 |
38 | 42 |
|
39 | | -## v0.12.0 - 2022-12-07 |
40 | | -- changed: Use `multi_step` for `Repo.stream` calls. [#223](https://github.com/elixir-sqlite/exqlite/pull/223) |
41 | | -- added: Ability to use URI for a database path. See [sqlite docs](https://sqlite.org/uri.html). Example: `file:/tmp/database.db?mode=ro`. [#225](https://github.com/elixir-sqlite/exqlite/pull/225) |
| 43 | +## v0.12.0 |
| 44 | +- changed: Use `multi_step` for `Repo.stream` calls. |
| 45 | +- added: Ability to use URI for a database path. See [sqlite docs](https://sqlite.org/uri.html). Example: `file:/tmp/database.db?mode=ro`. |
42 | 46 |
|
43 | | -## v0.11.9 - 2022-12-01 |
44 | | -- fixed: `step/2` typespec was specified incorrectly. [#224](https://github.com/elixir-sqlite/exqlite/pull/224) |
| 47 | +## v0.11.9 |
| 48 | +- fixed: `step/2` typespec was specified incorrectly. |
45 | 49 |
|
46 | | -## v0.11.8 - 2022-11-17 |
| 50 | +## v0.11.8 |
47 | 51 | - changed: Updated sqlite3 to 3.40.0 |
48 | 52 |
|
49 | | -## v0.11.7 - 2022-10-27 |
50 | | -- fixed: Segfault issue when database connections would time out. [#218](https://github.com/elixir-sqlite/exqlite/pull/218) |
| 53 | +## v0.11.7 |
| 54 | +- fixed: Segfault issue when database connections would time out. |
51 | 55 |
|
52 | | -## v0.11.6 - 2022-09-29 |
| 56 | +## v0.11.6 |
53 | 57 | - changed: Updated sqlite3 to 3.39.4 |
54 | 58 |
|
55 | | -## v0.11.5 - 2022-09-28 |
| 59 | +## v0.11.5 |
56 | 60 | - changed: Updated sqlite3 to 3.39.3 |
57 | 61 |
|
58 | | -## v0.11.4 - 2022-08-24 |
59 | | -- changed: Use `sqlite3_open_v2`. [#211](https://github.com/elixir-sqlite/exqlite/pull/211) |
60 | | -- changed: Expose `:mode`. [#212](https://github.com/elixir-sqlite/exqlite/pull/212) |
61 | | -- changed: Removed old macro hack for erlang nifs. [#213](https://github.com/elixir-sqlite/exqlite/pull/213) |
| 62 | +## v0.11.4 |
| 63 | +- changed: Use `sqlite3_open_v2`. |
| 64 | +- changed: Expose `:mode`. |
| 65 | +- changed: Removed old macro hack for erlang nifs. |
62 | 66 |
|
63 | | -## v0.11.3 - 2022-08-04 |
| 67 | +## v0.11.3 |
64 | 68 | - changed: Updated sqlite3 to 3.39.2 |
65 | 69 |
|
66 | | -## v0.11.2 - 2022-05-13 |
67 | | -- changed: Fix incorrect ordering due to `Enum.reverse/1`. [#205](https://github.com/elixir-sqlite/exqlite/pull/205) |
| 70 | +## v0.11.2 |
| 71 | +- changed: Fix incorrect ordering due to `Enum.reverse/1`. |
68 | 72 |
|
69 | | -## v0.11.1 - 2022-05-13 |
| 73 | +## v0.11.1 |
70 | 74 | - changed: Updated sqlite3 to 3.38.5 |
71 | 75 |
|
72 | | -## v0.11.0 - 2022-05-05 |
| 76 | +## v0.11.0 |
73 | 77 | - added: top level interface for `Exqlite` similar to `Postgrex`'s interface. |
74 | 78 | - added: optional table protocol support for results. |
75 | 79 |
|
76 | | -## v0.10.3 - 2022-04-10 |
77 | | -- fixed: Improved `fetch_all/4` call speed. [#200](https://github.com/elixir-sqlite/exqlite/pull/200) [#201](https://github.com/elixir-sqlite/exqlite/pull/201) |
| 80 | +## v0.10.3 |
| 81 | +- fixed: Improved `fetch_all/4` call speed. |
78 | 82 |
|
79 | | -## v0.10.2 - 2022-03-10 |
| 83 | +## v0.10.2 |
80 | 84 | - changed: Updated sqlite3 to 3.38. |
81 | | -- revert: change made to Visual Studio 2022 vcvars64.bat [#194](https://github.com/elixir-sqlite/exqlite/pull/194) |
| 85 | +- revert: change made to Visual Studio 2022 vcvars64.bat |
82 | 86 |
|
83 | | -## v0.10.1 - 2022-03-01 |
84 | | -- fix: path to Visual Studio 2022 vcvars64.bat [#194](https://github.com/elixir-sqlite/exqlite/pull/194) |
| 87 | +## v0.10.1 |
| 88 | +- fix: path to Visual Studio 2022 vcvars64.bat |
85 | 89 |
|
86 | | -## v0.10.0 - 2022-02-24 |
87 | | -- added: Custom memory allocator for sqlite to leverage erlang's `enif_alloc` functionality. This allows the memory usage to be tracked with the erlang vm usage stats. [#193](https://github.com/elixir-sqlite/exqlite/pull/193) |
| 90 | +## v0.10.0 |
| 91 | +- added: Custom memory allocator for sqlite to leverage erlang's `enif_alloc` functionality. This allows the memory usage to be tracked with the erlang vm usage stats. |
88 | 92 |
|
89 | | -## v0.9.3 - 2022-02-02 |
90 | | -- fixed: `SIGSEGV` issue when a long running query is timed out. [#191](https://github.com/elixir-sqlite/exqlite/pull/191) |
| 93 | +## v0.9.3 |
| 94 | +- fixed: `SIGSEGV` issue when a long running query is timed out. |
91 | 95 |
|
92 | | -## v0.9.2 - 2022-01-27 |
93 | | -- added: Ability to set `:journal_size_limit` in bytes. [#189](https://github.com/elixir-sqlite/exqlite/pull/189) |
94 | | -- added: Ability to set `:soft_heap_limit` in bytes. [#189](https://github.com/elixir-sqlite/exqlite/pull/189) |
95 | | -- added: Ability to set `:hard_heap_limit` in bytes. [#189](https://github.com/elixir-sqlite/exqlite/pull/189) |
| 96 | +## v0.9.2 |
| 97 | +- added: Ability to set `:journal_size_limit` in bytes. |
| 98 | +- added: Ability to set `:soft_heap_limit` in bytes. |
| 99 | +- added: Ability to set `:hard_heap_limit` in bytes. |
96 | 100 |
|
97 | | -## v0.9.1 - 2022-01-21 |
| 101 | +## v0.9.1 |
98 | 102 | - added: Documentation about compiling with system install sqlite3. |
99 | 103 | - fixed: Debug output during `mix compile` process. |
100 | 104 |
|
101 | | -## v0.9.0 - 2022-01-21 |
102 | | -- added: Allow setting `:key` option `PRAGMA` before all other pragmas to allow for use of encrypted sqlite databases. [#187](https://github.com/elixir-sqlite/exqlite/pull/187) |
| 105 | +## v0.9.0 |
| 106 | +- added: Allow setting `:key` option `PRAGMA` before all other pragmas to allow for use of encrypted sqlite databases. |
103 | 107 |
|
104 | | -## v0.8.7 - 2022-01-21 |
105 | | -- added: Ability to compile exqlite using the system sqlite3 installation as opposed to building from source. [#186](https://github.com/elixir-sqlite/exqlite/pull/186) |
| 108 | +## v0.8.7 |
| 109 | +- added: Ability to compile exqlite using the system sqlite3 installation as opposed to building from source. |
106 | 110 |
|
107 | | -## v0.8.6 - 2022-01-19 |
| 111 | +## v0.8.6 |
108 | 112 | - changed: Compile SQLite3 with `-DHAVE_USLEEP=1` to allow for more performant concurrent use. |
109 | 113 |
|
110 | | -## v0.8.5 - 2022-01-14 |
| 114 | +## v0.8.5 |
111 | 115 | - changed: Update SQLite from [3.37.0](https://www.sqlite.org/releaselog/3_37_0.html) to [3.37.2](https://sqlite.org/releaselog/3_37_2.html) |
112 | 116 |
|
113 | | -## v0.8.4 - 2021-12-08 |
114 | | -- fixed: Improved typespecs. [#177](https://github.com/elixir-sqlite/exqlite/pull/177) |
| 117 | +## v0.8.4 |
| 118 | +- fixed: Improved typespecs. |
115 | 119 |
|
116 | | -## v0.8.3 - 2021-12-07 |
117 | | -- changed: Compilation output to be less verbose. If more verbosity is desired `V=1 mix compile` will remedy that. [#181](https://github.com/elixir-sqlite/exqlite/pull/181) |
118 | | -- changed: When the path to the database does not exist, `mkdir_p` is invoked. [#180](https://github.com/elixir-sqlite/exqlite/pull/180) |
| 120 | +## v0.8.3 |
| 121 | +- changed: Compilation output to be less verbose. If more verbosity is desired `V=1 mix compile` will remedy that. |
| 122 | +- changed: When the path to the database does not exist, `mkdir_p` is invoked. |
119 | 123 |
|
120 | | -## v0.8.2 - 2021-12-03 |
| 124 | +## v0.8.2 |
121 | 125 | - fixed: unicode handling when preparing sql statements. |
122 | 126 |
|
123 | | -## v0.8.1 - 2021-12-03 |
124 | | -- fixed: unicode handling when executing sql statements. [#179](https://github.com/elixir-sqlite/exqlite/pull/179) |
| 127 | +## v0.8.1 |
| 128 | +- fixed: unicode handling when executing sql statements. |
125 | 129 |
|
126 | | -## v0.8.0 - 2021-11-30 |
| 130 | +## v0.8.0 |
127 | 131 | - changed: Updated SQLite from [3.36.0](https://www.sqlite.org/releaselog/3_36_0.html) to [3.37.0](https://www.sqlite.org/releaselog/3_37_0.html). |
128 | 132 |
|
129 | | -## v0.7.9 - 2021-10-25 |
| 133 | +## v0.7.9 |
130 | 134 | - changed: Debug build opt in, instead of opt out. `export DEBUG=yes` before compilation and it will add a `-g` to the compilation process. |
131 | 135 |
|
132 | | -## v0.7.3 - 2021-10-08 |
133 | | -- added: support for static erlang compilation. [#167](https://github.com/elixir-sqlite/exqlite/pull/167) |
| 136 | +## v0.7.3 |
| 137 | +- added: support for static erlang compilation. |
134 | 138 |
|
135 | | -## v0.7.2 - 2021-09-13 |
136 | | -- added: support for android compilation. [#164](https://github.com/elixir-sqlite/exqlite/pull/164) |
| 139 | +## v0.7.2 |
| 140 | +- added: support for android compilation. |
137 | 141 |
|
138 | | -## v0.7.1 - 2021-09-09 |
139 | | -- fixed: segfault on double closing an sqlite connection. [#162](https://github.com/elixir-sqlite/exqlite/pull/162) |
| 142 | +## v0.7.1 |
| 143 | +- fixed: segfault on double closing an sqlite connection. |
140 | 144 |
|
141 | | -## v0.7.0 - 2021-09-08 |
142 | | -- added: `Exqlite.Basic` for a simplified interface to utilizing sqlite3. [#160](https://github.com/elixir-sqlite/exqlite/pull/160) |
143 | | -- added: ability to load sqlite extension. [#160](https://github.com/elixir-sqlite/exqlite/pull/160) |
| 145 | +## v0.7.0 |
| 146 | +- added: `Exqlite.Basic` for a simplified interface to utilizing sqlite3. |
| 147 | +- added: ability to load sqlite extension. |
144 | 148 |
|
145 | | -## v0.6.4 - 2021-09-04 |
| 149 | +## v0.6.4 |
146 | 150 | - changed: Updated SQLite from 3.35.5 to [3.36.0](https://www.sqlite.org/releaselog/3_36_0.html) |
147 | 151 |
|
148 | | -## v0.6.3 - 2021-08-26 |
149 | | -- fixed: perceived memory leak for prepared statements not being cleaned up in a timely manner. This would be an issue for systems under a heavy load. [#155](https://github.com/elixir-sqlite/exqlite/pull/155) |
| 152 | +## v0.6.3 |
| 153 | +- fixed: perceived memory leak for prepared statements not being cleaned up in a timely manner. This would be an issue for systems under a heavy load. |
150 | 154 |
|
151 | | -## v0.6.2 - 2021-08-25 |
152 | | -- changed: Handle only UTC datetime and convert them to iso form without offset [#157](https://github.com/elixir-sqlite/exqlite/pull/157) |
| 155 | +## v0.6.2 |
| 156 | +- changed: Handle only UTC datetime and convert them to iso form without offset. |
153 | 157 |
|
154 | | -## v0.6.1 - 2021-05-17 |
155 | | -- fixed: compilation issue on windows [#151](https://github.com/elixir-sqlite/exqlite/pull/151) |
| 158 | +## v0.6.1 |
| 159 | +- fixed: compilation issue on windows. |
156 | 160 |
|
157 | | -## v0.6.0 - 2021-05-5 |
| 161 | +## v0.6.0 |
158 | 162 | - added: `Exqlite.Sqlite3.serialize/2` to serialize the contents of the database to a binary. |
159 | 163 | - added: `Exqlite.Sqlite3.deserialize/3` to load a previously serialized database from a binary. |
160 | 164 |
|
161 | | -## v0.5.11 - 2021-05-02 |
| 165 | +## v0.5.11 |
162 | 166 | - changed: add the relevant sql statement to the Error exception message |
163 | 167 | - changed: update SQLite3 amalgamation to [3.35.5](https://sqlite.org/releaselog/3_35_5.html) |
164 | | -- fixed: issue with update returning nil rows for empty returning result [#146](https://github.com/elixir-sqlite/exqlite/pull/146) |
| 168 | +- fixed: issue with update returning nil rows for empty returning result. |
165 | 169 |
|
166 | | -## v0.5.10 - 2021-04-06 |
| 170 | +## v0.5.10 |
167 | 171 | - fixed: `maybe_set_pragma` was comparing upper case and lower case values when it should not matter. |
168 | 172 |
|
169 | | -## v0.5.9 - 2021-04-06 |
| 173 | +## v0.5.9 |
170 | 174 | - changed: Setting the pragma for `Exqlite.Connection` is now a two step process to check what the value is and then set it to the desired value if it is not already the desired value. |
171 | 175 |
|
172 | | -## v0.5.8 - 2021-04-04 |
| 176 | +## v0.5.8 |
173 | 177 | - added: `Exqlite.Error` now has the statement that failed that the error occurred on. |
174 | 178 |
|
175 | | -## v0.5.7 - 2021-04-04 |
| 179 | +## v0.5.7 |
176 | 180 | - changed: Update SQLite3 amalgamation to [3.35.4](https://sqlite.org/releaselog/3_35_4.html) |
177 | 181 |
|
178 | | -## v0.5.6 - 2021-04-02 |
| 182 | +## v0.5.6 |
179 | 183 | - fixed: SQLite3 amalgamation in 0.5.5 being incorrectly downgraded to 3.34.1. Amalgamation is now correctly [3.35.3](https://sqlite.org/releaselog/3_35_3.html). |
180 | 184 |
|
181 | | -## v0.5.5 - 2021-03-29 |
| 185 | +## v0.5.5 |
182 | 186 | - changed: Update SQLite3 amalgamation to version [3.35.3](https://sqlite.org/releaselog/3_35_3.html) |
183 | 187 |
|
184 | | -## v0.5.4 - 2021-03-23 |
| 188 | +## v0.5.4 |
185 | 189 | - fixed: incorrect passing of `chunk_size` to `fetch_all/4` |
186 | 190 |
|
187 | | -## v0.5.3 - 2021-03-23 |
| 191 | +## v0.5.3 |
188 | 192 | - fixed: `:invalid_chunk_size` being emitted by the `DBConnection.execute` |
189 | 193 |
|
190 | | -## v0.5.2 - 2021-03-23 |
| 194 | +## v0.5.2 |
191 | 195 | - added: Guide for Windows users. |
192 | 196 | - added: `Exqlite.Sqlite3.multi_step/3` to step through results chunks at a time. |
193 | 197 | - added: `default_chunk_size` configuration. |
194 | 198 |
|
195 | | -## v0.5.1 - 2021-03-19 |
| 199 | +## v0.5.1 |
196 | 200 | - changed: Bumped SQLite3 amalgamation to version [3.35.2](https://sqlite.org/releaselog/3_35_2.html) |
197 | 201 | - changed: Replaced old references of [github.com/warmwaffles](http://github.com/warmwaffles) |
198 | 202 |
|
199 | | -## v0.5.0 - 2021-03-17 |
| 203 | +## v0.5.0 |
200 | 204 | - removed: `Ecto.Adapters.Exqlite`. Replaced with [Ecto Sqlite3][ecto_sqlite3] library. |
201 | 205 |
|
202 | 206 |
|
|
0 commit comments