diff --git a/CHANGELOG.md b/CHANGELOG.md
index a9b8e29d4b..ddcfc2c8a2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,17 @@
+## [100.41.2](https://github.com/dhis2/capture-app/compare/v100.41.1...v100.41.2) (2023-10-12)
+
+
+### Bug Fixes
+
+* [DHIS2-15827] remove effects of 'Prevent adding new events to stage' action from the form ([#3418](https://github.com/dhis2/capture-app/issues/3418)) ([f17d087](https://github.com/dhis2/capture-app/commit/f17d087f368cf4d6b26923fd5cf4fb15d7795ba2))
+
+## [100.41.1](https://github.com/dhis2/capture-app/compare/v100.41.0...v100.41.1) (2023-10-09)
+
+
+### Bug Fixes
+
+* [DHIS2-15734] assign effect dynamic formId object key ([#3422](https://github.com/dhis2/capture-app/issues/3422)) ([85f242b](https://github.com/dhis2/capture-app/commit/85f242b2b0c6092b46e92f087e21e102a2e1e19d))
+
# [100.41.0](https://github.com/dhis2/capture-app/compare/v100.40.1...v100.41.0) (2023-10-03)
diff --git a/cypress/integration/EnrollmentPage/HiddenProgramStage.feature b/cypress/integration/EnrollmentPage/HiddenProgramStage.feature
index 4e6e427e3e..e13095474a 100644
--- a/cypress/integration/EnrollmentPage/HiddenProgramStage.feature
+++ b/cypress/integration/EnrollmentPage/HiddenProgramStage.feature
@@ -3,5 +3,4 @@ Feature: Hidden program stage
Scenario: The user cannot add an event in a hidden program stage
Given you add an enrollment event that will result in a rule effect to hide a program stage
Then the New Postpartum care visit event button is disabled in the stages and events widget
- And and an error is show in the Postpartum care visit stage
And the Postpartum care visit button is disabled in the enrollmentEventNew page
diff --git a/cypress/integration/EnrollmentPage/HiddenProgramStage/index.js b/cypress/integration/EnrollmentPage/HiddenProgramStage/index.js
index edf6b833bd..f9e5cf69c2 100644
--- a/cypress/integration/EnrollmentPage/HiddenProgramStage/index.js
+++ b/cypress/integration/EnrollmentPage/HiddenProgramStage/index.js
@@ -45,18 +45,6 @@ Then('the New Postpartum care visit event button is disabled in the stages and e
.should('be.disabled');
});
-Then('and an error is show in the Postpartum care visit stage', () => {
- cy.visit(
- '/#/enrollmentEventNew?enrollmentId=fmhIsWXVDmS&orgUnitId=s7SLtx8wmRA&programId=WSGAb5XwJ3Y&teiId=uW8Y7AIcRKA&stageId=bbKtnxRZKEP',
- );
- cy.contains('[data-test="dhis2-uicore-button"]', 'Complete')
- .should('be.disabled');
- cy.contains('[data-test="dhis2-uicore-button"]', 'Save without completing')
- .should('be.disabled');
- cy.contains('[data-test="dhis2-uicore-noticebox-content"]', 'You can\'t add any more Postpartum care visit events')
- .should('exist');
-});
-
Then('the Postpartum care visit button is disabled in the enrollmentEventNew page', () => {
cy.visit(
'/#/enrollmentEventNew?enrollmentId=fmhIsWXVDmS&orgUnitId=s7SLtx8wmRA&programId=WSGAb5XwJ3Y&teiId=uW8Y7AIcRKA',
diff --git a/docs/user/resources/images/first-stage-during-registration.png b/docs/user/resources/images/first-stage-during-registration.png
new file mode 100644
index 0000000000..1baba4bc34
Binary files /dev/null and b/docs/user/resources/images/first-stage-during-registration.png differ
diff --git a/docs/user/using-the-capture-app.md b/docs/user/using-the-capture-app.md
index 1de82958d9..b335b3e7ce 100644
--- a/docs/user/using-the-capture-app.md
+++ b/docs/user/using-the-capture-app.md
@@ -203,8 +203,12 @@ You can set multiple program stages within a program to be auto-generating (this
A program can be configured to automatically take the user to register a new event immediately after enrolling a tracked entity instance. To enable this behavior, the program must have at least one program stage with the "Open data entry form after registration" option checked. If more than one program stage has this option enabled, the first stage will be used.
To configure it, you must follow the steps described in the [Enrollment with auto generated events](#enrollment-with-auto-generated-events) section and then check the option "Open data entry form after enrollment".
-
-![](resources/images/open-data-entry-form-after-enrollment.png)
+
+### Enrollment with first stage on registration page
+
+For tracker programs enable the "First stage appears on registration page" flag in the Maintenance. The enrollment registration page will now display the first program stage the user has access to.
+
+![](resources/images/first-stage-during-registration.png)
#### Active type of event
diff --git a/package.json b/package.json
index fbf2ef4982..64230da5bf 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "capture-app",
"homepage": ".",
- "version": "100.41.0",
+ "version": "100.41.2",
"cacheVersion": "6",
"serverVersion": "38",
"license": "BSD-3-Clause",
@@ -10,7 +10,7 @@
"packages/rules-engine"
],
"dependencies": {
- "@dhis2/rules-engine-javascript": "100.41.0",
+ "@dhis2/rules-engine-javascript": "100.41.2",
"@dhis2/app-runtime": "^3.9.3",
"@dhis2/d2-i18n": "^1.1.0",
"@dhis2/d2-icons": "^1.0.1",
diff --git a/packages/rules-engine/package.json b/packages/rules-engine/package.json
index 411dcf5450..88cc2da714 100644
--- a/packages/rules-engine/package.json
+++ b/packages/rules-engine/package.json
@@ -1,6 +1,6 @@
{
"name": "@dhis2/rules-engine-javascript",
- "version": "100.41.0",
+ "version": "100.41.2",
"license": "BSD-3-Clause",
"main": "./build/cjs/index.js",
"scripts": {
diff --git a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/ErrorText.component.js b/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/ErrorText.component.js
deleted file mode 100644
index a885a48a6d..0000000000
--- a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/ErrorText.component.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// @flow
-import React from 'react';
-import i18n from '@dhis2/d2-i18n';
-import { NoticeBox } from '@dhis2/ui';
-import type { Props } from './ErrorText.types';
-
-export const ErrorText = ({ stageName }: Props) => (
- <>
-
-
- >
-);
diff --git a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/ErrorText.types.js b/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/ErrorText.types.js
deleted file mode 100644
index 07785c7e1a..0000000000
--- a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/ErrorText.types.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// @flow
-
-export type Props = {|
- stageName: string,
-|};
diff --git a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/index.js b/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/index.js
deleted file mode 100644
index 2b26086840..0000000000
--- a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/ErrorText/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-// @flow
-export { ErrorText } from './ErrorText.component';
diff --git a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/FinishButtons/FinishButtons.component.js b/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/FinishButtons/FinishButtons.component.js
index 1c0a36c1c8..465f807ace 100644
--- a/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/FinishButtons/FinishButtons.component.js
+++ b/src/core_modules/capture-core/components/WidgetEnrollmentEventNew/FinishButtons/FinishButtons.component.js
@@ -3,7 +3,6 @@ import React, { type ComponentType } from 'react';
import i18n from '@dhis2/d2-i18n';
import { withStyles } from '@material-ui/core';
import { Button, spacersNum } from '@dhis2/ui';
-import { ConditionalTooltip } from 'capture-core/components/ConditionalTooltip';
import { withCancelButton } from '../../DataEntry/withCancelButton';
import { addEventSaveTypes } from '../DataEntry/addEventSaveTypes';
import type { InputProps, Props } from './finishButtons.types';
@@ -18,40 +17,17 @@ const styles = {
},
};
-const FinishButtonsPlain = ({ onSave, cancelButton, hiddenProgramStage, stageName, classes }: Props) => (
+const FinishButtonsPlain = ({ onSave, cancelButton, classes }: Props) => (