Repository navigation
StaXX 00.05.00_dev20260930 (development)
Pre-release
Pre-release
Development build 00.05.00_dev20260930, off the dev branch.
- Settings, Self-test now lists what Unraid Docker and Compose Manager left behind: templates for apps that no longer exist, apps still set up in Unraid's Docker tab that you no longer use, and Compose Manager's settings folder once the add-on is removed. Tick what should go and StaXX clears it, keeping a copy you can put back.
- A withdrawn tag or an image that moved to another registry now shows an amber chip, since it needs you to change the image line; an image not downloaded yet stays blue.
- Importing an Unraid template that sets the same variable or label twice now works. StaXX keeps the last value, as Unraid does, and notes the one it left out at the top of the new file.
- StaXX now has its own tile on Unraid's Dashboard. Open Settings, General, Edit dashboard tile… to arrange it: drag stacks onto a grid of up to 8 columns, group them into folders, and give each folder an icon from four online icon sets, a plain built-in symbol, your own picture, or one that cycles through the icons of the stacks inside. On the Dashboard, click a folder to open it, right-click a stack or folder to start, stop or restart it, and click a stack for a small window with its CPU, memory and network graphs. The icon sets are hernandito's animated folder icons (used with his permission), ground7's animated icons (MIT), Dashboard Icons by homarr-labs (Apache-2.0) and Tabler Icons (MIT).
- Folders on the Stacks page can have an icon too: choose Folder icon… from a folder's menu to pick one with the same picker, or Remove icon to go back to the plain folder.
- The merge wizard's last step now shows Docker validated, with the Docker logo, once Docker has checked the merged file, or Docker's own message if it found a problem.
- Settings has a new About tab showing the installed StaXX version, which Docker Compose is running and whether StaXX installed it, and credits for the work StaXX uses.
- The CPU column now shows each stack's share of the whole processor, from 0 to 100%, instead of counting each processor thread as 100%.
- The little graphs in the CPU, Memory, Network and GPU columns now each have their own colour.
- A stack's row menu and a container's row menu now have Recreate, which rebuilds the containers from the file. The orange restart-pending chip's window has a Recreate now button that rebuilds only the services that no longer match. While Unraid's padlock is locked, the stack menu no longer offers moving the stack into a folder.
- The Image box in the editor's form now lists tags the same way the pin window does: the usual choices on top, with other rolling tags, version numbers and the images already on this server folded below. You can still type any value of your own.
- The copy of each stack kept on the flash drive is now rewritten only when its files have actually changed, so the dates it shows mean a real change, and the flash drive is written to less often.
- StaXX can now remind you once a week which containers are still pinned to an exact build, so a pin is not forgotten. It is on by default: turn it off for everything in Settings, Updates, Notifications (Still pinned), or for one service with its "Remind me it is still pinned" tick in the editor, the row menu or Select, Notifications…. The first reminder comes a week after you install this version, and pins made before it count from the day you install it.
- Notification ticks now save for a pinned service from the row menu and from Select, Notifications…, the same as in the editor. A pinned service's update choice is still left alone everywhere.
- In the editor, Escape on the Sections list now closes just the list, like the other small panels, and leaves the editor open.
- In the marks legend, every sample chip now shows the same explanation as the real one when you hover over it, and pressing one opens an example of the window the real chip opens.
- StaXX's windows now fade in and out the same way for everyone. A fade moves nothing, so it is kept even when your system asks for less motion; real movement, such as sliding or spinning, still stops.
- On the Manage tab, Download all now saves the container's whole log as a file.
- The Save and Cancel buttons at the bottom of StaXX's windows now always sit on the right, instead of jumping across when a message appears.
- When an app you install from Unraid's Apps page opens straight in StaXX's editor, it now says so if StaXX already runs an app by that name.
- A change the editor saves by itself, such as pinning a service or changing its update choice, now shows on the stack list straight away, without reloading the page.
- A stack moved into a folder now always lands at the bottom of that folder.
- In the merge wizard, the joined settings step says what to do, and pointing anywhere on a highlighted line opens its question; the code follows the health-check box you are editing; the last step's switches no longer move under the mouse; and Cancel asks before throwing a merge away.
- On the Manage tab, the handles between the log, shell and files panes no longer stay stuck to the mouse after a quick drag across the shell.
- When you merge stacks, a line in a stack's settings file written as
export NAME=valueis now read the way Docker Compose reads it, so an address set that way is carried into the new stack instead of coming out empty. - When a start, update, rebuild or roll-back fails while the stack list is redrawing, its red failure marker now appears on the row straight away instead of waiting for the next refresh.
- When you install an app from Community Applications or Unraid's Add Container page, StaXX now warns you that it already runs that app even when your stack sits inside a folder or its name differs only in capital letters.
- Clearing a network's fixed address or hardware address in the editor now removes it from the compose file, instead of it coming back when the editor is reopened or the stack restarts.
- On a phone, a stack's menu no longer closes when you scroll the page to reach its lower items.
- The container file manager has its own switch in Settings, Container files, beside Container shells in a box now called Container access. Until you change it, it follows your shell setting, so if you had shells switched off the file manager stays off too. On the Manage tab, a tool that is switched off is no longer shown: the other one takes its space, and with both off the log fills the whole tab.
- A service can now be pinned to the exact build it is running. Pinned is the first of the update choices on a container's menu and in the editor's Updates box. StaXX writes that build's fingerprint on the image line, in whichever file sets the image, with the old value kept in a comment beside it, and a pinned service is never checked for updates. To release a pin, pick a tag from the list that opens (the usual choices on top, with other rolling tags and version numbers folded away below): from the menu the new tag is downloaded and the container recreated straight away; from the Versions tab it goes into the image field for you to save. Bulk updates leave pinned services alone. Nothing already written reads differently: a pin is the same shape a roll-back has always written.
- Each service's icon is kept in its stack's
.staxxfolder, right beside the compose file — one picture per service, and a stack with several services shows all of their icons tiled together. Existing stacks have their icons put there automatically the first time StaXX notices, and the change is saved into each stack's own history like any other edit. - Checking your backup (from the Storage tab, or the self-test's backup line) now asks about your whole StaXX folder at once, settings included, instead of just the stacks and archives folders inside it. If your backup plugin's list already names only those two folders — what the check used to ask for — StaXX now shows a notice on the stack list telling you to add the whole folder instead, so your settings are covered too.
- The settings panel is shorter and easier to scan: the image settings on the Storage tab share one Unused image management box laid out in two columns, Copies on the flash drive shows its two settings side by side, every setting's control now comes before its explanation, and the Self-test tab scrolls as one page instead of two boxes that each scroll on their own.
- Removing (archiving) a stack now also removes any roll-back copies of its images that no other stack still needs, and says so before you confirm. A roll-back copy still kept for a stack that no longer exists is no longer protected for ever.
- The Storage tab has a new "Keep the images" switch beside Scan stored images. Switched off, StaXX still remembers which versions of an image you have run, but no longer keeps their files on disk — a roll-back downloads that version again instead.
- With "Keep the images" switched off, rolling back to a version whose source no longer has it now says so before anything is changed.
- Images are no longer removed on a schedule. If your server had "Remove old images automatically" set to weekly, that no longer happens — the setting is simply not read any more.
- In its place, a notice appears on the page when Docker's stored images are getting full of clutter, with a link straight to Scan stored images so you can look and decide for yourself. Two new settings on the Storage tab control when it appears: how full storage has to be, and how many days a clutter image can sit before it is mentioned on its age alone.
- Settings has a new Integrations tab (it used to be called Registries and security) where you can enter the address and login for Nginx Proxy Manager and Pi-hole, and test that StaXX can reach them.
- The stack editor has a Proxy and DNS section you can add to any app from the Sections menu once Nginx Proxy Manager is set up: a domain name, a certificate, WebSockets and a Pi-hole switch. When you save, StaXX shows what it will change in Nginx Proxy Manager and Pi-hole and does it when you press Apply. An entry you already made for that name can be taken over as it is.
- A small DNS mark beside a service's name on the stack list shows green when its proxy and Pi-hole entries match, red when they have drifted (click it to fix), and grey when switched off. Hover it for the domain and each entry's state.
- Removing a stack now asks what to do with its proxy entry and Pi-hole name: switch off, delete or keep.
- Every section of the stack editor can now be folded away with the arrow beside its heading. StaXX remembers which kinds you folded, in this browser.
- The column headings on the stack list now line up with what sits under them, instead of starting a little to the left of it.
- The arrow that opens and closes a folder no longer shows a tooltip, which used to say "Expand" whether the folder was open or not.
- A stack's menu now has a legend you can open without leaving the page, explaining every mark and colour used on the stack list.
- The legend is also reachable from a button of its own at the top of the list, beside Select.
- A container that checks its own health now looks different from one that nothing checks: the green chip breathes slowly while its check is passing. Both used to look identical.
- The arrows on a chip turn while a command you asked for is actually running, so a job in flight is obvious at a glance.
- A row no longer shows a red mark when the page simply lost track of a job — usually because you closed the tab while something was running. It shows what the container is really doing instead, since nothing was necessarily wrong.
- The note saying when updates were last checked is always a quiet grey now, including when a check has never run or did not finish. The red "report unavailable" chip is gone: when that report cannot be built, the top of the list says nothing about it.
- The space to the left of the search box is now always there, saying "Nothing needs your attention" when there is nothing to report and carrying the newest notice when there is. Pressing it still opens the full list.
- Adding a file to a stack is much easier to find. The two controls are larger, orange, and sit at the left-hand end of the file row instead of the far right.
- Every file in a stack now carries its own menu arrow beside its name, so renaming, downloading or deleting acts on the file you are pointing at rather than on whichever one happens to be open.
- Five buttons at the top of the list became one. Add now opens a short menu holding a blank stack, Apps, Import, New folder and Merge.
- The count of how many stacks you have picked for a merge now sits at the top of the window beside the step names, where it stays in view however long the list of stacks is. It used to sit under the very last tile, out of sight unless you scrolled to the bottom.
- A long stack name is shown in full when you pick stacks to merge. It wraps onto a second line inside its tile instead of being cut short with a trailing ….
- The chips summarising the whole list along the top now carry the same mark as the rows they speak for — a cloud for updates ready to fetch, a document for the author's own published examples — while keeping their words and their own colours. The chip warning that Unraid templates are still on flash wears red and a warning triangle, because one left there can rebuild the old container and push a stack's own out days later.
- Every chip on the stack list now speaks one language: its colour says how much it wants from you — green working, grey at rest, blue worth knowing, amber wants you, red broken — and its mark says what it is about. Teal, purple and yellow have gone, so four near-identical warm colours no longer mean four different things. The two chips that still carried words, a job running and a job that failed, now carry marks like everything beside them, and the chips summarising the whole list along the top keep plain words instead of borrowing the row look.
- A chip the stack list has nothing to say with no longer sits in the top bar as an empty coloured circle. The chip counting Unraid templates still on flash was the one that showed it: with none left to move it stayed on screen with no number in it and a tooltip telling you to go and move them.
- The stack's menu no longer runs off the edge of the window. The explanation under "Take over and start" was held to one line, which stretched the menu wide enough to push the folder list beside it off the screen; it now wraps.
- The editor's footer no longer shows what looked like an empty notice with a close cross and nothing in it. That cross is the "Not now" beside the bar offering to look up a stack's details, and it now sits on the bar's own line where it belongs. That bar also stopped ending in "create it", which belongs to the bars that create a missing file or folder.
- Fixed in 00.04.03: If something outside StaXX rebuilds a container while a takeover is still waiting on your answer, StaXX now compares that container with what the stack's file asks for. If they match it clears it away and carries on with your answer; if they do not, it shows you what differs, when that container was built and when the file last changed, and offers to use the stack's version, instead of sending you to Unraid's Docker page.
- Fixed in 00.04.02: Taking over an Unraid container now also moves its template out of Unraid's template folder and off the Auto Update Applications list, because both that plugin and Appdata Backup rebuild containers from the templates on flash and were pushing the stack's own container out days later. Answering "It does not" puts both back. If you took stacks over before this version, the stack list asks once on first load whether to move the templates still on flash, and Settings lists and moves them at any time.
- A merged stack no longer gets asked about wiring the wizard itself did. Every address the merge rewired to point at a sibling service is now recorded as a confirmed link, so the editor stops asking whether the two are related. And the new stack's own details are gathered from every source rather than the first one only: a description, category or link that only a later source carried now comes across, marked with where it came from, and a value you decline is kept in the merge summary instead of under a spare key in the file.
- The Select tool gained two buttons: Updates… and Notifications… open a small window under the button row with the same controls the editor has, and apply your answer to every chosen stack at once.
- With the .env tab open, clicking a setting that uses one of its variables now lights up the line in .env that defines it, the same way the compose file's lines light up.
- A merge no longer stops publishing a port just because the merged apps now reach each other directly. The port stays open unless you say otherwise, since something outside the merge may still use it. The merge asks instead, and tells you if another stack on your server connects to that port.
- Merging is more careful with the files it joins. Comments at the top of a file or at the end of an app's section now come across. Storage that already had its own name no longer ends up named twice. Two apps using the same proxy name are noticed, and one is renamed so both keep working. Port ranges, ports tied to one address and IPv6 addresses are read correctly. Links to other files are updated when the stack moves. A stack with a line StaXX cannot read is refused by name, instead of being merged without that line.
- Merge cards name a stack's details in plain words, such as its description or its record of where it came from. A comment above a changed line is struck only when it names the old value, and any sanitise marks on it are kept. A note at the top of any stack's file now comes across, not just the first stack's. An app that shares another container's network, the way a download app rides on a VPN container, now joins it by service name inside the merged stack, with a card saying so.
- In the merge window, a changed line's marker sits on the line that changed. It used to sit one line lower, below the setting it was about.
- A stack retired by a merge keeps showing its services' icons, and so does any service held back by a profile.
- Merging is safer in three more ways. Two merge windows pressing Merge at the same moment no longer both go through; the second is told to wait and try again. A renamed setting is now followed into a compose line that gives it a default, such as ${TAG:-1.25}, so each app keeps its own value. A service whose health check is switched off is described that way on the suggestions step.
- A merge where one app publishes a single port inside another app's port range, such as 19101 against 19100-19102, now moves the single port to a free one, the same way two clashing single ports are handled, so the merged stack can start both.
- The user guide has a worked example of a merge: joining the three Tube Archivist apps from Community Applications into one stack, with a picture of every step and the answer to give on each card.
- The user guide is up to date again: the Add menu, the legend button, choosing a data store the first time, the new merge cards and the two reasons Merge can be refused, Scan stored images, the Update all progress line, setting updates for several stacks from Select, and a file's own menu in the editor, with new pictures of each.
- When a project's own published example carries a health check StaXX does not recognise, that is now counted in a small tally in the data store, so the rule for what is accepted can be widened from evidence rather than guesswork. Nothing about what is offered has changed.
- A container set aside by a handover can no longer be brought back by Docker on its own: its restart setting is switched off while it waits, and put back exactly as it was if you choose to keep the old one. If it is running again anyway, the "Does it work?" question says so and tells you to switch it off from the Docker page before answering.
- The name clash pill's tooltip now names the other stack. It used to stop after "Shares the name".
- A row no longer keeps saying Updating… after a pull or update has finished when the list was redrawn while it ran.
- The update queue's progress line disappears as soon as nothing is running or waiting, instead of sitting there with a finished tally and a Stop button that had nothing to stop.
- Roll back is offered again. A row's menu decides whether to show Roll back… from where StaXX now keeps its image history, so an update recorded since that move is once more something you can undo from the menu. A stack with a single service, which has no container row of its own, now gets the item on the stack's own menu.
- The user guide now reads as a manual. Every page was rewritten to teach a feature step by step, without narrating how the screen reacts or why a thing was built as it was, and gained close-ups of the controls it points at.
- Clicking a service's icon now opens the editor in the same split view as clicking the stack's own icon, scrolled to that service, instead of the form on its own.
- A stack's untouched containers no longer read as "not created yet" after one of its services is updated. If the store had been moved, or the stack filed into a folder, the containers still carried the old location and were dropped from the row the moment a recreated sibling carried the new one. They were running all along; the row now says so.
- The chips on folder and stack rows now say what they mean by colour and a small mark — a green play for running, an orange cloud for an update ready, a teal diamond for a new build, a blue clock for waiting, a red warning triangle for a failed check, a purple question mark for an image that cannot be found — with only a count or a version as text. On a narrower window they shrink to the mark alone. A stack that is up to date, built here or never checked shows no update chip at all. Everything the chips used to spell out is in the tooltip.
- The Select tool's actions are no longer hidden at the foot of the list. Choose a stack or two and a row of buttons — Start, Stop, Restart, Check for updates, Update — slides open directly beneath the Select button, outlined so the two read as one piece. It appears only once something is chosen, and slides away again when nothing is.
- A filled button's label no longer vanishes when you hover it. Select while choosing, and Pause updates while updates are paused, both turned their text the same colour as the button behind it.
- The warning that live updates aren't connected now appears in the notices area beside the search box instead of as a bar across the top of the list.
- The Settings panel's update options are simpler: Updates is now a plain Manual/Automatic choice, and Notify me is three separate switches — one for a found update, one for an installed one, and one for a failed one, the last one on by default for everybody. Quiet time is now a pick-list in half-hour steps, and sits half width under its own "only during a quiet time" question.
- A container that updates itself now shows a small green mark beside its name in the stack list, so you can tell which ones will install a newer version on their own without opening each one to check.
- Each container in the editor now has its own Updates box, with a "When" choice (Default, Manual or Automatic, with Immediate/Delayed once Automatic is picked) and a "Notify me" choice (Default, No or Yes), each explaining in plain words what it will actually do. Changing either takes effect straight away rather than waiting for Save. A pinned container shows why it cannot be changed with a one-click way to unpin it; a container built here from a recipe, or one with no image at all, says so too.
- The same Updates and Notify me choices are now on a container's own right-click menu, and on a stack's, where one press sets every container in it. A stack whose containers do not all agree shows no tick until you set one.
- A stack still carrying the old spelling of the update setting is tidied up to the new one automatically the next time StaXX is installed or updated, with a note in the editor saying so on a stack that was changed and nothing else about it altered. This runs once, keeps a copy of every file it touched, and reports which stacks it changed in a single notification.
- Reloading the page (or opening it in a second tab) while something is starting, stopping or updating no longer leaves the row stuck on "Starting…" for good — it picks the job back up and shows how it actually turned out. And a row can no longer be left saying that forever: if StaXX loses track of a job, the row now says so plainly and offers the log, rather than quietly going on showing an old state.
- The Self-test button and the Environment panel at the bottom of the page are gone. Both live in Settings now, on their own last tab, and run the moment you open it — fresh every time, with a Copy button that puts the whole report on the clipboard as plain text ready to paste into a forum post.
- A service's icon in the editor now accepts a picture dropped straight onto it — drag a picture's web address from another tab, or a picture file from your desktop, and let go. Either way it glows while it can be dropped, and turns red for a moment with a short reason if it can't. A dropped file has to be under 512 KB.
- A container's update notifications now live in their own Notifications box, beneath Updates, in the editor, on the row menu, and in the merge wizard — the same three switches as the server's own, now called New image, Image installed and Installation failed, each simply on or off. They start out matching the server's own answers; leave them alone and the container keeps following the server, whatever you change there later; flip any one of the three and the container decides all three for itself from then on. Files already carrying the old single yes/no go on working exactly as they did.
- Merge stacks, on the Add menu, joins two or more stacks into one brand new stack — the way an application and its database usually arrive when converted from separate templates. A seven-step window walks through picking the stacks (each one turning into a card showing its icon, name, folder, state, image, ports and live figures), naming the new one and choosing its folder and icon, reading the two compose files beside the new one taking shape — a changed line carries a mark on its number that you hover for the reason and the Approve / leave-it buttons, and anything the finished file drops is shown struck through — joining the two settings files and sorting out any companion files that clash, and four boxes for Dependencies, Health checks, Updates and Notifications (a service whose image already declares its own health check says so there and needs nothing added), ending with two switches, both off to start, for stopping the original stacks and starting the new one (starting forces stopping, since the two cannot run side by side). Storage Docker manages is carried over by name, so a database keeps its data without anything being copied. Nothing is written until the last step, which shows the new stack's form and file beside a plain list of what will happen. The originals are always retired rather than deleted — they stay on disk, greyed out and unable to start, each with a one-press Remove once you have checked the new stack works — and are stopped only if you asked for it, or chose to start the new stack. The wizard reads each stack the way Compose runs it: an address kept in the settings file and referenced from the compose file is still found and rewired, a stack made of a main file plus an override file is merged as the pair it is with every line from the second file marked, any block an author keeps at the top of a file (shared logging settings and the like, anchors included) travels with the stack, a path that reaches outside the stack's own folder is re-pointed from the new folder rather than counted by depth, two services that now need to talk are put on a shared network, a clash of published ports is shown and settled, and retiring the originals takes their containers down so a fixed container name is free for the new stack. Needs a wider window — the tool is not offered below 990px. A click beside the window no longer closes it; leaving the wizard takes Cancel or Escape. Step 3 now reviews one source file at a time beside the merged file, with numbered tabs to step between them, a changed line's number painted in its source's colour, and a tick or ring on every line once you have approved or declined it; Next stays off until every change has an answer, and a running count at the foot walks you to the ones still waiting. Answering a change moves you straight on to the next open one, the reason card opens to the right of the line and stays until you have hovered it, and a click on any changed line in either pane lines the two files up on it and opens its card. Every change offers the same two answers, Approved or Decline, a port clash included; a declined line keeps its mark and wears a red ring, so you can change your mind, and declining a port clash leaves both ports as written with the card saying plainly that the new stack will not start until one of them changes. A stack that is running from a file the wizard cannot see, an extra compose file passed on the command line or a settings file that is not its own, is refused by name on its card, with the file named and the fix stated, rather than merged with those settings silently dropped. A service that only runs under a profile now gives way in a port clash even when its profile is written in the bracket style, so a live web page keeps its address and the dormant tool moves; and when a port does move, the service's own web-address line moves with it. Step 4 shows each stack's files as a folder tree, opens each decision on hover, and draws the new stack's folder as it will be, with a colour dot saying where each file came from. Step 5 explains what to do, lets you remove a wrongly drawn line with a click, and keeps its place when you toggle a check. Every scrollbar StaXX draws is now thin and dark, and short tooltips no longer carry a blank band beneath their text.
- Fixed in 00.04.01: In the stack editor, pressing Form no longer hides the Form, Split and Compose buttons on a wide window. The dialog narrows itself for the form view, and it used to treat that narrowing as if the whole window had shrunk, so on any window between about 1330 and 2000 pixels wide the only way back to Split was to close the editor. The buttons now hide only when the window itself is narrow.
- Fixed in 00.04.01: Unraid's padlock in the top bar now works on the StaXX page. Clicking it used to throw a script error, and the drag handles for changing start order stayed live regardless. The page now starts locked, the way Unraid's own Docker page does, the handles are hidden until the padlock is opened, and the padlock's icon and wording follow along.
- Fixed in 00.04.01: A blank line in an .env file, or any other settings file opened in the editor, keeps its height. It used to collapse to nothing in the coloured overlay, so every line after it sat one row out of step with the line numbers and with where a click landed.
- Removing old images automatically now clears old releases of linuxserver apps such as Plex, which it had been missing, and removing an old release now frees its space even when it still has a version label.
- Rolling back an update to a linuxserver app such as Plex works again. It used to say the old version was no longer on the server even when it was.
- Scan stored images, on the Storage tab of StaXX's settings: see every image no container uses, with its size, and remove the ones you pick. Anything a stopped stack still needs, or that was built on your server, is left unticked, and versions kept for rolling back an update are never offered.
- Scan stored images now leads with a capacity bar showing how much of Docker's storage is in use, kept for rolling back an update, genuine clutter or still free, and the list underneath only ever shows the clutter — nothing a stack still needs or might roll back to. Versions kept for rolling back sit in their own section below, folded away by default so they do not add to the noise, but still there and still named by the stack they belong to. A container Docker cannot read any more now shows what StaXX can still work out about it — when it was set up, whether it ever ran, its image, its data folder and how big it is, its network address and whether a running container now holds that same address, and its database name and version where that can be read — and offers a red "Remove this broken container" button, with a confirmation first, that clears Docker's broken record for it without touching its data folder.
- The figures Scan stored images shows now count what removing an image actually frees, not its full size — apps built or updated from the same base share most of their files underneath, and each shared piece is only ever counted once, whichever image it is shown against. A leftover image from rebuilding an app locally is now named "an earlier build of" the app it belongs to, rather than lumped in with leftovers from downloading an update. Leftovers with no name at all are now found too: newer versions of Docker stopped listing them in the ordinary image list, so until now the window never saw them.
- Dismissing a note about what the author's published example does differently now stays dismissed. It used to come back after the next update check, and changing the setting's value no longer brings it back either — only the difference itself going away does.