99 lines
3.5 KiB
Plaintext
99 lines
3.5 KiB
Plaintext
|
An NMDC / ADC client protocol library for Golang.
|
||
|
|
||
|
Written in golang
|
||
|
Tags: nmdc
|
||
|
|
||
|
=FEATURES=
|
||
|
|
||
|
- Connect to NMDC and ADC hubs
|
||
|
- SSL (NMDCS/ADCS) with option to ignore certificate validity
|
||
|
- Autodetect NMDC/ADC protocol by timeout
|
||
|
- Send public and private chat messages, UserCommand support
|
||
|
- Protocol keepalives
|
||
|
- Parse user details (including UserIP2 for NMDC)
|
||
|
- Fast NMDC login via NoHello and QuickList
|
||
|
- Both synchronous (callback) and asynchronous (channel) -based APIs, including example
|
||
|
|
||
|
=GO GET=
|
||
|
|
||
|
This package can be installed via go get: `go get code.ivysaur.me/libnmdc`
|
||
|
[go-get]code.ivysaur.me/libnmdc git https://git.ivysaur.me/code.ivysaur.me/libnmdc.git[/go-get]
|
||
|
|
||
|
=CHANGELOG=
|
||
|
|
||
|
2017-11-26 0.16
|
||
|
- Feature: Support connecting to ADC hubs
|
||
|
- BREAKING: Simplify connection API
|
||
|
- Vendor new dependency on github.com/cxmcc/tiger (MIT license)
|
||
|
|
||
|
2017-11-14 0.15
|
||
|
- Feature: Fallback reconnection if no data (not even keepalives) are recieved from the hub in 24 hours
|
||
|
- Fix an issue with detecting protocol messages inside multi-line chat messages
|
||
|
- Update examples and the default client version number
|
||
|
|
||
|
2017-02-09 0.14
|
||
|
- Fix an issue with crashing on malformed IP addresses supplied by the hub
|
||
|
|
||
|
2017-02-09 0.13
|
||
|
- Feature: Implement UserIP2 extension, to retrieve IP addresses of other users
|
||
|
- Enhancement: Implement QuickList extension (reduce one network roundtrip during initial connection)
|
||
|
- Enhancement: Implement NoHello extension (faster connection performance)
|
||
|
- Enhancement: Implement ChatOnly extension
|
||
|
- Fix an issue with not notifying client on all MyINFO updates
|
||
|
|
||
|
2017-02-05 0.12
|
||
|
- Fix an issue with mutex deadlock when accessing user information from a callback
|
||
|
- Fix an issue with silent disconnection if a password was required but not present
|
||
|
|
||
|
2016-11-29 0.11
|
||
|
- BREAKING: Remove some exported methods
|
||
|
- BREAKING: Fix an issue with missing sufficient parameters in the synchronous API
|
||
|
- Enhancement: Improve output under godoc
|
||
|
- Fix an issue with special characters appearing in recieved private messages
|
||
|
- Fix an issue with parsing active/passive connection modes
|
||
|
- Fix an issue with errors appearing on stdout
|
||
|
|
||
|
2016-10-08 r10
|
||
|
- Feature: Support `$UserCommand`
|
||
|
|
||
|
2016-08-27 r9
|
||
|
- Fix an issue with parsing MyINFO strings with zero-length speed descriptions
|
||
|
- Fix an issue with not storing updated profile information
|
||
|
|
||
|
2016-05-10 r8
|
||
|
- Enhancement: Separate `ClientTag` and `ClientVersion` in `UserInfo` structs
|
||
|
|
||
|
2016-05-08 r7
|
||
|
- BREAKING: Remove direct access to `HubConnection.Users` map
|
||
|
- Feature: Threadsafe user map accessor
|
||
|
- Feature: Option to disable auto-reconnection
|
||
|
- Feature: New `Disconnect()`, `UserCount()`, `UserExists()` functions
|
||
|
- Enhancement: Support `$OpList`, add `IsOperator` member to `UserInfo` structs
|
||
|
- Refactor into multiple files
|
||
|
|
||
|
2016-04-16 r6
|
||
|
- Fix an issue with calling `panic()` on certain types of abnormal network failure
|
||
|
|
||
|
2016-04-04 r5
|
||
|
- Enhancement: Support protocol keepalives
|
||
|
- Enhancement: Support hub redirects (`$ForceMove`)
|
||
|
|
||
|
2016-04-03 r4
|
||
|
- Feature: Add synchronous API
|
||
|
- Fix an issue with reading HubConnection's state parameter
|
||
|
- Fix an issue with buffered protocol commands
|
||
|
|
||
|
2016-04-03 r3
|
||
|
- Feature: Add `SkipVerifyTLS` option
|
||
|
- Fix an issue with calling `panic()` if connection failed
|
||
|
|
||
|
2016-04-02 r2
|
||
|
- Enhancement: Support NMDC-over-TLS (NMDCS)
|
||
|
- Fix an issue recieving private messages
|
||
|
- Fix an issue with calling `panic()` if connection failed
|
||
|
- Fix an issue parsing URIs without a specified port
|
||
|
- Move sample content into directory with excluded build
|
||
|
|
||
|
2016-02-12 r1
|
||
|
- Initial public release
|