Quantcast
Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(454 Kb)
Download
Updated: 08-24-15 07:06 PM
Pictures
File Info
Compatibility:
Fury of Hellfire (6.2)
Warlords of Draenor Pre-Patch (6.0.2)
Updated:08-24-15 07:06 PM
Created:unknown
Downloads:131,227
Favorites:596
MD5:

Stuf Unit Frames (and Raid)  Popular! (More than 5000 hits)

Version: 6.2.002
by: totalpackage [More]

** WoWI's Pick of a Week
** YouTube Intro
** YouTube Starter Guide
** Users' UI with Stuf

Stuf is a replacement to StellarUF. Stuf has the same initial layout and feel of StellarUF, but Stuf is highly customizable.



Do not expect much since this mod's purpose is to replace the Blizzard's main unit frames, not other unit frame mods. I'll most likely deny requests to copy random features.

Noteworthy Recent Additions:

  • New for 3.3: LFG icons and Boss frames (only for certain encounters)
  • Option to only show custom text on mouse-over
  • Latency indicator for player casting bar
  • Arena Frames
  • ButtonFacade support for aura icons
  • Option to use Lua instead of text patterns for advanced users
  • Option to save per character


Supported Units:
  • Player, pet, and pet target
  • Target, target of target, and target of target of target
  • Focus and target of focus
  • Party with their pets and targets
  • Arena with their pets and targets (new in v3.1.005)
  • StufRaid - main raid, raid pets, and raid roles (tanks/assist) and their target and target of target (does not and will not support oRA2/CTRA MT/PT)

Notable Features:
  • Easy transition from Blizzard default frames
  • Cast bars for the main units
  • Dispellable debuff visual
  • Target and focus timer bars for your buffs/debuffs
  • Threat bars on target and focus
  • Shaman totem timers, Death Knight rune bars, and Druid mana bar
  • Low memory and CPU usage compared to popular unit frame mods
  • Customization similar to Discord Unit Frames
  • LibSharedMedia-3.0 support for textures and fonts
  • Ace3 dialog config is used for the options GUI
  • Stuf_Range - LibRangeCheck-2.0 support for estimated distance on target and focus
  • Clique support for click-casting
  • ClassColors custom class color and ConfigMode support for one-button-config
  • ButtonFacade support for aura icon skins (may be buggy)

How to Use:
  • Basic - make sure Stuf_Options is enabled; it's required for initializing defaults and changing settings
  • Options menu - "/stuf" or check the Addons tab in Interface Options
  • Hide party in raid - Stuf obeys Blizzard's option to "Hide Party Interface in Raid"
  • Show/Hide elements - many are hidden/shown by setting the alpha or color alpha to zero
  • Slider nudging - (bug Ace3 people for a better way), I do the following:
    1. Move your cursor over the text above the slider, a tooltip should be showing.
    2. Move your cursor up until the tooltip disappears.
    3. Left-click.
    4. Move your cursor back over the slider until the tooltip reappears.
    5. Now you can nudge using mouse wheel.
  • For sliders, you can also manually input values and press enter.
  • Many options, so I suggest checking each option one-by-one
  • StufRaid:
    • Options menu - "/stufraid" or check the Addons tab in Interface Options
    • Basic - StufRaid does not require Stuf, and Stuf does not require StufRaid
    • Special text - install UTF8 to support special characters for the name text sub-string feature

Features Lacking (forever):
  • No profiles, but you can save per character. Profiles would at least double the memory usage (plus more for each profile you create) of Stuf due to its massive saved variables. Check out Reflux to add profiles options to Stuf and other mods.
  • Showing raid instead of party frames when in a party.
  • Advanced buff/debuff filtering for main units.
  • Switching frames when in vehicle
  • Full-featured casting bar (no GCD, breathe, cooldowns, etc)
  • Anything that would really kill performance and lack usefulness
  • Anything for which already has a great standalone mod
  • Anything picky about text that can be done using Lua text
  • Color health bars if mob is tapped

Known Issues:
  • You cannot right-click Stuf's player buff icon to cancel shape-shift forms (ie. druid forms and shadow form) since they're protected now.
  • You cannot select "Set Focus" from the right-click menu. Make a "/focus" macro instead.
  • 3D model showing full body instead of face cannot be fixed. (fixed in 5.0!)

6.2.002 08/24/2015:
- fixed Deathknight rune timer error
- fixed buttonfacade error

6.2.001 07/18/2015 - updated for 6.2
6.0.001 10/20/2014 - updated for 6.0

5.4.002a 12/15/2013:
- druid mana while shapeshifted should properly function
- Set Focus from right-click menu maybe works again

5.4.001 09/21/2013 - updated for 5.4
5.3.001 06/05/2013 - update for 5.3
5.2.001 03/10/2013 - update for 5.2

5.0.005 09/30/2012 - added Monk's Chi bar, thanks to suicidalkatt
5.0.004 09/24/2012:
- probably maybe fixed the 3D portrait showing full body for certain races
- options for boss frames will not show up unless the default's is disabled in Stuf's global options

5.0.003 09/18/2012 - added options to default class bars
5.0.002 09/05/2012:
- fixed Warlock Demonic Fury bar
- added support for Priest Shadow Orbs
- hopefully fixed party/raid frame visibility issues

5.0.001 09/04/2012:
- updated for 5.0.4
- added option to disable mini group frames

4.3.001 11/29/2011 - update for 4.3
4.2.001 06/29/2011 - update for 4.2

4.1.001 04/26/2011:
- update for 4.1
- added "totem timers" to supported classes
- fix many reported bugs
- removed pet happiness icon support since it was removed from the game
- added tooltip support for raid buff/debuff icons

4.0.009 02/10/2011:
- another attempt to fix out of range error
- updated libraries
- added option to disable default boss frames

4.0.008 12/28/2010 - fix TexCoord error when Incoming Heals is enabled

4.0.007 12/15/2010:
- added spell text to aura timer bars, may look ugly
- fixed several known and potential bugs
- 'mp15' and 'mp99' now works for all power types

4.0.006 11/12/2010:
- fix various rare bugs
- fix 3D portrait opacity issue
- added option to Fill on Loss, which does not work well with the Incoming Heal and Fade Loss options

4.0.005 10/30/2010:
- enabled edge drawing on cooldown pies
- fix SetTexCoord error
- fix compare number with boolean error
- fix options header sub-leveling issue, thanks Shefki
- hopefully fixed raid units frame creation errors

4.0.004 10/24/2010:
- added a way to cancel player buffs by right-clicking red box; it's not perfect, especially for classes with pets
- added infotag "shards" as an alternative to the Warlock's shard bar
- fixed remaining power-related bugs including druid mana bar and StufRaid mana bars
- StufRaid raidpets less buggy but still buggy

4.0.003 10/18/2010:
- disable right clicking buffs since it no longer works
- use Blizzard's incoming heal methods; delete Stuf_VisualHeal
- fix pet happiness icon
- made StufRaid more stable; pets do not work for some reason

4.0.002 10/15/2010:
- fix most of the major errors
- added eclipse bar for druids
- option for hiding party in raid fix, addon variable now
- raid frames should be working
- anything else will be fix later

4.0.001 10/12/2010:
- live release but beta quality
- added holy bar, recycle default for now
- added shard bar, recycle default for now
- various 4.0 compat fixes, not 100%
- libraries updated

3.3.006 06/22/2010:
- add fast health update option (use at own risk)
- add option to change StufRaid's number abbreviation

3.3.005 03/14/2010:
- added frame level option to aura groups
- fix count text not showing up on "Curable Debuff Icon"
- round percentages to nearest whole number instead of ceiling
- fix large values showing up for multi-target heals in VisualHeal
- minor StufRaid tweak

3.3.004 02/03/2010:
- added option to change the abbreviation for thousand and million
- fix errors caused when using certain condition keywords as infotags
- added version checking for debugging purposes
- updated libraries, should fix VisualHeal errors

3.3.003 01/22/2010:
- tooltip should show correctly if auras are filtered
- localization support cleaned up and now only accepts it externally
- "Curable Debuff Icon" setting is now shown for Warlocks
- maximum font size increased
- StufRaid now allows statusbar textures to be set individually
- libraries updated

3.3.002 12/15/2009 - fix for settings not showing properly in config mode
3.3.001a 12/12/2009 - fix boss frames not updating properly, minor update
3.3.001 12/08/2009:
- updated toc for 3.3
- several performance tweaks
- fixed gloss issues with ButtonFacade
- added "(X)" to spell name on cast bars if cannot interrupt
- LFG icon should be fully functional
- added option to make LFG icon square or circular
- added option to change font settings for the PVP timer
- "Dispel Icon" is now labeled as "Curable Debuff Icon"
- updated libraries
- fix issue when self heals are considered as others
- added a way to stop dragging if anchor stays movable in StufRaid

3.2.007 11/06/2009:
- added support for 3.3 LFG role icons to player, target, and party
- load class specific elements only when necessary
- fix enemy units showing up as neutral when player is in vehicle
- fix Target/Combat Opacity issues where units do not show up initially
- hopefully fix all errors with leader/loot icons and group number when target frame is disabled
- update several libraries

3.2.006 10/30/2009:
- added support for 3.3 boss frames (not tested)
- reduced initial load time and memory usage by not building elements for frames that are not in use
- fix error that occurs when target is disabled but showing group numbers
- added options to buff/debuff icons and totem timers to make them non-interactive
- changed the word "Hide" to "Disable" in options
- default font will now depend on the client's localization
- Stuf_VisualHeal - updated to LibHealComm-4.0, don't upgrade if you need LHC3

3.2.005 09/23/2009:
- added option to only show custom text on mouseover
- fixed "Only on Mine" option for aura text timers
- minor options tweak

3.2.004a 09/13/2009 - fixed nil aggro caused when using aggro text tag (only need to update if you get this error)
3.2.004 09/04/2009:
- added smooth fading option for applicable bars
- added ConfigMode support
- fixed some rare nil errors

3.2.003 08/13/2009:
- update LibHealComm-3.0 to latest revision, may fix "You aren't in a party." spam
- tweaked aggro detection code

3.2.002 08/04/2009 - fix loading issues on fresh variables

3.2.001 08/04/2009 - toc to 3.2

3.1.017 07/31/2009:
- added option to show latency in player's casting bar
- added vehicle icon to player and party, hidden by default
- range fading will now fade on dead units
- added option to hide the text frame if there is no text to display
- added optional text frame argument to the Lua text function
- updated LibHealComm-3.0
- removed old 3.1 checks
- added option "Only Mine in Include Filter" to raid buff filter

...

Stuf 3.0.001:
- brand new replace to StellarUF
Optional Files (0)


Archived Files (17)
File Name
Version
Size
Author
Date
6.2.001
454kB
totalpackage
07-18-15 05:33 PM
6.0.001
498kB
totalpackage
10-20-14 09:44 PM
5.4.002a
497kB
totalpackage
12-15-13 11:41 PM
5.4.002
498kB
totalpackage
12-15-13 05:45 PM
5.4.001
497kB
totalpackage
09-20-13 10:30 PM
5.3.001
497kB
totalpackage
06-05-13 09:29 PM
5.2.001
497kB
totalpackage
03-10-13 05:03 PM
5.1.001
495kB
totalpackage
12-08-12 08:27 AM
5.0.005
495kB
totalpackage
09-30-12 06:17 PM
5.0.004
495kB
totalpackage
09-24-12 08:11 PM
4.3.001
492kB
totalpackage
11-29-11 11:54 PM
4.2.001
492kB
totalpackage
06-29-11 08:11 PM
4.1.001
491kB
totalpackage
04-26-11 06:27 PM
4.0.009
491kB
totalpackage
02-10-11 04:57 PM
3.3.006
514kB
totalpackage
06-22-10 04:35 PM
3.2.007
460kB
totalpackage
11-06-09 03:59 AM
3.1.017
428kB
totalpackage
07-31-09 05:50 AM


Post A Reply Comment Options
Unread 02-08-16, 02:45 PM  
Rourke
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Randomly reset frames to default

I spent two hours configuring Stuf frames, and they just randomly reset to the default arrangement. Am I missing a save function or is this a known bug?
Rourke is offline Report comment to moderator  
Reply With Quote
Unread 01-02-16, 10:56 AM  
Vågor
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Font Size

Hey,

is there a way to get any Font Size higher than 30?

Thanks in advance!
Vågor is offline Report comment to moderator  
Reply With Quote
Unread 01-01-16, 10:26 AM  
ServantOfDreams
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
fstack issue with Stuf

Hey

No idea this has been reported yet, but I'm having problems using /fstack (or /framestack) when using Stuf.
When I disable the addon, I can use it just fine. Thing is, I need it on so I can check the stack for Stuf frames.

The exact problem description:
When Stuf is loaded and I type "/fstack" (without quotes) in the chatbox, it won't even let me execute the command by pressing "return". The text just sits in the chatbox no matter how many times I press "return".
Unloading Stuf immediately fixes the issue.

Any fix would be appreciated!
Thanks in advance.
ServantOfDreams is offline Report comment to moderator  
Reply With Quote
Unread 12-04-15, 02:21 AM  
erebos
A Kobold Labourer

Forum posts: 0
File comments: 24
Uploads: 0
Originally Posted by totalpackage
Originally Posted by Raynesis
Update 2: looks like the latest Masque broke STUF's aura, but not other addons that I have. Any ideas?...
I couldn't keep up with ButtonFacade->Masque->Masque updates. Not sure, but try changing Stuf's Aura Icon Style option in the global options.

The author of "Masque" ditched the ButtonFacade-support in the latest update to get rid of leftovers from the past (afaik).

totalpackage, would you please have a look and make Stuf use the changed APIs? I have no clue of LUA-coding, but I hope it is mainly using updated function calls to get access to skinned aura icons again.

Thanks in advance!

Oh on a sidenote:
I was not able to get it to work with my limited try-and-error-"skills". The addon needs fixing on your end at least for me in that department. Besides cosmetic things, Stuf works flawlessly! Thank you!
erebos is offline Report comment to moderator  
Reply With Quote
Unread 11-30-15, 12:49 PM  
BuGi-
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
I'm having an issue where the target cast bar text is about size 1 after logging in, impossible to read.
If I go to the settings, its size is shown as the 14 I've set it to, and in config mode will show at the correct size. If I fiddle with say, the text area width or font size, save the settings and set them back to the original values, the text is shown correctly until I close the game again.

Not sure if it happens with other cast bars as I only have the target one enabled.

Also, was there an option to customize the boss frames? I recently came back after stopping in cata and noticed that in my old screens I had the boss frames customized similarly as player/target with stuf. I just can't remember if it was stuf or some other addon and didn't find the option in stuf
BuGi- is offline Report comment to moderator  
Reply With Quote
Unread 11-11-15, 09:39 AM  
m4gic
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
Originally Posted by tragicshot
I've got an issue with the eclipse bar, it's constantly re-enabling itself even after I have it clicked to disable. It's an annoyance that it will not stay disabled when it's checked.
!!! What? I just rolled a drood and came here to post that the eclipse bar keeps disappearing on me! I am Resto and am not sure if it should always be there but it is when I log in. However when I start running around it just up and disappears!
m4gic is offline Report comment to moderator  
Reply With Quote
Unread 10-05-15, 11:17 PM  
tragicshot
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
I've got an issue with the eclipse bar, it's constantly re-enabling itself even after I have it clicked to disable. It's an annoyance that it will not stay disabled when it's checked.
tragicshot is offline Report comment to moderator  
Reply With Quote
Unread 09-13-15, 09:34 AM  
badness
An Aku'mai Servant
 
badness's Avatar

Forum posts: 30
File comments: 22
Uploads: 0
Is it possible to get an Aura Icon Style Option for the Raid Frames as well?
badness is offline Report comment to moderator  
Reply With Quote
Unread 08-19-15, 07:48 PM  
Ravenslair
A Kobold Labourer
 
Ravenslair's Avatar
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 40
Uploads: 1
Exclamation error on my Dk

getting the following errors only on my DK :

Code:
12x Stuf\bars.lua:1086: attempt to perform arithmetic on local 'duration' (a nil value)
Stuf\bars.lua:1086: in function `?'
Stuf\core.lua:110: in function <Stuf\core.lua:109>

Locals:
this = Stuf {
 0 = <userdata>
 RefreshUnit = <function> defined @Stuf\core.lua:795
 whitecolor = <table> {
 }
 AddEvent = <function> defined @Stuf\core.lua:379
 nofunc = <function> defined @Stuf\core.lua:51
 statusbar = "Stuf\media\flatsmooth.tga"
 GroupUpdate = <function> defined @Stuf\core.lua:1059
 mainunits2 = <table> {
 }
 AddColorMethod = <function> defined @Stuf\core.lua:697
 UpdateGuild = <function> defined @Stuf\core.lua:763
 vunit = "player"
 numraid = 0
 RequestVersion = <function> defined @Stuf\core.lua:360
 GetColorFromMethod = <function> defined @Stuf\core.lua:702
 font = "Stuf\media\font1.ttf"
 RemoveEvent = <function> defined @Stuf\core.lua:404
 GameTooltipOnLeave = <function> defined @Stuf\core.lua:50
 inworld = true
 colormethods = <table> {
 }
 IsLoggedIn = true
 RegisterElementRefresh = <function> defined @Stuf\core.lua:518
 ingroup = false
 UpdateRoleIcon = <function> defined @Stuf\icons.lua:390
 hidecolor = <table> {
 }
 mainunits1 = <table> {
 }
 unitcopy = <table> {
 }
 UpdateElementLook = <function> defined @Stuf\core.lua:460
 GrowthBreakdown = <function> defined @Stuf\aura.lua:24
 specialchars = <table> {
 }
 cls = "Death Knight"
 CLS = "DEATHKNIGHT"
 border = "Tooltips\UI-Tooltip-Border"
 ApplyPush = <function> defined @Stuf\aura.lua:312
 dbg = <table> {
 }
 SetConfigMode = <function> defined @Stuf\core.lua:440
 panel = <unnamed> {
 }
 GetTexCoordOptions = <function> defined @Stuf\core.lua:747
 conditions = <table> {
 }
 CreateUnitFrame = <function> defined @Stuf\core.lua:1309
 CreateBase = <function> defined @Stuf\core.lua:1228
 UpdateBaseLook = <function> defined @Stuf\core.lua:1194
 CreateArena = <function> defined @Stuf\core.lua:1147
 units = <table> {
 }
 GetMedia = <function> defined @Stuf\core.lua:560
 CreateParty = <function> defined @Stuf\core.lua:1095
 EnableAggro = <function> defined @Stuf\core.lua:1006
 AddBuilder = <function> defined @Stuf\core.lua:425
 DefaultCastBar = <function> defined @Stuf\core.lua:529
 UpdateTextLook = <function> defined @Stuf\core.lua:579
}
event = "RUNE_POWER_UPDATE"
events = <table> {
 UNIT_COMBAT = <function> defined @Stuf\text.lua:282
 UNIT_ENTERED_VEHICLE = <function> defined @Stuf\core.lua:991
 UNIT_SPELLCAST_CHANNEL_START = <function> defined @Stuf\bars.lua:398
 UNIT_CLASSIFICATION_CHANGED = <function> defined @Stuf\core.lua:795
 UNIT_PET = <function> defined @Stuf\core.lua:845
 PLAYER_FLAGS_CHANGED = <function> defined @Stuf\core.lua:391
 UNIT_MAXHEALTH = <function> defined @Stuf\core.lua:906
 PLAYER_UPDATE_RESTING = <function> defined @Stuf\icons.lua:213
 UNIT_LEVEL = <function> defined @Stuf\core.lua:795
 CHAT_MSG_ADDON = <function> defined @Stuf\core.lua:353
 UNIT_NAME_UPDATE = <function> defined @Stuf\core.lua:795
 UNIT_DISPLAYPOWER = <function> defined @Stuf\core.lua:975
 UNIT_COMBO_POINTS = <function> defined @Stuf\icons.lua:569
 READY_CHECK = <function> defined @Stuf\icons.lua:197
 UNIT_HEALTH = <function> defined @Stuf\core.lua:906
 UNIT_SPELLMISS = <function> defined @Stuf\text.lua:282
 RUNE_POWER_UPDATE = <function> defined @Stuf\bars.lua:1075
 UNIT_EXITED_VEHICLE = <function> defined @Stuf\core.lua:1000
 ADDON_LOADED = <function> defined @Stuf\core.lua:51
 UNIT_POWER = <function> defined @Stuf\core.lua:948
 PLAY
Ravenslair is offline Report comment to moderator  
Reply With Quote
Unread 08-09-15, 03:05 PM  
goldman1337
A Murloc Raider

Forum posts: 6
File comments: 40
Uploads: 0
a question, why is "Color health bars if mob is tapped" not something that could be added to the addon?
just wondering =P
goldman1337 is online now Report comment to moderator  
Reply With Quote
Unread 08-04-15, 08:42 PM  
Liarsenic
A Deviate Faerie Dragon
 
Liarsenic's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 52
Uploads: 2
Re: Re: Re: lua Error

Think I might have made a workaround, untested, but let me know if this could potentially work.

http://pastebin.com/Vw4RVuf2

Update-No longer seeing the issue, so I'm guessing this fixed it?
Last edited by Liarsenic : 08-04-15 at 10:21 PM.
Liarsenic is offline Report comment to moderator  
Reply With Quote
Unread 07-30-15, 01:09 AM  
Liarsenic
A Deviate Faerie Dragon
 
Liarsenic's Avatar
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 52
Uploads: 2
Re: Re: lua Error

Originally Posted by totalpackage
Originally Posted by Liarsenic
Getting an error on some characters when I zone in and out of a dungeon

12x Stuf\bars.lua:1086: attempt to perform arithmetic on local 'duration' (a nil value)
Stuf\bars.lua:1086: in function `?'
Stuf\core.lua:110: in function <Stuf\core.lua:109>
...
Funky. Can you confirm that this is only happening on Deathknights?

Originally Posted by deiru
I've not been able to get options up on my interface menu for a while. It just comes up with a blank page. How do I get around this? I kinda need to move stuff sometimes....
Heard from the people of the library I'm using for Stuf that it's a Blizzard bug. The workaround is to click into Stuf and out and back in in the Interface -> AddOns menu.

@Raynesis - Thanks!
Can confirm, not working on a warrior and Brewmaster. Only is working on my DK atm, plus the fact that you knew that from that...you are a magician.
Liarsenic is offline Report comment to moderator  
Reply With Quote
Unread 07-29-15, 11:13 AM  
deiru
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
options

Cheers Telegraph, the workaround worked perfectly
deiru is offline Report comment to moderator  
Reply With Quote
Unread 07-28-15, 07:43 PM  
totalpackage
A Fallenroot Satyr
 
totalpackage's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 895
Uploads: 2
Re: lua Error

Originally Posted by Liarsenic
Getting an error on some characters when I zone in and out of a dungeon

12x Stuf\bars.lua:1086: attempt to perform arithmetic on local 'duration' (a nil value)
Stuf\bars.lua:1086: in function `?'
Stuf\core.lua:110: in function <Stuf\core.lua:109>
...
Funky. Can you confirm that this is only happening on Deathknights?

Originally Posted by deiru
I've not been able to get options up on my interface menu for a while. It just comes up with a blank page. How do I get around this? I kinda need to move stuff sometimes....
Heard from the people of the library I'm using for Stuf that it's a Blizzard bug. The workaround is to click into Stuf and out and back in in the Interface -> AddOns menu.

@Raynesis - Thanks!
totalpackage is offline Report comment to moderator  
Reply With Quote
Unread 07-28-15, 07:35 AM  
deiru
A Kobold Labourer

Forum posts: 0
File comments: 2
Uploads: 0
Options

I've not been able to get options up on my interface menu for a while. It just comes up with a blank page. How do I get around this? I kinda need to move stuff sometimes.
deiru is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.