You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12-4Lines changed: 12 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
9
9
10
10
11
+
## Unreleased
12
+
13
+
### Internal Changes
14
+
15
+
- Removed `read_byte_loop_raw` function, because it is unsound. Thanks to [workingjubilee](https://github.com/workingjubilee) for pointing this out. (https://github.com/Cryptjar/avr-progmem-rs/issues/12)
16
+
- Made the `lpm-asm-loop` crate feature obsolete, because the lpm assembly loop is now the only implementation.
- Deny storing a reference in progmem (i.e. a direct `&T`) via the `progmem` macro, this should catch some common mistakes.
63
71
- Deny storing a `LoadedString` directly in progmem via the `progmem` macro, use the special `string` rule instead.
64
72
65
-
### Internal changes
73
+
### Internal Changes
66
74
67
75
- Migrate from `llvm_asm` to `asm`.
68
76
- Use the `addr_of` macro to never ever have a reference to progmem, just raw pointers.
@@ -91,7 +99,7 @@ Changes since `v0.1.5`.
91
99
- Emit a warning when just storing a reference in progmem instead of the actual data via the `progmem` macro.
92
100
- Add an [`PmIter::iter`] method to lazily iterate through an array (loading only one element at a time).
93
101
94
-
### Internal changes
102
+
### Internal Changes
95
103
96
104
- Change `ProgMem` from a direct value wrapper into a pointer wrapper, thus no more references into program memory are kept only raw pointers (the accessible `static`s containing the `ProgMem` struct are in RAM, the data is stored in hidden `static`s in progmem).
97
105
- Patch `ufmt` to fix u32 formatting (https://github.com/Cryptjar/avr-progmem-rs/commit/9d351038fc31d769206b29cd7228b35aa457b518)
@@ -138,7 +146,7 @@ Changes since `v0.1.2`.
138
146
139
147
- Deprecate [`read_slice`] function, because it is based on passing around plain slices (aka a reference) to program memory, which is extremely hazardous, if not **UB**, and thus will not be supported in the future.
140
148
141
-
### Internal changes
149
+
### Internal Changes
142
150
143
151
- Pin the Rust toolchain to `nightly-2021-01-07`, because at the time of writing it is the latest Rust version that supports AVR (future version are broken, also see <https://github.com/rust-lang/compiler-builtins/issues/400>).
144
152
- Add Github CI.
@@ -167,7 +175,7 @@ Changes since `v0.1.0`.
167
175
168
176
- Use the `.progmem.data` section instead of just `.progmem` to keep compatibility with `avr-binutils >= 2.30` by [@Rahix](https://github.com/Rahix) (https://github.com/Cryptjar/avr-progmem-rs/pull/2)
169
177
170
-
### Internal changes
178
+
### Internal Changes
171
179
172
180
- Setup a cargo config to target the Arduino Uno by default (instead of the host), and allow to run the examples directly via `cargo run` by [@Rahix](https://github.com/Rahix) (https://github.com/Cryptjar/avr-progmem-rs/pull/2)
0 commit comments