Skip to content

Releases: alexejk/go-xmlrpc

v0.5.3

16 May 10:59
efdc407
Compare
Choose a tag to compare

Bugfixes:

  • Decoding an <array> of mixed types that contains another set of nested <array> (with equally mixed types) (#86).
    Outer slice would need to be defined as []any and it's up to the user to cast the inner values (including nested slices) to the desired/expected type.

v0.5.2

25 Mar 15:51
dd87aa3
Compare
Choose a tag to compare

Bugfixes:

  • Decoding a <struct> that is nested in <array> with variable types (e.g mix of ints, bool, string and structs) (#84).
    Structs will be decoded into a map[string]any type, as it's not possible to decode.

v0.5.1

17 Feb 19:34
7e4e933
Compare
Choose a tag to compare

Bugfixes:

  • Handling of empty values while decoding responses (#80).
    Library will now properly handle empty values for <string>, <int>, <i4>, <boolean>, <double>, <dateTime.iso8601>, <base64> and <array> (with case of <data />).
    As <struct> may not have an empty list of <member> elements as per specification. Similarly <array/> is considered invalid.

v0.5.0

15 Feb 18:20
8c0fd9a
Compare
Choose a tag to compare

Improvements:

  • Ability to decode struct members into a map.

v0.4.1

06 Dec 10:30
2830010
Compare
Choose a tag to compare

Bugfixes:

  • Adding missing handling of undeclared value types to default to string as per XML-RPC spec (previously nil would be returned)

Library is now built against Go 1.21

v0.4.0

08 Aug 20:57
09cf1eb
Compare
Choose a tag to compare

Improvements:

  • Ability to remap struct member names to via xmlrpc tags (#47)
  • Ability to skip unknown fields by SkipUnknownFields(bool) Option. Default is still false (#48)

Library is now built against Go 1.19

v0.3.0

08 Aug 11:19
fbada4f
Compare
Choose a tag to compare

Improvements:

  • Fixes go routine leak that is caused by Codec (#52)
  • A bit more robust tests that do not call remote systems
  • House keeping: dependency updates, no longer using deprecated methods in Go, making linter happier..

Library is now built against Go 1.18

v0.2.0

24 Jan 10:14
Compare
Choose a tag to compare

Improvements:

  • NewClient supports receiving a list of Options that modify clients behavior.
    Initial supported options are:

    • HttpClient(*http.Client) - set custom http.Client to be used
    • Headers(map[string]string) - set custom headers to use in every request (kudos: @Nightapes)
    • UserAgent(string) - set User-Agent identification to be used (#6). This is a shortcut for just setting User-Agent custom header

Deprecations:

  • NewCustomClient is deprecated in favor of NewClient(string, ...Option) with HttpClient(*http.Client) option.
    This method will be removed in future versions.

v0.1.2

09 Jan 13:15
2cb4268
Compare
Choose a tag to compare

Improvements to parsing logic for responses:

  • If response struct members are in snake-case - Go struct should have member in camel-case
  • It is now possible to use type aliases when decoding a response (#1)
  • It is now possible to use pointers to fields, without getting an error (#2)

v0.1.1

08 Jan 23:39
6fd4a19
Compare
Choose a tag to compare

Mainly documentation and internal refactoring:

  • Made Encoder and Decoder into interfaces with corresponding StdEncoder / StdDecoder.
  • Removal of intermediate objects in Codec