Skip to content

Releases: mayhew3/Postgres-Object

0.22.9

0.22.9 Pre-release
Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 21 Jan 17:40

Changes

  • Migrate to JUnit 5: Replace JUnit 4 with JUnit Jupiter 5.11.0
  • Update all test annotations (@Before → @BeforeEach)
  • Convert @Test(expected=...) to assertThrows()
  • Add useJUnitPlatform() to Gradle test task

Why This Matters

Dependent projects can now extend PostgresSchemaTest and DatabaseTest using pure JUnit 5 without requiring junit-vintage-engine.

0.22.8

0.22.8 Pre-release
Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 14 Dec 01:36

Changes

  • Standardize backup filename format to use UTC timezone with ISO 8601 format (matching Node.js backup executor)
  • Prepend schema name to backup filename (e.g., mediamogul-2025-01-15T10-30-00-000Z.dump)

0.22.7 - Fix pg_dump authentication

Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 16 Nov 01:55

Changes

  • Fix pg_dump authentication by explicitly passing PostgreSQL environment variables (PGPASSFILE, PGPASSWORD) to ProcessBuilder
  • This resolves CI test failures where pg_dump was failing with exit code 1

Technical Details

The ProcessBuilder.inheritIO() method inherits I/O streams but doesn't automatically pass environment variables to subprocesses. This release adds explicit environment variable configuration for pg_dump authentication.

Files Changed

  • DataBackupLocalExecutor.java: Added PGPASSFILE and PGPASSWORD environment variables to ProcessBuilder
  • build.gradle: Version bump to 0.22.7

0.22.6

0.22.6 Pre-release
Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 15 Nov 09:57

Changes

  • Cross-platform file path handling: Fixed DataArchiver to use File.separator instead of hardcoded backslashes for better cross-platform compatibility
  • Improved directory creation: Replaced mkdir() with mkdirs() to properly create nested directories
  • Better logging: Added proper logging when creating archive directories instead of suppressing warnings

Installation

Add this dependency to your build.gradle:

implementation 'com.mayhew3.postgresobject:postgres-object:0.22.6'

0.22.5 - Attach Sources

Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 15 Nov 00:21
ffd70bc

What's New in 0.22.5

Improvements

  • Attached sources to the build for better IDE integration

For full feature list, see 0.22.1 release notes.

0.22.4 - Bug Fixes

0.22.4 - Bug Fixes Pre-release
Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 14 Nov 22:42

What's New in 0.22.4

Bug Fixes

  • Additional bug fixes and improvements

For full feature list, see 0.22.1 release notes.

0.22.3 - Bug Fixes

0.22.3 - Bug Fixes Pre-release
Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 14 Nov 22:12

What's New in 0.22.3

Bug Fixes

  • Additional bug fixes and improvements

For full feature list, see 0.22.1 release notes.

0.22.2 - Bug Fixes

0.22.2 - Bug Fixes Pre-release
Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 14 Nov 21:45

What's New in 0.22.2

Bug Fixes

  • Various bug fixes and improvements

For full feature list, see 0.22.1 release notes.

0.22.1 - Heroku Backup Support

Pre-release

Choose a tag to compare

@mayhew3 mayhew3 released this 14 Nov 21:28

What's New in 0.22.1

Features

  • Heroku-Compatible Backup/Restore System: Made backup and restore functionality OS-agnostic and compatible with Heroku environments
    • Refactored backup executors to work without direct file system access
    • Added support for running backups from cloud environments
    • Improved compatibility for containerized deployments

Improvements

  • PostgreSQL 17 Support: Upgraded to PostgreSQL 17 compatibility
  • Configurable Schema: Made database schema configurable for better test isolation
  • Java 21: Upgraded to Java 21
  • Gradle 9.2: Upgraded to Gradle 9.2.0 for better compatibility and performance

Technical Updates

  • Fixed all Gradle 9 deprecation warnings for future compatibility
  • Improved CI/CD pipeline with better schema handling
  • Enhanced test infrastructure with configurable schemas

For more details, see commits since 0.21.0.

v0.21.0 - PostgreSQL 17, Configurable Schema, Integration Tests

Choose a tag to compare

@mayhew3 mayhew3 released this 09 Nov 20:09
574b5c8

Release 0.21.0: Phase 2.3 Complete

🚀 Major Changes

  • Upgraded to PostgreSQL 17 (from PostgreSQL 16)
  • Configurable schema support via POSTGRES_SCHEMA environment variable
  • Comprehensive integration tests - 6 new PostgreSQL CRUD tests
  • CI integration tests - All tests now run in CI with Docker databases
  • Local test scripts - Easy test-local.sh/test-local.bat for local testing

✨ Test Infrastructure

  • ✅ All 146 tests pass in CI (120+ unit tests + 26 integration tests)
  • 🐳 Docker Compose setup for local PostgreSQL/MySQL testing
  • 📚 Comprehensive test documentation in TESTING.md
  • 🔧 Automatic environment variable configuration

⚙️ Configuration

  • Default Port: 5440 (configurable via POSTGRES_PORT)
  • Default Version: PostgreSQL 17 (configurable via POSTGRES_VERSION)
  • Schema: Configurable via POSTGRES_SCHEMA (defaults to "test")
  • Gradle automatically passes environment variables to test JVM

📖 Documentation

  • Added comprehensive TESTING.md guide
  • Updated CLAUDE.md with test script usage
  • CI troubleshooting and schema configuration docs

🔧 JitPack Usage

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.mayhew3:Postgres-Object:0.21.0'
}

🐛 Bug Fixes

  • Fixed CI schema mismatch issues
  • Corrected PostgreSQLCRUDIntegrationTest table names
  • Fixed ResultSet positioning bugs in integration tests
  • Fixed null handling test expectations

All tests passing in CI: https://github.com/mayhew3/Postgres-Object/actions