Skip to content

Latest commit

 

History

History
800 lines (582 loc) · 24.1 KB

CHANGELOG.rst

File metadata and controls

800 lines (582 loc) · 24.1 KB

Changelog

Note

Due to this library relying on external content, older versions are not guaranteed to work. Try to always use the latest version.

6.3.0 (2024-04-05)

  • Add Ocenia world location.

6.2.0 (2024-03-31)

  • Add support for parsing the fansites section.

6.1.0 (2024-01-15)

  • Add revealed gems to auction details.
  • Fixed get_highscores not handling null values in parameters.
  • Fixed house parsing not handing guildhalls properly.
  • Fixed houses missing "paid until" date.

6.0.4 (2023-10-01)

  • Fixed pypi packaging issue.

6.0.3 (2023-10-01)

  • Fixed bazaar filters not being set correctly for some values.

6.0.2 (2023-08-27)

  • Fixed transfer recipient not being set in houses.
  • Fixed highest bid and time left not being set in houses in the houses section.

6.0.1 (2023-08-25)

  • Fix spells not sold in any cities (revelation perks) having a single "cities" entry none instead of being empty.

6.0.0 (2023-08-24)

  • 🚨 Python 3.7 and below no longer supported.
  • All models are now Pydantic models, for better data validation, serialization and deserialization.
  • Models no longer contain methods to parse content, these have been moved to dedicated parser classes.
  • 🚨 The location of models inside the module changed, so all imports need to be modified.
  • Model changes:
    • Character:
      • account_status field replaced with is_premium.
      • traded field renamed to is_traded.
      • deleted property renamed to is_scheduled_for_deletion.
      • hidden property renamed to is_hidden.
    • Achievement:
      • secret field renamed to is_secret
    • CharacterHouse:
      • owner field removed.
      • status field removed.
      • type field removed.
      • paid_until_date field renamed tp paid_until.
      • Removed owner, status and type from CharacterHouse.
    • Killer:
      • Model name renamed to DeathParticipant.
      • player field renamed to is_player.
      • traded field renamed to is_traded.
    • Death:
      • by_player property renamed to is_by_player
      • name field removed.
    • OtherCharacter:
      • online field renamed to is_online.
      • deleted field renamed to is_deleted.
      • traded field renamed to is_traded.
      • main field renamed to is_main.
    • WorldEntry / World:
      • online field renamed to is_online
      • battleye_date field renamed to battleye_since
      • premium_only field renamed to is_premium_only
      • experimental field renamed to is_experimental
      • battleye_protected property renamed to is_battleye_protected
    • OnlineCharacter:
      • world field removed.
    • SpellsSection:
      • premium field renamed to is_premium
    • SpellEntry/Spell:
      • premium field renamed to is_premium
    • News/NewsEntry:
      • category_icon field removed. Can be accessed through category.big_icon_url and category.small_icon_url.
      • date field renamed to published_on
    • NewsArchive:
      • start_date field renamed to from_date.
      • end_date field renamed to to_date.
      • types field is now of type set.
      • categories field is now of type set.
    • NewsCategory (enum)
      • Added big_icon_url and small_icon_url properties.
    • Leaderboard:
      • current field renamed to is_current.
      • page field renamed to current_page.
      • last_update field removed.
      • ``last_updated``field added, a datetime of when was the last update.
    • LeaderboardEntry:
      • name field might be None if characte is deleted.
    • Highscores:
      • .page field renamed to current_page.
      • last_updated field is now a datetime instead of a timedelta.
    • GuildMember:
      • joined field renamed to joined_on.
      • online field renamed to is_online.
    • GuildInvite:
      • date field renamed to invited_on.
    • GuildHouse:
      • paid_until_date field renamed tp paid_until.
      • owner field removed.
      • world field removed.
      • status field removed.
      • type field removed.
    • ForumBoard:
      • threads field renamed to entries.
      • page field renamed to current_page.
      • section_id field added.
      • results_count field added.
    • ForumThread:
      • posts field renamed to entries.
      • board_id field added.
      • section_id field added.
      • results_count field added.
      • previous_topic_number may be None instead of 0.
      • next_topic_number may be None instead of 0.
    • LastPost.
      • date field renamed to posted_on.
      • deleted field renamed to is_author_deleted.
      • traded field renamed to is_author_traded.
    • CMPostArchive:
      • start_date field renamed to from_date
      • end_date field renamed to to_date
      • page field renamed to current_page
      • posts field renamed to entries
    • CMPost:
      • date field renamed to posted_on
    • Auction renamed to AuctionDetails and is no longer a subclass of AuctionEntry.
    • AuctionEntry renamed to Auction.
    • CharacterBazaar:
      • page field renamed to current_page.
    • BestiaryEntry:
      • completed property renamed to is_completed.
    • Renamed DisplayImage to ItemEntry.
    • Renamed DisplayMount to MountEntry.
    • Renamed DisplayOutfit to OutfitEntry.
    • Renamed DisplayFamiliar to FamiliarEntry.
    • Renamed page to current_page, results to results_count, and fully_fetched to is_fully_fetched in ItemSummary, Mounts, Familiars and Outfits.
    • Added thread_starter_deleted to ThreadEntry.
  • Renamed Category to HighscoresCategory.
  • Renamed BattlEyeTypeFilter to AuctionBattlEyeFilter.
  • Renamed VocationFilter to HighscoresProfession.
  • Renamed BattlEyeHighscoresFilter to HighscoresBattlEyeType.
  • Renamed VocationAuctionFilter to AuctionVocationFilter.
  • Renamed VocationSpellFilter to SpellVocationFilter.
  • Renamed SkillFilter to AuctionSkillFilter.
  • Added ForumSection model and its respective parser, to fetch a list of board entries.
  • Removed get_url class methods from all models, replaced by functions in the urls package.
  • Fixed Character account badges not being parsed properly.

5.6.0 (2023-02-17)

  • Added tier to items in auctions.

5.5.2 (2022-09-02)

  • Fixed Houses section not parsing due to a change in the filters table.
  • Fixed status parameter not generating the correct URL in the houses section.

5.5.1 (2022-08-02)

  • Adjusted parsing to support the changes related to mobile devices introduced on the day of this release. The following sections were affected:
    • Highscores
    • News
    • Forums
    • Spells

5.5.0 (2022-07-27)

  • Added BOSS_POINTS to Category in highscores.

5.4.0 (2022-07-23)

  • Added boss_points and bosstiary_progress to auctions.

5.3.0 (2022-07-22)

  • Added support for Boostable Bosses.

5.2.1 (2022-03-01)

  • Fixed bug in news ticker with a div tag failing to parse.
  • Updated code to detect the discussion thread link.

5.2.0 (2021-12-31)

  • Added exalted_dust and exalted_dust_limit attributes to auctions.

5.1.0 (2021-09-16)

  • Added traded attribute to death killers, to indicate that the killer was traded after the death occurred.
  • Properly handle deaths caused by summons of traded characters.

5.0.1 (2021-08-26)

  • Fixed many sections not being parsed correctly due to changes to Tibia.com.
    • Houses list
    • News list
    • Spells section
    • Forums section
  • Fixed character's houses failing to parse due to a bug in the display in Tibia.com.
    • Temporarily disabling this attribute.

5.0.0 (2021-08-06)

  • Added parsing for Tibia Drome leaderboards, new Leaderboard class.
    • Auxiliary classes LeaderboardEntry and LeaderboardRotation were added as well.
    • New Client method: fetch_leaderboards.
  • Added parsing for Spells library, new SpellsSection class.
    • Auxiliary classes Spell and SpellEntry.
    • New Client methods: fetch_spell and fetch_spells
  • Fix last page of highscores having 0 as page value.
  • Using the Client class, you can now fetch and parse content from the test version of www.tibia.com when available.
    • Note that if the test website has changes, parsing might not be possible.
    • Internal URL attributes might still point to the regular website.
  • New HousesSection class, including the house filtering attributes.
  • New NewsArchive class, including the news filtering attributes.
  • New GuildsSection class, to replace the lists of GuildEntry
  • Many "ListedObject" classes were renamed to "ObjectEntry", for details check the breaking changes below.
  • Fixed bug with other characters not being parsed.
  • Added traded attribute to LastPost class.
  • Added thread_starter_traded attribute to ThreadEntry

Breaking Changes:

  • Python 3.7 or higher is now required.
  • House classes no longer have get_list_url and list_from_content methods.
  • Client.fetch_world_houses now returns a HousesSection instance in its data attribute, instead of a list of ListedHouses.
  • ListedHouse.highest_bid attribute now may be None if the house's auction has not yet started.
  • ListedHouse class renamed to HouseEntry.
  • Removed deprecated property AuctionFilters.item.
  • Client.fetch_news_archive, Client.fetch_recent_news now returns an instance of NewsArchive in the data attribute.
  • ListedNews class renamed to NewsEntry.
  • News and NewsEntry no longer have a get_list_url method.
  • ListedBoard class renamed to BoardEntry.
  • ListedThread class renamed to ThreadEntry.
  • ListedAnnouncement class renamed to AnnouncementEntry.
  • ListedWorld class renamed to WorldEntry.
  • ListedAuction class renamed to AuctionEntry.
  • AuctionDetails class renamed to Auction.
  • ListedGuild class renamed to GuildEntry.
  • ListedTournament class renamed to TournamentEntry.
  • Creature class renamed to CreatureEntry.
  • CreatureDetail class renamed to Creature.
  • Guild and GuildEntry class no longer have a get_list_url method.
  • Renamed begin_date parameter to start_date in fetch_news_archive.
  • Renamed race attribute of CreatureEntry and Creature to identifier, method parameters renamed as well.
  • CreaturesSection.from_boosted_creature_header renamed to CreaturesSection.boosted_creature_from_header.

4.1.7 (2021-06-30)

  • Fixed titles being parsed as part of the name for guild members with symbols in their name.

4.1.6 (2021-06-28)

  • Fixed worlds not being parsed correctly again due to tournament worlds order changing. After this fix, the order should not matter anymore.

4.1.5 (2021-06-25)

  • Fixed parsing bug on characters, returning an incorrect exception when a character doesn't exist.

4.1.4 (2021-06-17)

  • Fixed worlds not being parsed correctly due to tournament worlds order changing.

4.1.3 (2021-05-12)

  • Fixed house transfer date not being parsed properly.

4.1.2 (2021-04-27)

  • Fixed parsing errors for forum posts that contained a copy of the signature separator in the signature.

4.1.1 (2021-04-19)

  • Fixed bug with extraneous character in some item descriptions, causing auction to give a parsing error.

4.1.0 (2021-03-30)

  • Added prey_wildcards attribute to AuctionDetails.
  • Added filters parameter to CharacterBazaar.get_auctions_history_url and Client.fetch_auction_history.

4.0.0 (2021-03-10)

  • Breaking change: Removed BoostedCreature class, replaced by Creature class.
    • Attributes should be compatible, image_url is a property of Creature, calculated from its race attribute.
  • Added parsing and fetching for the Creature library section.
    • Added CreatureSection, Creature, and CreatureDetail classes.
  • Added traded attribute to ForumAuthor. Indicates if the author was a traded character.
    • Previously, it would mark the author as a deleted character and its name would include (traded).
  • Fixed a bug with ForumBoards not parsing due to the cookies dialog that was added.
  • Added battleye_type attribute to ListedWorld and World classes. Indicates the type of BattlEye protection the world has.
    • battleye_protected is now a property instead of an attribute.
  • Added YELLOW and GREEN aliases to all BattlEye related enums.
  • Fixed wrong timezone being used for forum related dates.

3.7.1 (2021-02-15)

  • Adjusted highscores parsing for upcoming Tibia.com changes.

3.7.0 (2021-02-09)

  • Parse familiars from auctions
  • Updated the way tooltips in auctions are parsed, the format changed, resulting in the previous code not working anymore.
  • Results count in bazaar pages are now properly parsed when there are comma thousand separators.
  • Item amounts are now more accurate instead of being based from their indicator (which was grouping them in thousands)

3.6.5 (2021-01-27)

  • Fixed auction history parsing breaking due to the cookie consent dialog.

3.6.4 (2021-01-26)

  • Fixed world list parsing breaking due to the cookie consent dialog.

3.6.3 (2021-01-14)

  • Fixed bug in guild names being parsed with Non-Breaking spaces instead of a regular space.

3.6.2 (2021-01-01)

  • Fixed bug in Event Calendar parsing.

3.6.1 (2020-12-28)

  • Fixed guild information being parsed incorrectly for characters in guilds containing "of the" in their name.

3.6.0 (2020-12-12)

  • Added support for the new filtering options in Highscores
    • Added battleye_filter and pvp_types_filter attributes.
  • Added get_page_url() instance method to Highscores class.
  • Added previous_page_url and next_page_url properties.

3.5.7 (2020-12-04)

  • Fixed bug in Event Calendar parsing.

3.5.6 (2020-11-10)

  • Updated the URL used to fetch additional auction pages (items, mounts, outfits).

3.5.5 (2020-10-03)

  • Fixed charm expansion not being parsed correctly in auctions.

3.5.4 (2020-09-24)

  • Fetching auctions while skipping details is now faster.
  • Fixed bug in tournaments parsing.

3.5.3 (2020-09-24)

  • Fixed bug with ascending ordering (lowest / earliest) not being passed to the request URL.

3.5.2 (2020-09-23)

  • Fixed bug with auctions with more than 10 charms failing to parse.

3.5.1 (2020-09-22)

  • Fixed bug with recently traded characters in "other characters" section not being properly parsed.

3.5.0 (2020-09-22)

  • Added support for the new filtering options added to current auctions:
    • Added new enumeration: AuctionSearchType
    • Renamed AuctionFilters attribute item to search_string. Property alias kept for backwards compatibility.
    • Added new attribute AuctionFilters.search_type

3.4.0 (2020-09-19)

  • Added option to only parse the listed information of an auction, to skip the rest of the parsing.
  • Fixed wrong type hint in ListedAuction for status.

3.3.0 (2020-09-09)

  • Added support for the Character Bazaar
    • Added classes: CharacterBazaar, ListedAuction and AuctionDetails and many auxiliary classes.
  • Client methods throw a SiteMaintenanceError when Tibia.com is under maintenance, to be able to tell apart from other network errors.

3.2.2 (2020-08-27)

  • Properly parse the name of recently traded characters.
    • Added traded attribute to Character and OtherCharacter.

3.2.1 (2020-08-25)

  • Fixed bug when parsing "other characters" from Tibia.com due to an unannounced change in the website.

3.2.0 (2020-08-10)

  • Added support for the new rules and score set added for the most recent Tournament.
    • Added ScoreSet.creature_kills
    • Added ScoreSet.area_discovery
    • Added ScoreSet.skill_gain_loss
    • Added RuleSet.shared_xp_bonus

3.1.0 (2020-07-29)

  • Added fetch_forum_post method to fetch a forum post directly.
  • Fixed bug with forum posts made by tournament characters.

3.0.3 (2020-07-28)

  • Fixed bug with character title being parsed incorrectly when the character has no title selected and a single unlocked title.

3.0.2 (2020-07-14)

  • Fixed values being mapped incorrectly for highscores.
  • ExpHighscoresEntry is now removed.

3.0.1 (2020-07-14)

  • Highscores.world is now None when the highscores are for all worlds.

3.0.0 (2020-07-13)

  • The Client class' methods now return their responses wrapped in a TibiaResponse object. This contains information about Tibia.com's cache.
  • Added parsing for Guild wars.
    • Added class GuildWars
    • Added class GuildWarsEntry
    • Added url_wars property and get_url_wars class method to all Guild classes.
    • Added active_war attribute to Guild.
  • Added parsing for the Tibia forums: Boards, Threads, Posts, Announcements
    • Added classes ForumBoard and ListedBoard
    • Added classes ForumThread and ListedThread
    • Added classes ForumAnnouncement and ListedAnnouncement
    • Added classes ForumPost
    • Added auxiliary classes LastPost, ForumAuthor and ThreadStatus.
    • Added property thread_url to News.
  • Updated highscores for Summer Update 2020:
    • page and total_pages are now fields instead of properties.
    • Added last_updated field.
    • Added Category.GOSHNARS_TAINT and Category.CHARM_POINTS.
    • Added VocationFilter.NONE.
  • Removed deprecated property house from Character, use houses instead.
  • Removed support for Python 3.5.
  • Changed the hierarchy of base classes. Base classes no longer implement Serializable, Serializable is now directly implemented by most classes.
  • Removed TibiaData functionality.

2.5.1 (2020-05-27)

  • Fixed bed count not being parsed on houses.

2.5.0 (2020-05-22)

  • Added parsing of Tournaments and Tournament Leaderboards.
  • Fixed parsing errors with characters that had deaths by killers with "and" in their name.

2.4.3 (2020-04-22)

  • Fixed an error when trying to parse a character with more deaths than what can be displayed in Tibia.com
    • Character.deaths_truncated field was added to keep track of this case.

2.4.2 (2020-02-26)

  • Fixed exception when attempting to parse highscores with no results (e.g. a new world on its first day).

2.4.1 (2019-11-20)

  • Fixed incorrect argument name (house) in Character constructor.

2.4.0 (2019-11-20)

  • Added support for multiple houses per character. Accessible on Character.houses field.
  • Character.house is now deprecated. It will contain the character's first house or None.

2.3.4 (2019-11-14)

  • Fixed bug with deaths not being parsed when a killer had and in their name.

2.3.3 (2019-11-04)

  • Fixed bug with world parsing when there are more than 1000 players online.

2.3.2 (2019-10-17)

  • Fixed incorrect highscores URL.

2.3.1 (2019-10-06)

  • Fixed a bug with deaths not being parsed when a killer in assists had and in their name.

2.3.0 (2019-09-16)

  • Added proxy option to client.

2.2.6 (2019-09-01)

  • Fixed bug with account badges parsing failing when no badges were selected.

2.2.5 (2019-08-22)

  • Fixed account badges parsing due to changes on the layout by CipSoft.

2.2.4 (2019-08-20)

  • Disabled client compression for POST requests.

2.2.3 (2019-08-17)

  • Enabled client side compression

2.2.2 (2019-08-17)

  • Fixed killed by players and players kill stats being inverted for KillStatistics

2.2.1 (2019-08-10)

  • Fixed bug with character parsing failing when the guild rank is (member).

2.2.0 (2019-08-08)

  • Added support for account badges and character titles.

2.1.0 (2019-06-17)

  • Added ways to sort and filter House list results like in Tibia.com.
  • Added support to get the Boosted Creature of the day.

2.0.1 (2019-06-04)

  • Replaced references to secure.tibia.com with www.tibia.com as the former always redirects to the front page.

2.0.0 (2019-06-03)

  • Added asynchronous client to fetch and parse Tibia.com sections.
  • Added news parsing.
  • Added kill statistics parsing.
  • Added support for tournament worlds.
  • Added support for house prices with 'k' suffixes.

1.1.3 (2019-01-29)

  • Fixed incorrect parsing of deaths with summons involved when parsing characters from TibiaData.

1.1.2 (2019-01-22)

  • Fixed TibiaData URLs of tibia characters with special characters in their names. (e.g Himmelhüpferin)

1.1.1 (2019-01-09)

  • Fixed character houses having attributes mixed up.

1.1.0 (2019-01-09)

  • Parsing Highscores from Tibia.com and TibiaData.
  • Some strings from TibiaData had unpredictable trailing whitespaces, all leading and trailing whitespaces are removed.
  • Added type hints to many variables and methods.

1.0.0 (2018-12-23)

  • Added support for TibiaData JSON parsing. To have interoperability between Tibia.com and TibiaData.
  • Added support for parsing Houses, House lists, World and World list
  • Added support for many missing attributes in Character and Guilds.
  • All objects are now serializable to JSON strings.

0.1.0 (2018-08-17)

Initial release:

  • Parses content from tibia.com
    • Character pages
    • Guild pages
    • Guild list pages
  • Parses content into JSON format strings.
  • Parses content into Python objects.