diff --git a/Linguini.Bench/README.md b/Linguini.Bench/README.md
new file mode 100644
index 0000000..458cf2f
--- /dev/null
+++ b/Linguini.Bench/README.md
@@ -0,0 +1,13 @@
+# Purpose
+
+Some minor benchmarks for Linguini Project. This is not releasable project.
+
+# How to run
+
+In console execute (you can replace `-0` argument with your desired runner number).
+```bash
+ cd Linguini.Bench
+ dotnet run -p Linguini.Bench.csproj -c Release -0 # Runs first listed project
+```
+
+If you enter no arguments, you will get a console prompt asking to select a project.
\ No newline at end of file
diff --git a/Linguini.Shared/Linguini.Shared.csproj b/Linguini.Shared/Linguini.Shared.csproj
index f89242f..323208d 100644
--- a/Linguini.Shared/Linguini.Shared.csproj
+++ b/Linguini.Shared/Linguini.Shared.csproj
@@ -9,7 +9,7 @@
MIT OR Apache-2.0
fluent, i18n, internationalization, l10n, l20n, globalization, translation
false
- 0.4.0
+ 0.5.0
net461;netstandard2.1
diff --git a/Linguini.Syntax/Linguini.Syntax.csproj b/Linguini.Syntax/Linguini.Syntax.csproj
index 66473c3..f8ef3d6 100644
--- a/Linguini.Syntax/Linguini.Syntax.csproj
+++ b/Linguini.Syntax/Linguini.Syntax.csproj
@@ -12,7 +12,7 @@
https://github.com/Ygg01/Linguini
git
net461;net5.0;netstandard2.1
- 0.3.0
+ 0.5.0
diff --git a/changelog.md b/changelog.md
index 451d338..307d8f3 100644
--- a/changelog.md
+++ b/changelog.md
@@ -74,4 +74,25 @@ version 0.4.0
- Changes default on `LinguiniBundle.SetIsolating` from `true` to `false`
- Adds method `GetAttrMessage(string msgWithAttr, params (string, IFluentType)[] args)` for ease of use.
- Removes `enum InsertBehavior` in favor of three separate functions (`TryAddFunction`, `AddFunctionOverriding`, `AddFunctionUnchecked`)
-- Removes previously obsolete methods.
\ No newline at end of file
+- Removes previously obsolete methods.
+
+version 0.5.0
+========
+
+- Improves parsing performance by eliminating bounds check on `ReadOnlySpan` for `char` @RoosterDragon
+ Breaking changes:
+ - ZeroCopyUtil
+ - `TryReadCharSpan` replaced with `TryReadChar`
+ - Methods `IsIdentifier`/`IsNumberStart`/`IsAsciiDigit`/`IsAsciiUppercase`/`IsAsciiHexdigit`/`IsAsciiAlphabetic`
+ take char rather than `ReadOnlySpan`
+ - `EqualSpans` method removed
+ - ZeroCopyReader
+ - method signature `ReadOnlySpan PeekCharSpan(int offset = 0)` changed to `char? PeekChar(int offset = 0)`
+ - method `SeekEol` added.
+ - methods `TryPeekChar`, `TryPeekCharAt`,`CurrentChar`, and `IndexOfAnyChar` added.
+ - ParserError
+ - factory method for `ExpectedTokens` arguments changed
+ - LinguiniParser
+ - changed to use new ZeroCopyUtil internally.
+ Non-breaking changes:
+ - Fluent bundle private bundle method separated into `AddEntry` and `AddEntryOverriding`
\ No newline at end of file