Skip to content

Releases: evaera/Cmdr

Cmdr v1.12.0

09 Jul 22:17
Compare
Choose a tag to compare

Warning: This update includes a critical security fix

Your attention is drawn to this this security advisory.


  • Add convertTimestamp default command, outputs a human-readable timestamp from epoch seconds
  • Add positiveInteger, nonNegativeInteger, byte (0-255), digit (0-9) built-in types (including respective plural types)
  • Add json built-in type, takes in a Json string and provides a Luau table
  • Add internal IsServer assertions for RegisterDefaultCommands and commandServerScript
  • Add 'tips' to the help command output
  • Make window scroll to bottom on input
  • Make fuzzy finders search the entire string, rather than looking at the start
  • Make autocomplete menu scrollable
  • Fix window not resizing on clear
  • Remove global initialization scripts feature for security reasons

If you relied on the global initialization scripts feature (for instance - to register aliases) you should use CmdrClient.Dispatcher:Run("insert command string").

User-specific initialization scripts have not been removed and will continue to run.

More on global initialization scripts

You can get closer to the previous global initialization scripts feature by running these three commands as part of your CmdrClient:

  1. alias \"init-edit-global|Edit the global initialization script for all users\" edit ${var $init} \\\\\n && var= $init ||
  2. alias \"init-run-global|Re-runs the global initialization script manually.\" run-lines ${var $init}
  3. init-run-global

Your existing global initialization scripts will continue to work, so long as run-lines ${var $init} continues to be executed.

We recommend avoiding this behaviour, as described in the security advisory linked above, this could lead to a security incident.

Pull Requests

  • Implement auto scroll to the bottom of the canvas on user text input by @anyastrophic in #263
  • Fix Window Resizing by @wilyt1 in #265
  • Add Command to Convert Timestamp by @wilyt1 in #266
  • Delay Updating the Window Height by @wilyt1 in #273
  • Add More Number Types by @wilyt1 in #275
  • Improve FuzzyFind/AutoComplete by @Sxribe in #269
  • Fix AutoComplete Menu Max Size by @wilyt1 in #268
  • init-edit and init-edit-global permission fix by @noatblok in #279
  • Add JSON Type by @wilyt1 in #274
  • Implement Errors for commandServerScript and RegisterDefaultCommands by @wilyt1 in #277
  • Add Tips To Help Command by @wilyt1 in #278

New Contributors

  • @anyastrophic made their first contribution in #263
  • @Sxribe made their first contribution in #269
  • @noatblok made their first contribution in #279

Full Changelog: v1.11.0...v1.12.0

Cmdr v1.11.0

16 May 02:16
Compare
Choose a tag to compare

Cmdr v1.11.0

  • Add support for new Roblox CoreGui Chat
  • Add ArgumentOperatorAliases option to types which allows specifying short hands like "me", "others", "all", etc for any type

Pull Requests

  • Remove assets/ and docs/ from published Wally package by @autonordev in #257
  • Fix command bar being obscured by TextChatService by @CAZ-H in #259
  • Bump json-schema and jsprim in /docs by @dependabot in #262
  • Bump minimatch from 3.0.4 to 3.1.2 in /docs by @dependabot in #258
  • Add ArgumentOperatorAliases to Player types by @benhdev in #261

New Contributors

Full Changelog: v1.10.0...v1.11.0

Cmdr v1.10.0

12 Apr 00:22
Compare
Choose a tag to compare

Cmdr v1.10.0

  • Improve help command
  • Alias command now supports optional arguments
  • Legacy RoStrap support has been removed
  • Command string text size is now capped at 100K
  • Improved error messages when registering commands
  • Improved docs
  • Improved automatic line sizing
  • Fix bug causing var and varSet to yield on require which could make clients fetch server modules too late
  • The run-lines command now runs on the client

Pull requests

New Contributors

Full Changelog: v1.9.0...v1.10.0

Cmdr v1.9.0

22 Aug 22:42
Compare
Choose a tag to compare

v1.9.0

  • Significantly improved the performance of Util.EmulateTabstops for long strings by using a string builder table (~250-350x) (#190)
    • Allows for long strings to be displayed in the output without a freeze
    • Added column logic to properly align text containing newlines
  • Fix a new error caused by var & varSet in places with DataStore access disabled. (#188)
  • Fix incorrect DataStore used by var and varSet commands.
  • Fix incorrect number of arguments passed to AutoComplete, Validate and Parse on using value operators like ** and . (Types).
  • Fix ValidateOnce not working on types created with Util.MakeListableType.
  • Fix label positioning broke by roblox update
  • Update announce command to check if sender and recipient can chat
  • Added RichText option to Window:AddLine
  • Replace TeleportPartyAsync with TeleportAsync in teleport command
  • Scroll to bottom on typing began

Pull requests

New Contributors

Full Changelog: v1.8.4...v1.9.0

Cmdr v1.8.4

30 Oct 00:07
Compare
Choose a tag to compare

v1.8.4

  • Fix an error when using function arguments.

Cmdr v1.8.3

28 Oct 16:04
Compare
Choose a tag to compare

v1.8.3

  • "% teamPlayers" prefix was accidentally removed from players type, so this adds it back.

Cmdr v1.8.2

21 Oct 22:34
Compare
Choose a tag to compare

v1.8.2

  • Fix pressing tab doesn't insert space (#149)

Cmdr v1.8.1

15 Oct 04:07
Compare
Choose a tag to compare

v1.8.1

  • Fixes issue with autocomplete in lists
  • Fixes init-run command in unpublished games
  • Fix boolean type erroring given the empty string

Cmdr v1.8.0

14 Oct 20:07
Compare
Choose a tag to compare
  • Add var and var= default commands, which act as a persistent key-value store.
    • Keys can begin with a dot to be per-session only.
    • Keys can begin with a $ to be game-wide, shared among all players.
    • Keys can begin with $. to be game-wide and per-session.
  • Add fetch command, which fetches and returns data from the Internet.
  • Generalize the *, ., ?, and ?N operators from the player type for all types.
    • Adds a Default function to types to determine their "default" value, this maps to .
    • * is determined by calling the Autocomplete function with an empty string
    • ? is a single random value from the above;
    • ?N represents a list of N random values;
    • ** is * (all) minus . (default), which is commonly referred to as "others" in the player type
  • Fix client side validation to disallow sending commands with incomplete arguments
  • New commands json-array-encode and json-array-decode
  • New command resolve, which resolves the argument value operators into lists.
  • New commands len, pick, and rand.
  • run now has an alias: >
  • replace now has an alias: //
  • run command now supports multiple commands delimited by &&
    • Slot operator allows you to insert the output of the previous command in a chain of commands separated by &&. For example: > echo evaera && kill || (evaera dies)
  • New command edit allows you to edit text within a text area
  • New join and map commands
  • New goto-place, follow-player, rejoin, and get-player-place-instance commands.
  • New refresh command.
  • New uptime command.
  • Cmdr no longer removes preceding skipped arguments ("") when using AutoComplete on a later argument (#104)
  • GetCommandsAsStrings has been renamed to GetCommandNames; old name still works for backwards compatibility

Cmdr v1.7.1

24 Sep 01:29
Compare
Choose a tag to compare

v1.7.0

  • Cmdr now calls tostring on error objects emitted from commands (#144)
  • Cmdr now includes the full trace back in error messages.
  • Aliases can now include type checking and name information in arguments (#56)
  • New default command: "me". Displays the current player's name.
  • Make bring and to commands built-in aliases for teleport. to has effectively moved from the DefaultDebug group to the DefaultAdmin group. (#115)
  • The default activation key is now F2

Video

v1.7.1

  • Handle non-string error values correctly