Skip to content

v3.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Mar 12:23

Say hello to v3.0.0! ๐Ÿ‘‹

๐Ÿ–ผ๏ธ A design overhaul to match the new topbar...

Icons, captions, dropdowns, menus... everything! v3 aims to mirror the topbar so you can seamlessly build upon it.

๐Ÿ‘ด ...but with inbuilt support for the old topbar

Not all clients see the new topbar... yet. v3 solves this by listening for differences and adapting to a classic design accordingly.

๐Ÿ“ A complete codebase rewrite and re-organization

Readability and performance have been the driving reasons behind this. By outsourcing logic to UIComponents and reorganizing instances into more appropriate containers the Icon and IconController have collectively shrunk from >3000 lines of code to ~1000.

๐ŸŽจ An easier system to modify icon appearance and behavior

You're no longer limited to predefined settings... you can modify... anything! ๐Ÿฅณ The way you modify icons has also changed to be more straightforward. More info on that here.

๐Ÿ“ฆ TopbarPlus is now a package

No more faff when updating... just right-click the package, update and bam, all set! ๐Ÿ’ช More details here.

๐Ÿ—ƒ๏ธ TopbarPlus now supports Wally

You can find that here!

๐ŸŽฎ Improved support for gamepads and mobile devices

Pretty much the title, lots of small improvements to make navigating icons on different devices that much easier.

โš–๏ธ Overflow upgrade

Overflows now become horizontal menus instead of vertical dropdowns. More about that here.

๐Ÿ“– Brand new documentation

Happy reading! You can find the v3 documentation here.

๐Ÿ“ MIT -> Mozilla Public License v2.0

You can use TopbarPlus free of charge. All you need to do is provide credit back to this resource (such as link to its devforum post) and to open source any significant changes you make to the package.

โค๏ธ Backwards compatibility with the majority of methods from v2

The majority of v2 methods and features have been built into v3 to make for an easy transition. You can find a full breakdown of these changes below.

Changes since v2.9.1

Note: 'Changed' means the methods behavior was altered in some way (such as its parameters, how it functions, etc) while 'Renamed' means only the name or module changed.

  • Added method Icon:getInstance
  • Added method Icon:modifyChildTheme
  • Added method Icon:setTextSize
  • Added method Icon:setTextFont
  • Added method Icon:oneClick
  • Added method Icon:setCaptionHint
  • Added variable Icon.highlightKey
  • Changed method icon:setTheme to icon:modifyTheme
  • Changed method icon:setImageYScale to icon:setImageScale
  • Changed method icon:setXSize to icon:setWidth
  • Changed method icon:give to icon:addToJanitor
  • Changed method icon:join to icon:joinDropdown and icon:joinMenu
  • Changed event icon.hoverStarted to icon.viewingStarted
  • Changed event icon.hoverEnded to icon.viewingEnded
  • Changed function IconController.setGameTheme to Icon.modifyBaseTheme
  • Changed functionIconController.getIcons to Icon.getIcons
  • Changed functionIconController.getIcon to Icon.getIcon
  • Renamed method icon:disableStateOverlay to icon:disableOverlay
  • Renamed method icon:setLeft to icon:align("Left")
  • Renamed method icon:setMid to icon:align("Center")
  • Renamed method icon:setRight to icon:align("Right")
  • Renamed function IconController.setDisplayOrder to Icon.setDisplayOrder
  • Renamed function IconController.setTopbarEnabled to Icon.setTopbarEnabled
  • Removed method icon:setTip (explanation on this here)
  • Removed method icon:set
  • Removed method icon:get
  • Removed method icon:getToggleState
  • Removed method convertLabelToNumberSpinner
  • Removed method icon:setLabelYScale
  • Removed method icon:setBaseZIndex
  • Removed method icon:setSize
  • Removed method icon:setYSize
  • Removed method icon:setTopPadding
  • Removed event icon.userSelected
  • Removed event icon.userDeselected
  • Removed event icon.userToggled
  • Removed event icon.dropdownOpened
  • Removed event icon.dropdownClosed
  • Removed event icon.menuOpened
  • Removed event icon.menuClosed
  • Removed property icon.accountForWhenDisabled
  • Removed property icon.hovering
  • Removed property icon.tipText
  • Removed property icon.captionText
  • Removed property icon.dropdownIcons
  • Removed property icon.menuIcons
  • Removed property icon.dropdownOpen
  • Removed property icon.menuOpen
  • Removed property icon.topPadding
  • Removed property icon.targetPosition
  • Removed function IconController.setGap
  • Removed function IconController.setLeftOffset
  • Removed function IconController.setRightOffset
  • Removed function IconController.updateTopbar
  • Removed function IconController.clearIconOnSpawn (v3 now checks if your scripts are located within a ScreenGui with 'ResetOnSpawn' set to true and responds accordingly. This was probably the most asked about thing in v2 so super happy to finally have this resolved!)
  • Removed function IconController.disableHealthbar
  • Removed function IconController.disableControllerOption
  • Removed all IconController properties
  • Removed module IconController

Contributors

@xhayper for multiple improvements to the repository, help introducing wally, code cleanup, and ongoing help with luau typechecks and luau autocompletes
@iamEvanYT for the initial hybrid support for the new topbar
@LordMerc for help with the documentation and general feedback
@ValiantWind for help with testing and feedback
@lolmansReturn for help retrieving values in features such as captions
@medallyon for help setting up Wally
@CAZ-H for help with clamping objects within screen bounds
@howmanysmall for the package Janitor
@stravant for the package GoodSignal

Thank you to the many contributors of v3.0.0 and everyone who has provided feedback and reports over the last three months ๐Ÿ™