hyprwm/HyprlandPublic

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.

AI summary: A highly customizable, independent dynamic tiling Wayland compositor emphasizing smooth animations and visual effects.

Stars
38.8K
+39 today
Forks
2K
Watchers
146
Open issues
54
Open PRs
147
Contributors
~771
Commits
7.8K
Branches
33

C++BSD-3-ClauseCreated Mar 16, 2022Last push 2d agoLatest release v0.56.2+104 stars this week+401 this month

Quick answers

What is Hyprland?
A highly customizable, independent dynamic tiling Wayland compositor emphasizing smooth animations and visual effects.
What does Hyprland do?
Hyprland is an independent dynamic tiling window manager and Wayland compositor that prioritizes both aesthetics and functionality. It differs from other compositors by not relying on wlroots, libweston, or mutter, offering a 100% independent implementation. It manages application windows in a tiling layout while providing visual flair typically reserved for full desktop environments, including rounded corners, dual-kawase blur, drop shadows, and fluid bezier curve animations. Hyprland allows users to extensively define their desktop experience through a simple configuration file that reloads instantly upon saving without needing to recompile the source code.
Who is Hyprland for?
Advanced Linux users and developers who want a keyboard-centric tiling window manager with modern visual effects and deep customizability.
How do I get started with Hyprland?
Install via your distribution's package manager and edit `~/.config/hypr/hyprland.conf`.
How popular is Hyprland on GitHub?
hyprwm/Hyprland has 38,758 stars and 2,035 forks on GitHub, and gained 104 stars in the last 7 days.
What license does Hyprland use?
hyprwm/Hyprland is released under the BSD-3-Clause license.

Star history

since Jun 19, 2022
010K20K30KJun 2022Nov 2023Apr 2025Oct 2026
38.8K stars as of Oct 3, 2026. Before Jul 28, 2026, reconstructed from public GitHub event archives (checked against the repository's real star total); since then measured daily.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-05: 1 commit2025-10-06: 4 commits2025-10-07: 3 commits2025-10-08: 4 commits2025-10-09: 0 commits2025-10-10: 3 commits2025-10-11: 2 commits2025-10-12: 1 commit2025-10-13: 4 commits2025-10-14: 4 commits2025-10-15: 3 commits2025-10-16: 2 commits2025-10-17: 0 commits2025-10-18: 3 commits2025-10-19: 2 commits2025-10-20: 3 commits2025-10-21: 4 commits2025-10-22: 1 commit2025-10-23: 2 commits2025-10-24: 4 commits2025-10-25: 4 commits2025-10-26: 5 commits2025-10-27: 6 commits2025-10-28: 0 commits2025-10-29: 4 commits2025-10-30: 0 commits2025-10-31: 2 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 2 commits2025-11-05: 1 commit2025-11-06: 2 commits2025-11-07: 6 commits2025-11-08: 0 commits2025-11-09: 3 commits2025-11-10: 1 commit2025-11-11: 5 commits2025-11-12: 2 commits2025-11-13: 1 commit2025-11-14: 2 commits2025-11-15: 2 commits2025-11-16: 21 commits2025-11-17: 22 commits2025-11-18: 6 commits2025-11-19: 4 commits2025-11-20: 8 commits2025-11-21: 2 commits2025-11-22: 2 commits2025-11-23: 1 commit2025-11-24: 2 commits2025-11-25: 7 commits2025-11-26: 3 commits2025-11-27: 5 commits2025-11-28: 2 commits2025-11-29: 1 commit2025-11-30: 2 commits2025-12-01: 0 commits2025-12-02: 2 commits2025-12-03: 3 commits2025-12-04: 6 commits2025-12-05: 7 commits2025-12-06: 7 commits2025-12-07: 6 commits2025-12-08: 5 commits2025-12-09: 0 commits2025-12-10: 2 commits2025-12-11: 7 commits2025-12-12: 2 commits2025-12-13: 2 commits2025-12-14: 4 commits2025-12-15: 3 commits2025-12-16: 5 commits2025-12-17: 4 commits2025-12-18: 2 commits2025-12-19: 1 commit2025-12-20: 6 commits2025-12-21: 3 commits2025-12-22: 1 commit2025-12-23: 1 commit2025-12-24: 1 commit2025-12-25: 0 commits2025-12-26: 3 commits2025-12-27: 6 commits2025-12-28: 2 commits2025-12-29: 1 commit2025-12-30: 3 commits2025-12-31: 4 commits2026-01-01: 3 commits2026-01-02: 3 commits2026-01-03: 4 commits2026-01-04: 1 commit2026-01-05: 13 commits2026-01-06: 4 commits2026-01-07: 2 commits2026-01-08: 8 commits2026-01-09: 2 commits2026-01-10: 0 commits2026-01-11: 2 commits2026-01-12: 2 commits2026-01-13: 2 commits2026-01-14: 0 commits2026-01-15: 1 commit2026-01-16: 5 commits2026-01-17: 2 commits2026-01-18: 2 commits2026-01-19: 0 commits2026-01-20: 3 commits2026-01-21: 7 commits2026-01-22: 3 commits2026-01-23: 2 commits2026-01-24: 1 commit2026-01-25: 1 commit2026-01-26: 0 commits2026-01-27: 4 commits2026-01-28: 0 commits2026-01-29: 5 commits2026-01-30: 3 commits2026-01-31: 4 commits2026-02-01: 5 commits2026-02-02: 1 commit2026-02-03: 3 commits2026-02-04: 2 commits2026-02-05: 1 commit2026-02-06: 3 commits2026-02-07: 4 commits2026-02-08: 0 commits2026-02-09: 2 commits2026-02-10: 6 commits2026-02-11: 3 commits2026-02-12: 1 commit2026-02-13: 2 commits2026-02-14: 5 commits2026-02-15: 2 commits2026-02-16: 2 commits2026-02-17: 2 commits2026-02-18: 2 commits2026-02-19: 4 commits2026-02-20: 2 commits2026-02-21: 7 commits2026-02-22: 3 commits2026-02-23: 1 commit2026-02-24: 8 commits2026-02-25: 5 commits2026-02-26: 4 commits2026-02-27: 3 commits2026-02-28: 16 commits2026-03-01: 6 commits2026-03-02: 14 commits2026-03-03: 9 commits2026-03-04: 3 commits2026-03-05: 8 commits2026-03-06: 3 commits2026-03-07: 12 commits2026-03-08: 1 commit2026-03-09: 7 commits2026-03-10: 5 commits2026-03-11: 1 commit2026-03-12: 1 commit2026-03-13: 4 commits2026-03-14: 3 commits2026-03-15: 5 commits2026-03-16: 0 commits2026-03-17: 6 commits2026-03-18: 1 commit2026-03-19: 2 commits2026-03-20: 2 commits2026-03-21: 0 commits2026-03-22: 5 commits2026-03-23: 4 commits2026-03-24: 1 commit2026-03-25: 1 commit2026-03-26: 9 commits2026-03-27: 3 commits2026-03-28: 11 commits2026-03-29: 5 commits2026-03-30: 3 commits2026-03-31: 4 commits2026-04-01: 2 commits2026-04-02: 4 commits2026-04-03: 8 commits2026-04-04: 17 commits2026-04-05: 9 commits2026-04-06: 0 commits2026-04-07: 8 commits2026-04-08: 2 commits2026-04-09: 0 commits2026-04-10: 1 commit2026-04-11: 1 commit2026-04-12: 6 commits2026-04-13: 2 commits2026-04-14: 1 commit2026-04-15: 1 commit2026-04-16: 5 commits2026-04-17: 3 commits2026-04-18: 3 commits2026-04-19: 1 commit2026-04-20: 2 commits2026-04-21: 1 commit2026-04-22: 2 commits2026-04-23: 2 commits2026-04-24: 1 commit2026-04-25: 2 commits2026-04-26: 11 commits2026-04-27: 11 commits2026-04-28: 8 commits2026-04-29: 9 commits2026-04-30: 10 commits2026-05-01: 9 commits2026-05-02: 10 commits2026-05-03: 6 commits2026-05-04: 4 commits2026-05-05: 2 commits2026-05-06: 7 commits2026-05-07: 9 commits2026-05-08: 12 commits2026-05-09: 9 commits2026-05-10: 7 commits2026-05-11: 4 commits2026-05-12: 6 commits2026-05-13: 9 commits2026-05-14: 2 commits2026-05-15: 6 commits2026-05-16: 8 commits2026-05-17: 1 commit2026-05-18: 4 commits2026-05-19: 4 commits2026-05-20: 1 commit2026-05-21: 5 commits2026-05-22: 8 commits2026-05-23: 3 commits2026-05-24: 2 commits2026-05-25: 3 commits2026-05-26: 4 commits2026-05-27: 4 commits2026-05-28: 4 commits2026-05-29: 5 commits2026-05-30: 10 commits2026-05-31: 1 commit2026-06-01: 9 commits2026-06-02: 4 commits2026-06-03: 7 commits2026-06-04: 6 commits2026-06-05: 4 commits2026-06-06: 1 commit2026-06-07: 1 commit2026-06-08: 12 commits2026-06-09: 5 commits2026-06-10: 6 commits2026-06-11: 5 commits2026-06-12: 2 commits2026-06-13: 6 commits2026-06-14: 15 commits2026-06-15: 2 commits2026-06-16: 1 commit2026-06-17: 2 commits2026-06-18: 3 commits2026-06-19: 2 commits2026-06-20: 1 commit2026-06-21: 4 commits2026-06-22: 0 commits2026-06-23: 1 commit2026-06-24: 8 commits2026-06-25: 3 commits2026-06-26: 7 commits2026-06-27: 10 commits2026-06-28: 9 commits2026-06-29: 5 commits2026-06-30: 3 commits2026-07-01: 4 commits2026-07-02: 4 commits2026-07-03: 4 commits2026-07-04: 4 commits2026-07-05: 1 commit2026-07-06: 2 commits2026-07-07: 1 commit2026-07-08: 1 commit2026-07-09: 1 commit2026-07-10: 3 commits2026-07-11: 4 commits2026-07-12: 5 commits2026-07-13: 9 commits2026-07-14: 10 commits2026-07-15: 4 commits2026-07-16: 10 commits2026-07-17: 13 commits2026-07-18: 2 commits2026-07-19: 6 commits2026-07-20: 3 commits2026-07-21: 6 commits2026-07-22: 7 commits2026-07-23: 2 commits2026-07-24: 2 commits2026-07-25: 2 commits2026-07-26: 4 commits2026-07-27: 10 commits2026-07-28: 5 commits2026-07-29: 5 commits2026-07-30: 3 commits2026-07-31: 7 commits2026-08-01: 6 commits2026-08-02: 3 commits2026-08-03: 3 commits2026-08-04: 9 commits2026-08-05: 6 commits2026-08-06: 3 commits2026-08-07: 2 commits2026-08-08: 5 commits2026-08-09: 4 commits2026-08-10: 5 commits2026-08-11: 7 commits2026-08-12: 4 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 2 commits2026-08-16: 2 commits2026-08-17: 1 commit2026-08-18: 2 commits2026-08-19: 1 commit2026-08-20: 1 commit2026-08-21: 4 commits2026-08-22: 10 commits2026-08-23: 3 commits2026-08-24: 2 commits2026-08-25: 1 commit2026-08-26: 2 commits2026-08-27: 3 commits2026-08-28: 2 commits2026-08-29: 2 commits2026-08-30: 4 commits2026-08-31: 2 commits2026-09-01: 5 commits2026-09-02: 1 commit2026-09-03: 4 commits2026-09-04: 5 commits2026-09-05: 3 commits2026-09-06: 2 commits2026-09-07: 1 commit2026-09-08: 0 commits2026-09-09: 3 commits2026-09-10: 1 commit2026-09-11: 0 commits2026-09-12: 7 commits2026-09-13: 2 commits2026-09-14: 1 commit2026-09-15: 2 commits2026-09-16: 0 commits2026-09-17: 1 commit2026-09-18: 0 commits2026-09-19: 4 commits2026-09-20: 0 commits2026-09-21: 0 commits2026-09-22: 4 commits2026-09-23: 1 commit2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 5 commits2026-09-27: 1 commit2026-09-28: 0 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
1,356 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    38,758 stars

  • Very active

    1,356 commits in 52 weeks

  • Community-driven

    ~771 contributors

  • Permissive license

    BSD-3-Clause

  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

What Hyprland does

Hyprland is an independent dynamic tiling window manager and Wayland compositor that prioritizes both aesthetics and functionality. It differs from other compositors by not relying on wlroots, libweston, or mutter, offering a 100% independent implementation. It manages application windows in a tiling layout while providing visual flair typically reserved for full desktop environments, including rounded corners, dual-kawase blur, drop shadows, and fluid bezier curve animations. Hyprland allows users to extensively define their desktop experience through a simple configuration file that reloads instantly upon saving without needing to recompile the source code.

Advanced Linux users and developers who want a keyboard-centric tiling window manager with modern visual effects and deep customizability.

  • Dynamic Tiling Layouts: Automatically arranges windows efficiently with built-in layouts, supporting manual placements, floating, and fullscreen windows.
  • Custom Bezier Animations: Provides smooth, deeply customizable bezier-curve based animations for window transitions and workspace switching.
  • Advanced Eyecandy: Built-in support for high-end graphical effects including gradient borders, dual-kawase blur, drop shadows, and rounded corners.
  • Instant Hot Reloading: Configuration changes apply instantly without requiring a system restart or code compilation.
  • Independent Implementation: Built entirely independently as a Wayland compositor without relying on traditional frameworks like wlroots or libweston.
  • Tearing Support: Includes built-in support for screen tearing, optimizing performance specifically for low-latency modern Linux gaming.
  • Socket-based IPC: Features powerful inter-process communication via sockets, enabling deep scriptability and external control.
  • Plugin Ecosystem: Supports a built-in plugin manager, allowing users to extend functionality and layouts seamlessly.

Where teams use it

Custom Desktop Environments

Linux enthusiasts use Hyprland as the foundation to build highly personalized, aesthetically pleasing desktop setups with advanced visual effects.

Productivity Workflows

Developers leverage the dynamic tiling window management and global keybinds to maximize screen real estate and navigate efficiently via keyboard.

Modern Linux Gaming

Gamers use Hyprland for its independent low latency Wayland implementation and explicit tearing support for better performance.

Scripted Window Management

Power users utilize the socket-based IPC interface to create custom scripts that automate window placement, monitor rules, and workspace behavior.

Getting started: Install via your distribution's package manager and edit `~/.config/hypr/hyprland.conf`.

README

main branch
banner

Badge Workflow Badge License Badge Language Badge Pull Requests Badge Issues Badge Hi Mom


Hyprland is a 100% independent, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.

It provides the latest Wayland features, is highly customizable, has all the eyecandy, the most powerful plugins, easy IPC, much more QoL stuff than other compositors and more...


 
 Install 
 
   
 Quick Start 
 
   
 Configure 
 
   
 Contribute 
 



Features

  • All of the eyecandy: gradient borders, many types of blur, animations, glow, shadows and much more
  • A lot of customization
  • 100% independent, no wlroots, no libweston, no kwin, no mutter.
  • Custom bezier and spring curves for the best animations
  • Powerful plugin support
  • Built-in plugin manager
  • Tearing support for better gaming performance
  • Easily expandable and readable codebase
  • Fast and active development
  • Not afraid to provide bleeding-edge features
  • Config reloaded instantly upon saving
  • Global keybinds passed to your apps of choice
  • Tiling/pseudotiling/floating/fullscreen windows
  • Special workspaces (scratchpads)
  • Window groups (tabbed mode)
  • Powerful window/monitor/layer rules
  • Socket-based IPC
  • Native IME and Input Panels Support
  • Fully dynamic workspaces
  • Extensive layout support
    • Dwindle
    • Scrolling
    • Master
    • Monocle
    • Custom layout with Lua
    • Custom layouts with plugins
  • Per Workspace Layouts
  • and much more...


Gallery


Preview A


Preview B


Preview C



Special Thanks


wlroots - For powering Hyprland in the past

tinywl - For showing how 2 do stuff

Sway - For showing how 2 do stuff the overkill way

Vivarium - For showing how 2 do stuff the simple way

dwl - For showing how 2 do stuff the hacky way

Wayfire - For showing how 2 do some graphics stuff

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 4.7K

Releases and announcements

117 total
  1. v0.56.2v0.56.2Aug 5, 20265.5K downloads

    A standard patch release backporting some fixes from main on top of 0.56.2. ## Fixes backported - algo/scrolling: fix unFSing window sticking to the left corner instead of respecting `focus_fit_method` (#15716) by @erstarr - config: fix duplicate config value crash (#15708) by @gulafaran - core/fullscreen: allow layout managed fullscreens to not block seeking window in direction, and other fixes (#15569) by @erstarr - core/fullscreen: fix floating window rendering order when one of them is FSed (#15703) by @erstarr - desktop/rules: fix gaps_out rule overriding float_gaps (#15662) by @Dregu - hyprctl: fix wiki strings (#15739) by @vaxerski - screenshare: fix toplevel capture missing software cursor (#15638) by @Dregu - algo/scrolling: bring back old behavior of fs (#15660) by @vaxerski - bindings/dispatchers: Don't inherit key state modmask during key sym lookup (#15401) by @masnax - config/monitorRuleManager: recheck mirrors on ensure (#15733) by @vaxerski - desktop/hitTest: exclusive layer popup event handling (#15729) by @aurelleb - desktop: render IME above all desktop components (#15646) by @vaxerski - feat: add missing lua stub (#15579) by @nath141

  2. v0.56.1v0.56.1Jul 27, 20261.6K downloads

    As usual, a patch release with a few fixes backported from main onto 0.56.0 ## Fixes backported - compositor: add a deprecation notice to .conf configs (#15538) by @vaxerski - workspace: add changeworkspaceid to socket2 (#15571) by @vaxerski - desktop/windowRule: fix exec rules leaking (#15543) by @vaxerski - hyprctl: fix json output for binds (#15507) by @vaxerski - input-capture: fix `allow_input_capture` bind flag with `capture_modifiers` enabled (#15477) by @littleblack111 - monitor: fix rotate and mirror regression (#15587) by @gulafaran - scrolling: fix in-band resize for the first window of a band (#15532) by @jwiseuk - build: update hyprutils dependency to 0.14.0 (#15518) by @aruhier - compositor: init eventManager earlier (#15522) by @vaxerski - config/lua: do not nuke package.path (#15622) by @vaxerski - config/lua: use openLate for window.open events (#15540) by @vaxerski - example: update hyprland.lua default springs (#15499) by @cebem1nt - input: nullptr check eis_client_get_name (#15520) by @gulafaran - protocols/pointerwarp: send mouse frame event after motion (#15599) by @awused - renderer: round m_scale calculations (#15594) by @gul

  3. v0.56.0v0.56.0Jul 20, 20261.5K downloads

    A big new release with tons of features and fixes, brought to you by the Hyprland Corp. No breaking changes! :) ## New features: - algo/master: add an option to focus master when window is closed (#14306) by @ArchSav - algo/scrolling: add `inhibit_scroll` dispatch for scrolling algorithm (#13955) by @erstarr - algo/scrolling: add a "fit expand" layout message (#14761) by @LichtMarv - algo/scrolling: add new `fit_into_view` layout msg (#14991) by @erstarr - cm/icc: add Primaries to ICC-generated SImageDescription (#15227) by @GamingLiamStudios - config/lua: add a change_id workspace API (#15298) by @vaxerski - config/lua: add get_loaded_plugins (#14582) by @vaxerski - config/lua: add hl.clear_crashed_lockscreen() and fix tty instructions (#15299) by @vaxerski - config/lua: add is_key_down and a key event (#14779) by @zacoons - config/lua: add lua-driven custom live gestures (#15393) by @vaxerski - config/lua: add physicalWidth and physicalHeight to lua's Monitor (#14657) by @leiserfg - config/propRefresher: add capability to execute scheduled prop refresh immediately with lua helper function, add event for prop refresh (#14990) by @erstarr - crashrepo

  4. v0.55.4v0.55.4Jun 11, 20265.2K downloads

    Another small round of patches on top of 0.55.3. ## Fixes backported - config/lua: fix layout ctx checking the wrong argument (#15061) - desktop/popup: fix subsurface scaling (#14936) - gestures: fix live cursorZoom anchoring to a mid-animation value (#14996) - gestures: fix toggle cursorZoom sharing a single on/off flag (#14998) - groups: fix border color for locked groups (#15015) - protocols/foreignToplevel: fix class and title reporting on map and afterwards (#15037) - protocols/pointerWarp: fix crash when warp is on a non interactive surf (#15021) - renderer: fix SEGV on monitor disconnect (#15048) - gestures: clamp toggle cursorZoom like mult and live (#14997) - gestures: configure client to final size on fullscreen/float gesture completion (#14981) ## Special Thanks As always, special thanks to these people / companies for supporting Hyprland's continued development: ### Sponsors #### Diamond 37Signals #### Gold Framework, Butterfly ### Donators #### Top Supporters: Tonao Paneguini, Semtex, soy_3l.beantser, Seishin, Nox Æterna, Illyan, Snorezor, Bonsai, Joshua Weaver, ExBhal, DHH, Mikko_Nyman, Kay, iain, TyrHeimdal, miget.

  5. v0.55.3v0.55.3Jun 7, 20261.7K downloads

    A small (or maybe not that small) patch release backporting some fixes from main onto 0.55.2. ## Fixes backported - hyprctl: add config full-reload for performing a ground-up reload (#14748) - meta/lua: add missing notification text field and make timeout required (#14665) - binds/submap: fix submap enter bind == bind inside submap (#14856) - compositor: fix monitor re-enabling on hotplug when dpms is off (#14818) - compositor: fix render unfocused for subsurfaces (#14718) - config/actions: fix null derefs in pin dispatcher (#14914) - config: fix VRR not applying on runtime change (#14744) - config: fix decoration values to refresh on runtime eval/keyword change (#14590) - core: fix a few fd leaks (#14870) - decoration/glow: fix visibility when no decorate is set (#14602) - desktop/popup: fix reposition artifacts (#14820) - desktop/window: fix wrong scale being applied after workspace rules (#14832) - internal: fix null deref in setWindowFullscreenInternal when fullscreen state stale (#14725) - jeremy: fix auto-generating hyprlang instead of lua config file by default (#14944) - renderer: fix `cursor:zoom_rigid` being ignored with detached camera (#

Code frequency

additions and deletions
+24.4K-24.4KWeek of 2025-10-05: +1,123 linesWeek of 2025-10-05: -363 linesWeek of 2025-10-12: +257 linesWeek of 2025-10-12: -141 linesWeek of 2025-10-19: +998 linesWeek of 2025-10-19: -308 linesWeek of 2025-10-26: +555 linesWeek of 2025-10-26: -170 linesWeek of 2025-11-02: +925 linesWeek of 2025-11-02: -224 linesWeek of 2025-11-09: +278 linesWeek of 2025-11-09: -163 linesWeek of 2025-11-16: +5,429 linesWeek of 2025-11-16: -3,383 linesWeek of 2025-11-23: +1,520 linesWeek of 2025-11-23: -947 linesWeek of 2025-11-30: +3,405 linesWeek of 2025-11-30: -1,767 linesWeek of 2025-12-07: +5,863 linesWeek of 2025-12-07: -5,411 linesWeek of 2025-12-14: +2,764 linesWeek of 2025-12-14: -2,266 linesWeek of 2025-12-21: +1,183 linesWeek of 2025-12-21: -3,328 linesWeek of 2025-12-28: +865 linesWeek of 2025-12-28: -159 linesWeek of 2026-01-04: +898 linesWeek of 2026-01-04: -312 linesWeek of 2026-01-11: +1,419 linesWeek of 2026-01-11: -1,109 linesWeek of 2026-01-18: +656 linesWeek of 2026-01-18: -547 linesWeek of 2026-01-25: +358 linesWeek of 2026-01-25: -173 linesWeek of 2026-02-01: +457 linesWeek of 2026-02-01: -134 linesWeek of 2026-02-08: +494 linesWeek of 2026-02-08: -199 linesWeek of 2026-02-15: +8,744 linesWeek of 2026-02-15: -5,623 linesWeek of 2026-02-22: +3,948 linesWeek of 2026-02-22: -1,893 linesWeek of 2026-03-01: +10,188 linesWeek of 2026-03-01: -6,886 linesWeek of 2026-03-08: +464 linesWeek of 2026-03-08: -294 linesWeek of 2026-03-15: +7,814 linesWeek of 2026-03-15: -6,932 linesWeek of 2026-03-22: +1,786 linesWeek of 2026-03-22: -294 linesWeek of 2026-03-29: +4,701 linesWeek of 2026-03-29: -2,538 linesWeek of 2026-04-05: +819 linesWeek of 2026-04-05: -530 linesWeek of 2026-04-12: +1,786 linesWeek of 2026-04-12: -1,260 linesWeek of 2026-04-19: +675 linesWeek of 2026-04-19: -419 linesWeek of 2026-04-26: +24,437 linesWeek of 2026-04-26: -10,957 linesWeek of 2026-05-03: +5,252 linesWeek of 2026-05-03: -2,727 linesWeek of 2026-05-10: +906 linesWeek of 2026-05-10: -168 linesWeek of 2026-05-17: +724 linesWeek of 2026-05-17: -263 linesWeek of 2026-05-24: +1,466 linesWeek of 2026-05-24: -397 linesWeek of 2026-05-31: +1,820 linesWeek of 2026-05-31: -488 linesWeek of 2026-06-07: +10,003 linesWeek of 2026-06-07: -7,227 linesWeek of 2026-06-14: +1,742 linesWeek of 2026-06-14: -763 linesWeek of 2026-06-21: +3,322 linesWeek of 2026-06-21: -1,679 linesWeek of 2026-06-28: +7,287 linesWeek of 2026-06-28: -5,139 linesWeek of 2026-07-05: +8,558 linesWeek of 2026-07-05: -1,914 linesWeek of 2026-07-12: +3,839 linesWeek of 2026-07-12: -1,010 linesWeek of 2026-07-19: +658 linesWeek of 2026-07-19: -3,850 linesWeek of 2026-07-26: +8,082 linesWeek of 2026-07-26: -3,697 linesWeek of 2026-08-02: +6,633 linesWeek of 2026-08-02: -2,504 linesWeek of 2026-08-09: +1,066 linesWeek of 2026-08-09: -784 linesWeek of 2026-08-16: +15,133 linesWeek of 2026-08-16: -6,022 linesWeek of 2026-08-23: +1,057 linesWeek of 2026-08-23: -270 linesWeek of 2026-08-30: +4,258 linesWeek of 2026-08-30: -1,927 linesWeek of 2026-09-06: +5,846 linesWeek of 2026-09-06: -3,080 linesWeek of 2026-09-13: +428 linesWeek of 2026-09-13: -134 linesWeek of 2026-09-20: +119 linesWeek of 2026-09-20: -65 linesWeek of 2026-09-27: +42 linesWeek of 2026-09-27: -4 linesOct 5, 2025Sep 27, 2026
+183.1K lines added, -102.8K removed over the last year.

Commits per week

last 52 weeks
680Week of 2025-10-05: 17 commitsWeek of 2025-10-12: 17 commitsWeek of 2025-10-19: 20 commitsWeek of 2025-10-26: 17 commitsWeek of 2025-11-02: 11 commitsWeek of 2025-11-09: 16 commitsWeek of 2025-11-16: 65 commitsWeek of 2025-11-23: 21 commitsWeek of 2025-11-30: 27 commitsWeek of 2025-12-07: 24 commitsWeek of 2025-12-14: 25 commitsWeek of 2025-12-21: 15 commitsWeek of 2025-12-28: 20 commitsWeek of 2026-01-04: 30 commitsWeek of 2026-01-11: 14 commitsWeek of 2026-01-18: 18 commitsWeek of 2026-01-25: 17 commitsWeek of 2026-02-01: 19 commitsWeek of 2026-02-08: 19 commitsWeek of 2026-02-15: 21 commitsWeek of 2026-02-22: 40 commitsWeek of 2026-03-01: 55 commitsWeek of 2026-03-08: 22 commitsWeek of 2026-03-15: 16 commitsWeek of 2026-03-22: 34 commitsWeek of 2026-03-29: 43 commitsWeek of 2026-04-05: 21 commitsWeek of 2026-04-12: 21 commitsWeek of 2026-04-19: 11 commitsWeek of 2026-04-26: 68 commitsWeek of 2026-05-03: 49 commitsWeek of 2026-05-10: 42 commitsWeek of 2026-05-17: 26 commitsWeek of 2026-05-24: 32 commitsWeek of 2026-05-31: 32 commitsWeek of 2026-06-07: 37 commitsWeek of 2026-06-14: 26 commitsWeek of 2026-06-21: 33 commitsWeek of 2026-06-28: 33 commitsWeek of 2026-07-05: 13 commitsWeek of 2026-07-12: 53 commitsWeek of 2026-07-19: 28 commitsWeek of 2026-07-26: 40 commitsWeek of 2026-08-02: 31 commitsWeek of 2026-08-09: 22 commitsWeek of 2026-08-16: 21 commitsWeek of 2026-08-23: 15 commitsWeek of 2026-08-30: 24 commitsWeek of 2026-09-06: 14 commitsWeek of 2026-09-13: 10 commitsWeek of 2026-09-20: 10 commitsWeek of 2026-09-27: 1 commitsOct 5, 2025Sep 27, 2026
1.4K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 57 commitsSun 1:00 — 22 commitsSun 2:00 — 18 commitsSun 3:00 — 13 commitsSun 4:00 — 6 commitsSun 5:00 — 7 commitsSun 6:00 — 7 commitsSun 7:00 — 4 commitsSun 8:00 — 11 commitsSun 9:00 — 17 commitsSun 10:00 — 25 commitsSun 11:00 — 38 commitsSun 12:00 — 67 commitsSun 13:00 — 75 commitsSun 14:00 — 65 commitsSun 15:00 — 72 commitsSun 16:00 — 88 commitsSun 17:00 — 84 commitsSun 18:00 — 88 commitsSun 19:00 — 83 commitsSun 20:00 — 80 commitsSun 21:00 — 70 commitsSun 22:00 — 70 commitsSun 23:00 — 56 commitsMon 0:00 — 46 commitsMon 1:00 — 32 commitsMon 2:00 — 11 commitsMon 3:00 — 7 commitsMon 4:00 — 9 commitsMon 5:00 — 7 commitsMon 6:00 — 7 commitsMon 7:00 — 7 commitsMon 8:00 — 10 commitsMon 9:00 — 23 commitsMon 10:00 — 25 commitsMon 11:00 — 43 commitsMon 12:00 — 53 commitsMon 13:00 — 81 commitsMon 14:00 — 91 commitsMon 15:00 — 88 commitsMon 16:00 — 93 commitsMon 17:00 — 91 commitsMon 18:00 — 98 commitsMon 19:00 — 72 commitsMon 20:00 — 66 commitsMon 21:00 — 59 commitsMon 22:00 — 60 commitsMon 23:00 — 75 commitsTue 0:00 — 37 commitsTue 1:00 — 28 commitsTue 2:00 — 15 commitsTue 3:00 — 8 commitsTue 4:00 — 6 commitsTue 5:00 — 5 commitsTue 6:00 — 5 commitsTue 7:00 — 6 commitsTue 8:00 — 7 commitsTue 9:00 — 21 commitsTue 10:00 — 27 commitsTue 11:00 — 67 commitsTue 12:00 — 55 commitsTue 13:00 — 92 commitsTue 14:00 — 67 commitsTue 15:00 — 79 commitsTue 16:00 — 81 commitsTue 17:00 — 52 commitsTue 18:00 — 75 commitsTue 19:00 — 62 commitsTue 20:00 — 69 commitsTue 21:00 — 73 commitsTue 22:00 — 80 commitsTue 23:00 — 48 commitsWed 0:00 — 39 commitsWed 1:00 — 18 commitsWed 2:00 — 15 commitsWed 3:00 — 8 commitsWed 4:00 — 12 commitsWed 5:00 — 4 commitsWed 6:00 — 6 commitsWed 7:00 — 7 commitsWed 8:00 — 14 commitsWed 9:00 — 16 commitsWed 10:00 — 49 commitsWed 11:00 — 52 commitsWed 12:00 — 62 commitsWed 13:00 — 87 commitsWed 14:00 — 64 commitsWed 15:00 — 91 commitsWed 16:00 — 77 commitsWed 17:00 — 74 commitsWed 18:00 — 78 commitsWed 19:00 — 48 commitsWed 20:00 — 54 commitsWed 21:00 — 59 commitsWed 22:00 — 89 commitsWed 23:00 — 57 commitsThu 0:00 — 47 commitsThu 1:00 — 37 commitsThu 2:00 — 21 commitsThu 3:00 — 9 commitsThu 4:00 — 10 commitsThu 5:00 — 6 commitsThu 6:00 — 9 commitsThu 7:00 — 8 commitsThu 8:00 — 10 commitsThu 9:00 — 17 commitsThu 10:00 — 31 commitsThu 11:00 — 56 commitsThu 12:00 — 69 commitsThu 13:00 — 58 commitsThu 14:00 — 59 commitsThu 15:00 — 62 commitsThu 16:00 — 71 commitsThu 17:00 — 87 commitsThu 18:00 — 76 commitsThu 19:00 — 76 commitsThu 20:00 — 69 commitsThu 21:00 — 92 commitsThu 22:00 — 72 commitsThu 23:00 — 36 commitsFri 0:00 — 48 commitsFri 1:00 — 31 commitsFri 2:00 — 17 commitsFri 3:00 — 14 commitsFri 4:00 — 8 commitsFri 5:00 — 2 commitsFri 6:00 — 4 commitsFri 7:00 — 14 commitsFri 8:00 — 8 commitsFri 9:00 — 16 commitsFri 10:00 — 37 commitsFri 11:00 — 51 commitsFri 12:00 — 43 commitsFri 13:00 — 57 commitsFri 14:00 — 63 commitsFri 15:00 — 71 commitsFri 16:00 — 61 commitsFri 17:00 — 83 commitsFri 18:00 — 76 commitsFri 19:00 — 77 commitsFri 20:00 — 68 commitsFri 21:00 — 66 commitsFri 22:00 — 62 commitsFri 23:00 — 64 commitsSat 0:00 — 49 commitsSat 1:00 — 38 commitsSat 2:00 — 25 commitsSat 3:00 — 14 commitsSat 4:00 — 9 commitsSat 5:00 — 4 commitsSat 6:00 — 3 commitsSat 7:00 — 10 commitsSat 8:00 — 13 commitsSat 9:00 — 17 commitsSat 10:00 — 26 commitsSat 11:00 — 31 commitsSat 12:00 — 47 commitsSat 13:00 — 79 commitsSat 14:00 — 73 commitsSat 15:00 — 73 commitsSat 16:00 — 84 commitsSat 17:00 — 109 commitsSat 18:00 — 106 commitsSat 19:00 — 74 commitsSat 20:00 — 65 commitsSat 21:00 — 64 commitsSat 22:00 — 59 commitsSat 23:00 — 60 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jul 30, 2026weekly#15+774
Jul 29, 2026weekly#15+774
Jul 28, 2026weekly#15+782