-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Update Windows installer messaging for previous installation detection #7360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
filipelautert
wants to merge
52
commits into
master
Choose a base branch
from
DAT-20553
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…roject (#7109) * chore: remove liquibase-commercial references and dependencies from project and build files; clean up unused files and licenses, remove build-azure-uber-jar workflow * chore: remove unused pro build and test workflow from build configuration * fix: remove snapshot configuration from multiple YAML files * chore: restore minimal assembly configuration and update build workflows * chore: add zip format back * chore: remove minimal zip * fix: update license service checks to avoid warning messages when not loaded * fix: update test matrix to exclude non-java 21 builds on macOS and Windows
* chore: remove liquibase-commercial references and dependencies from project and build files; clean up unused files and licenses, remove build-azure-uber-jar workflow * chore: remove unused pro build and test workflow from build configuration * fix: remove snapshot configuration from multiple YAML files * chore: restore minimal assembly configuration and update build workflows * chore: add zip format back * chore: remove minimal zip * fix: update license service checks to avoid warning messages when not loaded * fix: update test matrix to exclude non-java 21 builds on macOS and Windows * chore: remove database drivers from distribution; remove unused license files from archives
# Conflicts: # .github/workflows/build-azure-uber-jar.yml # .github/workflows/build-extension-jars.yml # .github/workflows/build.yml # .github/workflows/create-release.yml # .github/workflows/fossa.yml # .github/workflows/release-published.yml # .github/workflows/run-functional-tests.yml # .github/workflows/run-pro-build-and-test.yml # liquibase-dist/pom.xml # pom.xml
…release workflows
* chore[DAT-20370]: Remove bigquery and checks from build. * chore: remove liquibase-commercial references and dependencies from project (#7109) * chore: remove liquibase-commercial references and dependencies from project and build files; clean up unused files and licenses, remove build-azure-uber-jar workflow * chore: remove unused pro build and test workflow from build configuration * fix: remove snapshot configuration from multiple YAML files * chore: restore minimal assembly configuration and update build workflows * chore: add zip format back * chore: remove minimal zip * fix: update license service checks to avoid warning messages when not loaded * fix: update test matrix to exclude non-java 21 builds on macOS and Windows * chore: remove database drivers from distribution (#7110) * chore: remove liquibase-commercial references and dependencies from project and build files; clean up unused files and licenses, remove build-azure-uber-jar workflow * chore: remove unused pro build and test workflow from build configuration * fix: remove snapshot configuration from multiple YAML files * chore: restore minimal assembly configuration and update build workflows * chore: add zip format back * chore: remove minimal zip * fix: update license service checks to avoid warning messages when not loaded * fix: update test matrix to exclude non-java 21 builds on macOS and Windows * chore: remove database drivers from distribution; remove unused license files from archives * Fix missing directory + jdk setup order * fix incorrect merge * feat: add back AWS credentials configuration and secret retrieval to release workflows * feat: update GPG key handling in release workflow * feat: enhance installation screen with elevated action and uninstall previous action
* refactor: remove all pro code from Liquibase maven plugin . * Removed properties: reportsEnabled - appears in all goals, rollbackOnError - in update, updateSQL, updateTestingRollback goals, parameters starting with psql* (psqlArgs, psqlKeepTemp, psqlKeepTempName, psqlKeepTempPath, psqlLogFile, psqlPath, psqlTimeout) - in all goals, sqlPlus* (sqlPlusArgs, sqlPlusKeepTemp, sqlPlusKeepTempName, sqlPlusKeepTempOverwrite, sqlPlusKeepTempPath, sqlPlusLogFile, sqlPlusPath, sqlPlusTimeout) - in all goals, sqlcmd* (sqlcmdArgs, sqlcmdCatalogName, sqlcmdKeepTemp, sqlcmdKeepTempName, sqlcmdKeepTempOverwrite, sqlcmdKeepTempPath, sqlcmdLogFile, sqlcmdPath, sqlcmdTimeout) - in all goals.
…OSS (#7174) * refactor: clean up documentation and remove flow file references for OSS * feat: improve example file handling and logging in InitProjectUtil
# Conflicts: # liquibase-dist/pom.xml # liquibase-dist/src/main/archive/licenses/commercial/README.txt # liquibase-dist/src/main/assembly/component-additional-deps.xml
# Conflicts: # .github/workflows/create-release.yml # liquibase-dist/pom.xml
# Conflicts: # .github/workflows/build-azure-uber-jar.yml # .github/workflows/build-extension-jars.yml # .github/workflows/build.yml # .github/workflows/create-release.yml # .github/workflows/release-published.yml # .github/workflows/run-functional-tests.yml # .github/workflows/run-pro-build-and-test.yml
# Conflicts: # .github/workflows/build-azure-uber-jar.yml # .github/workflows/build-extension-jars.yml # .github/workflows/build.yml # .github/workflows/create-release.yml # liquibase-dist/pom.xml
…bution text files (#7218) * DAT-20635: Update "Liquibase Pro" to "Liquibase Secure" in OSS distribution text files Updated support upsell text in README.txt, UNINSTALL.txt, and GETTING_STARTED.txt to reference "Liquibase Secure" instead of "Liquibase Pro" as part of the Liquibase 5.0 OSS distribution requirements. * Update references from "Liquibase Pro" to "Liquibase License Key" across text files and codebase * Update parameter casting in `ZipResourceAccessor` and improve description formatting in CLI test
# Conflicts: # .github/workflows/build-azure-uber-jar.yml # .github/workflows/build-extension-jars.yml # .github/workflows/build.yml # .github/workflows/create-release.yml # .github/workflows/release-published.yml # .github/workflows/run-functional-tests.yml # .github/workflows/run-pro-build-and-test.yml # .github/workflows/run-tests.yml # liquibase-dist/pom.xml # liquibase-standard/src/main/java/liquibase/resource/ZipResourceAccessor.java
# Conflicts: # .github/workflows/build.yml # .github/workflows/run-functional-tests.yml # .github/workflows/run-pro-build-and-test.yml
…nvalid license messages (#7253) - Replace "Liquibase Pro" with "Liquibase Secure" in error messages. - Add `END_INVALID_LICENSE_MESSAGE` for detailed licensing instructions.
# Conflicts: # liquibase-dist/pom.xml
* Update Community distribution documentation and licenses
- Standardized example project directory structures and descriptions.
- Highlighted modular nature of Liquibase Community 5.0 and introduced Liquibase Package Manager (LPM) in documentation.
- Added Functional Source License (FSL-1.1-ALv2) for OSS components.
- Updated copyright notices and adjusted license documentation accordingly.
- Clarified H2 database and AdoptOpenJDK usage details.
* Update Community distribution documentation placeholders
- Replaced static version and year with `${project.version}` and `${current.year}` placeholders in GETTING_STARTED.TXT, README.txt, and license files.
- Updated product support reference to "Liquibase Secure".
) Changed copyright notices from single year to range format starting from 2007 when the project began. Updated GETTING_STARTED.TXT, README.txt, and FSL-1.1-ALv2.txt to reflect continuous development since project inception. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <noreply@anthropic.com>
* Fix OSS license validation to prevent NPEs and silent failures Addresses DAT-20812, DAT-20561, DAT-20559 where OSS distribution was returning null LicenseService, causing Pro features to either crash with NPEs or fail silently instead of showing proper license errors. Changes: - Add OSSLicenseService: no-op implementation for OSS builds - Fix incomplete LicenseServiceUtils.java line 19 - Register service in META-INF/services for ServiceLocator discovery - Add comprehensive tests validating the fix Pro features (tagDatabase, diff --format=json, includeAll) now consistently show user-friendly license validation errors instead of crashing or failing silently in OSS distributions. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Remove `LicenseServiceFixDemonstrationTest` to clean up obsolete test scenarios This integration test validated fixes from DAT-20812, DAT-20561, and DAT-20559, but is no longer needed as the functionality is now covered by updated license validation in OSS. * Add utility class for OSS-prohibited SQL pattern handling and refine OSS license messaging - Introduced `InvalidFormattedSqlPatternsForOssUtil` to manage prohibited SQL patterns in OSS builds, including user-friendly warnings for unsupported commands like `rollbackSqlFile`, `tagDatabase`, `include`, and `includeAll`. - Updated `OSSLicenseService` to return an empty string for `getLicenseInfo()` instead of default OSS messaging. * Add warning for unsupported Pro commands in OSS and remove obsolete OSS license test comments - Integrated `InvalidFormattedSqlPatternsForOssUtil` to log warnings when unsupported Pro commands are used in OSS distributions. - Removed outdated assertions from `OSSLicenseServiceTest`, aligning with recent license info changes. * Raise exceptions for unsupported Pro commands in OSS without valid licenses - Replaced warnings with exceptions for unsupported commands (`rollbackSqlFile`, `tagDatabase`, `include`, `includeAll`) in `InvalidFormattedSqlPatternsForOssUtil`. - Updated messaging to provide clear license requirement details. * Add exceptions for unsupported Pro commands without valid licenses in OSS - Introduced case-insensitive and whitespace-tolerant validation for unsupported Pro commands (`rollbackSqlFile`, `tagDatabase`, `include`, `includeAll`) in `InvalidFormattedSqlPatternsForOssUtil`. - Added comprehensive tests to verify exceptions and error messages for prohibited commands. - Ensured regular comments and SQL content with Pro patterns do not trigger exceptions. * Enforce Pro license validation for JSON diff output formats - Added exception for `--format=JSON|JSON_PRETTY` when used without a valid Liquibase Pro license. - Updated error message to include trial license information. * Update error message for JSON diff output license validation - Revised exception message for `--format=JSON|JSON_PRETTY` to reference a general Liquibase license key instead of Pro license. - Updated trial link to ensure clarity. --------- Co-authored-by: Claude <noreply@anthropic.com>
# Conflicts: # .github/workflows/release-published.yml # liquibase-dist/pom.xml # liquibase-maven-plugin/src/main/java/org/liquibase/maven/plugins/AbstractLiquibaseMojo.java
…7298) * Remove 'Pro' from license references Update license messaging throughout codebase to use 'Liquibase license' instead of 'Liquibase Pro license' and 'License key' instead of 'Pro License key'. This simplifies terminology and improves consistency across documentation, error messages, and code comments. * Update log message for missing Liquibase license key * Improve Pro command error messaging for OSS users Add clear licensing guidance when OSS users attempt to run Pro-only commands instead of generic "Unexpected argument" errors. Changes: - Create ProCommandsRegistry with comprehensive list of Pro commands/subcommands - Add specific error messages for Pro features in liquibase-core.properties - Update LiquibaseCommandLine to detect Pro commands and show license guidance - Add comprehensive unit and integration tests - Maintain backward compatibility for OSS commands and invalid arguments Before: "Unexpected argument(s): flow" After: "Error parsing command line: Using 'flow' requires a valid Liquibase license key. Get a free Liquibase license key and trial at https://liquibase.com/trial." 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: remove failing test * Remove obsolete Checks Extension validation logic - Deleted outdated validation logic requiring the Liquibase Checks Extension 2.0.0 or higher for `checks` commands. - Removed `CHECKS_MESSAGE` constant and associated references. --------- Co-authored-by: Claude <noreply@anthropic.com>
* Updated changelog.txt * Removed icons from the changelog.txt
# Conflicts: # liquibase-dist/pom.xml # pom.xml
…tch actual installation (#7305)
changed format from TXT to txt
The README.txt in liquibase-dist/src/main/archive/licenses/oss/ was rewritten to clarify that it applies to Liquibase Community and now includes detailed descriptions and copyright information for each third-party library, grouped by license type. It also explains compliance with the GPL Classpath Exception and provides links to relevant source code repositories.
feat: enhance release workflow with AWS credentials configuration and secret retrieval
* Updates to licenses * Updates to licenses
Exit with error code after running Liquibase
…ven license information
Updated version number from 5.0.0 to 5.0.1 in changelog.
- Add detection message and radio button options to welcome screen when previous installation is found - Provide two options: install to new directory or update existing installation - Automatically suggest versioned directory path (Liquibase-<version>) for new installations - Skip directory selection when user chooses to update existing installation - Preserve existing update-in-place behavior using UninstallPreviousAction Fixes DAT-20553 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Simplify update/installation choice UI by switching to a single checkbox - Update variable names and scripts for consistency with new checkbox logic - Retain behavior for suggesting versioned directory path for new installations
|
Label error: This PR is being prevented from merging because you have not added one of the labels: APIBreakingChanges, breakingChanges, newContributors, notableChanges, sdou, skipReleaseNotes, TypeBug, TypeEnhancement, TypeTest. You'll need to add it before this PR can be merged. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implements DAT-20553 to improve the Windows installer user experience when a previous Liquibase installation is detected.
Changes
Files Modified
liquibase-dist/src/main/install4j/liquibase.install4j- Added UI components and installation flow logicliquibase-dist/src/main/install4j/messages.properties- Added new message stringsTesting
Requires building the Windows installer with Install4J and testing on Windows with a previous Liquibase installation.
Jira
DAT-20553