All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
3.16.0 (2024-11-25)
3.15.0 (2024-08-06)
3.14.1 (2024-06-06)
- Fix bulk action in
search
command (#528) (782b0e6) - Fix bulk operation for
sign-requests:create
command (#531) (6d9cd6b)
3.14.0 (2024-03-06)
- Add support for
vanity_name
when creatingshared-links
(#524) (38164bc) - Support sign request signer group ID (#521) (f7b1b44)
3.13.0 (2024-02-22)
- Add additional
UseDisplayName
flag to metadata extraction script (#515) (b900fdb) - Add additional context info when throw exception (#519) (b99a58d)
- Support overwrite/skip folder download (#516) (300f914)
- Fix metadata extraction script (#514) (2fad540)
- Fix the functionality of the overwrite flag (#513) (f4bf7af)
3.12.2 (2023-11-08)
3.12.1 (2023-11-06)
3.12.0 (2023-09-18)
3.11.0 (2023-09-05)
3.10.0 (2023-08-16)
3.9.2 (2023-08-08)
3.9.1 (2023-07-19)
3.9.0 (2023-06-02)
- add
max-items
, improve list endpoints performance (#470) (8f386f3) - Add support for Integration Mappings API (#472) (bbf2548)
- New fields in
retention-policy
andretention-policy-assignment
(#466) (f960e59)
3.8.0 (2023-03-03)
- add alias for metadata cascade policy create (#460) (8d2f683)
- Add support for
--reauthorize
flag in login command (#457) (f653a0d)
- Fix
keychain
access by bumpingkeychain
library to1.4.0
(#459) (56919ce) - Fix unit tests (#456) (f89d9ef)
3.7.0 (2023-01-19)
- Add more flags for folder update collaborators (#438) (83ac6d7)
- Add support session termination (#446) (aef15a8)
- Fix delete token cache from disk (#445) (aafb68a)
- Fix metadata template update when adding multiple options to enum (#442) (8779eec)
- single file upload on Node 16 (#441) (d94ab35)
3.6.0 (2022-11-22)
- Add
id
andtype
field to shared-links:create response (#427) (5ea4cb8) - Add fields disposition_at field for files under retention (#429) (db824ef)
3.5.0 (2022-11-02)
- Add option to change name of downloaded file in
save-as
parameter (#415) (81fe64e) - Add support for modifiable retention policies & enable deleting retention policy assignment (#420) (26ab5b4)
3.4.0 (2022-09-26)
- Add
DryRun
mode inUser Deprovision
example script (#392) (584a30e) - Add
redirect_url
anddeclined_redirect_url
to Sign Request (#395) (261b7d2) - Add progress bar for file download and bulk command (#376) (68359c7)
- create destination path during download (#393) (40881dd)
- native credentials storage for Windows with a new library (#385) (a6918aa)
- correctly resolve home dir in folders download (#398) (86d3230)
- Fix logs in
Users Deprovisioning
script (#381) (c85f77b) - Fix problem with
keytar
library (#394) (1979f01)
- To migrate storing Box CLI environments to the system credential storage, execute the following command in the terminal (#295):
box configure:environments:update
3.3.2 (2022-07-29)
3.3.1 (2022-07-25)
3.3.0 (2022-07-19)
- add editable shared link support (#350) (ab639e7)
- add file requests api support (#355) (73f0490)
- add possibility to set custom analytics header (#348) (5a3387f)
- Support --copy-instance-on-item-copy flag for update metadata template (#357) (5d8272a)
- support Client Credentials Grant as authentication method (#335) (4649d8a)
3.2.0 (2022-06-30)
3.1.0 (2022-06-17)
- Add --all flag for search to return all results (#336) (23ea0a5)
- add unique state parameter to OAuth2 login (#292) (5ce6a40)
- allow changing base URLs (#303) (e284059)
- obtain
oauth
authorization from commandline (#299) (18c88bb) - use native credential storage for MacOS and Windows (#295) (74c4922)
users:transfer-content
to respect quiet flag (#288) (1d0bbab)- correctly pass
copy-instance-on-item-copy
flag (#285) (cd4fbf4) - Fix updating webhook triggers (#297) (09e94c3)
- support large output when using
json
flag by replacingjson.stringify
(#328) (1204f2c) - Support limit flag for Box Search (#323) (0009a77), closes #322
- Support OAuth with multiple redirect URIs (#302) (9fe216e)
3.0.0 (2022-01-27)
- Drop support for Node 10
- Insensitive language changes (#247, #252)
- Add support for login with OAuth (#240)
- feat: support as-user flag for bulk files and when token is present (#270)
- Add support for copyInstanceOnItemCopy field for metadata templates (#239)
- Add support note to the mdfilter equality check in search (#253)
- Add support for Box Sign API (#258)
- Add support Metadata Query API (#259)
- fix: folder:collaborations:add make role a required flag (SDK-1070) (#261)
- Minor dependencies upgrade
- Add new API for files and file versions under retention (#250)
- Adding support for sign request (#258)
- Support Metadata Query API (#259)
- chore: enforce conventional commits (#268)
- feat: support as-user flag for bulk files and when token is present (#270)
- fix: folder:collaborations:add make role a required flag (#261)
- fix: Fixed shared-links delete example. (#262)
2.9.0 (2021-02-22)
- Add ability to add an option to a metadata template multi select field (#230)
- Add folder lock functionality (#232)
- Add support for search param to get shared link items (#233)
- Fix events command bug when there is no stream position flag (#234)
2.8.0 (2020-12-03)
- Due to the changes in (#217), additional details about Box Items may now be returned for some commands.
- Output contents of array for bulk commands (#217)
- Fix bug with setting proxy settings (#218)
2.7.0 (2020-11-02)
- Make commands
collaborations:add
,shared-links:update
,shared-links:delete
,users:search
that were previously hidden, now available (#211) - Add
filter_term
parameter togroups:list
(#210)
- Fix bug with setting proxy settings (#213)
2.6.0 [2020-08-20]
- Fix filename issue when saving reports on Windows
- Add proxy support for
http
,https
,socks
andpac
protocols. Proxy settings can be found underbox configure:settings
- Add zip functionality
2.5.1 [2020-04-14]
- Added
--quiet
flag to suppress any non-error output to stderr - Fixed a bug for the
--restrict-collaboration
flag forbox folders:update
where previously the flag would not restrict the collaborations when passed as true and would restrict collaborations when passed as false - Added
box trash:restore
to restore a trashed item andbox trash:get
to get information on a trashed item - Fixed a bug where flags that can be specified multiple times in a single command could not be passed through the command line for bulk commands
- Note: Skipped version 2.5.0 due to development of new release process
2.4.0 [2019-08-29]
- Fixed an issue where the CSV formatting of commands that return multiple different object types (e.g
box files:metadata:list
andbox search
) would only include the columns from the first object in the result set. These commands now output the full set of columns across all objects in the result set. - Added a success message to
box collaborations:update
when setting--role=owner
; previously the command would outputundefined
. - Added support for setting external App User IDs in the
box users:create
andbox users:update
commands with the--external-id
flag
2.3.0 [2019-05-23]
- Added
--confirm
flag to thebox users:email-aliases:add
command to automatically confirm the email alias - Added
--restrict-to-enterprise
flag to thebox folders:update
command to restrict collaboration on the folder to the owner's enterprise - Fixed a bug in the
box folders:update
command where the--upload-email-access
flag would not correctly set the folder upload email access level
2.2.0 [2019-04-30]
- Added
--sort
and--direction
flags tobox search
to control the sort order of the search results - Fixed
box collections:add
to work correctly withweb_link
items - Fixed an issue where some commands including
box folders:collaborations:add
could incorrectly interpret bulk input entries and produce unintended API requests - Added
box folders:metadata:set
andbox files:metadata:set
commands to apply metadata keys and values, overwriting existing metadata under those keys - Errors encountered during bulk input are now caught within the CLI, skipping that entry and continuing bulk input. The CLI should now run all bulk input entries to completion and report entries that produced errors after all entries have been processed.
2.1.0 [2019-03-28]
- Fixed an issue where the
--fields
flag was not always requesting additional fields from the API - Fixed the
--event-types
flag for thebox events
andbox events:poll
commands - Updated to
[email protected]
to address a potential prototype pollution vulnerability - Fixed paging in both the
box events
andbox events:poll
commands:- The
box events
command now requires either a closed date range (defaults to last five days), or a stream position. If given a date range, all events in that range will be returned. If given a stream position, up tolimit
events will be returned along with the next stream position box events:poll
now correctly polls for new events
- The
2.0.0 [2018-12-13]
- Full API parity: The new version of the CLI supports all available API endpoints and parameters
- Recursive folder upload and download: Uploading or downloading a folder now preserves the entire deep folder structure
- Expanded human-readable output: All object fields returned by the API are now displayed by default, and can be
controlled with
--fields
. All commands that output collections of objects no longer require interactive key presses to view all objects. - More output options for bulk commands: Bulk commands no longer require output to be written to disk, and can output JSON, CSV, or human-readable output directly to stdout or to any file.
- More flexible date/time input: Date-times can now be specified in UNIX epoch format (e.g.
1535336043
), with a year offset shorthand (e.g.-1y
for "one year ago"), and as a combination of offset shorthands (e.g.-5h30m
for "5 minutes and 30 seconds ago") - All commands now accept bulk input: Every command can now accept its arguments and flags from a file input in either CSV or JSON format! There is also no more need for CSV templates, since the column names are the same as the CLI's own args and flags (case-insensitive). Looking at the help for a command should tell you everything you need to know to run the command in bulk
- All commands can now save output to disk: Every command now allows passing the
--save
and--save-to-file-path
flags to save the output to disk. The output written will respect the--json
and--csv
flags for specifying output format, otherwise it will use the file format in the CLI settings. - Custom API calls: The new
box request
command allows making any API call against the Box API, and can be used to pass arbitrary URLs and parameters - Per-environment token caching enabled by default: To improve performance when running multiple commands, each
environment now caches the primary Service Account tokens by default. This can be disabled by running
box configure:environments:update --no-cache-tokens
- Command correction and autocomplete: If you mis-type a command, you will now be prompted if there is an available
correction; selecting "yes" at the prompt will run the corrected command for you. There is also now a
box autocomplete
command, which will help you set up autocompletion (currently available only in bash and zsh shells) - User-friendly prompts: Some commands (e.g.
box configure:environments:select
) can now be called without providing the necessary arguments; in this case, the command will display a helpful prompt to allow selecting the argument value. - Re-organized command hierarchy: We've renamed and reorganized many of the commands in the CLI to clarify the
inputs they take and reduce unnecessary subcommand nesting. In some cases, this drastically reduces the length of
the command. For example,
box files:shared-links:create
is nowbox files:share
— 14 characters shorter! Most commands that were previously available asxyzs:list
are now justxyzs
; for example,box folders collaborations list
is nowbox folders:collaborations
- Download commands can download to a specified location on disk: Pass the
--destination
flag to have the files or folders download to any location
- The
box files:metadata:*
,box folders:metadata:*
, andbox metadata-templates:*
command interfaces have changed; please run the commands with--help
for more details - All
box sessions
commands have been removed; usebox configure:environments:switch-user [USER_ID]
to switch between users. - All
box configure settings
subcommands have been removed; these settings can be set by passing the appropriate flag(s) tobox configure:settings
box files shared-links get [fileID]
is replaced bybox files:get [fileID] --fields=shared_link
(output format differs)box folders shared-links get [folderID]
is replaced bybox folders:get [folderID] --fields=shared_link
(output format differs)box folders change-upload-email [folderID] [access]
is replaced bybox folders:update [folderID] --upload-email-access=[access]
(output format differs)box storage-policies assignments add [userID] [policyID]
is replaced bybox storage-policies:assign [policyID] [userID]
(same functionality, may make more API calls)box storage-policies assignments update [assignmentID] [policyID]
is deprecated in favor ofbox storage-policies:assign [policyID] [userID]
box users change-primary-email [userID] [email]
is replaced bybox users:update [userID] --login=[email]
(output format differs)- The
--list-members flag
has been removed from thebox groups:membership:list
command; this is now the default behavior of the command and does not need to be specified via flag. - The
--list-groups
flag onbox groups:membership:list
has been removed; this functionality is now found in thebox users:groups
command. - The
--list-collaborations
flag onbox groups:membership:list
has been removed; this functionality is now found in thebox groups:collaborations
command. - Multi-word collaboration roles specified via the
-r|--role
flag inbox collaborations:add
and similar commands are now separated by an underscore (e.gviewer_uploader
) instead of a space. This should make it easier to work with these commands without needing to quote the flag value. - The
-y|--yes
flag has been removed from some commands; deletions of users, folders, files, etc will no longer prompt to confirm that the item should be deleted. - The
-m|--multi
flag has been removed frombox files:download
andbox folders:download
since these commands now accept bulk input via CSV. - The
--id-only
flag has been removed frombox folders:move
, since a folder move within a user's account should not change the folder ID. - The
--parent-folder-id
flag has been removed from thebox folders:update
command; users should usebox folders:move
instead. - The
--shared-link-*
flags have been removed from thebox folders:update
command; users should usebox folders:share
instead. - The
--sync-disable
flag onbox users:create
andbox users:update
is now called--no-sync-enable
- The
--is-exempt-from-device-limits
flag onbox users:create
andbox users:update
is now called--exempt-from-device-limits
- The
--not-exempt-from-device-limits
flag onbox users:create
andbox users:update
is now called--no-exempt-from-device-limits
- The
--is-exempt-login-verification
flag onbox users:create
andbox users:update
is now called--exempt-from-2fa
- The
--not-exempt-login-verification
flag onbox users:create
andbox users:update
is now called--no-exempt-from-2fa
- The
--parent-folder
flag onbox files:upload
is now called--parent-id
for consistency with other commands - The
box storage-policies:assign
command no longer takes two arguments (a type and ID), and instead now takes one argument (the ID) and has a--type
flag with default value "user" to make the command easier to run for common use cases - The
box webhooks:create
command no longer takes four arguments (target type, target ID, triggers, and URL), but instead now takes two arguments (the target type and ID) and has two new flags:--triggers
and--address
to make it easier to specify without needing to remember the argument order - The
--limit
flag onbox users:list
andbox collaborations:list-for-group
has been removed; all results will be returned by default - The short code for the
box users:create --status
flag was changed from-s
to-S
to disambiguate from the global--save
flag - The short code for the
box webhooks:update --triggers
flag was changed from-t
to-T
to disambiguate from the global--token
flag - The bulk input file format for
box collaborations:add
has changed; see--help
for more details
- The
--json
flag in the search command works correctly now - Windows absolute paths without the drive letter (e.g.
\MyFolder\file.pdf
) now work correctly - Uploading files over 4 GB in size now works correctly
- Listing the items in a folder with more than 300,000 items should no longer fail with an invalid offset error
- Fixed bug preventing removal of a user from an Enterprise and conversion to a free user account.
- Fixed bug that returned incorrect total count when using
box list users -m
to only list managed users. - Added CreatedAt field to CSV output for events.
- Removed SyncState from CSV for creating folders.
- Enabled setting a description for a folder when creating the folder.
- Added new feature on all commands for using an individual token. Add the
--token
option to perform an individual command with the Box CLI using a specific token you provide. The feature is most useful when paired with the Developer Token you can generate through the Box Developer Console. When working with an application you create in the Box Developer Console, you will not need to authorize the application into a Box Enterprise before working with the Developer Token. For example usage:box users get me --token <token_string>
. Certain commands may fail based on the permissions of the user to which the token you use belongs. - Fixed a bug preventing
previewer
being used when adding or updating a collaboration. - Added the following commands:
box collaborations delete
,box folders collaborations delete
,box files collaborations delete
. - Improved error messaging for failure on registering a configuration file and private key file with the Box CLI when creating a new CLI
environment
. - Added
--disable-file-path-translation
to the following commands:box configure environments add
,box configure environments update-config-file-path
,box configure environments update-private-key-path
. This option ignores any additional processing on trying to resolve the file paths you provide when creating and updating Box CLIenvironments
. - Fixed visual bug with upload progress tracker.
- Updated Box .Net SDK to v3.3.0.
- Changed Box CLI output to JSON by default with no existing
.box
directory.
- Added shared link commands for Create, Get, Update, and Delete. Located as standalone commands under
box shared-links
as well as underbox folders shared-links
andbox files shared-links
. - Fixed UTF-8 issue obscuring characters when saving CSV reports.
- Added autopaging for events and fixed faulty event Get command.
- Added date options
w
for weeks andnow
when using date options with commands.
- Fixed minor bug preventing --name, --description, and --etag options from working on the
box folders update
command - Added a
box folders rename
command.
- Welcome to the Box CLI!