Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions .changeset/aws-sdk-migration.md

This file was deleted.

18 changes: 0 additions & 18 deletions .changeset/fix-rabbitmq-heartbeat.md

This file was deleted.

11 changes: 0 additions & 11 deletions .changeset/stale-brooms-count.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/thick-trees-punch.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/tough-pears-drop.md

This file was deleted.

49 changes: 48 additions & 1 deletion packages/pushkin-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,53 @@
# pushkin-cli

## 5.0.0

### Major Changes

- [#373](https://github.com/pushkin-consortium/pushkin/pull/373) [`1d5f32e`](https://github.com/pushkin-consortium/pushkin/commit/1d5f32e165194c2d68effb772609e1649372697a) Thanks [@cherriechang](https://github.com/cherriechang)! - Complete AWS Fargate deployment modernization and critical bug fixes

This major update completely modernizes the AWS deployment infrastructure with critical bug fixes and improvements:

**Breaking Changes:**
- Migrated from AWS CLI to AWS SDK v3 for all AWS operations
- Standardized database configuration to use `url` instead of `host` throughout

**Critical Bug Fixes:**
- Fix #364: Replace localhost with Service Discovery DNS for RabbitMQ in Fargate awsvpc networking mode
- Fix #363: RabbitMQ passwords now persist across multiple deployments (idempotent behavior)

**New Features:**
- Added AWS Cloud Map (Service Discovery) support for ECS Fargate service-to-service communication
- Improved DNS handling with subdomain fallback to parent hosted zones
- Enhanced OAC (Origin Access Control) handling with retry logic
- Added comprehensive CloudWatch logging for ECS tasks
- Improved database connection reliability with exponential backoff retry logic

**Improvements:**
- Complete JSDoc documentation for all AWS-related functions
- Better error messages and logging throughout deployment process
- Standardized async/await patterns for better error handling
- Improved security group and VPC configuration handling
- Enhanced RDS instance management with proper wait conditions

**Infrastructure Updates:**
- Modernized all AWS service clients (S3, CloudFront, RDS, ECS, EC2, Route53, etc.)
- Better handling of AWS resource lifecycle (create, update, delete)
- Improved idempotency for AWS resource creation
- Enhanced cleanup with aws armageddon command

This update has been manually tested on AWS Fargate deployments and significantly improves the reliability and maintainability of AWS infrastructure management.

### Patch Changes

- [#406](https://github.com/pushkin-consortium/pushkin/pull/406) [`7a704f2`](https://github.com/pushkin-consortium/pushkin/commit/7a704f2e2d321974481bb41e16384f5686775118) Thanks [@becky-gilbert](https://github.com/becky-gilbert)! - **Bug Fix:**
Fix Docker COPY error when running pushkin prep on a site with no experiments installed.
Fix TypeError that can be thrown when pushkin prep fails to set up the database.
Fix pushkin prep failure that results from orphaned database volumes.

**Improvements:**
Improve error catching/handling for docker build commands.

## 4.2.1

### Patch Changes
Expand Down Expand Up @@ -43,7 +91,6 @@
### Patch Changes

- [#305](https://github.com/pushkin-consortium/pushkin/pull/305) [`ffba8bb`](https://github.com/pushkin-consortium/pushkin/commit/ffba8bbbb62d901d271655d71453f95648d5f5aa) Thanks [@jessestorbeck](https://github.com/jessestorbeck)! - - Fixed issue where workers for experiments including capital letters would not be deleted by `rm exp --mode delete`.

- Fixed issue where it was possible to create two experiments which would yield workers with the same name.

- [#310](https://github.com/pushkin-consortium/pushkin/pull/310) [`81d9aab`](https://github.com/pushkin-consortium/pushkin/commit/81d9aab753b85d05d8ad572329803fbdfaa2279f) Thanks [@jessestorbeck](https://github.com/jessestorbeck)! - - Added logic to front end's `config.js` to automatically detect use in GitHub Codespaces and appropriately set API endpoints
Expand Down
2 changes: 1 addition & 1 deletion packages/pushkin-cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "pushkin-cli",
"version": "4.2.1",
"version": "5.0.0",
"description": "A CLI for automating basic Pushkin tasks",
"main": "build/index.js",
"files": [
Expand Down
22 changes: 21 additions & 1 deletion packages/pushkin-worker/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
# pushkin-worker

## 3.1.1

### Patch Changes

- [#376](https://github.com/pushkin-consortium/pushkin/pull/376) [`a5290a0`](https://github.com/pushkin-consortium/pushkin/commit/a5290a03af2be7edf8d17b0fc0b08f5c6c796241) Thanks [@cherriechang](https://github.com/cherriechang)! - Fix RabbitMQ heartbeat timeout causing worker crashes

**Bug Fix:**
- Resolves "Heartbeat timeout" errors that prevented experiment workers from completing database operations
- Workers would crash with "Error: Heartbeat timeout at Heart.<anonymous>" during experiment execution

**Changes:**
- Added `heartbeat: 30` configuration to `amqp.connect()` in pushkin-worker to send heartbeats every 30 seconds
- Upgraded RabbitMQ from version 3.6 to 3.12 in docker-compose.dev.yml template
- Added `RABBITMQ_HEARTBEAT: '30'` environment variable to RabbitMQ service configuration

**Impact:**
This fix ensures stable RabbitMQ connections during long-running experiment tasks and prevents connection timeouts that were blocking database persistence of user data and experiment results.

- [#373](https://github.com/pushkin-consortium/pushkin/pull/373) [`2dcff8c`](https://github.com/pushkin-consortium/pushkin/commit/2dcff8c29f7a8113f93b02b81f49f547cb4aff42) Thanks [@cherriechang](https://github.com/cherriechang)! - **Bug Fix:**
Fix bug that caused a race condition between adding a user to the database when the experiment starts and adding stimulus/response data that references that user.

## 3.1.0

### Minor Changes

- [#359](https://github.com/pushkin-consortium/pushkin/pull/359) [`44d9667`](https://github.com/pushkin-consortium/pushkin/commit/44d9667138989717ac13f9f5144e236386ccc3d3) Thanks [@jessestorbeck](https://github.com/jessestorbeck)! - Pushkin helper packages have been updated to support new API endpoints for showing experiment feedback to participants. The client methods of interest which are used in the experiment's results page are:

- `getPercentileRank(userID, experiment)` for fetching the percentile rank of a participant in an experiment
- `getExpData(userID, experiment)` for fetching all of a participant's data for an experiment
- `getModelPrediction(modelInput, modelPath)` for fetching a prediction from a Python model in the experiment's worker component
Expand Down
2 changes: 1 addition & 1 deletion packages/pushkin-worker/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "pushkin-worker",
"version": "3.1.0",
"version": "3.1.1",
"description": "A basic starter worker used to communicate between a Pushkin API and databases",
"main": "build/index.js",
"files": [
Expand Down
7 changes: 7 additions & 0 deletions templates/experiments/basic/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @pushkin-templates/exp-basic

## 6.3.1

### Patch Changes

- [#383](https://github.com/pushkin-consortium/pushkin/pull/383) [`15ad62a`](https://github.com/pushkin-consortium/pushkin/commit/15ad62a502b2839c808f373e7850214554e2934d) Thanks [@becky-gilbert](https://github.com/becky-gilbert)! - **Bug Fix:**
Fix logic error that caused the post-experiment feedback page to show the "Oops! Something went wrong" message when the percentile rank and/or summary stat values was 0, which are valid values. Now it checks for null/undefined.

## 6.3.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion templates/experiments/basic/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pushkin-templates/exp-basic",
"version": "6.3.0",
"version": "6.3.1",
"description": "A Pushkin experiment template containing a 'Hello, world!' jsPsych timeline. This should probably be your starting point for creating a custom experiment.",
"keywords": [
"pushkin",
Expand Down
7 changes: 7 additions & 0 deletions templates/experiments/grammaticality-judgment/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @pushkin-templates/exp-grammaticality-judgment

## 6.3.1

### Patch Changes

- [#383](https://github.com/pushkin-consortium/pushkin/pull/383) [`15ad62a`](https://github.com/pushkin-consortium/pushkin/commit/15ad62a502b2839c808f373e7850214554e2934d) Thanks [@becky-gilbert](https://github.com/becky-gilbert)! - **Bug Fix:**
Fix logic error that caused the post-experiment feedback page to show the "Oops! Something went wrong" message when the percentile rank and/or summary stat values was 0, which are valid values. Now it checks for null/undefined.

## 6.3.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion templates/experiments/grammaticality-judgment/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pushkin-templates/exp-grammaticality-judgment",
"version": "6.3.0",
"version": "6.3.1",
"description": "A Pushkin experiment template containing a jsPsych grammaticality-judgment timeline.",
"keywords": [
"pushkin",
Expand Down
7 changes: 7 additions & 0 deletions templates/experiments/lexical-decision/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @pushkin-templates/exp-lexical-decision

## 6.3.1

### Patch Changes

- [#383](https://github.com/pushkin-consortium/pushkin/pull/383) [`15ad62a`](https://github.com/pushkin-consortium/pushkin/commit/15ad62a502b2839c808f373e7850214554e2934d) Thanks [@becky-gilbert](https://github.com/becky-gilbert)! - **Bug Fix:**
Fix logic error that caused the post-experiment feedback page to show the "Oops! Something went wrong" message when the percentile rank and/or summary stat values was 0, which are valid values. Now it checks for null/undefined.

## 6.3.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion templates/experiments/lexical-decision/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pushkin-templates/exp-lexical-decision",
"version": "6.3.0",
"version": "6.3.1",
"description": "A Pushkin experiment template containing a jsPsych lexical-decision timeline.",
"keywords": [
"pushkin",
Expand Down
7 changes: 7 additions & 0 deletions templates/experiments/self-paced-reading/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @pushkin-templates/exp-self-paced-reading

## 6.3.1

### Patch Changes

- [#383](https://github.com/pushkin-consortium/pushkin/pull/383) [`15ad62a`](https://github.com/pushkin-consortium/pushkin/commit/15ad62a502b2839c808f373e7850214554e2934d) Thanks [@becky-gilbert](https://github.com/becky-gilbert)! - **Bug Fix:**
Fix logic error that caused the post-experiment feedback page to show the "Oops! Something went wrong" message when the percentile rank and/or summary stat values was 0, which are valid values. Now it checks for null/undefined.

## 6.3.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion templates/experiments/self-paced-reading/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pushkin-templates/exp-self-paced-reading",
"version": "6.3.0",
"version": "6.3.1",
"description": "A Pushkin experiment template containing a jsPsych self-paced-reading timeline.",
"keywords": [
"pushkin",
Expand Down
23 changes: 18 additions & 5 deletions templates/sites/basic/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# @pushkin-templates/site-basic

## 1.2.1

### Patch Changes

- [#376](https://github.com/pushkin-consortium/pushkin/pull/376) [`a5290a0`](https://github.com/pushkin-consortium/pushkin/commit/a5290a03af2be7edf8d17b0fc0b08f5c6c796241) Thanks [@cherriechang](https://github.com/cherriechang)! - Fix RabbitMQ heartbeat timeout causing worker crashes

**Bug Fix:**
- Resolves "Heartbeat timeout" errors that prevented experiment workers from completing database operations
- Workers would crash with "Error: Heartbeat timeout at Heart.<anonymous>" during experiment execution

**Changes:**
- Added `heartbeat: 30` configuration to `amqp.connect()` in pushkin-worker to send heartbeats every 30 seconds
- Upgraded RabbitMQ from version 3.6 to 3.12 in docker-compose.dev.yml template
- Added `RABBITMQ_HEARTBEAT: '30'` environment variable to RabbitMQ service configuration

**Impact:**
This fix ensures stable RabbitMQ connections during long-running experiment tasks and prevents connection timeouts that were blocking database persistence of user data and experiment results.

## 1.2.0

### Minor Changes
Expand All @@ -25,7 +43,6 @@
- [#334](https://github.com/pushkin-consortium/pushkin/pull/334) [`66b4edb`](https://github.com/pushkin-consortium/pushkin/commit/66b4edb90d1026b1f78f49b8cd303f31a05a7584) Thanks [@dependabot](https://github.com/apps/dependabot)! - Bump @babel/traverse from 7.10.5 to 7.24.1

- [#337](https://github.com/pushkin-consortium/pushkin/pull/337) [`4188d63`](https://github.com/pushkin-consortium/pushkin/commit/4188d63b4111856c0475fea80a9d6ea3b54d0528) Thanks [@dependabot](https://github.com/apps/dependabot)! - Bump API dependencies:

- json5 from 2.1.3 to 2.2.3
- decode-uri-component from 0.2.0 to 0.2.2

Expand All @@ -40,12 +57,10 @@
- [#308](https://github.com/pushkin-consortium/pushkin/pull/308) [`b028ea9`](https://github.com/pushkin-consortium/pushkin/commit/b028ea9eb9214839e7bed54db1e1eff699d48935) Thanks [@dependabot](https://github.com/apps/dependabot)! - Bump @babel/traverse from 7.10.5 to 7.24.1 in /templates/sites/basic/src/pushkin/front-end

- [#310](https://github.com/pushkin-consortium/pushkin/pull/310) [`81d9aab`](https://github.com/pushkin-consortium/pushkin/commit/81d9aab753b85d05d8ad572329803fbdfaa2279f) Thanks [@jessestorbeck](https://github.com/jessestorbeck)! - - Added logic to front end's `config.js` to automatically detect use in GitHub Codespaces and appropriately set API endpoints

- Similar logic added to front end's craco config to set WebSocket URL appropriately for Codespaces
- Added detection of Codespaces-specific environment variables to CLI's `setEnv()` function

- [#330](https://github.com/pushkin-consortium/pushkin/pull/330) [`26a630f`](https://github.com/pushkin-consortium/pushkin/commit/26a630f9fc65fb933cd65430936a9695282a24f9) Thanks [@dependabot](https://github.com/apps/dependabot)! - Bump front-end dependencies:

- path-parse from 1.0.6 to 1.0.7
- minimatch from 3.0.4 to 3.1.2
- ansi-regex from 5.0.0 to 5.0.1
Expand All @@ -54,13 +69,11 @@
- [#310](https://github.com/pushkin-consortium/pushkin/pull/310) [`1b08109`](https://github.com/pushkin-consortium/pushkin/commit/1b0810971292c87afbb7d716469afdde7497ef11) Thanks [@jessestorbeck](https://github.com/jessestorbeck)! - Switched to self-hosting main site font

- [#333](https://github.com/pushkin-consortium/pushkin/pull/333) [`7751db8`](https://github.com/pushkin-consortium/pushkin/commit/7751db8b3ebcb5a9731b13ba7a32c429c2e51365) Thanks [@dependabot](https://github.com/apps/dependabot)! - Bump front-end dependencies:

- browserslist from 4.13.0 to 4.23.0
- lodash from 4.17.19 to 4.17.21
- ini from 1.3.5 to 1.3.8

- [#318](https://github.com/pushkin-consortium/pushkin/pull/318) [`6e7335a`](https://github.com/pushkin-consortium/pushkin/commit/6e7335aed06b185b7d686147765d034c023969c6) Thanks [@dependabot](https://github.com/apps/dependabot)! - Bump front-end dependencies:

- minimist from 1.2.5 to 1.2.8
- word-wrap from 1.2.3 to 1.2.5
- lodash-es from 4.17.15 to 4.17.21
Expand Down
2 changes: 1 addition & 1 deletion templates/sites/basic/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pushkin-templates/site-basic",
"version": "1.2.0",
"version": "1.2.1",
"description": "A template for building a bare-bones Pushkin site. No authentication, no forum, no dashboard, but everything else you need.",
"keywords": [
"pushkin",
Expand Down