All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Changed
- CAP Version 7.9.0
- SAPUI5 to version 124.0
- Added @cap-js/telemetry that is activated when the command is in debug
- Switch to @cap-js/hana for the CAP HANA DB implementation
Changed
- Update btpSubs and bas commands to support SAP Build Code. Will launch Build Code Lobby when subscribed.
- Beta Support for HANA Vector data type in CDS
- General Support for HANA Vector Engine at the DB/SQL level
- CAP Version 7.8.0
- SAPUI5 to version 122.0
Changed
- CAP Version 7.7.0
- SAPUI5 to version 121.0
Changed
- Mass Convert of Tables to CDS if you use Pure Catalog Definitions, it will output sql append content
- Table inspect to CDS if you choose no Persistence Exists, it will output sql append content
Changed
- CAP version 7.6.0
- Fix cds bind auth on the cds command
- Upgrade Inquirer
Changed
- CAP version 7.4.0
- Restore openapi export with fix for CAP 7.x
- Remove node-xlsx and corresponding Export to Excel because this module is causing install issues on Business Application Studio
Changed
- CAP version 7.3.0
- Major upgrade to Marked for conversion from Markdown in the documentation commands
- Update to SAPUI5 1.120.1
- Fix Issue #115 and #116 around the btp-cli commands
Changed
- CAP version 7.2.0
- New Node.js minimum version of 18. 16 is end of life
- Load HANA Connection via CDS Env API and profile Hybrid instead of direct binding with cds-dk
- cds bind based connections are MUCH faster after the first call
- PostgresSQL and SQLite support on key commands thanks to CDS abstraction
- Commands: tables and querySimple support profile based access and db abstraction
Changed
- CAP version 7.1.2
- Fixed Web Socket Error Handling
- Upgrade to SAPUI5 1.117.1
- Fix Issue #111 - add checks on container and group names for createContainer
- Complete Issue #83 - add support for SQL and Calculation view parameters
Changed
- Major new CAP version 7.0.2
- New minimum Node.js version of 16
- Tested and supported on Node.js 20.x
Changed
- First round of new unit tests
Changed
- Update CAP to March 2023 and SAPUI5 to 1.112.1
Changed
Changed
Changed
- External Dependency Updates - CDS to 6.6.0 (Feb 2023 Update) and SAPUI5 to 1.111.0
- Switch to Glob 9.x
- Fix CDS Exit Handler
Changed
- Complete Feature Request Issue 100 Add Views to massConvert
- Equalize the interface and parameters between inspectTable and inspectView
- Add new parameters to massConvert to allow logging errors and continue processing rather than stopping on error
- Add list Views to the Web UI
- Add inspectView to the Web UI
- Add link between Views and inspectView in the Web UI
- External Dependency Updates - CDS-DK to 6.5.2 and SAPUI5 to 1.110.1
- Add progress bar to the massConvert command in the terminal
- Add new fancy table output based upon terminal-kit
Changed
- Fix Issue 102 cds compile to sqlite no longer supports quoted
Changed
- Change CDS DEFAULT delimited identifier Issue 98
Changed
- Lazy Load dependent modules to reduce initial command processor boot time - 10x performance improvement
- CAP Upgrade to Jan 2023 - 6.5.0 version
- Switch to @json2csv/node as json2csv is abandoned
- New 'sub' command to list all active BTP Subscriptions and their URLs
- New 'btpInfo' command to list detailed information about th btp CLI target
- New 'issue' command to create GitHub issue preloaded with technical details
- version command now returns information about @sap/cds-dk, the cf cli, and the btp cli
Changed
- Add support for using btp CLI
- Allows managing HANA Cloud instances that are multi-environment (not managed by Cloud Foundry) - hc, start, stop commands
- New command: bas - Allows launch the Business Application Studio from the hana-cli
- New command: btp - Add helper to target BTP Sub Account
- Improved HANA Cloud Information Formatting
- Use BTP CLient Config Environment Variable
- Parallel Loading of all cli commands for performance improvements
- Updated devcontainer configuration
- Proper handling if btp CLI is not installed on target machine
- Fix btp CLI config lookup on Linux
Changed
- CAP December 2022 Release
- Switch to @cap-js/graphql Open Source GraphQL Adapter
- SAPUI5 to version 109.3
Changed
- Remove the quoted naming as the default and instead put it behind an optional parameter Issue #90
- CAP October 2022 Release
- SAPUI5 to version 109.0
- New Node.js minimal version is 14.18
Changed
- CAP September 2022 Release
- SAPUI5 to version 107.0
- Support New CAP Integer Types - TINYINT UInt8 and SMALLINT Int16
- Support for Postgres in Inspect Table and View
- Default Values Support Issue #87
Changed
- Fix for Calculation Views when Non-Qualified Name - / instead of ::
- Add support for useExists default to true. Allows you choose during inspect and massConvert if you want the persistence exists annotations on the output. Issue 84
Changed
Changed
- Update Dependencies
- First version of support for Calculation View metadata in inpsectView - no input parameters yet
- Update to SAPUI5 1.106
Changed
- Update to SAP Cloud Application Programming Model 6.1
- Adjust cds command read exit logic for changes in 6.1
- Update to SAPUI5 1.105
Changed
- Update to SAP Cloud Application Programming Model 6.0 (including switch to GraphQL GA version as well as other technical optimizations)
Changed
- Add connection support for
cds bind
and the resulting.cdsrc-private.json
. Note this will make each command take a few seconds longer as credentials are no longer stored locally but looked up from cf or k8s dynamically with each command
Changed
- Issue 74 fixed by Meyer-J
- Issue 75 fixed by Meyer-J
- Initial support for Node.js 18. Technically some of the inner modules don't support 18. We've tested many scenarios of this tool with 18. Use at your own risk.
- Minor dependency updates
Changed
- Add support for container groups by Meyer-J
- Remove support for Node.js 12 as it is End of Life as of the end of April 2022
- Minor dependency updates
Changed
- Update to CAP March 2022 5.9
- Update to SAPUI5 1.100
- Web UI now uses OS setting and adjusts to dark theme - new sap_horizon_dark
Changed
- Fix for connect and incorrect options format for hdb module
- CDS output escape quotes within comments
Changed
- Various minor dependency updates in used packages
- SAPUI5 update to 1.99.0
Changed
- Update @sap/cds to Feb 2022 release - 5.8.0
- inspectTable and inspectView now support graphQL output (CDS Experimental Option)
- systemInfo new output options - env (display environment connection as JSON) or dbx (display connection details ready to input in the new Database Explorer VSCode Extension)
Changed
- Major New Version: Remove dependency upon @sap/hdbext and @sap/hana-client. Replaced with smaller footprint hdb module.
Changed
- Update the Web UI Web Assistant feature to work with the experimental SAP Horizon theme
- GraphQL option of cds command now fully works and cross references entity name in the exit correctly
Changed
- Fix Issue #66 - account for different return JSON in cf service-key depending upon if the cf cli is ver 7 or ver 8
Changed
- Replace Node.js module colors with chalk https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
Changed
- Updates to support SAP BTP Free Tier and the hana-free service plan
- createModule command update package.json it produces to support newer versions of Node.js
- Version dependency updates @sap/hdbext 7.5, @sap/hana-client 2.11.14, @sap/cds to 5.7.4 and SAPUI5 to 1.97.1
Changed
- Upgrade dependencies @sap/hdbext 7.4.1, @sap/hana-client 2.10.20, @sap/cds to 5.6.4 and SAPUI5 to 1.96.1
- Add first support for GraphQL Experimental (queries don't exit and cross reference table name yet)
- Switch to SAP_HORIZON new visual theme
- Support for Node.js 16.x although you might see some warnings for inner packages upon install
Changed
- Upgrade dependencies @sap/hdbext 7.4, @sap/hana-client 2.10.x, @sap/cds to 5.5.5 and SAPUI5 to 1.95.0
Changed
- Tested and made fixes for upcomming Node.js 16.x support. Tested under Node.js 16.9.0. You can use with Node.js 16, but will receive installation warnings and a warning on each command as the inner SAP supplied modules are technically not validated or supported yet on Node.js 16. However my local tests have been sucessful after some minor code changes. We will offically support Node.js 16 as soon as key SAP inner modules do as well
- Upgrade dependencies @sap/cds to 5.4.4 and SAPUI5 to 1.94.0
- New Command querySimpleUI - browser based UI for executing single SQL Statements
Changed
- Added status of hana cloud instance to output of command hc by sbarzaghialteaup Pull Request 64
- Optimize performance for the inspectTable feature in the Browser based UI
- Switch to the UI5 CodeEditor for output in the inspectTable command in the Browser
Changed
- querySimple Export to CSV Format feature added by sbarzaghialteaup
- Update Dependencies - especially HANA Client to 2.9.28
- Update to SAPUI5 1.93.0
- Convert entire project to ECMAScript Modules (ESM) - this is a massive internal change and we appologize in advance if it results in any instablity. If you hit any issues please report then you can target specifically the last version until they are resolved
Changed
- Update dependencies - especially SAP Cloud Application Programming Model to 5.4.1
- Trimmed several unused dependencies in an effort to keep hana-cli as slim as possible
- Remove @sap/cds-dk as a direct dependency. To use the openAPI features in commands like inspectTable, inspectView or cds; you must have @sap/cds-dk globally. But most development environments where this option would be used should already have @sap/cds-dk installed this way. Remove many unneded depenencies and duplicated modules from hana-cli most importantly removing the sqlite3 depenency that was never used but caused lots of install issues.
- New Browser UI for indexesUI and inspectTableUI
Changed
- Add a devcontainer configuration to allow contributors or testers of this project to start in a remote container or CodeSpaces with all necessary tools (like cf, @sap/cds-dk, etc) and VSCode extensions preinstalled. https://code.visualstudio.com/docs/remote/containers and https://docs.github.com/en/codespaces/customizing-your-codespace/configuring-codespaces-for-your-project
- Improved error handling in the Browser Based UI especially during start up scenarios where a default-env.json or equivelant is missing.
- Add Web Assistant embedded help and changelog
- Add full in-app assistance for massConvert command
Changed
- Add node.js engines version check on startup and output a warning if there is a mismatch based upon the engines specification in package.json
- Add busy indicator in browser based UI
- massConvert to HDBTABLE or HDBMIGRATIONTABLE with the useCatalogPure option now removes CS_* Types from the output for compatibility with target SAP HANA Cloud systems
- massConvert to HDBTABLE or HDBMIGRATIONTABLE without the useCatalogPure option also includes associations now. However when coming from HDBCDS based sources the column names contain dots which are incompatible with CAP CDS. The associations will still have the old column names while the rest of the table defition must replace the dot with underscore or recieve CDS Compiler errors. I will leave this functionality in place, although imperfect. If you have associations in your source system, strongly consider using the useCatalogPure option instead.
- Added new commands featuresUI, featureUsageUI, functionsUI, hdiUI, sbssUI, schemaInstancesUI, schemaInstancesUI, securestoreUI, and upsUI
Changed
- version command returned error due to change in latest-version. Reverted to old version of the module
- Rebuilt npm shrinkwrap due to some install errors with Sqlite3 - errors can be ignored as they don't impact hana-cli but still rather not show errors if possible
Changed
- Allow quoted names in massConvert when the target is HDBTABLE
- UI theme (light or dark) will now adjust automatically to user's OS setting
- New commands: containersUI, dataTypesUI, schemasUI, and tablesUI
- Refactored list operations (like schemas, tables, etc) to allow them to be reused in the new Browser UI
Changed
- Upgrade to @sap/cds 5.3.1, @sap/hana-client 2.9.23, @sap/hdbext 7.3.0, and sap-hdbext-promisifed 2.202107.1
- Major addition of new browser based UIs for certain complex commands. First focus is on the massConvert command. No new external depencencies. We launch Express web server from the CLI and then open the web browser. You can complete the command with visual options, value help and extended documentation. Command is still executed in the CLI and the output is piped to the web broswer using web sockets.
- New commands: massConvertUI, systemInfoUI, changesUI, readMeUI, and UI (last one opens a LaunchPad with tiles for all the other commands)
Changed
- Upgrade to @sap/cds 5.3.0 and @sap/xsenv 3.1.1
- Upgrade SAPUI5 version to 1.91.1
- Change cds command READ exit to req.reply instead of returning the query itself
Changed
- massConvert - change
require('fs/promises')
torequire('fs').promises
for compatibility with Node 12.x - see Update fs.md #35740
Changed
- New commands schemaInstances, securestore, and sbss to list cf/xs services instances of these plan types
Changed
- Merge mass rename from @ThePlenkov
- Fix Issue with connecting to XS Advance Database #53
- Remove warning during HDI deploy from db module created with createModule due to reference to afllangprocedure in the generated .hdiconfig
Changed
- New functionality for massConvert command to also generate hdbsynonyms. Generate hdbsynonyms along with CDS for massConvert operation #48 - thanks to @ThePlenkov
- Add no colons mode for massConvert. This is an option to remove :: from namespaces which would complicate usage from CAP CDS. :: will be replaced by dot. no colons mode for massConvert #50 - thanks to @ThePlenkov
- Exclude user defined types from generated CDS in massConvert - thanks to @ThePlenkov
- cds command wasn't using the new connection information lookup logic
Changed
- Added hana client disconnect at error and normal end conditions to avoid segmentation fault in WSL and slightly older versions of Node.js - thanks to sbarzaghialteaup
- First round of TypeScript types inclusion - more to come. Will mostly help project maintainers
Changed
- Missing npm shrinkwrap in last release
- Improved details in thrown errors and added debug info from util/cf and util/xs
- hana-cli version now reports latest avaialble version on npm and propmpts users to upgrade if they are outdated
Changed
- @cds dependency updated to May 2021 release 5.1.4
- Update cds preview to UI5 1.89.0
- cds preview new parameter to allow use to choose HTTP port (and validate that input)
- Issue #42 Optional namespace for generated cds - thanks to @ThePlenkov
- serviceKey command no longer requires to pre-create the service key. If the key you specify doesn't exist it will call cf/xs create-service-key for you automatically Issue #41
- Increase the page size for the xs/cf services commands (ups and hdi) Issue #40
Changed
- Issue #39 - Add support for HANA XSA in the UPS and HDI commands
- Issue #38 - Add support for hdbmigrationtable in massConvert and inspectTable
- Add option useCatalogPure to massConvert command. Defaults to false and uses the cds.compile api to produce its hdbtable or hdbmigrationtable output. When set to true it will instead use the HANA SYS.GET_OBJECT_DEFINITION which includes more metadata but might produce results which are incompatible with HDI
- Remove the Schema from output of massConvert commands
Changed
- Upgraded dependencies @sap/cds to 5.1, @sap/hana-client to 2.8.20, and @sap/hdbext to 7.2.0
- Add User Admin and Role Admin grants to the adminHDI and adminHDIGroup commands for XSA
Changed
- quiet output added to most commands allowing for a wide range of scripted usage of the tool overall
Changed
- copy2DefaultEnv fix to support hanatrial (old HaaS offering) but produce a warning that people should consider using SAP HANA Cloud trial instead
- Fix not a function error in inspectView with output option of openapi
- swagger-jsdoc output format, which is actually commented YAML version of openAPI, added to inspectTable and inspectView
Changed
- Match the @sap/hdbext and @sap/hana-client versions exactly to remove duplicate copies of the HANA Client in node_modules removing about 135Mb from the footprint of this tool overall
- Major internal refactoring to streamline the code and reduce duplication. Reusable base code for basic handling of Yargs and Prompts. Consistent error handling and other general stability improvments
- The default-env*.json file no longer needs to be in the same directory in which you are running the command. If not found in the current directory, the tool will search in up to 5 parent directories to find it
- New parameter --conn added to most commands that allow you specify any filename you want to override the default-env.json. conn can specify a file in the current directory, up to 5 parent directories or in your ${homedir}/.hana-cli/ folder
- New parameter --quiet that disables extra output and human readable formatting for when you want to script commands and get pure results output
- New parameter --debug - for troubleshooting of the hana-cli tool itself. It will produce a LOT of detailed output. Nice if you are curious what queries are being sent to SAP to fullfill a command
- Options in the help are now grouped by Conneciton Parameters, Troubleshooting, and Options
- New order of processing for making connections as follows:
- First we look for the Admin option and use a default-env-admin.json - this overrides all other parameters
- If no admin option or if there was an admin option but no default-env-admin.json could be found in this directory or 5 parent directories then look for a .env file in this directory or up to 5 parent directories
- No .env file found or it doesn't contain a VCAP_SERVICES section, then check to see if the --conn parameter was specified. If so check for that file in the current directory or up to 5 parent directories
- If the file specified via the --conn parameter wasn't found locally then check for it in the ${homedir}/.hana-cli/ folder
- If no specific configuration file was was found then look for a file named default-env.json in the current directory or up to 5 parent directories
- Last resort if nothing has been found up to this point - look for a file named default.json in the ${homedir}/.hana-cli/ folder
- Add Syntax Highlighting to various command outputs
Changed
- New Inspect* output options for sqlite, hdbtable, hdbview and hdbcds
- Upgrade to @sap/cds 5.x
- Drop support for Node.js version 10
- cds preview updated to SAPUI5 1.88.1
- connect command now prompts for Encyrypt setting
Changed
- New command copy2Secrets to rewrite default-env.json as K8S Secrets format expected by @sap/xsenv - Pull Request 35
- thanks to @ThePlenkov
Changed
- querySimple now allows output to a file and supports table, json, and Excel output formats Issue #30
- README.md was reorganized to list all commands alphabetical Issue [#31](https: //github.com//issues/31)
Changed
- Option to massConvert, inspectTable, inspectView, and cds to use HANA native data types if no CAP CDS direct conversion can be made. Issue #27 - thanks to @ThePlenkov
- Decimal types without decismals generates CDS Error. Issue #29 - thanks to @ThePlenkov
Changed
- New commands: changes & readme - output the CHANGELOG.md and README.md to the CLI
- Issue #25 - Add filename option to massConvertion Operation - thanks to @ThePlenkov
- Updated several dependent modules including hana-client
- Put hana-cli on a diet and removed some old module dependencies no longer used. Especially the openAPI related ones which had functionality now offered by CAP directly
- help command now lists all commands in alphabetical order
Changed
- HANA 1.0 Support - Issue #22
Changed
- Updated @sap/textbundle
- Add readme command that opens ReadMe Documentation in your browser
- Add changelog command that opens Change Log in your browser
- Formatting of output copy2DefaultEnv improved for compatibility to CAP cds run
- New command copy2Env - copy default-env.json to .env and reformat contents
- Support for HANA Cloud Instance Administration - requires cf cli to be installed and you must be logged into cf with a target org and space
- Added Command: hdi to list all SAP HANA Cloud HDI container instances in your target space
- Added Command: ups to list all Cloud Foundry user provided service instances in your target space
- Switch to the standard CAP Compile to openAPI in inspectTable, inspectView and cds commands. Now supports entity diagrams in the Swagger UI
Changed
- Updated @sap/cds to 4.5.x
- Support for HANA Cloud Instance Administration - requires cf cli to be installed and you must be logged into cf with a target org and space
- Added Command: hc to list all SAP HANA Cloud instances in your target space
- Added Command: hcStart to Start SAP HANA Cloud instance
- Added Command: hcStop to Stop SAP HANA Cloud instance
Changed
- serviceKey cf default was incorrect
Changed
- Renaming to match new SAP Business Technology Platform branding
- Minor dependent package version updates
Changed
- Default value on createModule command changed to SAP HANA Cloud
- Remove postinstall build script from SAP HANA Cloud option - only needed in SAP Web IDE
Changed
- Update @sap/hana-client to v2.7.16, @sap/cds to 4.4.7 and sap-hdbext-promisfied to 2.202101
- Correct dump if you run hana-cli with no commmand, no defaults to help command
- Correct error when using .env for connections and there are multiple SAP HANA and User Provided Services both in the configuration
- Correct openDBX command in SAP Business Application Studio when using .env for connections
- Node.js 14.x support
- New command copy2DefaultEnv - which copies a .env file to default-env.json and reformats the content. Designed for SAP Business Application Studio and the HANA tooling where a .env file is generated by a binding but CAP still requires a default-env.json for testing