node-minecraft-protocol/HISTORY.md

209 lines
6.9 KiB
Markdown
Raw Normal View History

# History
## 0.14.0
* Huge rewrite of the internals, using transform streams, which eliminates two
classes of problems from node-minecraft-protocol :
* Uncatchable errors being triggered inside the protocol parser
* Packets ariving out of order, causing several race conditions
* All the attributes that were previously exposed via `mc.protocol` are now directly
attached to the `mc` object, e.g. `mc.protocol.states` => `mc.states`. This is
prone to further changes.
* open_window now reports the entityId correctly for horses
* Properly handle the set_compression packet
* Fix small bug in scoreboard_team and player_info packets causing crashes
* Fix the login implementation logging out people from their launchers.
## 0.13.4
* Added hook to modify server ping (thanks [Brian Schlenker](https://github.com/bschlenk))
* Exposed the Client class to the browser, after removing node-specific details
* Fixed the examples
* Silenced the "DID NOT PARSE THE WHOLE THING" debug message, and made it print more useful info
* Updated ursa-purejs dependency, which in turned fixed windows version of node-minecraft-protocol.
## 0.13.3
* Fixed readPosition for negative packets (thanks [rom1504](https://github.com/rom1504))
## 0.13.2
* Fixed particle packet.
* Fixed release. 0.13.1 release was missing an entire folder.
## 0.13.1
* Externalized rsa-wrap library to its own npm module, named ursa-native
* Fixed broken bed-related packets (thanks [rom1504](https://github.com/rom1504))
## 0.13.0
* Updated protocol version to support 1.8.1 (thanks [wtfaremyinitials](https://github.com/wtfaremyinitials))
* Lots of changes in how some formats are handled.
* Crypto now defaults to a pure-js library if URSA is missing, making the lib easier to use on windows.
* Fix a bug in yggdrasil handling of sessions, making reloading a session impossible (thanks [Frase](https://github.com/mrfrase3))
* Set noDelay on the TCP streams, making the bot a lot less laggy.
## 0.12.3
* Fix for/in used over array, causing glitches with augmented Array prototypes (thanks [pelikhan](https://github.com/pelikhan))
## 0.12.2
* Updated protocol version to support 1.7.10
* Some bug fixes in parser (thanks [Luke Young](https://github.com/innoying))
* 'raw' event to catch all raw buffers (thanks [deathcap](https://github.com/deathcap))
* Misc bug fixes
## 0.12.1
* Updated protocol version to support 1.7.6
## 0.12.0
* Updated protocol version to support 1.7.2
* Overhaul the serializer backend to be more general-purpose and future-proof.
* Support listening packets by name (thanks [deathcap](https://github.com/deathcap))
* Support reading/writing a raw buffer to the socket.
## 0.11.6
* Updated protocol version to support 1.6.4 (thanks [Matt Bell](https://github.com/mappum))
## 0.11.5
* Fix handling of some conditional fields (thanks [Florian Wesch](https://github.com/dividuum))
## 0.11.4
* Chat packet string max length fix (thanks [Robin Lambertz](https://github.com/roblabla))
## 0.11.3
* packet 0x2c: packet writing fixed, UUID format simplified, tests updated
## 0.11.2
* 1.6.2 support fixes: updated 0x2c packets to include `elementList` and added 0x85 *Tile Editor Open* packets
## 0.11.1
* support minecraft protocol 1.6.2 / protocol version 74 (thanks [Matt Bell](https://github.com/mappum))
## 0.11.0
* support minecraft protocol 1.6.1 / protocol version 73 (thanks [Matt Bell](https://github.com/mappum))
* *note:* chat packets have a new format (see [the examples](https://github.com/andrewrk/node-minecraft-protocol/tree/master/examples) for how to upgrade).
## 0.10.1
* support minecraft protocol 1.5.2 / protocol version 61
## 0.10.0
* Added SRV record support when connecting to a server (thanks [Matt Stith](https://github.com/stith))
* 0x66: `shift` renamed to `mode` and changed from bool to byte
## 0.9.0
* 0xce: create changed from bool to byte (thanks [Robin Lambertz](https://github.com/roblabla))
## 0.8.1
* fix buffer length checking bug in readSlot() (thanks [Xabier de Zuazo](https://github.com/zuazo))
* fix C2 calculation bug (fixed #35) (thanks [Xabier de Zuazo](https://github.com/zuazo))
* fix oob Buffer at readEntityMetadata (fixed #40) (thanks [Xabier de Zuazo](https://github.com/zuazo))
## 0.8.0
* fix remaining bugs for 1.5.1 protocol (thanks [Xabier de Zuazo](https://github.com/zuazo))
* writing packets is 6% faster (thanks [Matt Bell](https://github.com/mappum))
## 0.7.9
* support minecraft protocol 1.5 / protocol version 60 (thanks [Matt Bell](https://github.com/mappum))
## 0.7.8
* server: ability to change `motd` and `maxPlayers`
* server: fix incorrect `playerCount`
## 0.7.7
* server: fix crash when client disconnects quickly
## 0.7.6
* onlineModeExceptions are all lowercase now. fixes security hole.
## 0.7.5
* server: add `onlineModeExceptions`. When server is in:
- online mode: these usernames are exempt from online mode.
- offline mode: these usernames must authenticate.
## 0.7.4
* server: online mode: don't log in client until username verification
## 0.7.3
* revert removing socket delays to reduce latency as it was causing
errors and test failures.
* server: Client now emits more predictable 'end' events.
## 0.7.2
* fix objectData writer. This fixes sending an 0x17 packet.
## 0.7.1
* remove socket delays to reduce latency. (thanks [Matt Bell](https://github.com/mappum))
## 0.7.0
* `createServer`: rename `encryption-enabled` option to `encryption` to stay
consistent with the examples. (thanks [Robin Lambertz](https://github.com/roblabla))
* `createClient`: don't require both `email` and `username`.
- The `username` and `password` arguments are used to authenticate with the
official minecraft servers and determine the case-correct username. If
you have migrated your user account to a mojang login, `username` looks
like an email address.
- If you leave out the `password` argument, `username` is used to connect
directly to the server. In this case you will get kicked if the server is
in online mode.
## 0.6.7
Emit 'error' event instead of crashing when other computers abuse the
minecraft protocol.
Big thanks to [Robin Lambertz](https://github.com/roblabla) for this release.
## 0.6.6
* ping: fix calling callback twice when server sends kick
* server: send a kick packet when kicking clients. (thanks [Robin Lambertz](https://github.com/roblabla))
* ping: include latency property (thanks [Jan Buschtöns](https://github.com/silvinci))
## 0.6.5
* createServer: allow empty options
* server: support online mode and encryption (thanks [Robin Lambertz](https://github.com/roblabla))
## 0.6.4
* Allow minecraft username instead of mojang email. (thanks [Robin Lambertz](https://github.com/roblabla))
## 0.6.3
* y values when only 1 byte are always unsigned
## 0.6.2
* 0x0e: change face to unsigned byte
## 0.6.1
* 0x0d: fix incorrectly swapped stance and y