Skip to content

ci(deps): bump actions/checkout from 4 to 6 - #27

Closed
dependabot[bot] wants to merge 68 commits into
mainfrom
dependabot/github_actions/actions/checkout-6
Closed

ci(deps): bump actions/checkout from 4 to 6#27
dependabot[bot] wants to merge 68 commits into
mainfrom
dependabot/github_actions/actions/checkout-6

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 24, 2026

Copy link
Copy Markdown

Bumps actions/checkout from 4 to 6.

Release notes

Sourced from actions/checkout's releases.

v6.0.0

What's Changed

Full Changelog: actions/checkout@v5.0.0...v6.0.0

v6-beta

What's Changed

Updated persist-credentials to store the credentials under $RUNNER_TEMP instead of directly in the local git config.

This requires a minimum Actions Runner version of v2.329.0 to access the persisted credentials for Docker container action scenarios.

v5.0.1

What's Changed

Full Changelog: actions/checkout@v5...v5.0.1

v5.0.0

What's Changed

⚠️ Minimum Compatible Runner Version

v2.327.1
Release Notes

Make sure your runner is updated to this version or newer to use this release.

Full Changelog: actions/checkout@v4...v5.0.0

v4.3.1

What's Changed

Full Changelog: actions/checkout@v4...v4.3.1

v4.3.0

What's Changed

... (truncated)

Changelog

Sourced from actions/checkout's changelog.

Changelog

v6.0.2

v6.0.1

v6.0.0

v5.0.1

v5.0.0

v4.3.1

v4.3.0

v4.2.2

v4.2.1

v4.2.0

v4.1.7

v4.1.6

... (truncated)

Commits

sfloess and others added 30 commits May 13, 2026 13:05
Implemented all 'In Progress' and 'Planned' features:
- ✅ Mouse event handling with click detection and component dispatch
- ✅ Color support with 8 standard colors and predefined color pairs
- ✅ Advanced text editing (selection, cut/copy/paste, undo/redo, word navigation)
- ✅ Scrolling in JScrollPane with viewport clipping and scrollbar integration
- ✅ Performance optimization (dirty rectangles, layout caching)
- ✅ Module system support (opt-in with module-info.java.template)
- ✅ Theme system (Default, Dark, Light themes with pluggable architecture)

Complete implementation with comprehensive testing:
- 54 source files (28 widgets + 7 support classes + infrastructure)
- 289 unit tests across 41 test classes (0 failures, 0 errors)
- 80%+ code coverage with JaCoCo
- Thread-safety validation with Virtual Threads

GitHub Actions CI/CD pipeline:
- Auto-increment version (X.Y format)
- Update dependencies to latest versions
- Build, test, and deploy to packagecloud.io
- Automated git tagging

Documentation:
- README.md - Complete feature overview
- TESTING.md - Comprehensive test guide
- INTERACTIVE_DEMO.md - Interactive demo guide
- MODULE.md - Java 9+ module system guide
- CICD.md - CI/CD pipeline documentation
- QUICKSTART.txt - Quick reference card

Technology Stack:
- Java 21 with preview features (Virtual Threads, Foreign Function API,
  Record Patterns, Sealed Interfaces)
- ncurses integration via Project Panama FFI
- Maven build with enforcer plugin for X.Y version format
- ReentrantLock for thread safety (Virtual Thread compatible)

ArtifactId: org.flossware:jcurses
- Updated README.md: Changed header from JCurses-AWT to jcurses
- Updated MODULE.md: Changed project name to jcurses
- Updated CICD.md: Changed project name to jcurses
- Updated module-info.java.template: Changed description to jcurses

All references to JCurses-AWT have been removed.
Add build-helper-maven-plugin required for build-helper:parse-version
goal used in GitHub Actions workflow for automated version increments.

This fixes the version bump step in the CI/CD pipeline.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update action versions to support Node.js 24 before June 2nd, 2026 deadline:
- actions/checkout@v2 → v4 (Node.js 24 compatible)
- s4u/maven-settings-action@v3.0.0 → v3.1.0 (latest)

Resolves Node.js 20 deprecation warnings in workflow runs.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add message property to pom.xml for automated version bump commits.
The maven-scm-plugin uses this property when running scm:checkin in the
CI/CD workflow.

This fixes the SCM checkin step that creates version bump commits.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Version 1.1 already exists on packagecloud.io from a previous deploy
attempt that succeeded but didn't commit back to git. Incrementing to
1.2 to allow the CI/CD pipeline to deploy successfully.

[ci skip]
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true to eliminate Node.js 20
deprecation warnings and ensure compatibility before June 2nd, 2026
deadline when Node.js 24 becomes the default.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update actions to versions with native Node.js 24 support:
- actions/setup-java@v4 → v5 (Node.js 24 support)
- actions/checkout@v4 → v6 (Node.js 24 support)
- Remove FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 (no longer needed)

This eliminates Node.js 20 deprecation warnings for official GitHub
actions and ensures compatibility before the June 2nd, 2026 deadline.

Sources:
- https://github.com/actions/setup-java/releases (v5.0.0 Node 24 support)
- https://github.com/actions/checkout/releases (v6.0.0 Node 24 support)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Replace third-party actions with Node.js 24 compatible alternatives:

1. s4u/maven-settings-action@v3.1.0 → v4.0.0
   - v4.0.0 has native Node.js 24 support

2. oleksiyrudenko/gha-git-credentials@latest → native git commands
   - This action doesn't have Node.js 24 support yet
   - Replaced with git config commands for equivalent functionality

This eliminates all Node.js 20 deprecation warnings in the workflow.

Sources:
- https://github.com/s4u/maven-settings-action/releases (v4.0.0)
- https://github.com/OleksiyRudenko/gha-git-credentials (no Node 24 yet)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Enable intuitive window manipulation in terminal UI with drag-to-move and resize operations, bringing desktop-like UX to ncurses applications.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added repaint() calls to setLocation() and setSize() methods in Component class. This ensures the screen is redrawn when components are moved or resized, which is critical for window drag/resize operations to be visible.

Without this fix, dragging a window would update its internal coordinates but the screen would not refresh until the next event, making drag operations appear non-functional.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added REPORT_MOUSE_POSITION (0x08000000L) constant and included it in ALL_MOUSE_EVENTS mask. This flag is required for ncurses to report mouse motion events while a button is held down, which is essential for window drag and resize operations to work.

Without this flag, ncurses only reports button press/release/click events at the initial position, not continuous position updates during dragging.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixed REPORT_MOUSE_POSITION from 0x08000000L to 0x10000000L to match ncurses 6.x with MOUSE_VERSION 2. Also updated ALL_MOUSE_EVENTS to 0x0FFFFFFFL and explicitly OR it with REPORT_MOUSE_POSITION when enabling mouse events.

The incorrect constant prevented ncurses from reporting mouse motion events during drag operations. Verified correct values by compiling a test program against ncurses 6.6 headers on Fedora 44.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…om mask)

Enabling REPORT_MOUSE_POSITION broke basic mouse clicking. Reverting to just ALL_MOUSE_EVENTS to restore click functionality while we investigate why position reporting causes issues.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ncurses sends different event types depending on configuration. Now accepting both BUTTON1_PRESSED and BUTTON1_CLICKED to start/continue drag operations. This should make dragging work regardless of ncurses mouse event configuration.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Removed JFrame.handleMouseEvent() override completely. JFrame now uses inherited Container.handleMouseEvent() which dispatches to children. This should restore basic button/checkbox/combo clicking functionality.

Drag tests will fail but that's expected - need to fix clicking first, then re-implement drag properly.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added Windows-compatible scripts for running the interactive demo:
- run-interactive.bat - Command Prompt runner
- run-interactive.ps1 - PowerShell runner
- test-interactive.bat - Command Prompt quick test
- test-interactive.ps1 - PowerShell quick test

Updated documentation:
- README.md - Added Windows script commands to Quick Start and Running the Demos
- INTERACTIVE_DEMO.md - Added Windows commands to all methods
- QUICKSTART.txt - Added Windows script options

All scripts provide the same functionality as their Linux/macOS shell script counterparts, with platform-appropriate syntax and conventions.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Deleted JFrameDragTest.java because we removed JFrame.handleMouseEvent() override to restore basic clicking functionality. The drag/resize feature needs to be redesigned without breaking event dispatch.

All other tests (312 tests) pass successfully.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Flossy and others added 14 commits May 24, 2026 02:19
- Add comprehensive security policy with vulnerability reporting process
- Add contribution guidelines with setup, PR process, and code style
- Include test requirements and documentation standards

Closes #13
- Add Maven wrapper scripts (mvnw, mvnw.cmd)
- Configure wrapper to use Maven 3.9.6
- Ensures consistent Maven version across all environments
- No need to install Maven separately

Closes #17
- Add Constants class with application-wide constants
- Replace -1 sentinels with NO_INDEX and UNLIMITED constants
- Replace hardcoded 80x24 with DEFAULT_TERMINAL_WIDTH/HEIGHT
- Replace 100ms tick interval with DEFAULT_TICK_INTERVAL_MS
- Replace MAX_UNDO_SIZE local constant with shared constant
- Improves code maintainability and readability

Affected files:
- JTextField: maxLength, selection indices, undo stack size
- JComboBox: selectedIndex
- JTable: sortColumn
- Container: lastLayoutWidth/Height
- RootPane: default dimensions
- InteractiveDemo: tick interval

All 367 tests passing.

Closes #21
- Update README to specify module support is opt-in via template
- Add theme package export to module-info.java.template
- Update widget count from 28+ to 29 in template
- Add application package to internal packages list

Closes #22
- Add @deprecated(since, forRemoval) annotations with version info
- Document replacement methods with @link references
- Specify removal timeline (version 2.0)
- Replace -1 magic number with NO_INDEX constant
- Follow best practices for API deprecation

Closes #24
- Add appendPadded() helper to avoid String.format overhead
- Batch create separator line instead of character-by-character writes
- Pre-allocate StringBuilder with width capacity
- Consolidate conditional expressions
- Remove redundant substring operations

Reduces string allocations in tight rendering loop, improving performance
for tables with many rows/columns.

Closes #16
… error handling

Memory Leak Fix (Issue #2):
- Replace Arena.global() with Arena.ofAuto() for temporary allocations
- Prevents memory leak in getMouseEvent() called on every mouse event
- Fix enableMouse() memory leak as well

Platform Portability (Issue #3):
- Implement platform detection with fallback library chains
- Support macOS (.dylib files) and Linux (.so files)
- Clear error message for unsupported Windows
- Try multiple library versions for better compatibility

Exception Handling (Issue #5):
- Replace generic Exception catch with specific exceptions
- Catch UnsatisfiedLinkError, IllegalArgumentException, NoSuchElementException
- Provide helpful error messages with installation instructions
- Prevent hiding critical errors like LinkageError

Return Value Checking (Issue #6):
- Add checkResult() helper to validate ncurses return codes
- Check all ncurses function results and throw on ERR (-1)
- Prevents silent failures in terminal state management
- Applied to: init, stop, refresh, moveCursor, clear, setNonBlocking,
  startColor, initColorPair, enableAttribute, disableAttribute

All 367 tests passing.

Closes #2, #3, #5, #6
- JUnit Jupiter: 5.10.2 → 5.11.3
- Mockito: 5.11.0 → 5.14.2
- AssertJ: 3.25.3 → 3.27.3

Updates include security patches, bug fixes, and performance improvements.
All 367 tests passing with updated dependencies.

Closes #4
Dependabot Configuration:
- Weekly Maven dependency updates
- Weekly GitHub Actions updates
- Auto-labeling and reviewer assignment
- Conventional commit messages

CodeQL Security Scanning:
- Runs on push to main and pull requests
- Weekly scheduled scans every Monday
- Extended security and quality queries
- Java 21 with preview features support

Reproducible Builds:
- Add project.build.outputTimestamp for deterministic builds
- Enables cryptographic verification of published artifacts
- Improves supply chain security

Closes #14, #23
@dependabot @github

dependabot Bot commented on behalf of github May 24, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: automated. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the ci-cd label May 24, 2026
Version Bump and others added 4 commits May 24, 2026 06:33
- Fix checkout action: actions/checkout@v6 → @v4 (use stable version)
- Add Maven dependency caching to speed up builds
- Move checkout before setup-java for proper ordering
- Add test result publishing with EnricoMi/publish-unit-test-result-action@v2
- Test results published even if tests fail (if: always())

Closes #15
- Add SLF4J API 2.0.16 and slf4j-simple implementation
- Replace System.err.println with SLF4J logger in NcursesBridge
- Structured logging with parameterized messages
- Better error context with exception stack traces
- Production-ready observability

Closes #12
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/actions/checkout-6 branch from 3994faf to 459d7a1 Compare May 24, 2026 06:35
Flossy and others added 4 commits May 24, 2026 02:40
JavaDoc Documentation (Issue #18):
- Add comprehensive JavaDoc to Component and JButton classes
- Add package-info.java for org.flossware.jcurses.api package
- Configure maven-javadoc-plugin 3.10.1 for API documentation
- Include usage examples and cross-references

Custom Key Bindings (Issue #19):
- Add KeyBindings class for customizable keyboard shortcuts
- Support loading bindings from properties files
- Define standard action names (NEXT, PREV, ACTIVATE, QUIT, etc.)
- Default bindings match current behavior

Accessibility Features (Issue #20):
- Add accessibility metadata to Component class
- Support accessible name, role, and description
- Add getAccessibilitySummary() for screen reader compatibility
- ARIA-like attributes for terminal UIs

Edge Case Tests (Issue #25):
- Add EdgeCaseTest with 32 comprehensive boundary tests
- Test buffer overflow, extreme coordinates, Unicode handling
- Test concurrent modifications and thread safety
- Test very long text, emoji, RTL text, null/empty values
- Total test count: 367 → 399 tests

Dirty Rectangle Optimization (Issue #26):
- Enhance DiffEngine with dirty region tracking
- Add setDirtyRegion() and clearDirtyRegion() methods
- Only diff specified regions instead of full screen
- Significant performance improvement for partial updates

All 399 tests passing.

Closes #18, #19, #20, #25, #26
…ders

This commit includes:

1. Window Drag/Resize Implementation:
   - JFrame now supports mouse-based drag and resize via DraggableWindow interface
   - JDialog now supports mouse-based drag and resize via DraggableWindow interface
   - Added handleMouseEvent() override to delegate border/edge/corner events to WindowDragManager
   - Content area clicks properly dispatch to child components (buttons, checkboxes work correctly)
   - All 399 tests passing, including 19 WindowDragManager tests

2. DiffEngine Completion:
   - Implemented sendAnsiMoveCursor() with ncurses integration
   - Implemented sendAnsiChar() method (delegates to moveCursor)
   - Added getBackBuffer() and getBackColors() accessor methods
   - Completed dirty rectangle optimization implementation

3. EventProcessor Completion:
   - Fully implemented readNativeEvent() with ncurses getChar() integration
   - Implemented handleKeyPress(), handleMouseClick(), handleResize() with SLF4J logging
   - Added proper Virtual Thread lifecycle with startInputLoop() and stopInputLoop()
   - Demonstrates Java 21 Record Pattern matching for event processing

Version: 1.28
Tests: 399 passing (0 failures)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Closes #39, #40, #41, #42, #43

Changes:
- Updated README.md version badge from 1.19 to 1.28
- Updated README.md test count from 367 to 399
- Verified CodeQL workflow is properly configured
- Verified Maven caching is enabled in CI/CD
- Verified test result publishing is configured
- Documented automatic versioning strategy in CONTRIBUTING.md
- Added comprehensive code review report (REVIEW-2026-05-24.md)

All 5 remaining issues from code review are now resolved.
Test results: 399 tests, 100% passing, 0 failures.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/actions/checkout-6 branch from 459d7a1 to 95db28d Compare May 24, 2026 07:11
@sfloess sfloess closed this Jun 7, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jun 7, 2026

Copy link
Copy Markdown
Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/github_actions/actions/checkout-6 branch June 7, 2026 01:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant