summaryrefslogtreecommitdiff
path: root/ReleaseNotes.md
blob: f1fccfb46be1f1694a61b2236060feb7baea581d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# v0.3.0 (2023-01-30)

  Theme: Breaking changes

  This release makes a breaking change to the way *ReEncoder works.
  This change both better fits what's convenient to use, and enables
  making future performance improvements.

  Breaking changes:

   - ReEncoder: Instead of instantiating a `*ReEncoder` with

       ```go
       reenc := &lowmemjson.ReEncoder{Out: w, settings}
       ```

     it is now instantiated with

       ```go
       reenc := lowmemjson.NewReEncoder(w, lowmemjson.ReEncoderConfig{settings})
       ```

# v0.2.1 (2023-01-30)

  Theme: Code quality

  This release improves code quality; getting various linters to pass,
  adding tests (and a few bug-fixes), refactoring things to be
  clearer, fixing some mistakes in the documentation.

  User-facing changes:

   - Encoder: `*EncodeMethodError` is now also used when a method
     produces invalid JSON.
   - Decoder: The offset in `*DecodeTypeError`s now correctly point
     the start of the value, rather than somewhere in the middle of
     it.

# v0.2.0 (2023-01-26)

  Theme: Add documentation

  This release doesn't make any major changes, and is just adding
  documentation.  I have removed a few minor things that I didn't want
  to write documentation for.

  Breaking changes:

   - Drop the following shorthand functions:
     + `func Decode(r io.RuneScanner, ptr any) error        { return NewDecoder(r).Decode(ptr) }`
     + `func DecodeThenEOF(r io.RuneScanner, ptr any) error { return NewDecoder(r).DecodeThenEOF(ptr) }`
     + `func Encode(w io.Writer, obj any) (err error)       { return NewEncoder(w).Encode(obj) }`
   - Drop `const Tab = "\t"`.

# v0.1.0 (2022-09-19)

  Theme: Initial release