--- 2025 --- 09-12 (0.9.8.6) - FIX: Line numbers become off by 1 for every match in a file. Cause: When a match is found, the whole line is treated as a match and the line number is incremented. Problem was that the search continued at the line break character instead of after it, so the line was counted twice. This wasn't always a problem, I guess I created it by accident along with the search optimization..? - FIX: If a match is found at the end of the file, the text will be cut off. Cause: when searching for a match, STST reduces the file size by the query length because that helps safely search the file. This reduction was accidentally shown in the match. 08-21 (0.9.8.5) - ENHANCE: Improved the path input to fix issues and make navigating through folders easier. Pressing [Enter] no longer switches to the query input, it just enters the folder. You can now click path suggestions, and added "<-" into the suggestion list which takes you backwards, it's easier to navigate with a mouse. Trailing slashes are now handled in a more consistent way. The program no longer crashes if the path is something like "C:", and if the path has no "/" in it, it will list your computer's drives. - ENHANCE: STST now remembers the window position, window size, and case sensitive mode, and restores them when you open the program again. - VISUAL: Improved the visuals of the buttons/icons. - FIX: Problem: The favorite buttons didn't work properly in some cases. Cause: A tangled mess of code. Fix: Lazy patches that makes it even more of a tangled mess, but maybe I'll untangle it later... surely. - FIX: Problem: Case-sensitive search that starts with an upper-case character didn't work. Cause: Case insensitive search works by turning all uppercase letters into lower case ones. I accidentally used a case insensitive check on one place even in case sensitive mode, so the file effectively had only lower case letters, but the search query did not. 08-18 (0.9.8) - FEATURE: Added a button to toggle case-sensitive search. - PERFORMANCE: Optimized the search, should be a bit faster now. It used to check every character in a file separately, but now it checks 8 characters at the same time. - VISUAL: Favorite buttons now have a star icon. - FIX: Problem: the path input breaks if there's spaces at the end. Cause: There's a function that cleans up file paths to remove potential issues, one of the things it does is remove trailing/leading spaces. I didn't realize that it would cause a problem like this. The text edit cursor was also not moved after the path was altered, so it behaved weirdly. - FIX: Problem: the folder suggestion list goes away if the current path exists, even if there's more potential matches. Fix: the suggestion list is now always shown when the path input is selected. - FIX: Problem: sometimes clicking a text match will not do anything. Cause: I'm not 100% sure how, but my program is not getting a "mouse button was lifted" event after the click command is executed, so the button state gets stuck down, and it only resets after the next click. Maybe it has something to do with the fact that the text editor window may open and get focused before you lift the mouse button. The STST window does understand when you click the window and lift mouse outside of it, but somehow in this case it doesn't work. Fix: I forcibly create a mouse button lift event after a text match is clicked. 08-17 (0.9.7) - ENHANCE: Remade a bunch of my super old window related functionalities. - The window now scales better for high-DPI monitors. - The window contents now update immediately when the window is resized, previously it only updated after you lifted the mouse button. - The window now starts with a dark background color, no more white flash at the start. (This doesn't always work because Windows is a piece of shit.) - The bottom/right edges of the window now work properly. A collision test was off by 1 pixel, so the program thought the mouse was on top of the inner window area and changed the cursor into an arrow even though it was supposed to have the 'resize' cursor. - FIX: Problem: The yellow outline did not always go away properly. Cause: The window only updates when something new happens. The search being finished was not considered as something new happening, so the outline would only go away the next time you move the mouse or use the keyboard or something. Fix: the window now updates once when the search ends. - FIX/WHOCARES: Problem: The scrollbar was rendered on top of the yellow outline. Cause: I was too lazy to fix it because the code that determines whether or not to render the scrollbar was in an inconvenient place relative to the code that renders the outline. Fix: I became less lazy and just fixed it. - WHOCARES: the text inputs now react to right click better. Previously they would only update when you lift the mouse button and maybe didn't update at all in some situations, now they should update immediately when you press down. 07-28 (0.9.6) - FIX: Problem: crashes sometimes when typing in the search bar. Cause: There's a program thread that searches files, and there's another thread that reads the results and shows them on the screen. I was hoping I could just be lazy and not have to deal with any data-race issues if thread A modifies data when thread B is in the middle of reading it, but it turned out to be a problem after all. It sounded plausible but I forgot that an array may re-allocate data. I am not 100% sure if the crash is fixed because I'm still being lazy, I just slapped a mutex on it and hoping that's enough. 05-09 (0.9.5) - (initial release)