This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/CHANGELOG.org
2015-09-16 00:27:15 -04:00

67 KiB
Raw Blame History

Release 0.104.x (next)

0.104.0

IMPORTANT: Breaking changes

  • The bookmark save file has been moved to the .cache directory, if you have a bookmark file ~/.emacs.d/bookmarks then you'll have to move it to file ~/.emacs.d/.cache/bookmarks
  • Ruby on Rails framework has now its own layer called ruby-on-rails, be sure to add this layer to your dotfile if you use RoR.
  • Django framework has now its own layer called django, be sure to add this layer to your dotfile if you use it.
  • guide-key has been replaced by which-key, you may encounter issues if you have guide-key custom configurations, remove any guide-key configuration and check the options offered by which-key.
  • salt layer requires the new yaml layer, be sure to add the yaml layer to your dotfile if you use salt.

Other important notes:

  • All layers have been moved from contrib to layers directory
  • All category folders have been remove from !... to +...
  • spacemacs layer has been moved to new directory layers in the subfolder +distribution
  • All extensions directory in layers have been renamed to local. extensions directories will be deprecated in 0.105.0.

Hot new features:

  • Whole new package list used in the file packages.el of a layer. Packages can now be a list with keyword properties, the currently supported properties are :location, :step and :excluded. extensions.el files and <layer>-excluded-packages variables are now optional and will be deprecated in the next version 0.105.0.
  • New distribution concept, you can now choose between two distribution layers: spacemacs and spacemacs-base. spacemacs-base contains only a minimal set of packages. Use spacemacs distribution to get the full Spacemacs experience.
  • Add support for Quelpa which allows to use Melpa to install packages directly from source (i.e. one can now install a package from a Github repository).
  • New editing style: hybrid. This style is similar to Vim style except that all Emacs key bindings are available in hybrid (insert) state instead of Vim key bindings. Also in this state, the buffers are evilified like in Vim style.
  • The default theme of Spacemacs is now spacemacs-dark. The Spacemacs themes (spacemacs-dark and spacemacs-light) becomes the official themes of Spacemacs, official screenshots should be taken with one of these themes. (thanks to nashamri)
  • Add support for dotdirectory ~/.spacemacs.d which behaves like the Emacs dotdirectory (i.e. ~/.spacemacs.d/init.el is evaluated instead of ~/.spacemacs if the former exists and the latter does not) (thanks to justbur)
  • Guide-key is replaced by which-key which provides a enhanced and better live key bindings browsing experience. (thanks to justbur)
  • Whole new API to manage the powerline mode-line. It is now possible to easily define segments and arrange them (thanks to TheBB)
  • New web gallery to browse themes in themes-megapack, URL: theme gallery (thanks to robmerrell)
  • New test framework supporting layer specific tests (thanks to TheBB)
  • New interactive function dotspacemacs/test-dotfile testing the integrity of the .spacemacs file. This function will detect any unknown layers and bad values for dotspacemacs variable (thanks to justbur)

New Layers

  • asciidoc (thanks to hijarian)
  • chinese (thanks to andyque)
  • cscope (thanks to bmag)
  • common-lisp (old slime layer renamed) (thanks to kingcons)
  • django (split from python layer)
  • elm (thanks to usharf)
  • idris (thanks to zmthy)
  • jabber (thanks to toshism)
  • java (thanks to kleewho)
  • nim (thanks to Gonzih)
  • nixos (thanks to CestDiego)
  • ranger (thanks to ralesi)
  • sml (thanks to Devagamster)
  • spell-checking (split from syntax-checking) (thanks to justbur)
  • terraform (thanks to BrianHicks)
  • react (thanks to axyz)
  • ruby-on-rails (split from ruby layer)
  • scheme (thanks to kingcons)
  • vinegar (thanks to ralesi)
  • unimpaired (thanks to ralesi)
  • wakatime (thanks to CestDiego)
  • yaml (split from ruby)

Dotfile changes

  • New variable dospacemacs-distribution allowing to choose the default packages installed by Spacemacs.
  • New function dotspacemacs/user-init. Now dotspacemacs/init function is reserved for dotspacemacs variable exclusively.
  • New value any for dotspacemacs-highlight-delimiters, when set to
  • New variable dotspacemacs-helm-resize. If non nil then helm windows will be automatically resized depending on the number of candidates (thanks to ralesi)
  • New variable dotspacemacs-helm-no-header. If non nil then the helm header is hidden when there is only one source in the helm buffer (thanks to ralesi)
  • New variable dotspacemacs-helm-position which can be bottom, top, left or right (thanks to ralesi)
  • Add new :disabled-for keyword for dotspacemacs-configuration-layer which allow to deactivate a layer for a set of layers. For instance (auto-completion :disabled-for org git) will disable auto completion for both org and git layers.
  • Rename function dotspacemacs/config to dotspacemacs/user-config. The old function dotspacemacs/config will be deprecated in 0.105.0. any, all the delimiters are highlighted via rainbow-mode.

Distribution layer changes

Spacemacs-base
  • Add copy file key binding on SPC f c (thanks to cpaulik)
  • Add transparency micro-state (thanks to person808)
  • Add SPC i u key binding to insert unicode symbols with helm (thanks to robbyoconnor)
  • Add SPC x l s and SPC x l u ti sort and uniquify lines in a buffer (thanks to oppenlander)
  • In buffer not visiting a file SPC f s now asks for a filename (thanks to cpaulik)
  • Add SPC f l to visit a file literally which means that the file will be opened in fundamental mode (thanks to sooheon)
  • Add support for automatic recompilation of .el files on save (thanks to ralesi)
  • Add SPC f C d and SPC f C u to quickly convert Unix encoding to DOS encoding and vice versa (thanks to ralesi)
  • Add support for arrow keys in windows micro-state (thanks to mbertheau)
  • Fix paste micro-state undo
  • Fix SPC i K (insert empty line above point) which now works as expected when used from the first line of a buffer (thanks to travisbhartwell)
  • Fix windows micro-state by using the minibuffer (thanks to person808)
  • Fix broken alignment functions on SPC x a (thanks to justbur)
  • Don't jump if only one match in helm-imenu (thanks to tuhdo)
  • Remove wS from prefix list in config.el (thanks to justbur)
  • Properly close frame when running a client from terminal (thanks to drewkett)
  • Set evil-move-beyond-eol to t. This variable allows to put the point behind the last character of a line in normal state. So now eval-last-sexp behaves as expected in elisp and all other languages.
  • Add chocolate color for the replace state (thanks to TheBB)
  • Make Y equivalent to y$ (thanks to person808)
  • Sync visual-line-mode and evil-visual-xxx functions. Now SPC t L correctly enables visual-mode-line and change Evil to visual navigation accordingly. Use SPC t l to disable truncated lines while keeping default Evil behavior.
  • Reduce autosave interval for evil-jumper (thanks to ralesi)
  • Improve evil configuration for cursors and colors (thanks to justbur)
  • Fix called function name for SPC h b binding. Helm removed helm-pp-bookmarks in the latest update and replaced it with helm-filtered-bookmarks (thanks to sgepigon)
  • Add SPC f L for helm-locate (thanks to ralesi)
  • Add text object g for entire buffer (thanks to ralesi)
  • helm-spacemacs: load layers only once.
  • helm-spacemacs: show description of toggle functions (thanks to person808)
Spacemacs
  • New API for the powerline (thanks to TheBB)
  • Add package define-word on SPC x w d (thanks to swaroopch)
  • Set projectile-indexing-method to alien. This settings will use available tooling to speed up the build of the cache, should greatly improve the performance on Windows (provided you have the required tools)
  • Fix projectile-generic-command on Windows using find (thanks to TheBB)
  • Fix neotree bug with window number 0 (thanks to jaypei)
  • Fix search direction consistency for auto-highlight-symbol micro-state (thanks to herbertjones)
  • Add VCS integration to neotree
  • Set sp-show-pair-delay to 0.2 instead of 0. Should fix some slowness in
  • Set highlight-parentheses delay to 0.2
  • Enable highlight-parentheses when dotspacemacs-highlight-delimiters is set to all (thanks to tuhdo)
  • Hide lighter for highlight-parentheses
  • Better diminished lighters for highlight-indentation-mode (thanks to robbyoconnor)
  • Prevent iedit from adding global key binding (thanks to justbur)
  • Temporarily exclude the package hl-anything waiting for an overlay bug to be fixed
  • Correctly enable powerline only if it is used (thanks to sooheon)
  • Make golden-ratio work after avy-word-jump (thanks to synic)
  • Exclude helm windows from golden-ratio (thanks to ralesi)
  • Don't automatically select compilation buffer (thanks to jasminpatry)
  • Define explicit functions to inverse comments for evil-nerd-commenter (thanks to endrebak)
  • Use TheBB fork of evil-indent-textobject which has working text objects based on the indentations (thanks to TheBB)
  • Exclude package evil-terminal-cursor-changer since it is buggy in some terminals (thanks to TheBB)

Layer changes

Agda
  • Move SPC m o to SPC m h since SPC m o is now reserved for users (thanks to TheBB)
Auto-completion
  • Add new layer variable auto-completion-private-snippets-directory which allows to specify a custom private snippet directory (thanks to justbur)
  • Improve yasnippet loading robustness (thanks to myrjola)
C/C++
  • Fix key bindings for cscope (thanks to bmag)
  • Add disaster package to disassemble c/c++ code on key binding SPC m D (thanks to jb55)
  • Fix error with company-mode/more-than-prefix-guesser (thanks to TheBB)
Clojure
  • Add cider error buffer to popwin (thanks to cmccloud)
  • Add cider-doc buffer to popwin (thanks to cmccloud)
  • Add key bindings for ein:traceback-mode (thanks to toshism)
  • Add SPC m s x key binding for cider-refresh (thanks to sooheon)
  • Stop using deprecated cider-jump-to-var and use cider-find-var instead (thanks to lukbock)
  • Add SPC m T i to toggle indentation style in clojure-mode (thanks to lukbock)
  • Add SPC m T p key binding to toggle pretty printing in the REPL (thanks to luxbock)
  • Add new key bindings to evilified buffer cider-inspector-mode (thanks to luxbock)
  • Add C-j and C-k for browsing history in the REPL (thanks to luxbock)
  • Add more clj-refactor key bindings (thanks to luxbock)
  • Add more key bindings to cider-stacktrace-mode (thanks to luxbock)
  • Add interactive function spacemacs/cider-toggle-repl-font-locking to toggle font-locking in the REPL (thanks to luxbock)
  • Activate clojure-mode for *.boot files (thanks to usharf)
  • Enable fancify-symbols for clojurescript-mode, clojurec-mode and clojurex-mode (thanks to Xcix)
  • Setup indentation rules for common clojure vars (thanks to jcf)
  • Evilify cider-test-report-mode buffers (thanks to luxbock)
  • Enable clj-refactor key bindings in the REPL (thanks to luxbock)
  • Enable clojure key bindings in the REPL (thanks to luxbock)
  • Fix bug in spacemacs//cider-eval-in-repl-no-focus:

    • Move to point-max before inserting text
    • Only indent the newly inserted form instead of the whole buffer.

    (thanks to luxbock)

  • Fix key bindings conflict in cider-debug-mode (thanks to luxbock)
  • Rename old function clfr-rename-file-or-dir to new function cljr-rename-file (thanks to luxbock)
  • Remove SPC m d b cider-debug-defun-at-point in REPL (It doesn't do anything other than messing up the buffer) (thanks to luxbock)
  • Gives faster access to display the last error buffer with SPC m d e (thanks to luxbock)
CSharp
  • Set omnisharp-auto-complete-want-documentation to nil to work-around a bug in standard Omnisharp server built in Release configuration.
  • Add prefix command documentation (thanks to d12frosted)
Dash
  • Add support for zeal on Linux and Windows (thanks to CestDiego)
Elixir
  • Remove flycheck due to a security issue in the Elixir compiler (thanks to gilbertkennen)
  • Add support for popwin for mix buffers (thanks to rhalukongor)
  • Re-enable magit-gitflow since it is now compatible with Magit 2.1 (thanks to gilbertkennen)
Emacs lisp
  • Make flychek aware of loadpath (thanks to CestDiego)
ERC
  • Add ERC-SASL for SASL authentication (thanks to CestDiego)
  • Fix check for dbus availability on OS X (thanks to cmccloud)
ESS
  • Change default value of ess-enable-smart-equals to nil (thanks to izahn)
  • Fix company back-end declaration (thanks to jcpetkovich)
Evil-commentary
  • Add SPC ; for comment operator
Extra-lang
  • Add Stan modeling language (thanks to alexanderrich)
Eyebrowse
  • Add s for switch-to-window-config (thanks to rphillips)
  • Add gt and gT key bindings to switch between workspaces (thanks to joehillen)
Fsharp
  • Allow fsharp-mode to determine build path (thanks to bsermons)
Git
  • Make sure that git-commit is initialized so that Emacs can be used as $GITEDITOR (thanks to thrnio)
  • Remove some deprecated code (thanks to tko)
  • Add documentation about magit-push-always-verify variable (thanks to sooheon)
  • Add escape key binding to gitmessenger (thanks to mijoharas)
  • Add #f key binding in magit-status for magit-gitflow-popup (thanks to gilbertkennen)
  • Use MELPA version of magit-gh-pulls and fix its configuration (thanks to cmccloud)
  • Evilify magit-hunk-section-map (thanks to ralesi)
Github
  • Properly evilify gist-lists buffer (thanks to cmccloud)
Gnus
  • Move SPC m o to SPC m h since SPC m o is now reserved for users (thanks to TheBB)
Go
  • Use exec-path-from-shell-copy-env to set GOPATH (thanks to jenanwise)
  • Fix multiple paths support in GOPATH on Windows (thanks to galaxian)
  • Move all oracle key bindings under SPC m o to SPC m r since SPC m o is now reserved for users (thanks to TheBB)
Gtags
  • Fix eldoc configuration (thanks to thudo)
Haskell
  • Make ghc-mod optional (thanks to michelk)
  • Disable line highlighting when shm is enabled (thanks to d12frosted)
Html
  • Add for CSS files SPC m z c and SPC m z o to contract and expand CSS blocks (thanks to ralesi)
  • Add SPC m g h (helm-cess-scss) to css-mode (thanks to TheBB)
  • Add support for jade files (thanks to robbyoconnor)
  • Add flycheck for slim and haml modes (thanks to robbyoconnor)
  • Add rainbow delimiters for haml, jade and slim modes (thanks to robbyoconnor)
  • Add .eex extension to web-mode (thanks to gilbertkennen)
  • Add .ejs files to web-mode (thanks to robbyoconnor)
  • Add .twig files to web-mode (thanks to axyz)
  • Add .asp files to web-mode (thanks to TheBB)
  • Add gj and gk key bindings to go to siblings elements in web micro-state (thanks to TheBB)
  • Enable smartparens in CSS like modes (thanks to TheBB)
  • Fix extra space in declared pair <%= %> (thanks to dsdshcym)
  • Fix r key bindings in web micro-state (thanks to CestDiego)
Ipython-notebook
  • Move SPC m o and SPC m O to SPC m i and SPC m I since SPC m o is now reserved for users (thanks to TheBB)
Java
  • Diminish eclim minor mode lighter (thanks to Devagamster)
Javascript
  • Add json-snatcher on SPC m h p (thanks to CestDiego)
Markdown
  • Fix backticks and single quotes insertion (thanks to x-ji)
  • Fix smartparens configuration (thanks to fintelkai)
  • Move SPC m o to SPC m f since SPC m o is now reserved for users (thanks to TheBB)
Org
  • Add table related key bindins on `SPC m t` (thanks to JP-Ellis)
  • Add defer loading for toc-org.
  • Add gnuplot package to plot data from tables (thanks to JP-Ellis)
  • Set toc-org-max-depth to 10.
  • Move SPC m o to SPC m l since SPC m o is now reserved for users (thanks to TheBB)
  • Ensure that org-directory exists on load (thanks to ralesi)
  • Fix SPC m l by calling org-open-at-point instead of evil-org-open-links (thanks to TheBB)
Osx
  • Re-factor and expand support for trash can (thanks to usharf)
  • Add support for launchctld (thanks to usharf)
  • Add new key binding to toggle fullscreen which should fix the usage of left command key for this command (thanks to sooheon)
  • Change obsolete new-frame function to make-frame (thanks to fintelkai)
Pandoc
  • Add ox-pandoc package (thanks to jcf)
Php
  • php-extras is not correctly installed
  • Enable flycheck (thanks to rakyi)
Puppet
  • Enable flcheck support (thanks to tko)
Python
  • Apply new conventions for test key bindings
  • Fix anaconda-mode key bindings for latest version of anaconda-mode package (thanks cpaulik)
  • Use quit-window to close documentation popup (thanks to cpaulik)
  • Enable evil-matchit (thanks to robbyoconnor)
Racket
  • Enable insert state after SPC m s B accordingly to the conventions (thanks to jmiven)
Ranger
  • Fix ranger-up-directory key binding on - (thanks to ralesi)
Ruby
  • Use enh-ruby-mode on interpreter-detected ruby files. This makes ruby files that start with shebang ruby directives use enh-ruby-mode (thanks to jenanwise)
  • Add some ruby-tools key bindings (thanks to chrismcg)
  • Enable evil-matchit (thanks to robbyoconnor)
Ruby-on-rails
  • Activate projectile-rails mode for any type of files in a rails project (thanks to liuxiang)
Rust
  • Add racer package (thanks to cdlm)
Salt
  • Add salt-mode package (thanks to beardedprojamz)
Scala
  • Add binding for ensime-pop-find-definition-stack on SPC m g p (thanks to alexanderkjeldaas)
  • Remove key binding SPC m ? (thanks to Profpatsch)
Scheme
  • Add support for Geiser (thanks to kingcons)
Search-engine
  • Add Bing (thanks to Devagamster)
  • Add Spacemacs Pull Requests
Shell
  • Add eldoc support in eshell (thanks to ppold)
  • Add a better prompt via eshell-prompt-extras for eshell (thanks to ppold)
  • Add visual commands to eshell (thanks to ppold)
  • Add support for smart eshell in eshell via the layer variable shell-enable-smart-eshell (thanks to ppold)
  • Add auto-completion support for eshell (thanks to trishume)
  • Automatically jump to prompt in insert state in eshell buffers (thanks to trishume)
  • Add support for leader in multi-term (thanks to martinmr)
  • Deactivate eshell automatic auto-completion popup for remote path since it can be slow, the popup must be called manually in remote paths (thanks to myrjola)
  • Fix magit-status alias for eshell (thanks to myrjola)
  • Protect the eshell prompt from deletion with evil commands. A new layer variable shell-protect-eshell-prompt allows to opt-out this behavior (thanks to myrjola).
Syntax-checking
  • Add SPC e l to toggle error list buffer (thanks to bmag)
  • Add SPC e v to verify the flycheck setup (thanks to bmag)
  • Add SPC e h to describe the flycheck checkers (thanks to bmag)
Vinegar
  • Show symlink paths (thanks to ralesi)

New conventions

  • Add spacing conventions for org files (thanks to person808)
  • Move SPC m T x conventions for executing tests in debug to SPC m t X
  • Add conventions for toggles which are under SPC t, SPC T and SPC C-t. For major mode specific toggles only SPC m T is available.
  • Add SPC m g b to go back to previous location after a SPC m g g.
  • Reserve SPC m o for users (thanks to TheBB)

Core

  • Add new key bindings to evilified buffers: g, GG, C-b, C-f, C-d and C-u (thanks to sooheon)
  • Add on and off functions to toggles (thanks to TheBB)
  • Add new function spacemacs/describe-system-info which put useful information in the clipboard, ready to be pasted in an IRC channel for instance (thanks to swaroopch)
  • Add new functions configuration-layer/declare-layer and configuration-layer/declare-layers which can be used in config.el files of a layer to add required layers.
  • Add :eval-after-load keyword to spacemmacs|evilify-map macro
  • Add macro dotspacemacs|symbol-value with new special variable value display-graphic-p. This variable will evaluate (display-graphic-p) when called with dotspacemacs|symbol-value. Use this special value to be able to have unicode symbol in GUI client but not in terminal clients.
  • Add missing spacemacs/ function prefix (thanks to person808)
  • Add choice of distribution on install (thanks to justbur)
  • Add distribution name in home buffer
  • Add distribution to spacemacs/describe-system (thanks to TheBB)
  • Replace after-init-hook with better hook emacs-startup-hook (thanks to vkz)
  • Fix SPC u not repeating universal-argument (thanks to luxbock)
  • Fix Spacemacs Home Buffer to jump to bookmarks (thanks to travisbhartwell)
  • Fix visual-state evil-yank-binding in evilified modes (thanks to myrjola)
  • Fix ace-link in spacemacs buffer (thanks to avoine)
  • Fix an issue with Emacs 25 in init.el (not yet officially supported) (thanks to justbur)
  • Fix return binding in terminal in home buffer(thanks to d12frosted)
  • Fix custom banner path (thanks to d12frosted)
  • Fix visual state key bindings in evilified buffers
  • Set gc-cons-threshold to 100MB and define it in init.el
  • Use package-alist to resolve orphans
  • Prevent auto-evilification of buffers from overwriting C-g
  • Better indentation for spacemacs|add-toggle macro (thanks to TheBB)
  • Remove some dead code for use-package (thanks to TheBB)
  • Remove tooltip-use-echo-area usage which is obsolete since Emacs 24.1 (thanks to xfq)
  • Remove duplicate call to dotspacemacs/init (thanks to sooheon)
  • Remove y from evilified state keymap, use a visual selection instead.
  • Display home buffer links even when no banner are displayed (thanks to sooheon)
  • Better centering of text in the home buffer

Other fixes and improvements

  • New documentation on layers (thanks to TheBB)
  • Suppress byte compiler warnings on startup (thanks to justbur)
  • Reactivate prefix command names since they are working correctly with which-key (were also working with guide-key) (thanks to martinmr)
  • Delete deprecated !user contrib directory.
  • Removed lasts git submodules, Spacemacs is now submodule free!
  • Typos and documentation improvements (thanks to agzam, alexanderkjeldaas, andyque, benwooth, d12frosted, Devagamster, gleber, Immortalin, jgertm, JinweiClarkChao, jmiven, JoshTGreenwood, justbur, luxbock, mbertheau, mortonfox, nwolfe, oneeman, person808, rakyi, sotte, robbyoconnor, robmerrell, screamish, sooheon, srid, swaroopch, syohex, travisbhartwell, x-ji, xfq)

Release 0.103.x

0.103.6 (2015/08/30)

Core

  • Fix error with SPC h b (bookmarks) (thanks to sgepigon)

0.103.5 (2015/08/09)

Layer changes

Osx
  • Fix initialization of reveal-in-osx-finder (thanks to fintelkai)

Core

  • Temporarily switch to HTTP instead of HTTPS to communicate with elpa.gnu.org (thanks to robbyoconnor)

0.103.4 (2015/08/07)

Layer changes

Clojure
  • Fix key bindings for new Clojure major modes: clojurec-mode, clojurescript-mode and clojurex-mode (thanks to benalbrecht)

0.103.3 (2015/08/04)

Layer changes

Osx
  • Rename reveal-in-finder to its new name reveal-in-osx-finder (thanks to syohex)

0.103.2 (2015/07/04)

Layer changes

Git
  • Fix magit-repository-directories variable name (thanks to travisbhartwell)
  • Fix magit-blame key binding (thanks to jenanwise)
  • Use magit-log-all instead of magit-log on SPC g l (thanks to tuhdo)

Other fixes and improvements

  • Typos and documentation improvements (thanks to cscorley, dstcruz, h3dkandi, kccai, MadAnd, person808, Profpatsch, stnly, stormpat, xfq, zachlatta)

0.103.1 (2015/07/02)

Layer changes

Git
  • Fix F in Vim style in Magit status buffer, now F is correctly bound to pull popup menu
  • Fix intermittent erroneous k key binding in Magit status buffer.

Core

  • Fix mandatory dependency on evil-escape
  • Fix evilification of evil-escape starter key

0.103.0 (2015/07/01)

IMPORTANT: Breaking changes

  • Spacemacs is now compatible only with Magit 2.1 and later, be sure to update your packages.
  • auctex layer has been renamed latex, be sure to update your dotfile if you use this layer.
  • erlang/elixir layer has been split into two layers erlang and elixir, be sure to update your dotfile if you use these layers.
  • git layer has been split into two layers: git and github so the layer variable git-enabled-github-support is deprecated, you have to add the layer github in your dotfile.
  • git-gutter has been replaced by diff-hl. This package is in the new layer version-control, be sure to add this new layer to your dotfile.
  • Projectile key bindings changes: SPC p e is now SPC p r (recent files) SPC p R is now SPC p G (regenerate tags) SPC p r is now SPC p R (replace)

Hot new features

  • Add support for Magit 2.1!
  • Helm now uses its header to display the input pattern.
  • Use Flycheck default configuration to check the current buffer in "real time" (yes this is a hot new features :-))
  • New interactive function spacemacs/switch-to-version, it will ask for a version number and warn if the current branch is not master. Users on develop branch cannot use this function (it has no effect).
  • Clicking on the up arrow in the mode-line will now update Spacemacs. A prompt asks for confirmation before updating.
  • New "tool assisted" search and replace interface supporting ag, pt, and ack with a new key binding scheme. Check the documentation for searching with an external tool.

New Layers

  • elixir (split from erlang-elixir)
  • erlang (split from erlang-elixir)
  • github (split from git)
  • ipython-notebook (ein) (thanks to CestDiego)
  • latex (renamed from auctex)
  • version-control

Dotfile changes

  • New variable dotspacemacs-auto-save-file-location which enable or disable auto-saving of modified files. Possible values are original to auto-save the file in-place, cache to auto-save the file to another file stored in the cache directory and nil to disable auto-saving. Default value is cache.

Layer changes

Spacemacs
  • Add text alignment key bindings on SPC x a prefix (thanks to justbur and TheBB)
  • Remove the kill ring from savehist-additional-variables to avoid an issue with abnormal high size of savehist file (thanks to tuhdo)
  • Add documentation files to helm-spacemacs (thanks to person808)
  • Add support for .org files in helm-spacemacs (thanks to tuhdo)
  • Add explicit titles for documentation files in helm-spacemacs (thanks to tuhdo)
  • Remove the dependency on f library in helm-spacemacs (thanks to person808)
  • Revert C-o in holy-mode since it shadows too many packages key bindings (thanks to tuhdo)
  • Evilify helm-ag and helm-grep buffers (obtained by pressing f3 in the helm buffer while searching) (thanks to cpaulik)
  • Search with ag, pt and ack are done with the same interface based on helm-ag
  • Add search integration in expand-region and auto-highlight-symbol (thanks to justbur)
  • Update search with grep to match the new search interface (thanks to justbur)
  • Quote input when default text is used in search (thanks to justbur)
  • smart-search-project on SPC / now fallback to searching files in current directory when there is no project (thanks to justbur)
  • Replace dired-goto-file with helm-find-files in Dired (thanks to tuhdo)
  • Add support for .org files to SPC s l key binding, it allows to quickly jump to file headers using Helm (thanks to tuhdo)
  • Re-enable auto-save mode (thanks to tuhdo)
  • Set :defer 1 in helm initialization (which means that helm will be auto-loaded automatically after 1 second of idle time)
  • Fix helm-resume opening window in half of split screen (thanks to sooheon)
  • Use helm header to display the input pattern (thanks to tuhdo)
  • Fix open-in-external-app when the buffer is not visiting a file (thanks to travisbhartwell)
  • Prevent paste micro-state to be triggered by C-r in insert state
  • Projectile key bindings changes: SPC p e is now SPC p r (recent files) SPC p R is now SPC p G (regenerate tags) SPC p r is now SPC p R (replace)
  • Remove comint-delchar-or-maybe-eof on C-d, it fixes C-d scroll down behavior in normal state, user has to press the stock binding C-c C-d to send an EOF (thanks to kini)
Auto-completion
  • Yasnippet: Default helm-yas-display-key-on-candidate to t (thanks to BrianHicks)
  • Yasnippet: Disable smartparens while expanding to fix a bug with hippie-expand (thanks to tuhdo)
  • New layer variable auto-completion-enable-snippets-in-popup to add snippets directly to auto-completion popup (thanks to person808)
Autohotkey
  • Fix .ahk file extension declaration (thanks to ralesi)
C/C++
  • Add package gdb-mi (gdb-many-windows) which enables an IDE like debugger frontend for Emacs (thanks to tuhdo)
Clojure
  • Add SPC e w to eval last sexp and replace it with the result (thanks to DayoOliyide)
  • Evilify Cider inspector (thanks to ppold)
Elixir
  • List all Elixir key bindings in README
  • Update configuration to support new alchemist 1.0 feature (thanks to tonini)
  • Enable auto-completion support
Emacs Lisp
  • Add new Spacemacs snippets micro-state and new-package (thanks to CestDiego)
  • Add (f)ielm-indent-line for ielm mode (thanks to BlinkD)
Emoji
  • Remove the extension and use the MELPA package
ERC
  • Use erc-yank on p in normal state if gist package is available (thanks to CestDiego)
Evil-snipe
  • Update configuration to support last upstream changes (thanks to hlissner and MadAnd)
Extra-langs
  • Enable QML mode for .qml files (thanks to bennofs)
Eyebrowse
  • Add support for workspace labels (thanks to rphillips)
Finance
  • Evilify ledger-report-mode (thanks to darkfeline)
Git
  • Replace git-gutter by diff-hl (thanks to tuhdo)
  • Remove gc prefix command as unused from guide-key (thanks to tko)
  • Add magit-diff key binding on SPC g d (thanks to kevinushey)
  • Evilify magit-diff buffer
  • Implement fullscreen for Magit without advices (thanks to tarsius)
  • Fix whitespace toggles for Magit (thanks to tarsius)
  • Remove deprecated magit-last-seen-setup-instructions (thanks to tarsius)
  • Move whitespace toggle in Magit to C-S-w
  • Add SPC g L to display the log for the current file (thanks to tko)
Go
  • Add SPC m g a to switch between tests and implementation (thanks to jenanwise)
Gtags
  • Enable helm-gtags for compilation-mode and shell-mode (thanks to tuhdo)
Haskell
  • Add company-cabal support for auto-completion in .cabal files (thanks to bjarkevad)
  • Fix error with electric-indent-local-mode in some versions of Emacs (thanks to jeremyjh)
iPython-notebook (ein)
  • Add key bindings on major-specific leader (thanks to cpaulik)
  • Add C-RET and S-RET key bindings to behave like the ein web interface (thanks to cpaulik)
  • Bind SPC f s to save the notebook (thanks to cpaulik)
LaTeX
  • Add support for RefTeX (thanks to JP-Ellis)
  • Add support for LatexMk, to enable it set the layer variable latex-build-command to "LatexMk" (thanks to JP-Ellis)
  • Use auto-fill-mode, with an environment-aware auto-fill function, you can enable auto-fill support by setting the layer variable latex-enable-auto-fill to t. You can also inhibit it in some environments with the variable latex-nofill-env (thanks to JP-Ellis)
  • Remove build-view in favour of just build as it seemed to be broken and introduce SPC m v to view (thanks to JP-Ellis)
  • General settings should now be easier to override in dotspacemacs/config
  • Fix errors due to layer renaming (thanks to JP-Ellis and autosquid)
Markdown
  • Add font-locking for code blocks (thanks to kennethlove)
  • Add support for a bunch of languages for code blocks (thanks to dexafree)
Ocaml
  • Don't auto-close backticks (thanks to edwintorok)
Org
  • Fontify code blocks (thanks to tuhdo)
  • Add toc-org package (thanks to CestDiego)
  • Tweak org-pomodoro mode-line integration (Add missing leading space)
  • Move org-clock-save.el to cache folder (thanks to BlinkD)
  • Add key binding SPC m : for org-set-tags (thanks to cpaulik)
Osx
  • New variable osx-use-option-as-meta allowing to enable or disable the mapping of option key to meta key. This is especially useful for some European keyboard layouts like Finish or Swedish (thanks to tko)
  • Add ⌘ + and ⌘ - key bindings to scale text (thanks to JoshTGreenwood and zimbatm)
  • Only update dired-use-ls-dired if gls was found on path (thanks to usharf)
  • Add reveal in finder on C-⌘ f (thanks to usharf)
  • Add key bindings ⌘ a (select all) ⌘ W (close frame) and ⌘ n (new frame) (thanks to mveytsman)
  • Fix ⌘ v paste behavior (thanks sooheon)
Powershell
  • Add SPC a s p to start a powershell buffer (thanks to ralesi)
  • Add SPC m r r for powershell-regexp-to-regex (thanks to ralesi)
  • Add $( text object (thanks to ralesi)
Puppet
  • Add Puppetfile support (thanks to nwolfe)
Python
  • New supported test runner: pytest (thanks to cpaulik)
  • New layer variable python-test-runner to choose between nose and pytest
  • Set indent-tabs-mode to t in REPLs, should fix indent errors (thanks to tuhdo)
  • Fix a loading bug due to a typo in latex layer (thanks to cpaulik)
Racket
  • Fix not working electric-pair-skip (thanks x-ji)
Ruby
  • Fix some annoyance with deep indentations (thanks to trishume)
Rust
  • Add support for flycheck (thanks to swaroopch)
  • Add support for auto-completion via racer (thanks to JP-Ellis)
  • Use compile instead of the shell for cargo. This allow Emacs to parse the output, including all the errors (thanks to JP-Ellis)
Scala
  • Set classpath directory of ensime to .cache/ensime (thanks to cyrillk)
Slime
  • Add a bunch of key bindings (thanks to spigo900)
Syntax-checking
  • Now use the flycheck default configuration to trigger checks. Checks are now performed live (thanks to tuhdo and thrnio)
Theme
  • Add spacemacs-theme! (WIP) (thanks to nashamri)
  • Add tao theme (thanks to elais)

Core

  • New interactive function spacemacs/switch-to-version
  • Clicking on the up arrow will now update Spacemacs
  • Add a link to Vimmers guide in quick help of startup buffer (thanks to person808)
  • Enable use-package-verbose when dotspacemacs-verbose-loading is set to t
  • Better name for placeholders in layer templates (thanks to kini)
  • Beautify change log (thanks to tuhdo)
  • Layers are now auto-discovered recursively which allow arbitrary directory hierarchy. Directory names starting with ! are categories. (thanks to TheBB)
  • Fix regression when dotspacemacs-startup-banner is set to nil (thanks to ptb)
  • Fix home buffer keys in terminal (thanks to tuhdo)
  • Fix bookmark list in home buffer (thanks to fandag)
  • Add support for material-light theme (thanks to cpaulik)
  • Use SSL to contact elpa repositories when possible (thanks to zimbatm)
  • Emacs 25 required the line (package-initialize) in the init.el file (thanks to justbur)
  • Add the possibility to call configuration-layer/update-packages in batch mode (thanks to travisbhartwell)

Other fixes and improvements

  • Conversion of all layer README.md files to .org (thanks to CestDiego and cpaulik)
  • Conversion of documentation files to .org (thanks to person808)
  • Add a guide for Vimmers in doc directory (thanks to person808)
  • Typos and documentation improvements (thanks to cloudbring, duerrp, dxnn, dvberkel, fotoetienne, JoshTGreenwood, kccai, OliverM, MadAnd, person808, robbyoconnor, royseto, swaroopch, travisbhartwell, tuhdo, xfq)

Release 0.102.x

0.102.2 (2015/06/03)

Layer changes

Org
  • Fix bug with ox-gfm by moving it to extensions

Core

  • Fix detection of new versions by correctly fetch latest changes

0.102.1 (2015/06/01)

Layer changes

Org
  • Fix lazy-loading of ox-gfm package.

Core

  • Catch layer variables syntax errors

0.102.0 (2015/05/31)

IMPORTANT: Breaking changes

  • All Emacs Lisp related configuration has been moved to its own layer called emacs-lisp, be sure to add this layer to your dotfile.
  • All shell related configuration has been move to its own layer called shell, be sure to add this layer to your dotfile if you use a shell inside Emacs.
  • Key binding to reload the dotfile is now SPC f e R instead of C-c C-c or SPC m c c. Note that SPC f e R can be triggered anywhere (it is not restricted to the doftile anymore).
  • Key binding to switch buffer is now SPC b b instead of SPC b s.
  • SPC f f now uses helm-find-files instead of ido, use the new dotfile variable dotspacemacs-use-ido to get the old behavior back.
  • Helm TAB and C-z key bindings have been swapped.
  • By default single space sentence delimiter is defined.
  • Layer variable values set with :variables keyword need to be quoted like in a regular setq expression.

New Layers

  • Agda (thanks to ocharles)
  • Chrome (thanks to beardedprojamz)
  • D (thanks to trishume)
  • Deft (thanks to trishume)
  • Emacs-lisp
  • Emoji
  • Eyebrowse
  • Games (thanks to nashamri)
  • Gnus (thanks to cpaulik)
  • Gtags (thanks to tuhdo)
  • iBuffer (thanks to alex-glv)
  • Pandoc (thanks to cpaulik)
  • Prodigy (thanks to CestDiego)
  • Purescript (thanks to kofno)
  • Rust (thanks to mkaito)
  • Salt (thanks to beardedprojamz)
  • Search Engine (thanks to CestDiego)
  • Semantic (thanks to tuhdo)
  • Shell
  • Spotify (thanks to BrianHicks)
  • Sql (thanks to BrianHicks)
  • TypeScript
  • Vim-powerline

Dotfile changes

  • New variable dotspacemacs-search-tools which is a list of search tool executable names. Spacemacs uses the first installed tool of the list with search related key bindings (SPC /, SPC s ...). Supported tools are `ag', `pt', `ack' and `grep'."
  • New variable dotspacemacs-highlight-delimiters which selects a scope to highlight delimiters. Possible value is all, current or nil. Default is all. (thanks to tuhdo)
  • New variable dotspacemacs-additional-packages. Adding packages to this list will install them without needing them to be wrapped in a layer. Ideal for quickly add a package. The package configuration can be put in dotspacemas/config.
  • New variable dotspacemacs-use-ido. If non nil then ido replaces helm for some commands. For now only find-files (SPC f f) is replaced.
  • New key binding SPC f e D to open an ediff buffer between the user dotfile and the current template.
  • Disable paste micro-state by default, i.e. set the variable dotspacemacs-enable-paste-micro-state to nil in the dotfile template.

New conventions

  • Add conventions for markup languages like markdown or org (thanks to cpaulik)

Layer changes

Spacemacs
  • Auto-indent when pasting use the universal argument to not auto-indent (thanks to tuhdo)
  • Fix global-mode-string for mode-line (thanks to 3marcusw)
  • Display guide-key buffer at the bottom instead of the right so we get more space. Also fix some issues with other popup interaction.
  • Use single space sentence delimiter (thanks to roryk)
  • Restore maximized frame state with zoom-frm (thanks to ralesi)
  • Improve golden-ratio excluded buffers coverage (thanks to tuhdo)
  • Add missing evil-window-* commands to golden-ratio managed commands (thanks to riclima)
  • Add CamelCase motion toggle to subword-mode (thanks to mkcode)
  • Add open-junk-file package which allows to quickly create a junk file in .cache directory. Bound to SPC f J (thanks to tuhdo)
  • Add SPC T s to toggle semantic-stickyfunc (thanks to cpaulik)
  • Add SPC b Y and SPC b P to copy/paste whole buffer (thanks to swaroopch)
  • Add SPC h d b to describe-bindings (thanks to mkcode)
  • Add toggle to hide/show the mode line on SPC t m t (thanks to jupl)
  • Add move-text micro-state
  • Add highlight-parentheses package which can activated by setting dotspacemacs-highlight-delimiters to current (thanks to tuhdo)
  • Add clean-aindent-mode package to cleanly delete virtual indentation (thanks to tuhdo)
  • Move yasnippet and hippie-exp to auto-completion layer.
  • Move multi-term and shell packages to new shell layer
  • Move flyspell and helm-flyspell to syntax-checking layer
  • Move SPC b r to SPC f R (rename file)
  • Move some toggles key bindings which are now:

    • SPC t s for syntax checking
    • SPC t S for spelling checking
    • SPC t f for fill column
    • SPC t F for auto-fill
    • SPC t c for camelcase
  • Move sp-local-pair to :config of smartparens so user can override them (thanks to person808)
  • Remove SPC b 0 and SPC b $ redundant key bindings (thanks to tuhdo)
  • Remove all themes from the layer (since now themes are not automatically uninstalled).
  • Don't use the minibuffer for scroll micro-state
  • Don't close compilation buffer after success (thanks to TheBB)
  • Make trailing-whitespace face more subtle (thanks to tuhdo)
  • Beautify whitespace highlighting (thanks to tuhdo)
  • Make inactive window face of mode-line compatible with more themes (thanks to tuhdo)
  • Fix the recentf-exclude variable, now cache folder is correctly excluded (thanks to rcherrueau)
  • Fix global toggle for whitespace.
  • Fix for new line insertions with SPC i (thanks to nashamri)
  • Fix spray cursor issue when quitting.
  • Tweak fci-mode face color, should be better in most themes (thanks to tuhdo)
  • Improve smooth-scroll configuration (thanks to sooheon)
  • Refactor spacemacs/init-evil-lisp-state to use use-package (thanks to mveytsman)
Helm
  • Switch commands for Tab and C-z in Helm (thanks to darkfeline)
  • Remove Helm header line to make it clearer (thanks to tuhdo)
  • Manually manage popwin to improve popup window interactions (thanks to tuhdo)
  • Enable fuzzy matching in Helm (thanks to ralesi)
  • Turn on colors in helm-swoop (thanks to danielwuz)
  • Render README.md file of layers with Open README action of helm-spacemacs, use the universal argument C-u to open the file without rendering it (thanks to tuhdo)
  • Add dotfile variables helm source to helm-spacemac
  • Add support for extensions in helm-spacemacs
  • Use helm-pp-bookmarks instead of helm-bookmarks (thanks to darkfeline)
  • Move C-SPC on M-SPC and S-M-SPC for helm and ido micro-states.
  • Make helm-find-files backspace key behave like ido (thanks to tuhdo)
  • Fix aggressive manipulation of face-remapping-alist in helm and ido
  • Automatically create directories if needed when renaming a file (thanks to env0der)
  • Replace helm-projectile-vc (which does not exist) by projectile-vc (thanks to swaroopch)
  • Fix toggle-maximize-buffer (thanks to tuhdo)
Evil
  • Use non-visual lines for j/k navigation (thanks to mlsteele)
  • Enable evil-execute-in-normal-state in holy-mode
  • Better default face for evil-search-highlight-persist-highlight-face (thanks to tuhdo)
  • Add visual state mapping for < and > to <gv and >gv respectively (allow to indent a region several times).
  • Add spacemacs/smart-goto-definition which attempts to call SPC m g g and falls back to evil-goto-definition if that fails (thanks to luxbock)
  • Replace C-o with M-o in dired buffer since C-o is replaced with evil-execute-in-normal-state (thanks to tuhdo)
  • Make evil-smart-* functions respect the leader key (thanks to person808)
  • Advice evil-jump-to-var with evil-set-jump (thanks to luxbock)
  • Temporary hack to speed up ace-jump-line (SPC l) as an evil motion.
Auctex
  • Add RefTeX package (thanks to rpglover64)
  • Add flycheck support
  • build-view always recompile TeX (thanks to kvelicka)
Auto-completion
  • New variables:

    • auto-completion-return-key-behavior set the action to perform when the RET key is pressed, the possible values are complete and nil.
    • auto-completion-tab-key-behavior set the action to perform when the TAB key is pressed, the possible values are complete, cycle and nil
    • auto-completion-complete-with-key-sequence is a string of two characters denoting a key sequence that will perform a complete action if the sequence has been entered quickly enough. If its value is nil then the feature is disabled.
    • Default values are RET -> complete, TAB -> cycle and sequence is nil
  • Rename auto-completion-enable-company-help-tooltip to auto-completion-enable-help-tooltip
  • Add support for company-statistics, to activate it set the layer variable auto-completion-enable-sort-by-usage to t (thanks to person808)
  • Add auto-yasnippet package on SPC i S (thanks to tuhdo)
  • Disable company-tooltip-flip (thanks to tuhdo)
  • Allow a snippet to wrap around a selected region when expanded, press C-x C-x to go to the original mark and run yas-expand to wrap the selected region in expanded snippet. (thanks to tuhdo)
  • Allow hippie-expand to expand snippets (thanks to tuhdo)
  • Remove company-yasnippet backends use SPC i s and C-p
  • Fix company and fci-mode incompatibility (thanks to tuhdo)
  • Fix wrong creation location for new snippets with yas-new-snippet (thanks to CestDiego)
  • SPC t a now correctly toggle company by default.
  • Remove unneeded yasnippet-snippets submodule (thanks mkcode)
  • Better lazy-loading of yasnippet (thanks to tuhdo)
Autohotkey
  • Use MELPA package (thanks to ralesi)
C/C++
  • New layer variable c-c++-enable-clang-support
  • New layer variable c-c++-default-mode-for-headers (thanks to ceales)
  • Remove unnecessary auto-mode-alist (thanks ceales)
  • Add clang-format support (thanks to gnzlbg)
Chrome
  • Add better integration with edit-server package (thanks to CestDiego)
  • Added Gmail messages support with ham mode (thanks to CestDiego)
Clojure
  • Add binding to connect to REPL in Cider on SPC m s c (thanks to jcsims)
  • Add SPC m t a to reload test namespace before running all tests (thanks to voxdolo)
  • Add SPC m t r to reload test namespace and re-run failed tests (thanks to voxdolo)
  • Add SPC m t t to reload test namespace and run focused test (thanks to voxdolo)
Colors
  • Add rainbow indentifiers color profiles for gotham and material themes.
  • Add colorization of keywords and function names for rainbow indentifiers.
  • New variable colors-theme-identifiers-sat&light to set default lightness and saturation for a given theme.
Emacs-lisp
  • Move SPC m f bindings for code formatting to SPC m =
  • Add macrostep package with a micro-state on SPC m d m (thanks to person808)
Erc
  • Add ERC channels to mode-line (thanks to swaroopch)
  • Add SPC a i i key binding to switch to active ERC channels (thanks to swaroopch)
  • Highlight nicks using erc-hl-nicks (thanks to CestDiego)
  • Image inline support using erc-image (thanks to CestDiego)
  • Logging to ~/.emacs.d/.cache/erc-logs (thanks to CestDiego)
  • ViewLogMode for viewing logs (thanks to CestDiego)
  • YouTube videos Thumbnails inline using erc-yt (thanks to CestDiego)
  • Social Graph for ERC messages using erc-social-graph (thanks to CestDiego)
ESS
  • Fix lazy-loading of packages (thanks to jcpetkovich)
  • Update to take care of the merge of company-ess in ess (thanks to jcpetkovich)
Extra-langs
  • Add matlab package (thanks to TheBB)
Git
  • Make git-gutter key bindings work with or without the fringe (thanks to person808)
  • Fix git-gutter and linum-mode integration (thanks to person808)
  • Fix s key binding to stage item in visual state.
  • Replace with-eval-after-load by eval-after-load (compatible with 24.3) (thanks to person808)
  • Disable evil-snipe in magit-status-mode (thanks to person808)
  • Enable fci-mode (fill column) in git-commit-mode (thanks to tuhdo)
  • Add helm-gitignore package on SPC g I (thanks to jupl)
Gtags
  • Add helm-gtags-dwim-other-window on SPC m g G (thanks to mijoharas)
Haskell
  • ensure haskell-indentation is loaded before calling members (thanks to chrisbarrett)
  • fix misspelled references to keymaps (thanks to chrisbarrett)
  • fix function names identation instead of indentation (thanks to chrisbarrett)
  • Fix haskell-indentation eval-after-load (thanks to chrisbarrett)
  • Fix ghci-ng key bindings being overridden (thanks to bjarkevad)
  • Use new package haskell-snippets
  • Use ghci-ng for function haskell-process-do-type-on-prev-line (thanks to bjarkevad)
Html
  • Improve web micro-state key bindings (thanks to CestDiego)
  • emmet key bindings fixes (thanks to louy2 and mkcode)
  • Use only smartparens in web-mode (thanks to louy2 and mkcode)
  • Add eco to web-mode auto-mode-alist (thanks to louy2 and mkcode)
  • Fix buggy T key with emmet
  • Add company-web package (thanks to CestDiego)
  • Add a bunch of new pairs to sp-local-pair (thanks to CestDiego)
  • Turn on rainbow-delimiters for LESS and SCSS (thanks to jupl)
Javascript
  • Add js-doc package (thanks to geksilla)
  • Add web-beautify package on SPC m = (thanks to elliotec)
  • Apply key bindings conventions to some tern key bindings.
Lua
  • Add support for auto-completion (thanks to mijoharas)
Markdown
  • Add a bunch of new key bindings to improve consistency of key bindings for markup languages, see commit (thanks to cpaulik)
  • Add markdown render buffer command on SPC m c r (thanks to CarlQLange)
  • Add SPC m i k to insert <kbd>...</kbd> pairs (thanks to CestDiego)
Ocaml
  • Add REPL using utop (thanks to edwintorok)
  • Auto-indentation using ocp-indent (thanks to edwintorok)
  • Add support for company auto-completion (thanks to edwintorok)
  • Add support for flycheck syntax checking (thanks to edwintorok)
  • New merlin key bindings (thanks to edwintorok)
Org
  • Add a bunch of new key bindings to improve consistency of key bindings for markup languages, see commit (thanks to cpaulik)
  • Use org-startup-indented instead of a hook so users can easily

remove org-indent-mode (thanks to darkfeline)

  • Add support for org-pomodoro-clock to mode-line (thanks to swaroopch)
  • Add org-present package (thanks to swaroopch)
  • Add SPC m j for helm-org-in-buffer-headings (thanks to swaroopch)
  • Add SPC m n for org-narrow-to-subtree (thanks to mattly)
  • Add SPC m N for widen (thanks to mattly)
  • Add SPC m i k to insert <kbd>...</kbd> pairs (thanks to CestDiego)
  • Add htmlize package to enable syntax highlight in export HTML (thanks to tetsusoh)
  • Fix error with org-async (thanks to justbur)
Osx
  • Make Command-s work with other modes (thanks to linktohack)
  • Make dired use coreutils gls if installed (thanks to usharf)
Perforce
  • Add a bunch of key bindings see commit (thanks to snandan)
Puppet
  • Add auto-completion support (thanks to PierreR)
Python
  • Add YAPF extension for buffer formatting (thanks to kennethlove)
  • nose.el is now compatible with virtualenv (thanks to danielwuz)
  • Add a function to remove unused imports python-remove-unused-imports on SPC m c i (thanks to danielwuz)
  • Add pip-requirement package (thanks to CestDiego)
  • Enable company in Python REPL for code completion (thanks to tuhdo)
  • Fix wrong extra parenthesis when inserting a breakpoint (thanks to CestDiego)
  • Don't enable Vim key bindings in REPL if holy-mode is active (thanks to tuhdo)
  • Fix Python and Semantic integration when no python executable can be found on the system (thanks to tuhdo)
Rcirc
  • Add rcirc-track-minor-mode to the rcirc-mode-hooks (thanks to luxbock)
Ruby
  • Fix ruby-test-mode initialization
  • Fix auto-completion (thanks to trishume)
  • Fix Rails mappings showing up in non rails projects (thanks to horrorvacui)
  • Add :A ex-command which switches between implementation and test (thanks to naliwajek)
  • Remove overloading of function erm-darken-color
Rust
  • Add key bindings for cargo build, run, test (thanks to swaroopch)
Scala
  • Add SPC m d A to attach to remote debugger (thanks to siegelzero)
Semantic
  • Create directory for semanticdb if it doesn't exist (thanks to CestDiego)
Shell
  • Use shell-pop to toggle shell/eshell and terminals (thanks to tuhdo)
  • Add binding for EOF (^D) in term (thanks to darkfeline)
  • Bind term-send-tab only in insert state (thanks to darkfeline)
  • up and down in shell to cycle through previous commands (thanks to ralesi)
  • Fix for paste command in multi-term.
  • Add SPC p $ t to run multi-term at project root
Slime
  • Disable smartparens in SLIME REPL (thanks to tuhdo)
Smex
  • Fix smex prompt whitespace (thanks to TheBB)
Syntax-checking
  • New variable syntax-checking-flycheck-pos-tip to enable or disable documentation popup (thanks to beardedprojamz)
Themes
  • Add apropospriate-theme to megapack
  • Add jazz-theme to megapack (thanks to matDobek)
  • Fix theme-to-package rules for base16 (thanks to mkaito)
Tmux
  • Add support for motion state (thanks to rphillips)
Vim-empty-lines
  • Update with last patches (thanks to person808)
  • Exclude terminal modes (thanks to tonylotts)
Ycmd
  • Move C/C++ related configuration to c-c++ layer.

Core

  • Add support for use-package injected hooks (not yet documented)
  • It is now possible to create a layer directly in a known configuration layer path. A helm buffer will ask for a known path or a new path (thanks to justbur)
  • The :variables keyword now behaves like regular setq.
  • Add org elpa repository
  • Use archive instead of package-alist to detect orphans (fix false orphan positives when the dependencies of a package change)
  • Improve support for images in Spacemacs banner, it is now possible to use any image format supported by Emacs (thanks to jupl)
  • Prefix all category folders in contrib with ! (thanks to trishume)
  • Smarter buffer switching which tries to avoid special buffers, you can customize spacemacs-useless-buffers-regexp to define other buffers to avoid (thanks to person808)
  • Warn about duplicated layers
  • Improvements to home buffer: Quick Help, Content toggles, link faces, better key bindings (thanks to tuhdo)
  • dotspacemacs/location now respect dotspacemacs-filepath value (thanks to coldnew)
  • Avoid conflict with hydra's lv.el (thanks to edwintorok)
  • Update layer templates to use setq instead of defvar (thanks to person808)

Other fixes

  • Replace defvar with setq for variable definition <layer>-packages, <layer>-pre-extensions and <layer>-pre-extensions.
  • Themes in dotspacemacs-themes are not considered orphans anymore
  • Fix "Unable to check for new version." if .emacs.d is a symlink (thanks to louy2)
  • Fix non unicode number spacing in mode-line
  • Typos (thanks to Andrea, atamis, CarlQLange, charl, ctjhoa, Devagamster, dguilak, edwintorok, fhzerorubigd, jackwilsonv, jupl, kini, latkins, MadAnd, mlsteel, mosic, person808, skwuent, srid, swaroopch and zimbatm)

Release 0.101.x

Hot new features

Choose your own editing style

Thanks to the new holy-mode Spacemacs can now be used by Vim users or Emacs users by setting the dotspacemacs-editing-style variable to 'vim or 'emacs in the dotfile. In Emacs style the leader is available on M-m. It is possible to dynamically switch between the two style with SPC P tab.

Mandatory init function and new Pre and Post init functions

A package is now considered to be used only if there is a corresponding <layer>/init-<package> function explicitly defined. There is now two new functions to initialize a given package:

  • <layer>/pre-init-<package> which is called before the init function
  • <layer>/post-init-<package> which is called after the init function

Even if a pre or post function exist for a given package, an init function is still required to consider the package to be used.

Auto-completion

Spacemacs now officially support auto-completion. The old layer company-mode has been removed and auto-complete has been removed from the spacemacs layer. They are now part of a new layer called auto-completion. You'll have to this add layer to your dotfile to enable auto-completion.

Syntax checking

Flycheck has been removed from the Spacemacs layer and moved to a new layer called syntax-checking. You'll have to add this layer to your dotfile to enable the fly syntax checking.

Org

Org packages have been removed from Spacemacs layer and moved to a new org layer. You'll have to add this layer to your dotfile to enable the Org configuration of Spacemacs.

New shortcuts in startup buffer

Recent files, project and bookmarks can be displayed on the startup buffer. Check for the new dotfile variable dotspacemacs-startup-lists. (thanks to CarlQLange)

New lighter in the mode line

Lighter letters have been updated, now the letter corresponds to the key binding to toggle the associated mode. For instance auto-completion is on ⓐ and thus can be toggled with SPC t a.

Better package update

The package update should now prevent even more errors when upgrading a batch of packages.

Initial Release (2015/04/13)

New layers

  • evil-commentary: Alternative to evil-nerd-commenter (thanks to person808)
  • better-defaults: layer providing better defaults for Emacs commands, rather empty for now. (thanks to tuhdo)
  • ERC: an IRC client (thanks to swaroopch)
  • Racket: a lisp dialect (thanks to trishume)
  • xkcd: browse for XKCD in Emacs (thanks to CestDiego)
  • shell-scripts: layer containing shell specific modes like fish-mode
  • editorconfig: add support for EditorConfig (thanks to jupl)

New dotfile variables:

  • dotspacemacs-editing-style can be either vim or emacs.
  • dotspacemacs-verbose-loading if non nil the loading prints logs in the *Messages* buffer. Default value is nil.
  • dotspacemacs-startup-lists is a list of symbols to display recent items in the startup buffer, possible values are: recents, bookmarks and projects (thanks to CarlQLange)

Auto-complete

  • Move to auto-completion layer

C/C++

  • Add key bindings SPC m g a and SPC m g A for open alternate file (thanks to mijoharas)

Clojure

  • Add SPC m e f eval function at point
  • Add cider-eval-sexp-fu
  • Fix for cider-send-function-to-repl (thanks to nashamri)
  • Replace auto-complete by company for auto-completion
  • Move SPC d commands on SPC h to meet Spacemacs convetions (thanks to cpaulik)
  • Open cider-doc without asking for symbol, close it with q (thanks to cpaulik)

Company

  • Move to auto-completion layer
  • Refactoring of company configuration, it is now lazy-loaded and the company-backends list is now a buffer local variable. company is not enabled globally anymore.
  • Set company-delay to 0.2 instead of 0
  • Ignore company-quickhelp for Emacs version < 24.4
  • Add support for company in various languages (thanks to trishume)

Emacs Lisp

  • Add eval-sexp-fu (thanks to tuhdo)
  • Enable eldoc in eval-expression and IELM (thanks to tuhdo)
  • New key bindings SPC m e b, SPC m e c and SPC m e r to evaluate the buffer, the current form starting by set or def and the region respectively (thanks to ralesi)

Ess

  • Fix loading of ess-R-object-popup and ess-R-data-view (thanks to jcpetkovich)

Extra-Lang layer

  • Add Nim language (thanks to trishume)

Flycheck

  • Move to syntax-checking layer
  • Add flycheck-pos-tip (thanks to tuhdo)
  • Enable flycheck for lua files (thanks rphillips)

Git

  • Add gitconfig-mode and git-commit-mode (thanks to ralesi)
  • Add gitattributes-mode and gitignore-mode (thanks to r4ts0n)
  • Add key bindings in rebase mode
  • Add git-link package (thanks to CestDiego)
  • Enable Magit authentication on Windows (thanks to tuhdo)
  • Loads magit-gh-pulls only after requesting it (thanks to cpaulik)

Go

  • Add run-package-tests command on SPC m t p (thanks to robmerrell)
  • Fix path to go-oracle (thanks to Pursuit92)

Haskell

  • Move SPC m t and SPC m i under SPC m h
  • Remove hi2 (it is now integrated in haskell-mode)
  • Disable eletric-indent-mode
  • Fix flycheck-haskell autoload (thanks to jcpetkovich)
  • Fix flycheck loading
  • Move SPC m t to SPC m h t according to Spacemacs conventions (thanks to jeremyjh)
  • Add C cmm-mode (thanks to bgamari)

Helm

  • Add helm-colors key binding on SPC C l (thanks to tuhdo)
  • Make helm-ff-doted-directory consistent (thanks to tuhdo)
  • Disable popwin-mode when a Helm session is active (thanks to tuhdo)
  • Fix lazy-loading of helm for describe commands
  • Add support for pt the platinum searcher (thanks to ralesi)
  • Add support for helm-ag-edit
  • Add function spacemacs/helm-projectile-search-dwim which select the first available external search tool (pt, ag, ack or grep) (thanks to ralesi)
  • Enable helm-descbinds globally (thanks to tuhdo)
  • Add key bindings for useful Helm commands: helm-info-at-point, helm-man-woman, helm-locate-library and helm-minibuffer-history (thanks to tuhdo)
  • Add key bindings for searching the web using helm-suggest (thanks to cpaulik)

Holy-mode

  • New package providing Emacs edition style to Spacemacs

IRC

  • rcirc: Create rcirc logging directory during init (thanks to jcpetkovich)
  • New ERC layer (thanks to swaroopch)
  • Add ERC keybindings (thans to cpaulik)
  • Move startup key bindings to prefix SPC a i

Markdown

  • Associate .mkd with markdown-mode (thanks to bgamari)

Org

  • Move to org layer
  • Bind evil-leader in org-agenda-map (thanks to luxbock)
  • Add org-pomodoro on SPC m p (thanks to swaroopch)
  • Add key bindings for org-clock-cancel on SPC m q, and org-set-effort on SPC m f (thanks to swaroopch)
  • Fix diminish of org-indent

Perspective

  • Rebind spacemacs/persp-switch-project to SPC p p (thanks to CestDiego)

Projectile

  • Move projectile switch project from SPC p S to SPC p p

Python

  • Add helm-pydoc on SPC m h d (thanks to danielwuz)
  • Fix pylookup configuration

Racket

  • Add key bindings for REPL interaction

Ruby

  • Lazy-load projectile-rails
  • Remove mode-line lighter for robe

Scala

  • Do not enable ensime in non-file buffers (thanks to chrisbarrett)

SLIME

  • Use slime for indentation (thanks to tuhdo)
  • Add extension for SBCL (thanks to tuhdo)
  • Allow to create a common lisp scratch buffer with slime-scratch (thanks to tuhdo)
  • Enable fuzzy completion with score (thanks to tuhdo)
  • Don't enable SLIME in Emacs Lisp (thanks to tuhdo)

Smartparens

  • Enable smartparens in eval-expression (thanks to tuhdo)

Themes

  • Fix themes-megapack layer where themes could not be browsed in Helm.
  • Add material theme (thanks to cpaulik)
  • Add darktooth theme (thanks to person808)
  • Add gotham theme (thanks to person808)

ycmd

  • Set global config only if not already set (thanks naseer)

Web

  • Add sass-mode (thanks to ryanartecona)
  • Ensure that less gets loaded (thanks to mijoharas)

Various Improvements and Changes

  • New evil state called evilified which is used in evilified buffers.
  • Remove the following packages from Spacemacs layer: dired+, fancy-narrow, string-edit, visual-regexp-steroids and wdired
  • Rename *-declarep functions to *-usedp functions
  • Display block selection info in the mode line (thanks to emmanueltouzery)
  • Bind K in normal state to SPC m h h if it exists (thanks to person808)
  • Add key binding for balancing windows on SPC w = (thanks to kini)
  • Add key binding to indent region on SPC j = (thanks to tuhdo)
  • Add key binding SPC w SPC for ace-window (thanks to ralesi)
  • Add key binding SPC b h to open the startup buffer (thanks to ralesi)
  • Add key binding SPC t ~ to toggle Vim tildes
  • Add adaptive wrap which appropriately indents wrapped lines (thanks to person808)
  • Add mouse support to line number column (thanks to ralesi)

    • single click selects line
    • double click selects text block
    • drag across lines selects all lines dragged across
  • Add highlight-numbers (thanks to tuhdo)
  • Add highlight-indentation on SPC t h i and SPC t h c (thanks to cpaulik)
  • Add ace-link package to spacemacs layer (thanks to danielwuz)
  • Add indent-guide on SPC t i (thanks to ralesi)
  • Add link to cpaulik tutorial to use the Spacemacs icons in Ubuntu Unity
  • Add C-w and brackets [] to guide-key-sequence (thanks to ralesi)
  • Add info+ to improve Info reading experience (thanks to tuhdo)
  • Add default layers to dotfile template: auto-completion, better-defaults, git, markdown, org and syntax-checking (thanks to CarlQLange)
  • Move some toggles on SPC T: fringe, menu bar, tool bar, frame maximize, frame fullscreen, frame transparency
  • Restore rectangle-mark-mode key binding (thanks to tuhdo)
  • Make <escape> quit the isearch-mode like vim (thanks to dsdshcym)
  • Enable goto-address-prog-mode which makes URL in code comments clickable (thanks to tuhdo)
  • Disable aggressive indent for ediff buffers (thanks chrisbarrett)
  • Prevent cursor from moving into minibuffer prompt (thanks to tuhdo)
  • Remove tildes in Spacemacs buffer and read-only buffers like Info and help (thanks to tuhdo)
  • Ask user editing style when creating .spacemacs file (thanks to tuhdo)
  • Fix for persistent-server if server never got started (thanks to ralesi)
  • Fix nyan cat starting rainbow on a light background
  • Fix some double loading of some packages
  • Fix double loading of extensions.el files
  • Fix question for preferred coding systems on Microsoft Windows
  • Properly enable saveplace (thanks to tuhdo)
  • Don't bind C-d in ido-completion-map to ido-delete-file-at-head (thanks to segv)
  • Don't refer to ~/.emacs.d/ directly at various places (thanks to jcpetkovich)
  • Don't want paste-micro-state to pop up when pasting in ex command prompt (thanks to ralesi)
  • Don't cycle when press TAB in eshell (thanks to tuhdo)
  • Don't insert extra quote in dotspacemacs-mode (thanks to tuhdo)
  • Adapt some micro-states to the micro-state macro (thanks to ralesi)
  • Improve smooth scrolling configuration (reduce some point jump) (thanks to tuhdo)
  • Improve doge banner grammar (thanks to mathpunk)
  • New HOTOWs.md file in /doc
  • Add Buy A Drink badge to README.md
  • Typo and documentation updates (thanks to danielwuz, swaroopch, CestDiego, IvanMalison, agevelt, nwolfe)

Hot Fixes

Startup Buffer

  • Don't display the release notes in the startup buffer when Emacs is restarted after a fresh install
  • Startup buffer: fix widget activation in holy-mode (thanks to tuhdo)
  • Startup buffer: Don't fontify the startup buffer when rainbow-identifiers

Auto-completion

  • Fix error when toggling auto-completion in some buffers

Haskell

  • Add new haskell-snippets package (fixes error with required haskell-yas)
  • Fix missing quote in haskell-indentation

Org

  • Org layer: exclude ox-gfm since it seems problematic for some users. package is used

Ruby

  • Fix auto-completion activation.

Themes

  • Fix conflict between official Spacemacs solarized theme and color-theme-solarized declared in themes-megapack layer.
  • Add rules for all base16 themes (thanks to mkaito)

Various Fixes

  • revert back ag as the default search tool instead of pt, pt can conflict with pt command line tool from TCL parser tools.

Previous Releases

  • See Github release page