summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md134
1 files changed, 134 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 620281b74..1be687911 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,136 @@ and this project does not adhere to [Semantic Versioning](http://semver.org/spec
If you are reading this in a text editor, simply ignore this section
-->
+## [v2018.12.16] `December 16 2018`
+
+### Added
+- Added/updated packets, encryption keys and message tables for clients up to 2018-12-12. (#2324)
+- Added support for the `AC_LOGIN_OTP` packets. (part of #2324)
+- Added script command `enchantitem()` and related packet `ZC_ENCHANT_EQUIPMENT`. (part of #2324)
+- Added script command `servicemessage()` and related packet `ZC_SERVICE_MESSAGE_COLOR`. (part of #2324)
+- Split packets struct definitions out from lclif into separate files for AC and CA packets. (part of #2324)
+- Added struct definitions header for HC packets. (part of #2324)
+- Added support for expandable inventory size, including database persistence, inventory expansion packets, the script commands `expandInventoryAck()`, `expandInventoryResult()`, `expandInventory()`, `getInventorySize()`, the item `Inventory_Extension_Coupon` and the script `npc/other/inventory_expansion.txt`. (part of #2324)
+- Added support for the client commands `/viewpointvalue` and `/setcamera` (like `@camerainfo`). The atcommand aliases `@setcamera` and `@viewpointvalue` are also provided. (part of #2324)
+- Added `needed_status_point()` script function and the global function `F_CashReduceStat()`, for permanent status point reduction. (#2246)
+- Added an option to include script interaction into the idle criteria, disabled by default. See `idletime_criteria` in `conf/map/battle/player.conf` and `BCIDLE_SCRIPT`. (#2244)
+
+### Changed
+
+- Extended support for 32 bit item IDs to the Zero and Main clients that support them. (part of #2324)
+- Renamed packet identifier macros from `PACKET_ID_*` to `HEADER_*`. (part of #2324)
+- Renamed packet struct definitions from `packet_*` to `PACKET_*`. (part of #2324)
+- Increased `MAX_PACKET_LOGIN_DB` to `0x0AD0` to match the existing packets. (part of #2324)
+- Added buffer size validation for `char_mmo_char_tobuf`. (part of #2324)
+- Updated `npc/woe-se` files to modern standards, including `mes()` and `mesf()`. (#2261)
+- Changed HPMDataCheck to exclude packetver-specific packet structs that would cause compile-time errors. (794ce3c89497a17bd64eacbc82bce22f07f00acb)
+
+### Fixed
+
+- Fixed `getunits()` returning the wrong value if no area size is passed. (41d370cd3308be48b4ce00a50ee46515742978b0, issue #2330)
+- Fixed support for old (2010 and older) clients in packet `ZC_PROPERTY_HOMUN`. (part of #2324)
+- Fixed Gaia Sword not granting any bonus drops. This reworks the way `s_add_drop` differentiates between items and groups and the parameters passed to `pc_bonus_item_drop()`. Custom code may need to be updated to match. (#2327)
+- Fixed a 'Gungslinger' typo in `item_db2`. (#2335)
+- Fixed delay-consumed items missing consumption after using Abracadabra/Improvised Song (#2298, issue #1169)
+
+### Deprecated
+
+### Removed
+
+- Removed unnecessary typedef from `clr_type`. The type is now only available as `enum clr_type`. (part of #2324)
+
+## [v2018.11.18+1] `November 18 2018` `PATCH 1`
+
+### Fixed
+
+- Fixed a regression in #1215 that prevented characters from being resurrected. (c34871cb3f65412db663a4793df6f055663e16fa)
+
+## [v2018.11.18] `November 18 2018`
+
+### Added
+
+- Added an option to prevent character renames when in a guild or a party. This is the official behavior, but disabled by default since it's unnecessary in Hercules. To enable, `char_configuration/use_aegis_rename` can be set to `true` in `char-server.conf`. (#1866, issue #1805)
+- Added the script command `data_to_string()`, to return the string representation of the given data (counterpart to `getd()`). (#2304)
+- Added/updated packets, encryption keys and message tables for clients up to 2018-11-14. (#2310, #2321)
+- Added a configuration option for the maximum delay allowed by `@channel setopt MessageDelay` command, see `chsys/channel_opt_msg_delay` in `channels.conf`. (#2287)
+- Added a configuration option for more accurate emulation of the HP display on dead characters. This setting is enabled by default, but the old, less confusing, behavior is available by setting `display_fake_hp_when_dead` to `false` in `client.conf`. (#1215, issues #889 and #840)
+- Added `common/packets`, to provide a common interface to the packet DB, shared by all three servers. (#2321)
+- Added proof of concept of compile time validation of packet struct definition against the packet lengths DB (currently only for `ZC_ITEM_PREVIEW`). (part of #2321)
+- Added runtime client-server packet length validation in `RFIFOSKIP()` and `WFIFOSET()`. An unchecked `WFIFOSET2()` alternative is still provided, for packets that lack a db entry. (part of #2321)
+- Added runtime validation for the size of `WIFOHEAD()` buffer allocations. (part of #2321)
+
+### Changed
+
+- Made `getunits()` stop unnecessarily iterating when the maximum specified amount of units is reached. (#2105)
+- Updated the item bonus documentation, converted to the Markdown format in `doc/item_bonus.md`. (#2259)
+- Improved the channel delay message to include the remaining time before a new message can be sent. (#2286)
+- Removed the unused `type` argument from `getnpcid()`. All the shipped scripts have been updated. (#2289)
+- Improved the `charlog` to include the stats, class, hair color and style whenever available. This affects the character selection and rename log entries, that had most fields zeroed before. (#2320)
+- Updated the quest variables documentation, converted to the Markdown format in `doc/quest_variables.md`. (#2256)
+- Updated the monster modes documentation, converted to the Markdown format in `doc/mob_db_mode_list.md`. (#2255)
+- Documented `flag` of the `status->heal()` function through the `enum status_heal_flag`. (part of #1215)
+- Added packet versions for all server types to the socket datasync validation. (part of #2321)
+
+### Fixed
+
+- Fixed packet `ZC_FORMATSTRING_MSG_COLOR` for clients older than 20160406. (part of #2310)
+- Fixed the output formatting in the unhandled packet reporter. (part of #2310)
+- Improved grammar in the `CONTRIBUTING.md` document. (#2303)
+- Fixed some logically dead code in `status.c`. (#2265)
+- Fixed some alerts reported by LGTM for the python scripts. (#2268)
+- Fixed some typos in the `README.md` document. (#2283)
+- Fixed a crash and/or mapflag inconsistency when reloading scripts, especially in PK servers. Map zones are now removed correctly during a reload. (#2247, issue #2242)
+- Fixed an overflow in the defense calculation when fighting more than 22 enemies. (#1233, issue #1201)
+- Fixed the gitlab-ci builds with clang-4.0, which was removed from Debian testing/unstable. (#2323)
+- Fixed an issue that caused a character leaving their guild to still receive some `#ally` messages from certain allied guilds. (#2322)
+- Fixed an issue that caused a character joining a guild not to join its `#ally` channel group. (part of #2322)
+- Fixed a duplicated line in the `@channel` help output. (part of #2322)
+- Fixed some code that assumed a character to be already on a map and attempt to leave an invalid `#map` channel when logging in. (part of #2322)
+
+### Removed
+
+- Removed support for the `MINICORE` libraries, which were unused but needlessly built since the new mapcache system was implemented in #1552. (#2319)
+- Removed the unused `src/tool` directory. (part of #2319)
+
+## [v2018.10.21] `October 21 2018`
+
+### Added
+
+- Unknown packets are now printed to the console, when the option to dump them to disk (`DUMP_UNKNOWN_PACKET`) is disabled. (part of #2226)
+- Added/updated packets, encryption keys and message tables for clients up to 2018-10-02 (#2226)
+- Implemented the script command `removespecialeffect()`. (part of #2226)
+- Implemented the atcommand `@camerainfo` and the script commands `camerainfo()` and `changecamera()`. (part of #2226)
+- Added options to enforce a minimum buy/sell price for NPC items, defaulting to the official values of 1 and 0, respectively. (#2208, issue #2177)
+- Added documentation for the script command `achievement_progress()`. (#2249)
+- Added/updated packets, encryption keys and message tables for clients up to 2018-10-17 (#2278)
+- Implemented script command `itempreview()`. (part of #2278)
+- Added placeholders for 493 items from kRO. (#2280)
+
+### Changed
+
+- Converted the effect list documentation to Markdown (`effect_list.md`). (#2230, issue #2215)
+- Improved the GitHub pull request and issue templates. (#2237)
+- Allowed `getd()` to work with constants and params (although this is a discouraged practice). (#2240)
+- Converted the permissions documentation to Markdown (`permissions.md`). (#2253)
+- Extended `getiteminfo()` and `setitmeinfo()` with the trade restriction information (`ITEMINFO_TRADE`). The `ITR_*` constants are made available to the script engine, and the global function `F_GetTradeRestriction()` has been provided, for convenience. (#2172)
+- Converted the global configuration documentation to Markdown (`global_configuration.md`). (#2229, issue #2216)
+- Removed duplicated code from the `showevent()` icon validation. (#2250)
+- Extended `setquestinfo()` with a mercenary class option (`QINFO_MERCENARY_CLASS`). (#2251)
+- Removed duplicated/diverging code from the `@bodystyle` command. (#2264)
+- Removed duplicated code for `prompt()`, now sharing the same function as `select()`. The new constants `MAX_MENU_OPTIONS` and `MAX_MENU_LENGTH` have been provided. (#2279)
+
+### Fixed
+
+- Fixed an assertion failure in the zeny achievement, when the amount of zeny is zero. (#2227)
+- Fixed issues when setting a char or account variable of another player. (#2238, issue #2212)
+- Fixed a failed assertion when a character is invited to and joins a guild. (#2235, issue #2210)
+- Fixed a failed assertion when `sc_end()` is called for `SC_BERSERK`. (#2239, issue #1388)
+- Fixed display issues with homunculus in old clients. (#2252)
+- Fixed damage reflection (through Reflect Shield, High Orc Card, etc) to work on traps. The old, unofficial, behavior can be restored through the battle configuration flag `trap_reflect`. (#2182, issue #1926)
+- Fixed Blast Mine and Claymore Trap damage, that wasn't getting split by the number of targets. (#2182, issue #1900)
+- Fixed an assertion failure when refining an item fails. (#2234, issue #2217)
+- Fixed the gitlab-ci builds with clang-5.0, which was removed from Debian testing/unstable. (58afe047cd)
+
## [v2018.09.23] `September 23 2018`
### Added
@@ -431,6 +561,10 @@ If you are reading this in a text editor, simply ignore this section
- New versioning scheme and project changelogs/release notes (#1853)
[Unreleased]: https://github.com/HerculesWS/Hercules/compare/stable...master
+[v2018.12.16]: https://github.com/HerculesWS/Hercules/compare/v2018.11.18+1...v2018.12.16
+[v2018.11.18+1]: https://github.com/HerculesWS/Hercules/compare/v2018.11.18...v2018.11.18+1
+[v2018.11.18]: https://github.com/HerculesWS/Hercules/compare/v2018.10.21...v2018.11.18
+[v2018.10.21]: https://github.com/HerculesWS/Hercules/compare/v2018.09.23...v2018.10.21
[v2018.09.23]: https://github.com/HerculesWS/Hercules/compare/v2018.08.26+1...v2018.09.23
[v2018.08.26+1]: https://github.com/HerculesWS/Hercules/compare/v2018.08.26...v2018.08.26+1
[v2018.08.26]: https://github.com/HerculesWS/Hercules/compare/v2018.07.29+2...v2018.08.26