Skip to content

Commit 83ab69a

Browse files
committed
Release v22.11.0
1 parent b5b2ea2 commit 83ab69a

File tree

4 files changed

+423
-9
lines changed

4 files changed

+423
-9
lines changed

CHANGES.md

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,173 @@
11
# Changelog
22

3+
## v22.11.0 (2022-11-19)
4+
5+
### New
6+
7+
* Apply unicode normalization while resolving notes. [Nick Groenen]
8+
9+
The unicode standard allows for certain (visually) identical characters to
10+
be represented in different ways.
11+
12+
For example the character ä may be represented as a single combined
13+
codepoint "Latin Small Letter A with Diaeresis" (U+00E4) or by the
14+
combination of "Latin Small Letter A" (U+0061) followed by "Combining
15+
Diaeresis" (U+0308).
16+
17+
When encoded with UTF-8, these are represented as respectively the two
18+
bytes 0xC3 0xA4, and the three bytes 0x61 0xCC 0x88.
19+
20+
A user linking to notes with these characters in their titles would
21+
expect these two variants to link to the same file, given they are
22+
visually identical and have the exact same semantic meaning.
23+
24+
The unicode standard defines a method to deconstruct and normalize these
25+
forms, so that a byte comparison on the normalized forms of these
26+
variants ends up comparing the same thing. This is called Unicode
27+
Normalization, defined in Unicode® Standard Annex #15
28+
(http://www.unicode.org/reports/tr15/).
29+
30+
The W3C Working Group has written an excellent explanation of the
31+
problems regarding string matching, and how unicode normalization helps
32+
with this process: https://www.w3.org/TR/charmod-norm/#unicodeNormalization
33+
34+
With this change, obsidian-export will perform unicode normalization
35+
(specifically the C (or NFC) normalization form) on all note titles
36+
while looking up link references, ensuring visually identical links are
37+
treated as being similar, even if they were encoded as different
38+
variants.
39+
40+
A special thanks to Hans Raaf (@oderwat) for reporting and helping track
41+
down this issue.
42+
43+
### Breaking Changes (affects library API only)
44+
45+
* Pass context and events as mutable references to postprocessors. [Nick Groenen]
46+
47+
Instead of passing clones of context and the markdown tree to
48+
postprocessors, pass them a mutable reference which may be modified
49+
in-place.
50+
51+
This is a breaking change to the postprocessor implementation, changing
52+
both the input arguments as well as the return value:
53+
54+
```diff
55+
- dyn Fn(Context, MarkdownEvents) -> (Context, MarkdownEvents, PostprocessorResult) + Send + Sync;
56+
+ dyn Fn(&mut Context, &mut MarkdownEvents) -> PostprocessorResult + Send + Sync;
57+
```
58+
59+
With this change the postprocessor API becomes a little more ergonomic
60+
to use however, especially making the intent around return statements more clear.
61+
62+
### Other
63+
64+
* Use path.Join to construct hugo links (#92) [Chang-Yen Tseng]
65+
66+
Use path.Join so that it will render correctly on Windows
67+
(path.Join will convert Windows backslash to forward slash)
68+
69+
* Bump crossbeam-utils from 0.8.5 to 0.8.12. [dependabot[bot]]
70+
71+
Bumps [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) from 0.8.5 to 0.8.12.
72+
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
73+
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
74+
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.8.5...crossbeam-utils-0.8.12)
75+
76+
---
77+
updated-dependencies:
78+
- dependency-name: crossbeam-utils
79+
dependency-type: indirect
80+
...
81+
82+
* Bump regex from 1.6.0 to 1.7.0. [dependabot[bot]]
83+
84+
Bumps [regex](https://github.com/rust-lang/regex) from 1.6.0 to 1.7.0.
85+
- [Release notes](https://github.com/rust-lang/regex/releases)
86+
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
87+
- [Commits](https://github.com/rust-lang/regex/compare/1.6.0...1.7.0)
88+
89+
---
90+
updated-dependencies:
91+
- dependency-name: regex
92+
dependency-type: direct:production
93+
update-type: version-update:semver-minor
94+
...
95+
96+
* Bump actions/checkout from 2 to 3. [dependabot[bot]]
97+
98+
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
99+
- [Release notes](https://github.com/actions/checkout/releases)
100+
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
101+
- [Commits](https://github.com/actions/checkout/compare/v2...v3)
102+
103+
---
104+
updated-dependencies:
105+
- dependency-name: actions/checkout
106+
dependency-type: direct:production
107+
update-type: version-update:semver-major
108+
...
109+
110+
* Bump actions/upload-artifact from 2 to 3. [dependabot[bot]]
111+
112+
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
113+
- [Release notes](https://github.com/actions/upload-artifact/releases)
114+
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)
115+
116+
---
117+
updated-dependencies:
118+
- dependency-name: actions/upload-artifact
119+
dependency-type: direct:production
120+
update-type: version-update:semver-major
121+
...
122+
123+
* Bump thread_local from 1.1.3 to 1.1.4. [dependabot[bot]]
124+
125+
Bumps [thread_local](https://github.com/Amanieu/thread_local-rs) from 1.1.3 to 1.1.4.
126+
- [Release notes](https://github.com/Amanieu/thread_local-rs/releases)
127+
- [Commits](https://github.com/Amanieu/thread_local-rs/compare/v1.1.3...1.1.4)
128+
129+
---
130+
updated-dependencies:
131+
- dependency-name: thread_local
132+
dependency-type: indirect
133+
...
134+
135+
* Remove needless borrows. [Nick Groenen]
136+
137+
* Upgrade snafu to 0.7.x. [Nick Groenen]
138+
139+
* Upgrade pulldown-cmark-to-cmark to 10.0.x. [Nick Groenen]
140+
141+
* Upgrade serde_yaml to 0.9.x. [Nick Groenen]
142+
143+
* Upgrade minor dependencies. [Nick Groenen]
144+
145+
* Fix new clippy lints. [Nick Groenen]
146+
147+
* Add a contributor guide. [Nick Groenen]
148+
149+
* Simplify pre-commit setup. [Nick Groenen]
150+
151+
No need to depend on a third-party hook repository when each of these
152+
checks is easily defined and run through system commands.
153+
154+
This also allows us to actually run tests, which is current unsupported
155+
(https://github.com/doublify/pre-commit-rust/pull/19)
156+
157+
* Bump tempfile from 3.2.0 to 3.3.0. [dependabot[bot]]
158+
159+
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.2.0 to 3.3.0.
160+
- [Release notes](https://github.com/Stebalien/tempfile/releases)
161+
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS)
162+
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0)
163+
164+
---
165+
updated-dependencies:
166+
- dependency-name: tempfile
167+
dependency-type: direct:production
168+
update-type: version-update:semver-minor
169+
...
170+
3171
## v22.1.0 (2022-01-02)
4172

5173
Happy new year! On this second day of 2022 comes a fresh release with one

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "obsidian-export"
3-
version = "22.1.0"
3+
version = "22.11.0"
44
authors = ["Nick Groenen <[email protected]>"]
55
edition = "2018"
66
license = "MIT OR Apache-2.0"

0 commit comments

Comments
 (0)