Articles by Apoorv Tiwari

Breaking changes in Cypress 10.0

Cypress version 10.0 was released last month with a lot of new features, changes, bug fixes, and deprecations.

Cypress 9.3.0 added .selectFile() command to select files

Cypress introduced native support for file upload and selecting files in an HTML5 input element.

Cypress 9.0.0 will throw an error on adding existing commands

Adding an existing command with Cypress.commands.add() will throw an error indicating that overwrite should be used in these situations instead.

cy.pause() now pauses test while running cypress run --headed --no-exit

cy.pause() will not be ignored and pause a test when --headed and --no-exit flags are passed to cypress run.

Cypress 8.6.0 adds overwrite option to cy.screenshot

Cypress introduced the overwrite:true as an option to cy.screenshot() command to overwrite existing screenshots with the same file name.

Cypress version 8.5.0 adds select by index

Cypress introduced the feature to select an option by index within the .select() command.

ECMAScript 2021 introduces Promise.any() and AggregateError

ECMAScript 2021 introduces Promise.any() method which accepts an iterable of promises and waits for the first promise to fulfill, and its result becomes the outcome. If all the passed promises are rejected, it returns an AggregateError.

ECMAScript 2021 introduces replaceAll method and numeric separators

ECMAScript 2021 introduces the replaceAll() method to replace all occurrences of a substring in a string with another string and numeric separators to allow a separator character between digits.

Rails 7 provides context when logging unpermitted parameters

Rails 7 enables passing context to ActionController::Parameters providing more information to the developer.

Rails 7 enables scoping to apply to all queries

Rails 7 allows passing all_queries option to the scoping method. This change allows the scoping method to work on all queries for a model in a block.