Skip to content

Conversation

@lazysegtree
Copy link
Collaborator

@lazysegtree lazysegtree commented Oct 10, 2025

Summary by CodeRabbit

  • Chores

    • Promoted release to v1.4.0 (removed pre-release suffix).
    • Updated build/release versioning and artifact naming for the final release.
    • Set default install version to v1.4.0 across installation scripts.
    • Published updated package metadata for v1.4.0.
  • Documentation

    • Added changelog for v1.4.0 detailing updates, fixes, optimizations, and dependency changes.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 10, 2025

Walkthrough

Bumps project version to 1.4.0 across build, release, and install surfaces; removes pre-release suffix; updates changelog with v1.4.0 notes. No control-flow or logic changes beyond version strings and constants.

Changes

Cohort / File(s) Change Summary
Build/Packaging version bump
flake.nix
Update packages.superfile.version from "1.3.3" to "1.4.0".
Release script finalization
release/release.sh
Update version from v1.4.0-rc2 to v1.4.0.
Config constants
src/config/fixed_variable.go
Set PreReleaseSuffix from "-rc2" to "".
Install scripts default version
website/public/install.sh, website/public/install.ps1
Change default install version from 1.3.3 to 1.4.0.
Documentation
website/src/content/docs/changelog.md
Add changelog section for v1.4.0.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

awaiting pr review

Suggested reviewers

  • yorukot

Poem

A thump of paws: 1.4.0 is here,
No rc tails, the path is clear.
Scripts and flakes in tidy line,
Changelogs nibble dates so fine.
I hop, I ship—release in sight,
Carrots cached, all versions right. 🥕✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title “chore: Release 1.4.0” succinctly and accurately summarizes the primary change of the pull request, which is updating the project version to 1.4.0 across build and install scripts and adding the corresponding changelog entry. It follows a conventional commit style, is concise, and clearly indicates the nature of the update. A reviewer scanning the history will immediately understand that this PR prepares the 1.4.0 release.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 1.4.0-release

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
website/src/content/docs/changelog.md (1)

17-17: Consider improving heading hierarchy throughout the changelog.

The heading structure jumps from h1 (#) to h4 (####), skipping h2 and h3 levels. While this pattern is consistent throughout the entire changelog file, it violates markdown best practices (MD001).

For better document structure, consider using h2 for section headers like "Update", "Bug Fix", etc.

Note: This is a pre-existing pattern throughout the file, not specific to the v1.4.0 entry.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f85c195 and 18f4f61.

📒 Files selected for processing (6)
  • flake.nix (1 hunks)
  • release/release.sh (1 hunks)
  • src/config/fixed_variable.go (1 hunks)
  • website/public/install.ps1 (1 hunks)
  • website/public/install.sh (1 hunks)
  • website/src/content/docs/changelog.md (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: lazysegtree
PR: yorukot/superfile#1013
File: src/internal/utils/file_utils.go:252-275
Timestamp: 2025-08-24T03:25:10.117Z
Learning: In PR #1013 for yorukot/superfile, when reviewing the ReadFileContent utility function, lazysegtree chose to implement only the parameter renaming fix (filepath → filePath) to avoid shadowing and declined buffer size increases and optional truncation enhancements, preferring to keep the utility function scope focused and avoid over-engineering when the additional features aren't immediately needed.
Learnt from: lazysegtree
PR: yorukot/superfile#963
File: src/internal/default_config.go:16-16
Timestamp: 2025-07-27T07:40:51.938Z
Learning: lazysegtree prefers simpler implementation approaches when the alternatives are significantly more complex, even if the alternatives might be architecturally cleaner, prioritizing maintainability and avoiding over-engineering.
Learnt from: lazysegtree
PR: yorukot/superfile#963
File: src/internal/default_config.go:16-16
Timestamp: 2025-07-27T07:40:51.938Z
Learning: lazysegtree prefers simpler implementation approaches when the alternatives are significantly more complex, even if the alternatives might be architecturally cleaner, prioritizing maintainability and avoiding over-engineering.
Learnt from: lazysegtree
PR: yorukot/superfile#969
File: src/internal/key_function.go:40-40
Timestamp: 2025-08-03T09:34:55.721Z
Learning: lazysegtree emphasizes proper dependency direction in software architecture, preferring that low-level components (like modal handlers) should not depend on high-level components (like the main model object). He also prioritizes performance considerations, noting that creating objects on every keypress in hot code paths like key handling is inefficient and should be avoided.
Learnt from: lazysegtree
PR: yorukot/superfile#1013
File: src/internal/model_render.go:329-341
Timestamp: 2025-08-29T14:11:21.380Z
Learning: lazysegtree prefers to defer help menu rendering optimizations and other technical debt improvements to separate GitHub issues when the current PR scope has grown too large, maintaining focus on the primary refactoring objectives while tracking performance improvements for future work.
Learnt from: lazysegtree
PR: yorukot/superfile#985
File: src/internal/model.go:0-0
Timestamp: 2025-08-11T01:49:30.040Z
Learning: lazysegtree prefers maintaining code correctness through proper design and invariants rather than adding defensive bounds checks at every slice access point, viewing such defensive programming as "duct taping" that can mask actual bugs instead of fixing them at their source.
Learnt from: lazysegtree
PR: yorukot/superfile#973
File: src/internal/ui/processbar/model_update.go:7-27
Timestamp: 2025-08-03T14:49:31.221Z
Learning: lazysegtree prefers to keep test-only code simple without adding production-level concerns like goroutine synchronization, cancellation contexts, or complex lifecycle management, even when such patterns might prevent potential issues, since the complexity isn't justified for test utilities.
Learnt from: lazysegtree
PR: yorukot/superfile#1044
File: src/internal/utils/file_utils.go:149-149
Timestamp: 2025-09-09T13:29:11.771Z
Learning: lazysegtree prefers to keep PR scope focused on the primary objectives and considers pre-existing technical debt issues as out of scope for migration/refactoring PRs, preferring to defer such issues to separate GitHub issues rather than expanding the current PR scope.
Learnt from: lazysegtree
PR: yorukot/superfile#950
File: src/internal/ui/metadata/README.md:7-7
Timestamp: 2025-07-24T03:46:29.516Z
Learning: lazysegtree prefers to defer comprehensive unit testing to separate PRs when the current PR has grown too large, maintaining focus on the primary refactoring objectives while tracking testing requirements in dedicated GitHub issues.
Learnt from: lazysegtree
PR: yorukot/superfile#967
File: src/internal/key_function.go:45-47
Timestamp: 2025-08-02T11:47:07.713Z
Learning: lazysegtree prefers to track technical debt and architectural improvements in dedicated GitHub issues when they are identified during PR reviews but are beyond the scope of the current PR, particularly for complex refactoring needs like input handling architecture that would require significant changes.
Learnt from: lazysegtree
PR: yorukot/superfile#963
File: src/internal/handle_file_operations.go:567-570
Timestamp: 2025-07-27T08:49:09.687Z
Learning: lazysegtree prefers to defer technical debt issues like model mutation concerns to later PRs when the current PR has already grown too large, maintaining focus on the primary objectives while acknowledging the need to track such issues for future work.
📚 Learning: 2025-07-21T08:49:13.055Z
Learnt from: lazysegtree
PR: yorukot/superfile#953
File: website/public/install.ps1:25-25
Timestamp: 2025-07-21T08:49:13.055Z
Learning: In the superfile PowerShell installer (website/public/install.ps1), lazysegtree prefers that users supply correct environment variable values (like SPF_INSTALL_VERSION without leading 'v') rather than adding validation code to handle malformed input, following the principle that users should provide properly formatted values.

Applied to files:

  • website/public/install.ps1
📚 Learning: 2025-07-21T08:49:44.628Z
Learnt from: lazysegtree
PR: yorukot/superfile#953
File: website/public/install.sh:42-42
Timestamp: 2025-07-21T08:49:44.628Z
Learning: In the superfile bash installer (website/public/install.sh), lazysegtree maintains the same principle as the PowerShell installer - users should supply correct environment variable values (SPF_INSTALL_VERSION without leading 'v') rather than adding validation code to handle malformed input, following the philosophy that users should provide properly formatted values.

Applied to files:

  • website/public/install.ps1
🪛 markdownlint-cli2 (0.18.1)
website/src/content/docs/changelog.md

17-17: Heading levels should only increment by one level at a time
Expected: h2; Actual: h4

(MD001, heading-increment)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build and Test (windows-latest)
  • GitHub Check: Build and Test (ubuntu-latest)
🔇 Additional comments (6)
website/public/install.sh (1)

42-42: LGTM!

Version bump from 1.3.3 to 1.4.0 is correct and consistent with the release objective.

src/config/fixed_variable.go (1)

18-18: LGTM!

Correctly removes the pre-release suffix for the final v1.4.0 release.

website/public/install.ps1 (1)

25-25: LGTM!

Version bump from 1.3.3 to 1.4.0 is correct and consistent with the release objective.

release/release.sh (1)

4-4: LGTM!

Version bump from v1.4.0-rc2 to v1.4.0 correctly removes the release candidate suffix for the final release.

website/src/content/docs/changelog.md (1)

13-86: LGTM!

The v1.4.0 changelog entry is comprehensive and well-structured, documenting all the updates, bug fixes, optimizations, documentation changes, dependencies, and miscellaneous items with proper PR references.

flake.nix (1)

30-30: LGTM!

Version bump from 1.3.3 to 1.4.0 correctly updates the Nix package definition for the release.

@lazysegtree lazysegtree requested a review from yorukot October 10, 2025 04:49
@lazysegtree lazysegtree merged commit 1ac2338 into main Oct 10, 2025
14 checks passed
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.

3 participants