Skip to content

v2.0.0 - Light and Dark Mode (w/ Breaking Changes)! πŸŽ‰

Choose a tag to compare

@uhs-robert uhs-robert released this 04 Nov 22:06
· 83 commits to main since this release

🚨 Breaking Changes

πŸ“¦οΈ Setup Behavior Changed

setup() no longer automatically applies the theme.

Users must now call vim.cmd.colorscheme('oasis') after setup().

Before:

require('oasis').setup()

After:

require('oasis').setup()
vim.cmd.colorscheme('oasis')

Note

This aligns Oasis with standard Neovim colorscheme conventions (Catppuccin, Tokyonight, etc.) .
It also gives users more control over the theme application.

πŸŒ“ Dark and Light Mode

The style attribute has been upgraded. You no longer need to define style (unless you want to!).

Oasis now respects your system's light/dark mode and will adapt when your background changes in Neovim.

Before:

require('oasis').setup({ style = "lagoon"  })

After:

require('oasis').setup({ dark_style = "lagoon" , light_style = "dawn" })

✨ New Features / Bug Fixes

  • Native support for terminal background detection (DEC mode 2031)

  • Works with Neovim 0.10+ and modern terminals (Kitty, Alacritty, WezTerm, iTerm2)

  • Automatic palette switching based on vim.o.background changes

  • Circular triggering prevention for reliable operation

  • Ghostty: Full theme support for all 14 palette variants

  • Kitty: Complete theme support with refined colors

  • Well-documented extras directory with setup guides

  • Auto-select dark/light style when style is not explicitly configured

  • Defaults: dark_style="lagoon", light_style="dawn"

  • Works seamlessly with auto light/dark mode switching

  • lazy.nvim: Added LazyH1 and LazyH2 highlight groups

  • Modular plugin integration architecture for better maintainability

  • Consolidated plugin highlight loading system

  • Improved background change detection in auto-switch

  • Refined bright terminal colors for better visibility

  • Dawn variant terminal color improvements

  • Standardized formatting and indentation across codebase

  • Better visual palette completion

  • Comprehensive automatic light/dark mode switching guide

  • Extras directory documentation with installation guides

  • Kitty extras setup guide with step-by-step instructions

  • Improved README formatting and clarity

  • Better style switching instructions

  • Refactored to modular integrations/plugins structure

  • Replaced palette_name checks with light_mode flag for clarity

  • Consolidated plugin highlight loading into integrations/init.lua


This release represents a significant evolution of Oasis with better terminal
integration, smarter configuration, and improved reliability. The breaking
change brings Oasis in line with ecosystem standards while the new features
make it more powerful and flexible than ever!

Full Changelog: v1.4.0...v2.0.0