Skip to content
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

feat: next major release with performance improvements #5686

Merged
merged 35 commits into from
Nov 4, 2024
Merged

Conversation

JanDeDobbeleer
Copy link
Owner

@JanDeDobbeleer JanDeDobbeleer commented Sep 29, 2024

Prerequisites

  • I have read and understood the contributing guide.
  • The commit message follows the conventional commits guidelines.
  • Tests for the changes have been added (for bug fixes / features).
  • Docs have been added/updated (for bug fixes / features).

Description

The aim of this PR is to make a few fundamental changes to memory and CPU usage inside Oh My Posh.
However, as this requires multiple breaking changes, I want to group them together rather than
push a couple of these releases out. I'm going to take my time for this one.

Latest build

https://github.com/JanDeDobbeleer/oh-my-posh/actions/runs/11555696906/artifacts/2112520953

Note

The builds are generated by the build action and this is a link to the artifacts.
If the builds are no longer available, drop a message in the feedback channel and I'll update the link.

Feedback

All feedback and conversations are managed through our Discord channel here.

Features

Auto upgrade
oh-my-posh enable upgradenotice
oh-my-posh disable upgradenotice

Breaking changes

Config: OSC99 is removed

Set pwd: OSC99 instead of OSC99: true

Segment: cache_timeout is removed

Segment caching is now managed on a higher level, namely the segment itself. You can cache any segment for a specified amount of time by using the new cache field:

{
  "type": "git",
  "cache": {
    "duration": "1minute",
    "strategy": "folder"
  }
}

Duration can take in values from 1second(s) to xmonths as well as the infinite keyword. The strategy can be folder or session, with folder being the default. Folder is smart enough to take into account SCM context in subfolder, as long as the SCM tool supports it.

Segment: cache_version is removed

The version is now cached for 24 hours by default. Use the above caching mechanism to tweak that even more.

Block: type: linebreak is removed

This was marked as deprecated for a long time and has now been removed. Add newline: true to the block you want to see
on a new line.

Block: horizontal_offset and vertical_offset are removed

This was only relevant in they days where the block positioning wasn't that reliable yet, should no longer be needed.

@JanDeDobbeleer JanDeDobbeleer marked this pull request as ready for review November 4, 2024 11:15
@JanDeDobbeleer JanDeDobbeleer merged commit 6a8cecb into main Nov 4, 2024
9 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants