github gitify-app/gitify v7.0.0

10 hours ago

Gitify v7.0.0

Tip

Our latest major release introduces support for Git Forges, including Gitea, Codeberg, Forgejo and Bitbucket Cloud. ๐ŸŽ‰

What's Changed

๐Ÿš€ Features

  • feat: @graphql-codegen migration and custom scalar mapping by @setchy in #2829
  • feat(storage): persist re-encrypted token on keychain key rotation by @afonsojramos in #2847
  • feat: multi-forge support โ€” adapter pattern + Gitea by @afonsojramos in #2842
  • feat(settings): make close-to-tray the default and remove the option by @afonsojramos in #2852
  • feat(login): redesign for multi-forge with segmented forge selector by @afonsojramos in #2855
  • feat(filters): account filtering by @setchy in #2858
  • feat(login): broaden gitea tagline to name forgejo and codeberg by @afonsojramos in #2859
  • feat(settings): add "Keep window open when it loses focus" option by @BlueManCZ in #2875
  • feat(filter): review request type (user or team) by @setchy in #3023
  • feat(filters): distinguish author and commenter in search filters by @afonsojramos in #2959
  • feat(forge): add bitbucket cloud support by @setchy in #3059
  • feat(events): monitor power state by @setchy in #3060

๐Ÿ› Bug Fixes

๐Ÿงผ Code Refactoring

  • fix(filters): pin filter sort to a stable locale by @BlueManCZ in #2844
  • refactor(events): add typed IPC contracts for compile-time safety by @afonsojramos in #2843
  • refactor: tidy up the forge adapter interface by @afonsojramos in #2874
  • refactor(links): rename openGitHub* host helpers to openHost* by @afonsojramos in #2885
  • refactor(forges): expose getAuthMethodIcon on the adapter by @afonsojramos in #2883
  • refactor(forges): bundle related ForgeAdapter members into capability objects by @afonsojramos in #2887
  • refactor(notifications): generate notification URL via the adapter by @afonsojramos in #2886
  • refactor(main): adopt electron-menubar v10 for window/tray/system handling by @afonsojramos in #2880
  • refactor(login): organize login routes and components by forge by @afonsojramos in #3030
  • refactor: tanstack-query for api state, zustand for accounts and settings state by @setchy in #2637
  • refactor(storage): remove legacy storage key after migration by @afonsojramos in #3037
  • refactor(forges): read settings store inside the forge layer by @afonsojramos in #3035
  • refactor(auth): remove legacy plaintext token migration by @afonsojramos in #3031
  • refactor(accounts): move account crud into the accounts store by @afonsojramos in #3036
  • refactor: device code flow ux by @setchy in #3063

๐Ÿ“š Documentation

๐Ÿงช Testing

๐Ÿ“ฆ Dependency Updates

  • chore(deps): update sonarsource/sonarqube-scan-action action to v7.2 by @renovate[bot] in #2821
  • chore(deps): pin sonarsource/sonarqube-scan-action action to v7.2 by @renovate[bot] in #2822
  • chore(deps): update sonarsource/sonarqube-scan-action action to v8 by @renovate[bot] in #2825
  • chore(deps): update @swc-contrib/plugin-graphql-codegen-client-preset to v0.21.0 by @renovate[bot] in #2824
  • chore(deps): update pnpm/action-setup action to v6.0.4 by @renovate[bot] in #2827
  • chore(deps): update @primer/react to v38.21.0 by @renovate[bot] in #2828
  • chore(deps): update @primer/react to v38.21.1 by @renovate[bot] in #2831
  • chore(deps): update pnpm/action-setup action to v6.0.5 by @renovate[bot] in #2832
  • chore(deps): update @biomejs/biome to v2.4.14 by @renovate[bot] in #2830
  • chore(deps): update vite-plugin-electron-renderer to v0.14.7 by @renovate[bot] in #2833
  • chore(deps): update electron to v41.5.0 by @renovate[bot] in #2834
  • chore(deps): update fuxingloh/multi-labeler action to v5 by @renovate[bot] in #2837
  • chore(deps): lock file maintenance by @renovate[bot] in #2838
  • chore(deps): update electron to v42 and migrate to async safeStorage by @afonsojramos in #2839
  • chore(deps): update pnpm to v11 by @renovate[bot] in #2849
  • chore(deps): update pnpm to v11.0.6 by @renovate[bot] in #2861
  • chore(deps): update pnpm/action-setup action to v6.0.6 by @renovate[bot] in #2862
  • chore(deps): update final-form to v5.0.1 - autoclosed by @renovate[bot] in #2860
  • chore(deps): update zustand to v5.0.13 by @renovate[bot] in #2863
  • chore(deps): update react-router-dom to v7.15.0 by @renovate[bot] in #2864
  • chore(deps): lock file maintenance by @renovate[bot] in #2865
  • chore(deps): update @graphql-codegen/typescript-operations to v6.0.1 by @renovate[bot] in #2870
  • chore(deps): update react monorepo to v19.2.6 by @renovate[bot] in #2871
  • chore(deps): update graphql to v16.14.0 by @renovate[bot] in #2872
  • chore: migrate to vite-plus unified toolchain by @afonsojramos in #2869
  • chore(deps): update pnpm to v11.0.8 by @renovate[bot] in #2877
  • chore(deps): update vite to v8.0.11 by @renovate[bot] in #2878
  • chore(deps): update @primer/react to v38.22.0 by @renovate[bot] in #2879
  • chore(deps): update @types/node to v24.12.3 by @renovate[bot] in #2876
  • chore(deps): update tailwind-merge to v3.6.0 by @renovate[bot] in #2894
  • chore(deps): update vite to v8.0.12 by @renovate[bot] in #2892
  • chore(deps): update electron to v42.0.1 by @renovate[bot] in #2889
  • chore(deps): update pnpm to v11.0.9 by @renovate[bot] in #2890
  • chore(deps): update pnpm/action-setup action to v6.0.8 by @renovate[bot] in #2891
  • chore(deps): update @graphql-codegen/typescript-operations to v6.0.2 by @renovate[bot] in #2888
  • chore(deps): update tailwindcss monorepo to v4.3.0 by @renovate[bot] in #2895
  • chore(deps): update semver to v7.8.0 by @renovate[bot] in #2893
  • chore(deps): lock file maintenance by @renovate[bot] in #2896
  • chore(deps): update zizmorcore/zizmor-action action to v0.5.6 by @renovate[bot] in #2908
  • chore(deps): update sonarsource/sonarqube-scan-action action to v8.1.0 by @renovate[bot] in #2912
  • chore(deps): update electron-log to v5.4.4 by @renovate[bot] in #2903
  • chore(deps): update vitest monorepo to v4.1.6 by @renovate[bot] in #2907
  • chore(deps): update electron to v42.1.0 by @renovate[bot] in #2910
  • chore(deps): update @primer/react to v38.23.0 by @renovate[bot] in #2909
  • chore(deps): update @octokit/request to v10.0.9 by @renovate[bot] in #2900
  • chore(deps): update react-router-dom to v7.15.1 by @renovate[bot] in #2904
  • chore(deps): update @types/node to v24.12.4 by @renovate[bot] in #2901
  • chore(deps): update pnpm to v11.1.2 by @renovate[bot] in #2911
  • chore(deps): update vite to v8.0.13 by @renovate[bot] in #2905
  • chore(deps): update @vitejs/plugin-react to v6.0.2 by @renovate[bot] in #2902
  • chore(deps): update vite-plus to v0.1.21 by @renovate[bot] in #2906
  • chore(deps): lock file maintenance by @renovate[bot] in #2913
  • chore(deps): update pnpm to v11.1.3 by @renovate[bot] in #2916
  • chore(deps): update @types/react to v19.2.15 by @renovate[bot] in #2915
  • chore(deps): update node.js to v24.16.0 by @renovate[bot] in #2921
  • chore(deps): update electron to v42.2.0 by @renovate[bot] in #2920
  • chore(deps): update date-fns to v4.2.1 by @renovate[bot] in #2919
  • chore(deps): update @primer/css to v22.2.0 by @renovate[bot] in #2917
  • chore(deps): update @primer/octicons-react to v19.26.0 by @renovate[bot] in #2918
  • chore(deps): update pnpm to v11.2.2 by @renovate[bot] in #2929
  • chore(deps): update semver to v7.8.1 by @renovate[bot] in #2922
  • chore(deps): update vite-plus to v0.1.22 by @renovate[bot] in #2924
  • chore(deps): update vitest monorepo to v4.1.7 by @renovate[bot] in #2925
  • chore(deps): update @swc-contrib/plugin-graphql-codegen-client-preset to v0.22.0 by @renovate[bot] in #2928
  • chore(deps): update vite to v8.0.14 by @renovate[bot] in #2923
  • chore(deps): lock file maintenance by @renovate[bot] in #2930
  • chore(deps): update date-fns to v4.3.0 by @renovate[bot] in #2933
  • chore(deps): update pnpm to v11.3.0 by @renovate[bot] in #2934
  • chore(deps): update @octokit/request to v10.0.10 by @renovate[bot] in #2932
  • chore(deps): update vite-plugin-checker to v0.14.1 by @renovate[bot] in #2938
  • chore(deps): update electron to v42.3.0 by @renovate[bot] in #2935
  • chore(deps): update @primer/octicons-react to v19.27.0 by @renovate[bot] in #2926
  • chore(deps): update graphqlcodegenerator monorepo by @renovate[bot] in #2936
  • chore(deps): update react-router-dom to v7.16.0 by @renovate[bot] in #2941
  • chore(deps): update pnpm to v11.4.0 by @renovate[bot] in #2937
  • chore(deps): update concurrently to v10 by @renovate[bot] in #2942
  • chore(deps): update pnpm to v11.5.0 by @renovate[bot] in #2948
  • chore(deps): lock file maintenance by @renovate[bot] in #2939
  • chore(deps): update swc monorepo to v0.24.0 by @renovate[bot] in #2949
  • chore(deps): update date-fns to v4.4.0 by @renovate[bot] in #2947
  • chore(deps): update actions/checkout action to v6.0.3 by @renovate[bot] in #2943
  • chore(deps): update vite-plus to v0.1.23 by @renovate[bot] in #2945
  • chore(deps): update graphqlcodegenerator monorepo to v7.1.1 by @renovate[bot] in #2944
  • chore(deps): update zustand to v5.0.14 by @renovate[bot] in #2940
  • chore(deps): update @primer/octicons-react to v19.28.0 by @renovate[bot] in #2946
  • chore(deps): update @primer/react to v38.26.0 by @renovate[bot] in #2927
  • chore(deps): override vulnerable react-devtools transitive deps by @afonsojramos in #2950
  • chore(deps): update vite-plugin-electron-renderer to v1 by @renovate[bot] in #2957
  • chore(deps): pin dependencies by @renovate[bot] in #2951
  • chore(deps): lock file maintenance by @renovate[bot] in #2958
  • chore: migrate vite-plugin-electron to v1 by @afonsojramos in #2961
  • chore(deps): update concurrently to v10.0.3 by @renovate[bot] in #2963
  • chore(deps): update @primer/octicons-react to v19.28.1 by @renovate[bot] in #2962
  • chore(deps): update electron-updater to v6.8.8 by @renovate[bot] in #2965
  • chore(deps): update electron to v42.3.3 by @renovate[bot] in #2964
  • chore(deps): update sonarsource/sonarqube-scan-action action to v8.2.0 by @renovate[bot] in #2983
  • chore(deps): update electron-updater to v6.8.9 by @renovate[bot] in #2967
  • chore(deps): update react-router monorepo to v7.17.0 by @renovate[bot] in #2982
  • chore(deps): update happy-dom monorepo to v20.10.2 by @renovate[bot] in #2981
  • chore(deps): update @primer/react to v38.27.0 by @renovate[bot] in #2977
  • chore(deps): update semver to v7.8.2 by @renovate[bot] in #2972
  • chore(deps): update pnpm to v11.5.2 by @renovate[bot] in #2970
  • chore(deps): update graphql to v16.14.1 by @renovate[bot] in #2968
  • chore(deps): update vite to v8.0.16 by @renovate[bot] in #2973
  • chore(deps): update vite-plugin-electron to v1.0.4 by @renovate[bot] in #2974
  • chore(deps): update react monorepo by @renovate[bot] in #2971
  • chore(deps): update graphqlcodegenerator monorepo to v7.1.2 by @renovate[bot] in #2969
  • chore(deps): update electron-builder to v26.15.2 by @renovate[bot] in #2980
  • chore(deps): update vite-plus to v0.1.24 by @renovate[bot] in #2975
  • chore(deps): update @types/node to v24.13.1 by @renovate[bot] in #2978
  • chore(deps): update yauzl to v3.4.0 by @renovate[bot] in #2984
  • chore(deps): update vitest monorepo to v4.1.8 by @renovate[bot] in #2976
  • chore(deps): update electron to v42.4.0 by @renovate[bot] in #2979
  • chore(deps): update semver to v7.8.3 by @renovate[bot] in #2986
  • chore(deps): lock file maintenance by @renovate[bot] in #2985
  • chore(deps): update workspace config by @setchy in #2988
  • chore(deps): update @types/node to v24.13.2 by @renovate[bot] in #2990
  • chore(deps): update pnpm to v11.5.3 by @renovate[bot] in #2993
  • chore(deps): update graphql to v16.14.2 by @renovate[bot] in #2992
  • chore(deps): update semver to v7.8.4 by @renovate[bot] in #2994
  • chore(deps): update electron-builder to v26.15.3 by @renovate[bot] in #2991
  • chore(deps): update pnpm to v11.6.0 by @renovate[bot] in #2995
  • chore(deps): lock file maintenance by @renovate[bot] in #2996
  • chore(deps): update vite-plus to v0.2.0 by @afonsojramos in #2997
  • chore(deps): update graphqlcodegenerator monorepo by @renovate[bot] in #2999
  • chore(deps): update electron to v42.4.1 by @renovate[bot] in #2998
  • chore(deps): update pnpm/action-setup action to v6.0.9 by @renovate[bot] in #3001
  • chore(deps): update semver to v7.8.5 by @renovate[bot] in #3002
  • chore(deps): update node.js to v24.18.0 by @renovate[bot] in #3009
  • chore(deps): update actions/checkout action to v7 by @renovate[bot] in #3013
  • chore(deps): update pnpm to v11.8.0 by @renovate[bot] in #3010
  • chore(deps): update zizmorcore/zizmor-action action to v0.5.7 by @renovate[bot] in #3006
  • chore(deps): update @primer/css to v22.3.0 by @renovate[bot] in #3007
  • chore(deps): update vite-plus to v0.2.1 by @renovate[bot] in #3005
  • chore(deps): update happy-dom to v20.10.6 by @renovate[bot] in #3000
  • chore(deps): update tailwindcss monorepo to v4.3.1 by @renovate[bot] in #3003
  • chore(deps): update react-router-dom to v7.18.0 by @renovate[bot] in #3011
  • chore(deps): update vite-plugin-checker to v0.14.4 by @renovate[bot] in #3004
  • chore(deps): update graphql to v17 by @renovate[bot] in #3014
  • chore(deps): update @swc-contrib/plugin-graphql-codegen-client-preset to v0.26.0 by @renovate[bot] in #3012
  • chore(deps): update @primer/react to v38.29.0 by @renovate[bot] in #3008
  • chore(deps): update pnpm to v11.9.0 by @renovate[bot] in #3019
  • chore(deps): update vite to v8.1.0 by @renovate[bot] in #3020
  • chore(deps): update vite-plugin-electron to v1.1.0 by @renovate[bot] in #3021
  • chore(deps): update electron to v42.5.0 by @renovate[bot] in #3018
  • chore(deps): update @graphql-codegen/typescript-operations to v6.0.5 by @renovate[bot] in #3016
  • chore(deps): update @vitejs/plugin-react to v6.0.3 by @renovate[bot] in #3017
  • chore(deps): lock file maintenance by @renovate[bot] in #3015
  • chore(deps): update @octokit/request to v10.0.11 by @renovate[bot] in #3027
  • chore(deps): update @swc-contrib/plugin-graphql-codegen-client-preset to v0.26.1 - autoclosed by @renovate[bot] in #3028
  • chore(deps): update @types/node to v24.13.3 by @renovate[bot] in #3032
  • chore(deps): update graphql to v17.0.2 by @renovate[bot] in #3033
  • chore(deps): update react-router-dom to v7.18.1 by @renovate[bot] in #3038
  • chore(deps): update sonarsource/sonarqube-scan-action action to v8.2.1 - autoclosed by @renovate[bot] in #3039
  • chore(deps): update actions/setup-node action to v7 by @renovate[bot] in #3050
  • chore(deps): update actions/checkout action to v7.0.1 by @renovate[bot] in #3053
  • chore(deps): update zizmorcore/zizmor-action action to v0.6.0 by @renovate[bot] in #3049
  • chore(deps): update pnpm to v11.13.1 by @renovate[bot] in #3048
  • chore(deps): update electron-menubar to v10.1.2 by @renovate[bot] in #3046
  • chore(deps): update @tanstack/react-query to v5.101.2 by @renovate[bot] in #3043
  • chore(deps): update @primer/octicons-react to v19.29.2 by @renovate[bot] in #3040
  • chore(deps): update @swc-contrib/plugin-graphql-codegen-client-preset to v0.27.0 by @renovate[bot] in #3042
  • chore(deps): update vite to v8.1.5 by @renovate[bot] in #3055
  • chore(deps): update graphqlcodegenerator monorepo by @renovate[bot] in #3047
  • chore(deps): update electron to v43 by @renovate[bot] in #3051
  • chore(deps): update tailwindcss monorepo to v4.3.3 by @renovate[bot] in #3054
  • chore(deps): update @primer/react to v38.32.0 by @renovate[bot] in #3041
  • chore(deps): update vite-plus to v0.2.5 by @renovate[bot] in #3056
  • chore(deps): update typescript to v7 by @renovate[bot] in #3052
  • chore(deps): lock file maintenance by @renovate[bot] in #3061

๐Ÿงน Chore

Other Changes

  • feat(settings): add "Close to tray" option by @BlueManCZ in #2845
  • ci(triage): use pull_request_target so labeler can write on fork PRs by @afonsojramos in #2850
  • refactor(forges/github): move GITHUB_API_MERGE_BATCH_SIZE into forges/github by @afonsojramos in #2881

New Contributors

Full Changelog: v6.20.0...v7.0.0

Don't miss a new gitify release

NewReleases is sending notifications on new releases.