Changelog#
This is the changelog for Restsh.
v4.5.0 - not yet released#
This is the first version that is released under GPL-3.0-or-later.
General
Feat:
restsh.passphraseFeat: Add
restsh.util.check.stringto validate values like filenames, paths, etc.Feat: Add
restsh.util.check.uintto validate unsigned integer valuesFeat: Add
restsh.util.check.boolto validate boolean valuesFeat:
restsh.util.jsonencodeFeat:
f5.device.rebootUpd: Add restsh.setup alias
Upd:
restsh.util.setvar- Add check for valid filenamesUpd:
restsh.util.setvars- Add warning for invalid filenamesUpd: Documentation
Fix: F5 Token Authentication - Token renewal
Axians Automation Framework
Feat:
aafw.art.new- Support iRule Framework configurationFeat:
aafw.pipeline.start.task.clusterFeat:
aafw.pipeline.start.task.liveupdate
F5 TMOS Module
Feat:
f5.sys.licenseFeat:
f5.asm.policy.existsFeat:
f5.asm.template.updateFeat:
f5.asm.entity.filetypes.removeFeat:
f5.asm.entity.urls-allowed.add,f5.asm.entity.urls.removeFeat:
f5.asm.live-update.file.downloadFeat:
f5.asm.policy.signatureset.remove,f5.asm.policy.signatureset.getidFeat:
f5.botdefense.profile.deleteFeat:
f5.ltm.clientssl.deleteFeat:
f5.net.selfip.deleteFeat:
f5.net.vlan.deleteUpd:
f5.cert.expire- Add option to not fail on expired certificatesUpd:
f5.device.cert.reset- Add required options for old cert/key nameUpd:
f5.ltm.datagroup.internal.list- Add option for raw json outputUpd:
f5.ltm.datagroup.internal.create,f5.ltm.datagroup.internal.update- Add option for CSV separatorFix:
f5.asm.template.import- Delete uploaded file after importFix:
f5.device.cert.install- Always useserver.crtandserver.keyas current certificate-key-pairFix:
f5.ltm.vs.modify- Use fullPath to modify the VSDel: Removed support for F5 deprecated telemetry streaming
GitLab Module
Feat:
gitlab.project.getFeat:
gitlab.repository.file.addFeat:
gitlab.group.path,gitlab.project.pathFeat:
gitlab.group.purge,gitlab.project.purge- Purges a project/group (delete and permanently delete in one step)Feat:
gitlab.group.move,gitlab.group.renameFeat:
gitlab.runner.deleteUpd:
gitlab.group.create- support ‘group/subgroup` as nameUpd:
gitlab.group.delete,gitlab.project.delete- Support id’s
v4.4.1 - not yet released#
F5 TMOS Module
Fix:
f5.asm.policy.audit- fail if policy does not existsFix:
f5.asm.event.list- Always define filter
GitLab Module
Fix: Define and use GITLAB_TASK_CHECK_INTERVAL and GITLAB_TASK_TIMEOUT
Fix: Handle more pipeline states in
gitlab.project.pipeline.latest.waitandgitlab.project.pipeline.start
v4.4.0 - 2026-02-04#
General
Feat:
restsh.util.var.decrypt- Decrypts a variable or fetches it from HashiCorp Vault in place.Upd:
restsh.util.setvarsets array variables now only withARRAY_prefix.Fix:
aafw.pipeline.start.task.asmsettings- Do not default sync
Axians Automation Framework
Feat:
aafw.pipeline.start.task.f5customFeat:
aafw.pipeline.start.task.asmsignaturesetsUpd:
aafw.art.new- Add option to not rename variables.Upd:
aafw.cert.new- Add option for custom certificate settings.Upd:
aafw.project.new- Add option to define default project settings file.
F5 TMOS Module
Feat:
f5.asm.signatureset.filter.modifyFeat:
f5.cluster.device-groups.sync-failoverFeat:
f5.ucs.create- Add option to encrypt backupFeat:
f5.cert.pkcs12.import- Import a PKCS12 fileFeat:
f5.device.cert.resetUpd:
f5.asm.signatureset.create,f5.asm.signatureset.modify- Add option for templateUpd:
f5.device.cert.install- Wait for httpd restartUpd:
f5.sys.datagroup.external.download- Use options=-hidden to get the cache path for the fileFix:
f5.run- Quoting issuesFix:
f5.asm.template.export- Allow filepath for exportFix:
f5.ucs.create- Handle VALIDATING status
GitLab Module
Feat:
gitlab.group.variable.export,gitlab.group.variable.import,gitlab.project.variable.export,gitlab.project.variable.importFeat:
gitlab.group.projects.recursive- Recursive project listUpd:
gitlab.project.create- Add option for default branch
v4.3.0 - 2025-11-10#
This version removes support for F5 Next and adds initial support for F5OS-A.
General
Feat: Add
restsh.setupFeat: Add support for HTTP HEAD
Feat: Support for HashiCorp Vault
Feat:
cert.key.verify,cert.x509.checkFeat:
restsh.util.array.stringFeat:
restsh.util.check.isvarnameFeat:
echo_verboseUpd:
cert.bundle.split- add silent option and do not create empty filesUpd: Enable certificate checking in distributed configuration files as default.
Axians Automation Framework
Feat:
aafw.art.new- Deploy an Application Ready TemplateFeat:
aafw.cert.new- Deploy a new certificate
F5 TMOS Module
Feat: Allow setting explicit certificate name <> CN
f5.cert.csr.create,f5.csr.create-from-key
Feat: SNMPv3 user management
f5.sys.snmp.user.create,f5.sys.snmp.user.delete,f5.sys.snmp.user.list
Feat:
f5.cert.get,f5.cert.export,f5.cert.key.exportFeat:
f5.asm.signatureset.attacktypes,f5.asm.signatureset.filter.createFeat:
f5.net.vlan.createFeat:
f5.net.selfip.create,f5.net.selfip.listFeat: APM package management
f5.apm.client.delete,f5.apm.client.listf5.apm.epsec.delete,f5.apm.epsec.delete.all,f5.apm.epsec.list
Fix:
f5.auth.token.extend- Define timeout
F5OS-A support - Login and token management, backup and file management.
Login:
f5osa.auth.token.get,f5osa.auth.token.renewGeneral:
f5osa.version,f5osa.tenant.listBackup:
f5osa.backup.create,f5osa.file.download,f5osa.file.delete,f5osa.file.list
GitLab Module
Feat: Support archived projects
gitlab.project.archive
Feat:
gitlab.runner.jobsFeat:
gitlab.project.historyFeat:
gitlab.project.pipeline.path,gitlab.project.pipeline.latest.waitFeat:
gitlab.branch.deleteFeat: Support marked for deletion for projects:
gitlab.project.restore,gitlab.project.deleteFeat:
gitlab.project.move,gitlab.project.rename,gitlab.project.forkFeat: User management functions
For groups:
gitlab.group.member.add,gitlab.group.member.list,gitlab.group.member.modify,gitlab.group.member.removeFor projects:
gitlab.project.member.add,gitlab.project.member.list,gitlab.project.member.modify,gitlab.project.member.remove
Upd:
gitlab.branch.newrenamed togitlab.branch.create
v4.2.1 - 2025-08-04#
Feat: Manage job token scopes for projects:
gitlab.project.job_token_scope.allowlist.add,gitlab.project.job_token_scope.allowlist.list,gitlab.project.job_token_scope.allowlist.removeFeat: Support live-update schedules:
f5.asm.live-update.schedule.list,f5.asm.live-update.schedule.setFeat: Support masked_and_hidden and protected CI/CD-Variables
Upd:
f5.asm.signatureset.listlists all signature sets as defaultUpd: Support groups marked for deletion:
gitlab.group.delete,gitlab.group.restoreFix: Export RESTSH_SECRET after reading it from file
Fix:
f5.file.sizereturn 1 if file does not exist
v4.2.0 - 2025-07-14#
Feat: Add
f5.asm.event.get,f5.asm.event.list,f5.asm.event.reportFeat: Add
f5.asm.live-update.check,f5.asm.live-update.file.list,f5.asm.live-update.file.remove,f5.asm.live-update.file.upload,f5.asm.live-update.install,f5.asm.live-update.list,f5.asm.live-update.statusFeat: Add
f5.botdefense.profile.create,f5.botdefense.profile.get,f5.botdefense.profile.list,f5.botdefense.profile.updateFeat: Add
f5.botdefense.whitelist.add,f5.botdefense.whitelist.batch,f5.botdefense.whitelist.list,f5.botdefense.whitelist.remove,f5.botdefense.whitelist.updateFeat: Add
f5.botdefense.override.add,f5.botdefense.override.batch,f5.botdefense.override.list,f5.botdefense.override.remove,f5.botdefense.override.updateFeat: Add
f5.asm.policy.signature.listFeat: Pressing
Ctrl+hshows the help of current commandFeat: More options for
restsh.check.http-headerFeat: Support folders with configuration files
Upd:
f5.cert.bundle.import- Add option to set nameUpd: Improved autocompletion for REST commands
v4.1.0 - 2025-04-25#
Feat: Optional integration of Atuin
Feat: Add
f5.net.dns-resolver.add,f5.net.dns-resolver.delete,f5.net.dns-resolver.get,f5.net.dns-resolver.list,f5.net.dns-resolver.modifyFeat: Use
RESTSH_CUSTOM_ENVenvironment variable to source a custom file fromrestsh.initFeat: Add
gitlab.project.schedules.create,gitlab.project.schedules.delete,gitlab.project.schedules.get,gitlab.project.schedules.list,gitlab.project.schedules.startFeat: Add
gitlab.group.id,gitlab.project.id,gitlab.group.subgroupsFeat: Support pagination for GitLab list functions
Feat: Add
f5.ltm.pool.listFeat: Add
f5.net.vlan.list,f5.net.trunk.listFeat: Add
f5.cluster.traffic-group.ha-group.setFeat: Add
f5.sys.ha-group.create,f5.sys.ha-group.delete,f5.sys.ha-group.get,f5.sys.ha-group.listFeat: Add recursive option to
restsh.util.setvarsFeat: Add
f5.device.disable-setup,f5.device.dns.setFeat: Add
f5.pkg.list,f5.pkg.uninstallFeat: Add
f5.password.change.admin,f5.password.change.rootFeat: Add
f5.do.get,f5.do.get.id,f5.do.resetFeat: Add
f5.device.cert.check,f5.device.cert.csr.create,f5.device.cert.installFeat: Add
f5.sys.snmp.disableFeat: Add
aafw.pipeline.start.task.axscriptsFeat: Allow encrypted variables in
restsh.util.setvarfor simple variablesFeat: Add
gitlab.project.cloneFeat: Add
gitlab.project.pipeline.jobs,gitlab.project.pipeline.variables,gitlab.project.pipeline.latest,gitlab.project.pipeline.latest.jobsFeat: Add wait options for
gitlab.project.pipeline.startFeat: Add
gitlab.project.job.log,gitlab.project.job.artifact,gitlab.project.job.cancel,gitlab.project.job.erase,gitlab.project.job.retry,gitlab.project.job.startUpd: Support subPath for
f5.sys.ifile.create,f5.sys.ifile.delete,f5.sys.ifile.download,f5.sys.ifile.updateUpd:
f5.cert.bundle.importadd option to not add suffixUpd: Add branch option to
gitlab.project.pipeline.listUpd: Add
AcceptHeader to HTTP-Requests.Upd:
aafw.group.clonesupports pull for existing repositories and is renamed togitlab.group.cloneUpd: Add automerge option to
gitlab.mr.create
v4.0.2 - 2025-04-17#
Fix: MO_F5_AS3_INCLUDE_DECLARATION - support empty arrays
Fix: MO_F5_AS3_INCLUDE_DECLARATION - Array values with spaces are incorrectly splited
Fix: MO_INCLUDE_JSON_ENCODE
Fix: MO_INCLUDE_* - handle undefined second argument
Fix: MO_CSV_GET_ENTRY_OR_DEFAULT - print default
v4.0.1 - 2025-04-03#
Fix:
restsh.util.json_validatemark correct lineFix:
scm.csr.signenforce required argumentsFix: Do not add default CERT_CI_STAGE
v4.0.0 - 2025-03-10#
Feat: Add
f5.as3.info,f5.do.info,f5.ts.infoFeat: Add support for Declarative Onboarding pipeline
Feat: Add
f5.asm.policy.signatureset.attach,f5.asm.policy.signatureset.listFeat: Add KV utility to display key/value pairs
Feat: Add
f5.asm.policy.newto create a new policy from a templateFeat:
f5.cluster.config-syncadd force overwrite optionFeat: Add
f5.cluster.getstandbyandf5.cluster.setstandbyFeat: Add initial test suite
Feat: Add Mustache functions
MO_BASE64URL,MO_INCLUDE_BASE64URL,MO_IP_RANGE()Feat: Add
restsh.util.base64urlFeat: Add
restsh.util.check.varnotemptyFeat: Add
aafw.pipeline.start.task.backup,aafw.pipeline.start.task.pkg,aafw.pipeline.start.task.signaturestaging,aafw.pipeline.start.task.asmsettingsFeat: Add
RESTSH_INIT_CMDadd defaults for F5, Next, GitLab and SCMFeat: Add
f5.version,f5.status,gitlab.versionFeat: Add
gitlab.mr.close,gitlab.mr.create,gitlab.mr.list,gitlab.mr.automerge,gitlab.mr.mergeFeat: Add
restsh.check.http-headerFeat: Add
gitlab.branch.new,gitlab.branch.listFeat: Add branch protection options to
aafw.project.newFeat: Add
gitlab.branch.protect.list,gitlab.branch.protect.set,gitlab.branch.protect.deleteFeat: Add skeleton variables for
aafw.project.newFeat: Add
restsh.util.askpassFeat: Add
restsh.util.isencryptedFeat: Add
restsh.util.trimFeat: Add
f5.ltm.vs.lb-detailto show loadbalancing details of a virtual serverFeat: Support path as alternative for id for GitLab groups and projects
Feat: Add
gitlab.project.pipeline.list,gitlab.project.pipeline.startFeat: Add
gitlab.project.variable.delete.allFeat: Add
aafw.pipeline.start.as3,aafw.pipeline.start.cert,aafw.pipeline.start.wafFeat: Add support for OpenAPI-File to
f5.asm.policy.importFeat: Add support for Declarative Onboarding:
f5.do.declareandf5.do.statusFeat: Add option to enforce signatures to
f5.asm.policy.declareandf5.asm.policy.importFeat: Add option to not apply policy to:
f5.asm.policy.declare,f5.asm.policy.import,f5.asm.signaturestaging.disable,f5.asm.signaturestaging.enforce,f5.asm.openapi.importBreaking: Rename
f5.as3.installtof5.pkg.installand add support for DO and TSBreaking:
f5.asm.policy.importoverwrites the policy with same name
v3.0.3 - 2025-04-03#
Fix: Option parsing in
gitlab.group.variable.updateandgitlab.project.variable.update
v3.0.2 - 2025-03-10#
Fix: max_json_policy_size is in KB
Fix:
restsh.util.declare.varuse declareFix:
restsh.util.parseoutputuse argumentFix:
f5.asm.entity.whitelist-ips.removeuse correct argumentFix:
f5.ltm.datagroup.internal.deleteassign FULLPATH
v3.0.1 - 2025-02-14#
Fix:
f5.ltm.datagroup.internal.deleteFix: Do not overwrite global FILENAME variable in
f5.file-transferfunctions
v3.0.0 - 2025-01-20#
Feat: Support of AES256 encrypted
RESTSH_TOKEN_VALUEFeat: Add
f5.asm.signatureset.getFeat: Add
restsh.util.eval_stage_varFeat: Add
f5.sys.db.get,f5.sys.db.listandf5.sys.db.modifyFeat: Add
f5.sys.service.get,f5.sys.service.listandf5.sys.service.restartFeat: Add
f5.asm.advanced-settings.getidFeat: Add
-f <filter>argument to HTTP methods to filter output with jqFeat: Add
gitlab.group.projectsFeat: Add
gitlab.group.variable.copyandgitlab.project.variable.copyFeat: Add
gitlab.group.variable.delete.allFeat: Add
restsh.pwgenFeat: Add module for Axians Automation Framework:
aafwGroups:
aafw.group.clone,aafw.group.newProjects:
aafw.project.init.as3,aafw.project.init.cert,aafw.project.init.tasks,aafw.project.init.waf,aafw.project.new
Feat: Add
restsh.util.ucandrestsh.util.lchelperFeat: Manage GitLab Runners:
gitlab.runner.create,gitlab.runner.listUpd: Improve autocompletion
Fix: Install pandoc in Docker Image
Fix: Add feature detection for curl option “–retry-all-errors” supported since curl version 7.71.0
Fix:
cert.key.createfor encrypted ec private keysFix: Return codes for some scripts
Fix:
f5.asm.policy.auditsupport scientific notation for timestampsFix:
f5.sslreport.generateuse correct options for column and pandocFix:
restsh.util.setvardeclare empty arrays
v2.0.0 - 21.10.2024#
Note: Not setting
RESTSH_MODULESis now deprecated.Feat: Support of AES256 encrypted
RESTSH_PASSandSCM_SECRETFeat: Add
restsh.util.encrypt,restsh.util.decryptFeat: Management for GitLab Project CI/CD Variables
Feat: Resolve variables in
gitlab.group.variable.batchfor valueFeat: Support “-h” help option for all functions
Feat: Add
f5.cluster.standbyFeat: Add
f5.asm.policy.unusedFeat: Add
restsh.util.check.isnumberFeat: Add
gitlab.group.deleteFeat: Add
gitlab.project.deleteFeat: Add JQE - jq exits with 1 on null or false
Upd: Add retry to get task status from F5
Fix:
entity.urls-allowed.jsonFix: Migrate
f5.cluster.setactiveto libFix: Use correct API endpoint for
f5.as3.app.remove
v1.1.0 - 11.09.2024#
Feat: Add
f5.asm.advanced-settingsfunctionsFeat: Sectigo Cert Manager Integration
Feat: More complete F5 REST API autocompletion
Feat: Overhaul private key management
Feat: Overhaul CSR management
Feat: Add
f5.cert.expire
v1.0.0 - 01.08.2024#
Feat: Add certificate csr and key functions
Feat: Add F5 cluster functions
Feat: Add option to enable only specific modules
Upd: Add more REST API endpoints for F5
Upd: Improve http error reporting
Upd:
restsh.util.setvarexports arrays now with ARRAY_ prefixFix: Return only last value in MO_CSV_GET_LAST