Releases: rforzachamp821/ZeeTerminal-CommandLine-Program
v1.0.0
ZeeTerminal v1.0.0. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
___ZeeTerminal v1.0.0 Release Notes___
- This update is mainly a bugfix update, as this is the first non-beta release of ZeeTerminal.
New Features
- The argument array size for any argument array has increased to 256 from 128, which allows a maximum of 768 arguments in one command (256 string-option, 256 string-data, 256 character).
Changes and Bugfixes
- Fixed issues in different commands where verbose messages from those commands would not indicate as coming from within their actual function, but within a singular, older Commands() function. This has been fixed to say Commands1To10() and etcetera.
- Fixed an issue when the Title command is used with the ToFile feature in ANSI mode, where it doesn't set the title to the window.
- Increased the character limit of the size of the title in the Title command to 65535 characters, up from 254.
- In the About command, "beta build" has been changed to "public stable release build", as this is the first public release build of this program.
- Improved reliability of the command input system by using size_t when comparing with strings or performing string operations, instead of using int.
- Optimised the string data argument parser for instances of command execution with few data arguments.
- In the Colour Tester, ColourNumbers, MMSYSTEM API Sound Test, High-Res Nanosecond Stopwatch, Beep Sound Test and TableEngine Tester in the DevTools command, you can now exit them with the ESC key (The TableEngine Tester can only be exited like this after the table has been generated).
- Fixed an issue where the 3rd option in the DevTools command (ColourNumbers) would not execute properly.
- Fixed a grammar mistake in the TableEngine Tester in the DevTools command (said "now many columns" instead of "how many columns")
- Fixed issues where using the old OptionSelect style causes duplicated option numbers in the Colour command (for foreground and background colour adjustment).
- Fixed issue where there are 3 newline characters instead of 2 in the MediaPlayer help pages, after the Example line.
- Changed some code in the Date command to output the date strictly in the DD/MM/YYYY and HH:MM:SS format.
- Fixed an issue where in the MediaPlayer command, fast-forwarding all the way to the end of the media file would cause it to exit immediately, which could be unintended.
- Fixed an issue with the AudioPlayer and MediaPlayer commands where when repeat is activated and the audio or media track has been repeated, exiting afterwards would disable the cursor.
- Fixed an issue in the TTS help pages where the Note line has improper word wrapping.
- Fixed a grammar error in the AudioPlayer command and its help page, where the audio formats list did not end in a full stop.
- Fixed an issue in the Timer command and its help page, where whenever it says "Press any key to exit the timer", it should say "Press ESC to exit the timer".
- Fixed an issue in Guess The Number Extreme Game Settings, where the title does not include the word 'extreme'.
- Fixed an issue in the Copy help pages where there is a missing > character in the Syntax line.
- Changed the centred subheading text in the CopyFile help pages to say "This command copies the contents of a file to another file." This more accurately reflects what the CopyFile command is supposed to do.
- Fixed an issue where the ShellExecute command would not execute a CMD command if running from user input (NOT arguments).
- Improved error message for "no file exists" in "Hacker --typecustom" and the FileParse system to include that permissions and memory may not be available.
- Changed the examples in the Shutdown and Reboot help pages to use "-t 10" instead of "-t 5" so that if the user is trying the example, they have more time to execute "shutdown -c" or "restart -c".
- Added default text to -m argument in the Memtest help page.
- Fixed an issue in the Hibernate command help page, where "What this command does:" is displayed instead of "Possible arguments for this command:" above the arguments list.
- Added low-contrast detection for Light Aqua and Light Green.
- In the PiOutput command, the last line under the "What this command does" subheading has been modified to say "of ZeeTerminal" instead of "of this program".
- Fixed issues in the Guess The Number game, where the boundary in the "How To Play" section of the game describes guessing a number between 0 and 100 when it is meant to be between 1 and 100. Other bugs in the code relating to these boundaries have also been fixed.
- Added FAQ question in the FAQ command about the ToFile feature that was unveiled in update v0.9.0.
- Improved clarity of the prompts outputted by the FileCryptor command when encrypting data with the RyRyCryptor encryption algorithm.
- Fixed an issue where when the key value 0 is used to encrypt data, the command re-prompts for a key in the FileCryptor command, when used with the RyRyCryptor encryption algorithm.
- Added centred subheading text (the text just under the title) in these command help pages: ConfigAction, Rickroll, Beepsounds, Hacker, Logoff, Shutdown, Reboot, Hibernate, ResetExpl, MemTest, RandCol, CLS, Pause, CommandNum, Slowchar, ReverseText, Disp, SysInfo, Help, Tutorial, DevTools, Colour, Settings and Date.
- Fixed issues in the Colour and Settings commands where even if an error occurs when setting specific colours to anything, it would say that it was successful.
- Added centred titles to the Echo and Tutorial commands.
- Fixed an issue in the CarDodge game (accessible through the Game command) where any interval period more than 100ms causes the output on the info pane to overflow further than what is allowed, causing inconsistent output.
- Added notice in the ANSI VT Testing Environment and the Colour Tester in the DevTools command that some older terminals, e.g Windows 7 terminals, cannot interpret ANSI escape codes properly.
- Added colour to hertz value output in the Beep Sound Test in the DevTools command.
- Fixed an issue where when running on a non ANSI-supporting system, trying to change the cursor blinking or cursor shape from an argument will say that it worked, but it really didn't change anything. This has been fixed to show an error message instead.
- Fixed an issue where on a non ANSI-supporting system, the current ANSI setting may be incorrectly presented as being enabled when it's disabled.
v0.9.0
ZeeTerminal v0.9.0. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.9.0 Release Notes
New Features
- 2 NEW COMMANDS: Converter and RandNum.
- When outputting a beep sound in the Beep and BeepSounds commands, you are now able to exit the output early by pressing the ESC key.
- A new feature called ToFile has been added! This feature allows you to stream all output of a command to a specific file. It is activated by supplying the '--tofile ' argument to a command. In the area, embed the file path of the file you wish to write to. This feature does not append the output to the file, but overwrites it instead. If the file path has spaces, enclose it in quotations. During the command execution with this feature activated, no text is sent to the display (it all goes to the file). After the command is done, no more text is sent to the file, and the text goes straight back to the display.
- The Echo and Title commands have been redesigned to now include help pages! This feature inclusion in these commands improves their accessibility towards people that don't know how they work. The help command has been slightly modified to reflect this.
Changes and Bugfixes
- Fixed a bug where in the CPUStress command, if the multi-core benchmark test was terminated, it would say that the single-core benchmark was terminated instead of the multi-core one.
- The following 6 commands: CPUStress, Stopwatch, Timer, Hacker and MemTest, are now no longer terminated by any keypress. Only the ESC keypress will terminate them.
- Tidied up code in general, resulting in small performance improvements.
- Improved word wrapping in the MemTest command.
- Improved random number generation performance.
- Improved efficiency and performance of the input parser in the command input screen.
- Improved reliability of the input parser in the command input screen.
- The Echo and Title commands have been redesigned to now use data string arguments for input. How this works is that any string with spaces has to be quoted (e.g echo "Hello World" is quoted) to be outputted in the exact way it was written. However, if you include 2 or more strings separately (up to 128 strings), they are automatically concatenated (e.g "echo test hello cool" would output "testhellocool"). This allows for the introduction of help pages for both commands.
- Changed max character limit from 256 characters to 254 characters in the Title command, to comply with the Window Title ANSI Escape Sequence limit.
v0.8.0
ZeeTerminal v0.8.0. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.8.0 Release Notes
NOTE: Please delete your previous GameHighScores.dat file, as it will not work anymore due to the new changes implemented in the scoring system.
New Features
- 4 NEW COMMANDS: PiOutput, Spam, FAQ and About!
- A new game has been added to ZeeTerminal! This game is called Guess The Number - Extreme, and the aim of the game is to guess a number between 2 randomly-generated numbers in 6 tries. If you get the number correct, your score increments and you move onto another round. Fight for the highest score to do well in the game!
- A new system has been implemented to manage the game high scores. This system is called the Game High Scores System. It simplifies retrieving and saving high scores to the GameHighScores.dat file. This isn't really a feature that you (the user) may notice, but it is a new feature in the ZeeTerminal backend.
- A new settings menu has been introduced to manage parts of the Guess The Number - Extreme game. Currently, the 2 options that can be tweaked are the foreground and background colours of the game. Tweak to your heart's content! It is accessible through the Settings command.
Changes and Bugfixes
- The format of the Game High Scores has changed, so therefore the previous game high scores file is incompatible. Please be weary if the high scores reset on installation of the new executable.
- Improved word wrapping for multiple parts of the Guess The Number game (in the Game command).
- Changed up some code in the CarDodge game to utilise the new Game High Scores System for its score system.
- The Help command has been changed up after lots of in-person feedback. When the help command is executed, the ScreenNavigate engine is no longer used, and only the commands are outputted. The command then exits and goes back to the command input prompt. 2 commands - FAQ and About - have been added to reflect this change. The About command does use the ScreenNavigate engine though, to display about and copyright information in one command. The tutorial has also been slightly modified to adapt to this change, too.
- RyRyCryptor has been updated to v1.0.2.
- After inputting an invalid value when using the Old OptionSelect style, the prompt text would appear to be left-justified again after being centre-justified. This has been fixed.
- Improved context of Windows Error Logging context message in the LogFile System.
- On the Windows 7 conhost terminal, the high score box would appear damaged after the high score number has been outputted in the GTNE and Car Dodge games. This has been fixed.
- Fixed bug where any updating of entry types line resulted in an unwanted newline being added to the next line, causing a fragmented log file.
- Fixed bug where any updating of the entry types line would also update any user input with the same entry types line text.
What's Changed (Commits)
- Ryan working branch v0.8.0 update pull request by @rforzachamp821 in #3
Full Changelog: v0.7.0...v0.8.0
v0.7.0
ZeeTerminal v0.7.0. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.7.0 Release Notes
New Features
- 3 NEW Commands, which are: Factorial, CalcQuadratic, and Y2038!
- Added support for opening files in Hacker Type Custom in the Hacker command with the Windows File Dialogue. Now it's much easier to quickly pick any random file to prank your friends quicker that you are the ultimate hacker.
- CarDodge, in the Game command, now has power-ups! When you crash into a special power-up car, a random power-up is selected and activated automatically. These include: an extra life, invincibility, game slow-down, double score, and higher chances for other power-up cars to pop up. These power-up cars have a 5% chance to be created in normal conditions.
- A NEW GAME has been added to ZeeTerminal: Guess The Number! This game involves guessing a random number between 1 and 100 inclusive in as little tries as possible (10 tries maximum). It's a very simple game, but quite fun as well. It is similar in workings to the same game from the older TerminalAppGen2.
- A new settings menu has been developed for the new Guess The Number game, and contains options to change foreground and background colours for the game. You can play around with things however you like with the new Guess The Number game and these settings.
Changes and Bugfixes
- Added syntax in the help messages of the Copy and CopyFile commands, to assist in usability and understanding of the command.
- Put all commands in the Help command in a table-style format, to conserve total screen height.
- Changed "early alpha build" to "beta build" in the Help command, as this program is getting close to becoming a proper stable release.
- The 'How To Play' page in the CarDodge game (in the Game command) has been updated to talk about the power-ups and the power-up cars.
- As power-ups have been introduced, CarDodge has reached v0.6.0 and is now in its beta stage, and may skip to version 1.0.0 after a bugfix update at some point. Therefore, the about page in the Help command, and the name of the CarDodge option in the Game command, have been updated to reflect this (the name of the option in the Game command is now just 'CarDodge', as the version is already being listed in the About page of the Help command).
- As CarDodge has been merged with ZeeTerminal, the about page in the Help command has been updated to reflect this.
- The ScreenNavigate Engine now goes back to the old way of writing directions text to the display - above the actual screen text. This is because having both the "scroll up for more info" and the directions text right next to each other makes them clutter themselves, making the user not be as bothered to read anything that they say. However, the directions text is now centred, making it more prominent to the user.
- Fixed an issue where when pressing ESC when selecting an option in any of the CarDodge Colour Game Settings (in the Settings command), error messages would show up.
- Fixed issues with the indentation of some of the argument entries in the Settings help page.
What's Changed (Commits)
- Ryan working branch v0.7.0 PR by @rforzachamp821 in #2
Full Changelog: v0.6.0...v0.7.0
v0.6.0
ZeeTerminal v0.6.0. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.6.0 Release Notes
This update comes with a massive redesign, restructure and refactor of the entire engine, mainly to do with organising code and improving code reliability and readability. Namespaces, headers and more definitions are now used.
New Features
- 3 new commands have been added, which are: Game, FileCryptor and Delete!
- A new game has finally been introduced into ZeeTerminal called CarDodge! Dodge your way through all the enemy cars to gain points and fight for the top score against your friends and family! This is a simple embed of CarDodge v0.5.1 into the program, and if you want to track the game's development progress before everyone else, visit the repository: https://github.com/rforzachamp821/CarDodge
- New settings menu: CarDodge Game Settings. Go into this menu to change 4 different settings in the new CarDodge game, in the Settings command.
Changes and Bugfixes
- Fixed a bug where in the Notes Editor in the Notes command, the ^prev command would not move to the previous line, and would register as a normal line would.
- Fixed a bug where if using the new OptionSelect engine was disabled, nothing about user input would get logged.
- Fixed bugs related to incorrect verbose messages being reported in the LogFile System Settings in the Settings command.
- Modified lots of different core and engine functions, such as the OptionSelect engine and the slowcharCentredFn() function, to change the console cursor position directly with The Win32 API SetConsoleCursorPosition function rather than using newlines or output spaces to set the cursor position.
- Updated 'about this program' page in the Help command to include information about the included CarDodge game.
- Refactored the design of the commands file and commands lookup system. Commands have been split into files of 10 commands each. Upon recieving a command from the user, the commands lookup system will go through each file and check if the command is there one by one. If the command has not been found in every one of the command files, an error message will be produced. This was done to improve neatness of the system, as having all the commands in one file is becoming very inneficient. CommandsFile.cpp, with its Commands() function, will be repurposed as the central command lookup system for the rest of the new command funcitons.
v0.5.1
ZeeTerminal v0.5.1. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.5.1 Release Notes
New Features
- None
Changes and Bugfixes
- Changed copyright from 2023 to 2024 in the About page in the Help command.
- The title in all log files will now be commented with a '#' character, to ensure consistency with what should be commented.
- Fixed an issue where setting a ZeeTerminal session to WIN32 colours (non-ANSI), restarting the app, and setting it back to ANSI would result in the console cursor appearance to be incorrect for some users with heavily modified cursor settings.
- A parser-style validation algorithm has now been implemented for validating ANSI colour strings. If colours have been modified with incorrect formatting in an ANSI VT Sequence colour session, the colours are validated and set to default if invalid.
- Fixed an issue where the cursor blinking would reset to default if the 'cls' command is executed.
- Commands that usually have a progress meter/metre now disable the cursor when it appears, to eliminate flickering and loss of readability of the progress counter. The cursor is reset to user settings after the progress meter is complete.
- All verbose messages that happen before program initialisation are now viewable on ANSI VT Sequence-supporting terminals. Just scroll up and you'll find them! If the terminal doesn't support ANSI VT sequences, the whole terminal buffer will be fully cleared as usual, for now.
v0.5.0
ZeeTerminal v0.5.0. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.5.0 Release Notes
New Features
- 9 NEW COMMANDS: FileParse, Disp, SystemInfo, Einstein, Edison, Tesla, Cow, Cat, Bunny and Copy.
- 3 new sounds in the BeepSounds command have been added! There are now 8 sounds in total, and the new ones include: a RickRoll song, Tetris Theme, and a Dramatic Song.
- The current Copy command has been renamed to 'CopyFile' to outline what it really does (copy file contents), and a new Copy command has been introduced to replace it.
- Comment support has officially been added for all of ZeeTerminal! Comments are denoted at the beginning of the string, with the character '#'.
- A scripting system for ZeeTerminal has finally been integrated, and it's called FileParse! You can now execute commands from a file line-by-line, as if ZeeTerminal was an interpreter. You can also drag-and-drop the script onto the program executable, which would automatically run the script for you. You can also run the script from the new FileParse command.
- You can now run individual ZeeTerminal commands from a terminal! Just type in the filepath to ZeeTerminal, then append the '-c' argument to that, followed by the command. If spaces are involved, quote the command in speechmarks.
- The Calculator command now supports European math notation and thousands separators! You can now use the '-e' argument to use the European notation, that uses the '.' character for the thousands separator and the ',' character for the decimal point. Without the argument, the calculator uses the default ',' for the thousands separator and the '.' character for the decimal point.
- You can now adjust the volume of audio output in the AudioPlayer command! Press the W/up arrow key to amplify the volume, and S/down arrow key to lower the volume.
- A new OptionSelect Engine style has been integrated! This one has been based on the input style from the previous version of ZeeTerminal, the TerminalAppGen2, and it is why it is referred to as the 'old' OptionSelect Engine style. It is very fast, lightweight and reliable, and still looks relatively good compared to the one that was first integrated, now referred to as the 'new' style. It features a system where each option is given a number from 1 to n, and the user has to input the number that is wanted to choose an option.
- A new settings page called "LogFile System Settings" has been integrated, and contains the following options: Fully Enable/Disable ZeeTerminal Logging, Toggle Verbose Message Logging, Toggle User-Space Error Logging, Toggle Command Input Info Logging, and Toggle User Input Info Logging. The Settings command also allows these to be set with new arguments, which can be viewed with the command 'settings -h'.
- A new setting that enables changing the OptionSelect Engine style has been integrated! You can manually change which style you want.
- Each setting in the Settings command will now display the currently-set setting! You no longer need to guess what setting you set beforehand to which option. On most command, you can find it just below the prompt message.
- A logging system for ZeeTerminal has finally been built and integrated, and it's called the LogFile System! With the tweaking of some settings in the new dedicated LogFile System settings page, you can create log files of your current ZeeTerminal setup with ease. Multiple logging options are available - you can log: verbose messages, user-space error messages, command input, and user input. It uses millisecond-accurate time, and uses the ISO format for the date.
- Each object now has a unique identifier! This is actively used to denote the object type in the new LogFile System logs, and might be used for new features coming soon.
- All slowchar functions that do not centre output text support word wrapping now! Any word-wrapping spaces disable any wait/sleep mechanisms in the functions, and they are intelligently detected.
Changes and Bugfixes
- Fixed a rounding error in the Calculator command, where performing operations on infinitely recurring decimals would give an answer very close to the correct answer, but not quite the correct one. This has been fixed by increasing the precision of the algorithm from 15dp to 19dp and keeping the output set to 14-15dp, to help with rounding. For example, the expression (10/3)*1.8 would previously equate to 5.999[...] instead of 6, which is the correct answer.
- Fixed other rounding errors in the Calculator command resulting in the last decimal digit being incorrect.
- The Calculator command, when in working-out mode, will now not display extra unnecessary zeroes in the numbers in the expression.
- The Calulator command now uses a new system where the internal algorithm can process at 19dp, and display will format to 15dp.
- All help messages are now in specific functions in a central, unified source file. This should neaten up source code and reduce lengths, as the CommandsFile file will get very big if something isn't removed.
- The Calculator command will no longer output in scientific notation. It will use a fixed digit notation. This is to prevent rounding errors when outputting to the display, as the decimal to represent the scientific notation can be incorrect by a few decimal places.
- Tabs at the beginning of the command string will be ignored now, just like spaces. Tabs shouldn't be treated as part of a command, but rather as indentation for the command, hence the reason why tab characters will be ignored.
- Fixed a bug where the option string "0" would be included in the end display process in both the OptionSelect Engine Tester and the ScreenNavigate Engine Tester in the DevTools command. This is not meant to be included.
- Added a new argument to the read command: '-b'. This allows for opening and outputting a file in binary mode, rather than the default text mode. This can be useful in many cases, however can cause undefined behaviour and instability in the terminal in some very small number of cases.
- Revamped the read command to: use less lines of code, and have a much simpler and more efficient design structure.
- In the AudioPlayer command, the audio session stats (e.g if paused, unpaused, repeat activated, etc) will now all be displayed right on startup.
- The BASS libraries, used for the AudioPlayer command, have been updated to v2.4.17.
- Applied a possible fix to a lockup in the AudioPlayer command, where while unpaused, fast-forwarding to the end of the file will lock up the player.
- Fixed a bug in the OptionSelectEngine system where the first option in any selection list would sometimes glitch under the last option when exiting or pressing ENTER, on any console with terminal VT bug #14774 on the Windows Terminal GitHub.
- Added an extra FAQ question and answer in the Help command, discussing the new and old OptionSelect Session styles.
- Titles on all commands have been reconfigured to appear only when any user input is required in the command, and in the HELP page of each command. This should ensure titles don't appear at the most annoying times. This change does not include the colournumbers and sysinfo commands, as I (as the developer) believe that even though they don't require any later user input, they would do better with a title.
- All descriptive text that usually appears under the title on some commands only show in the HELP page of each command, for the same reason as configuring the title appearance rate.
- Lightly cleaned up old command code and fixed general grammar, word inconsistency and punctuation mistakes in them.
- Fixed many errors in all command help messages.
- Increased speed and performance of ZeeTerminal startup. It should now start up with little to no noticeable delay.
- After some conducted research on the topic, all existing algorithms that detect and act on the #14774 Windows Terminal bug have been swapped out with algorithms that are based solely on the terminal screen buffer height. As other terminals (even Conhost.exe terminals) can experience similar bugs based on terminal screen buffer height, this change was necessary, even though those bugs are rarer on those terminals. This also simplifies the system, only requiring one custom-designed function that does not involve outputting to the display.
- Fixed issues with text colours being completely messed up and terminal attributes being impaired when ZeeTerminal is executed and exited manually within a terminal. This was fixed by recording all text and terminal attributes/values before execution, and resetting the terminal to these values/attributes when exiting. The console cursor style is not reset to its original values, however, for technical reasons.
- Fixed an issue where a forkbomb would occur when the colour parameters to the colour() function are incorrect, and when WIN32 colours are being used. It involved an infinite cycle of failing to change the colour, sending a message about it and attempting to change the colour again. Verbose messages were sent over and over until the stack filled and the program crashed.
- Fixed an issue when loading an RGB preset, where default colours weren't set when the RGB preset values in a ZeeTerminal configuration file are tampered with in a specific way, and the bSetByUser value is set to 0.
- Increased resillience to incorrect values when WIN32 colours are being used, especially when the ZeeTerminal configuration file is tampered with. Only colour values of up to 8192 are allowed now. If these limits are exceeded, default colours are set and the config file is updated. A message may be displayed or logged to indicate this. A similar fix for ANSI colours may be coming soon, involving maximum values o...
v0.4.3
ZeeTerminal v0.4.3. This is mostly an emergency patch for a major cursor positioning bug found in the program. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.4.3 Release Notes
New Features
- None
Changes and Bugfixes
- Fixed a major bug on Windows ConHost consoles where any engine or feature that changes the cursor position in a custom manner (such as the OptionSelect Engine) when ANSI VT sequences are enabled will not work.
v0.4.2
ZeeTerminal v0.4.2. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.4.2 Release Notes
New Features
- The MemoryTestEngine (used by the MemTest command) now supports multithreading! This may accelerate the memory tests up to 2x faster, in the expense of CPU heat. You can choose between single and multi-threaded testing when you open the MemTest command, where there are 8 options instead of 4 now. Multithreading also allows for a better fit to implement a progress meter, which is now included in all linear memory tests.
Changes and Bugfixes
- Added a new syntax! There is now a new string argument format, which involves a 2-dash identifier (--). This new string syntax addition is for options only. The previous string syntax (that uses only spaces to identify) is now repurposed into a data-storing syntax, which stores option parameters and/or data for commands directly. Each command may use them differently, so check on each command's help page ( -h) to get usage information. All commands have been modified to meet this spec.
- Fixed a bug where on first ZeeTerminal startup, all the introduction text would flash on Windows 11 and Windows Terminal systems and not just the 'Welcome to ZeeTerminal' text.
- Changed the wording of the title text of some parts of the MemTest command.
- Improved input validation across all integer and floating-point types.
- Improved string-to-integer integrity validation.
- Fixed a bug where inputting a negative number in any positive-only input area would result in the end number being incredibly high.
- Fixed a possible bug where in the CPU stress tests (the CPUStress command), a divide-by-zero operation could occur and result in the program crashing.
- Added messages that the session is about to be shown in the OptionSelect, ScreenNavigate and TableEngine testers in the DevTools command.
- Added a 2D 'ZeeTerminal' ASCII art logo in the 'About' page in the Help command, because why not.
- Added option indicators that use random colours for each option when using the OptionSelect engine. They are located behind each option, and look like this: "~|".
- Fixed ZeeTerminal crashing on exit (or 'exit' command) when ANSI VT Sequences are disables and Win32 colours are being used.
- Fixed foreground subheading colour not being checked for validation when reading from configuration file when the ColourTypeSwitch() function is called.
- Fixed colours being reset after changing the console mode from ANSI to Win32 mode and vice-versa.
- Fixed random colours on startup not working for people without ANSI VT support.
- The ANSI VT Sequences setting will now be saved in the configuration file. Previously, it wasn't due to possible issues when transferring settings between different terminals that support the setting and those that don't. Now, a new system has been developed to ignore the setting when the terminal doesn't support ANSI VT escape codes, solving the issue.
- Fixed an issue where creating an RGB preset within a WIN32 environment and loading it within an ANSI-RGB environment would not be prevented and would cause the colours to look completely different than intended. A message will appear when this is done. This has also been fixed for vice-versa.
- Fixed an issue where the 'Reset Colours to Default' option wouldn't work in non-ANSI VT Sequence supporting terminals.
- Made the 'Reset Colours to Default' clear the screen to apply default colours to the whole terminal screen, instead of newer text.
- In the Custom Config File Directory setting, the "^open" input has been renamed to "*open" to fit in with what all the other commands use.
- The custom config file setting will now validate any custom configuration files before usage. This may cause the configuration file to get overwritten which is expected behaviour. This has been clarified in the front setting page before the filepath is entered.
- In the Custom Config File Directory setting, the Windows File Dialogue can now be accessed through the use of arguments.
v0.4.1
ZeeTerminal v0.4.1. Find release notes, source code and binaries in the .zip OR .7z file.
You can also find the release notes below:
ZeeTerminal v0.4.1 Release Notes
New Features
- You can now execute commands by their number in the Help command! This should prevent constant, unnecessary typing when trying to execute commands.
Changes and Bugfixes
- Replaced "This is the ZeeTerminal Program" with "This is the ZeeTerminal Commandline Program" to provide more clarity on the full name of ZeeTerminal in the About page in the Help command.
- Added that the license and credits can be viewed on page 4 in the About page in the Help command.
- Fixed a bug where anything involving a multithreaded COM object wouldn't work in Windows versions before windows 8. Therefore, all CoInitializeEx() calls will be single-threaded from now on. It won't matter much, as the performance difference would be very close to 0. All media players and the Windows File Dialogue should work now.
- Changed the DirectionsDisplay text from a blue-underlined text to the text being in a red-bordered box in green text. This was done as people may think the direction text as a hyperlink, which is not what is wanted.
- Added a tutorial title in the Tutorial command.
- Revamped the tutorial built into the program. Colours were removed and added, formatting changed, and many new elements were added to the tutorial to make it easy for new users.
- Clarified the use of the -h argument in most commands to show what they do in the first page of the Help command.
- Added proper tab support in the word wrap function, where line lengths are worked out based on actual tabs rather than spaces. This does conflict with a lot of code in the terminal due to how std::cout uses buffered output and how it is possible that a newline is placed outside of the wordwrap function, so a lot of code was modified in ZeeTerminal to adapt the new change.
- Fixed the 'echo' and 'cls' commands not showing up in the Help command.
- Fixed no word wrapping in any prompt in the OptionSelect Engine.
- Fixed no word wrapping and colour when a title/subheading is longer than the display width.
- Changed the position of the Directions text in the ScreenNavigate engine from the top (near the title) to the bottom of the screen, so people that are new to the terminal can see how to navigate through screens quicker.
- With users of the Windows Terminal (the one with tabs), any OptionSelect session will no longer clear your terminal scrollback history on first interaction with it. However, to circumvent a bug inside the terminal, the OptionSelect session text will be duplicated. For those that will look through their scrollback buffer to check, a message in a big yellow background will show that this happened.
- Clarified how to scroll in a Windows 7 terminal in the FAQ, in the Help command.
- Changed the style of the arrows whenever "Scroll up for more info" appears in any ScreenNavigate Session (such as the Help command).
- Fixed a bug where in the SlowChar Speed settings, the default would appear as 45 milliseconds and not 32 milliseconds.
- Fixed a bug where using the -r argument with the Notes command would erase every note before the line specified after the argument. This is not intended as it can be used to completely erase all notes in one command without warning, therefore it has been fixed.
- Improved the CPUStress command, including new algorithms (now uses random numbers to evade the CPU's branch detection), better word wrapping, and more equal single and multi-threaded testing (they both use the same default reiteration count now of 50 million, to reflect the difference between single and multi core more clearly). The progress meter for both single and multi-core tests is also much improved and more accurate and smooth. It is a much better and more robust testing suite now.
- Improved input validation for positive unsigned integers.
- Made all numerical settings have a 64-bit integer width, to prevent buffer overflows better.