summaryrefslogtreecommitdiffstats
path: root/runtime/indent/tex.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-05-13 00:02:36 +0200
committerBram Moolenaar <Bram@vim.org>2018-05-13 00:02:36 +0200
commit7db25fed5de1be922b8cbb0328149469606a0424 (patch)
treead7a588d2f32740df2fb5d23ae41e06eac36be16 /runtime/indent/tex.vim
parent52ecaaa63d8d4c6d2ae9072e944a45d8d4e2ac76 (diff)
Update runtime files.
Diffstat (limited to 'runtime/indent/tex.vim')
-rw-r--r--runtime/indent/tex.vim199
1 files changed, 69 insertions, 130 deletions
diff --git a/runtime/indent/tex.vim b/runtime/indent/tex.vim
index a748cfbb40..119a66c1b8 100644
--- a/runtime/indent/tex.vim
+++ b/runtime/indent/tex.vim
@@ -1,12 +1,16 @@
-" Vim indent file
-" Language: LaTeX
-" Maintainer: Yichao Zhou <broken.zhou AT gmail.com>
-" Created: Sat, 16 Feb 2002 16:50:19 +0100
-" Version: 1.0.0
+" Vim indent file for TeX
+" Language: TeX
+" Maintainer: Christian Brabandt <cb@256bit.org>
+" Previous Maintainer: YiChao Zhou <broken.zhou AT gmail.com>
+" Latest Revision: 2017-05-03
+" Version: 0.9.3
+" Repository: https://github.com/chrisbra/vim-tex-indent
+" Documention: :h ft-tex-indent
+" Created: Sat, 16 Feb 2002 16:50:19 +0100
" Please email me if you found something I can do. Comments, bug report and
" feature request are welcome.
-" Last Update: {{{
+" Last Update: {{{1
" 25th Sep 2002, by LH :
" (*) better support for the option
" (*) use some regex instead of several '||'.
@@ -15,122 +19,64 @@
" 2005/06/15, Moshe Kaminsky <kaminsky AT math.huji.ac.il>
" (*) New variables:
" g:tex_items, g:tex_itemize_env, g:tex_noindent_env
-" 2011/3/6, by Yichao Zhou <broken.zhou AT gmail.com>
+" 2011/3/6, by Zhou YiChao <broken.zhou AT gmail.com>
" (*) Don't change indentation of lines starting with '%'
" I don't see any code with '%' and it doesn't work properly
" so I add some code.
" (*) New features: Add smartindent-like indent for "{}" and "[]".
" (*) New variables: g:tex_indent_brace
-" 2011/9/25, by Yichao Zhou <broken.zhou AT gmail.com>
+" 2011/9/25, by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Bug fix: smartindent-like indent for "[]"
" (*) New features: Align with "&".
" (*) New variable: g:tex_indent_and.
-" 2011/10/23 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2011/10/23 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Bug fix: improve the smartindent-like indent for "{}" and
" "[]".
-" 2012/02/27 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2012/02/27 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Bug fix: support default folding marker.
" (*) Indent with "&" is not very handy. Make it not enable by
" default.
-" 2012/03/06 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2012/03/06 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Modify "&" behavior and make it default again. Now "&"
" won't align when there are more then one "&" in the previous
" line.
" (*) Add indent "\left(" and "\right)"
" (*) Trust user when in "verbatim" and "lstlisting"
-" 2012/03/11 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2012/03/11 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Modify "&" so that only indent when current line start with
" "&".
-" 2012/03/12 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2012/03/12 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Modify indentkeys.
-" 2012/03/18 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2012/03/18 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Add &cpo
-" 2013/05/02 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2013/05/02 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Fix problem about GetTeXIndent checker. Thank Albert Netymk
" for reporting this.
-" 2014/06/23 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2014/06/23 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Remove the feature g:tex_indent_and because it is buggy.
" (*) If there is not any obvious indentation hints, we do not
" alert our user's current indentation.
" (*) g:tex_indent_brace now only works if the open brace is the
" last character of that line.
-" 2014/08/03 by Yichao Zhou <broken.zhou AT gmail.com>
+" 2014/08/03 by Zhou Yichao <broken.zhou AT gmail.com>
" (*) Indent current line if last line has larger indentation
-" 2016/11/08 by Yichao Zhou <broken.zhou AT gmail.com>
-" (*) Fix problems for \[ and \]. Thanks Bruno for reporting.
-" 2017/04/30 by Yichao Zhou <broken.zhou AT gmail.com>
-" (*) Fix a bug between g:tex_noindent_env and g:tex_indent_items
-" Now g:tex_noindent_env='document\|verbatim\|itemize' (Emacs
-" style) is supported. Thanks Miles Wheeler for reporting.
-" 2018/02/07 by Yichao Zhou <broken.zhou AT gmail.com>
-" (*) Make indentation more smart in the normal mode
+" 2014/08/09 by Zhou Yichao <broken.zhou AT gmail.com>
+" (*) Add missing return value for s:GetEndIndentation(...)
+" 2017/05/02: new maintainer Christian Brabandt
+" 2017/05/02: use shiftwidth() function
+" 2017/05/02: do not add indent when environment starts and ends
+" at previous line
+" 2017/05/03: release 0.9.3 submitted for inclusion with Vim
"
" }}}
-
-" Document: {{{
-"
-" To set the following options (ok, currently it's just one), add a line like
-" let g:tex_indent_items = 1
-" to your ~/.vimrc.
-"
-" * g:tex_indent_brace
-"
-" If this variable is unset or non-zero, it will use smartindent-like style
-" for "{}" and "[]". Now this only works if the open brace is the last
-" character of that line.
-"
-" % Example 1
-" \usetikzlibrary{
-" external
-" }
-"
-" % Example 2
-" \tikzexternalize[
-" prefix=tikz]
-"
-" * g:tex_indent_items
-"
-" If this variable is set, item-environments are indented like Emacs does
-" it, i.e., continuation lines are indented with a shiftwidth.
-"
-" set unset
-" ------------------------------------------------------
-" \begin{itemize} \begin{itemize}
-" \item blablabla \item blablabla
-" bla bla bla bla bla bla
-" \item blablabla \item blablabla
-" bla bla bla bla bla bla
-" \end{itemize} \end{itemize}
-"
-"
-" * g:tex_items
-"
-" A list of tokens to be considered as commands for the beginning of an item
-" command. The tokens should be separated with '\|'. The initial '\' should
-" be escaped. The default is '\\bibitem\|\\item'.
-"
-" * g:tex_itemize_env
-"
-" A list of environment names, separated with '\|', where the items (item
-" commands matching g:tex_items) may appear. The default is
-" 'itemize\|description\|enumerate\|thebibliography'.
-"
-" * g:tex_noindent_env
-"
-" A list of environment names. separated with '\|', where no indentation is
-" required. The default is 'document\|verbatim'.
-" }}}
-
-" Only define the function once
+" Only define the function once {{{1
if exists("b:did_indent")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
-
-" Define global variable {{{
-
+" Define global variable {{{1
let b:did_indent = 1
if !exists("g:tex_indent_items")
@@ -147,7 +93,7 @@ if g:tex_indent_items
let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography'
endif
if !exists('g:tex_items')
- let g:tex_items = '\\bibitem\|\\item'
+ let g:tex_items = '\\bibitem\|\\item'
endif
else
let g:tex_items = ''
@@ -156,17 +102,17 @@ endif
if !exists("g:tex_noindent_env")
let g:tex_noindent_env = 'document\|verbatim\|lstlisting'
endif "}}}
-
-" VIM Setting " {{{
+" VIM Setting " {{{1
setlocal autoindent
setlocal nosmartindent
setlocal indentexpr=GetTeXIndent()
setlocal indentkeys&
exec 'setlocal indentkeys+=[,(,{,),},],\&' . substitute(g:tex_items, '^\|\(\\|\)', ',=', 'g')
let g:tex_items = '^\s*' . substitute(g:tex_items, '^\(\^\\s\*\)*', '', '')
-" }}}
-function! GetTeXIndent() " {{{
+let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent< autoindent<'
+" }}}
+function! GetTeXIndent() " {{{1
" Find a non-blank line above the current line.
let lnum = prevnonblank(v:lnum - 1)
let cnum = v:lnum
@@ -178,7 +124,7 @@ function! GetTeXIndent() " {{{
" At the start of the file use zero indent.
if lnum == 0
- return 0
+ return 0
endif
let line = substitute(getline(lnum), '\s*%.*', '','g') " last line
@@ -192,9 +138,9 @@ function! GetTeXIndent() " {{{
return indent(v:lnum)
end
endif
-
+
if lnum == 0
- return 0
+ return 0
endif
let ind = indent(lnum)
@@ -205,16 +151,12 @@ function! GetTeXIndent() " {{{
return indent(v:lnum)
endif
- " Add a 'shiftwidth' after beginning of environments.
- " Don't add it for \begin{document} and \begin{verbatim}
- " if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim'
- " LH modification : \begin does not always start a line
- " ZYC modification : \end after \begin won't cause wrong indent anymore
- if line =~ '\\begin{.*}'
- if line !~ g:tex_noindent_env
- let ind = ind + shiftwidth()
- let stay = 0
- endif
+ " Add a 'shiftwidth' after beginning of environments
+ " But don't do it for g:tex_noindent_env or when it also ends at the
+ " previous line.
+ if line =~ '\\begin{.*}' && line !~ '\\end{.*}' && line !~ g:tex_noindent_env
+ let ind = ind + shiftwidth()
+ let stay = 0
if g:tex_indent_items
" Add another sw for item-environments
@@ -248,27 +190,29 @@ function! GetTeXIndent() " {{{
endif
if g:tex_indent_brace
- if line =~ '[[{]$'
+ let char = line[strlen(line)-1]
+ if char == '[' || char == '{'
let ind += shiftwidth()
let stay = 0
endif
- if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum))
+ let cind = indent(v:lnum)
+ let char = cline[cind]
+ if (char == ']' || char == '}') &&
+ \ s:CheckPairedIsLastCharacter(v:lnum, cind)
let ind -= shiftwidth()
let stay = 0
endif
- if line !~ '^\s*\\\?[\]}]'
- for i in range(indent(lnum)+1, strlen(line)-1)
- let char = line[i]
- if char == ']' || char == '}'
- if s:CheckPairedIsLastCharacter(lnum, i)
- let ind -= shiftwidth()
- let stay = 0
- endif
+ for i in range(indent(lnum)+1, strlen(line)-1)
+ let char = line[i]
+ if char == ']' || char == '}'
+ if s:CheckPairedIsLastCharacter(lnum, i)
+ let ind -= shiftwidth()
+ let stay = 0
endif
- endfor
- endif
+ endif
+ endfor
endif
" Special treatment for 'item'
@@ -287,9 +231,8 @@ function! GetTeXIndent() " {{{
endif
endif
- if stay && mode() == 'i'
- " If there is no obvious indentation hint, and indentation is triggered
- " in insert mode, we trust our user.
+ if stay
+ " If there is no obvious indentation hint, we trust our user.
if empty(cline)
return ind
else
@@ -299,8 +242,7 @@ function! GetTeXIndent() " {{{
return ind
endif
endfunction "}}}
-
-function! s:GetLastBeginIndentation(lnum) " {{{
+function! s:GetLastBeginIndentation(lnum) " {{{1
let matchend = 1
for lnum in range(a:lnum-1, max([a:lnum - g:tex_max_scan_line, 1]), -1)
let line = getline(lnum)
@@ -311,19 +253,19 @@ function! s:GetLastBeginIndentation(lnum) " {{{
let matchend -= 1
endif
if matchend == 0
- if line =~ g:tex_noindent_env
- return indent(lnum)
- endif
if line =~ g:tex_itemize_env
return indent(lnum) + 2 * shiftwidth()
endif
+ if line =~ g:tex_noindent_env
+ return indent(lnum)
+ endif
return indent(lnum) + shiftwidth()
endif
endfor
return -1
endfunction
-function! s:GetEndIndentation(lnum) " {{{
+function! s:GetEndIndentation(lnum) " {{{1
if getline(a:lnum) =~ '\\begin{.*}.*\\end{.*}'
return -1
endif
@@ -350,15 +292,12 @@ endfunction
" Most of the code is from matchparen.vim
function! s:CheckPairedIsLastCharacter(lnum, col) "{{{
+ " Get the character under the cursor and check if it's in 'matchpairs'.
let c_lnum = a:lnum
let c_col = a:col+1
- let line = getline(c_lnum)
- if line[c_col-1] == '\'
- let c_col = c_col + 1
- endif
- let c = line[c_col-1]
+ let c = getline(c_lnum)[c_col-1]
let plist = split(&matchpairs, '.\zs[:,]')
let i = index(plist, c)
if i < 0
@@ -407,8 +346,8 @@ function! s:CheckPairedIsLastCharacter(lnum, col) "{{{
endif
return 0
-endfunction "}}}
-
+endfunction
+" Reset cpo setting {{{1
let &cpo = s:cpo_save
unlet s:cpo_save
'>598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627
# Changelog

## 5.0.2 – 2022-12-15
### Fixed
- Undefined array offset error
- Create group actions icon
- Broken icons.css reference

## 5.0.1 – 2022-10-18
### Fixed
- Org chart expand icon overlapped

## 5.0.0 – 2022-10-11
### Added
- Nextcloud 25 design
- Organization chart via manager property
### Changed
- New and updated translations
### Removed
- Nextcloud 22-24 support

## 4.2.1 – 2022-09-19
### Changed
- Important npm package updates

## 4.2.0 - 2022-07-19
### Added
- Enforce circle share password
- Quick search
### Changed
- Replaced icons with SVGs
- Manual date input
- New and updated translations
- Updated dependencies
### Fixed
- Encode group names for x-property-replace header

## 4.1.1 – 2022-05-18
### Changed
- Autosave birthdate
### Fixed
- Large social image import
- Screenshot URL

## 4.1.0 – 2022-03-22
### Added
- Nextcloud 24 support
- PHP8.1 support
- Sending emails to contact groups
- Performance improvements
### Changed
- New and updated translations
- Updated dependencies
- Expensive background jobs run only at off-peak times
### Fixed
- App icon
- Various small bugs
### Removed
- Nextcloud 20 support (EOL)

## 4.0.8 - 2022-02-17
### Fixed
- Overlapping navigation toggle
- Adding Circles members
- Broken IE check
- Date time picker

## 4.0.7 - 2021-12-16
### Fixed
- Missing action button closing after clicking QR code
- Circles

## 4.0.6 - 2021-11-03
### Fixed
- Missing front-end build artifacts

## 4.0.5 - 2021-11-03
### Fixed
- Missing front-end build artifacts

## 4.0.4 - 2021-11-03
### Fixed
- Missing avatars
- Group download

## 4.0.3 – 2021-09-15
### Fixed
- Missing SVG sanitization for SVG contact images

## 4.0.2 – 2021-08-25
### Changed
- App initialization logic migrated to silence a deprecation notice
### Fixed
- Blank page when files_sharing is disabled
- Mobile contacts list
- Scrolling of the app content details

## 4.0.1 - 2021-07-28

[Full Changelog](https://github.com/nextcloud/contacts/compare/v4.0.0...v4.0.1)

### Enhancements
- Streamlined Settings 
  [\#2372](https://github.com/nextcloud/contacts/pull/2372) ([szaimen](https://github.com/szaimen))
- Wording improvements 
  [\#2350](https://github.com/nextcloud/contacts/pull/2350) ([Valdnet](https://github.com/Valdnet))
- Various dependencies updates

### Fixed
- Fixed dark contacts icon 
  [\#2340](https://github.com/nextcloud/contacts/pull/2340) ([skjnldsv](https://github.com/skjnldsv))
- Adjusted the padding of app-content-details 
  [\#2341](https://github.com/nextcloud/contacts/pull/2341) ([szaimen](https://github.com/szaimen)) 
- Fixed call on null in SocialApiService
  [\#2351](https://github.com/nextcloud/contacts/pull/2351) ([juliushaertl](https://github.com/juliushaertl)) 

## 4.0.0 - 2021-07-06

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.5.1...v4.0.0)

### Featured enhancement
- Circles integration 
  [\#2098](https://github.com/nextcloud/contacts/pull/2098) ([skjnldsv](https://github.com/skjnldsv))

### Enhancements
- Comply to new resizeable list feature 
  [\#2246](https://github.com/nextcloud/contacts/pull/2246) ([skjnldsv](https://github.com/skjnldsv))
- Bump deps and use npm7 
  [\#2281](https://github.com/nextcloud/contacts/pull/2281) ([skjnldsv](https://github.com/skjnldsv))
- Bump dependencies and webpack 5 
  [\#2140](https://github.com/nextcloud/contacts/pull/2140) ([skjnldsv](https://github.com/skjnldsv))
- Remove core-js 
  [\#2323](https://github.com/nextcloud/contacts/pull/2323) ([skjnldsv](https://github.com/skjnldsv))
- Various dependencies updates

### Fixed
- Improve Compatibily with macOS Contacts 
  [\#1999](https://github.com/nextcloud/contacts/pull/1999) ([zlajo](https://github.com/zlajo))
- Fix chain condition of responses 
  [\#2286](https://github.com/nextcloud/contacts/pull/2286) ([skjnldsv](https://github.com/skjnldsv))
- Increase max-version to current dev version 22 
  [\#2169](https://github.com/nextcloud/contacts/pull/2169) ([jancborchardt](https://github.com/jancborchardt))
- l10n: Change spelling 
  [\#2189](https://github.com/nextcloud/contacts/pull/2189) ([Valdnet](https://github.com/Valdnet))
- l10n: Change to lowercase 
  [\#2190](https://github.com/nextcloud/contacts/pull/2190) ([Valdnet](https://github.com/Valdnet))
- l10n: Correct spelling 
  [\#2244](https://github.com/nextcloud/contacts/pull/2244) ([Valdnet](https://github.com/Valdnet))
- l10n: Spelling unification 
  [\#2233](https://github.com/nextcloud/contacts/pull/2233) ([Valdnet](https://github.com/Valdnet))
- l10n: Unify spelling 
  [\#2162](https://github.com/nextcloud/contacts/pull/2162) ([Valdnet](https://github.com/Valdnet))
- l10n: Error message changed 
  [\#2326](https://github.com/nextcloud/contacts/pull/2326) ([Valdnet](https://github.com/Valdnet))
- l10n: Change to a capital letter 
  [\#2305](https://github.com/nextcloud/contacts/pull/2305) ([Valdnet](https://github.com/Valdnet))
- l10n: Change to a capital letter 
  [\#2304](https://github.com/nextcloud/contacts/pull/2304) ([Valdnet](https://github.com/Valdnet))

## 3.5.1 - 2021-03-17

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.5.0...v3.5.1)

### Fixed
- Min support version is 19
  ([skjnldsv](https://github.com/skjnldsv))

## 3.5.0 - 2021-03-15

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.4.3...v3.5.0)

### Fixed
- Fix contact deletion from addressbook
  [\#2086](https://github.com/nextcloud/contacts/pull/2086) ([skjnldsv](https://github.com/skjnldsv))
- Alphabetically order groups in contact details \(\#2051\)
  [\#2076](https://github.com/nextcloud/contacts/pull/2076) ([harryyoud](https://github.com/harryyoud))
- Fix custom labels not being displayed
  [\#2064](https://github.com/nextcloud/contacts/pull/2064) ([Y0hy0h](https://github.com/Y0hy0h))
- Fix display name with empty last name when sorting by last name
  [\#2040](https://github.com/nextcloud/contacts/pull/2040) ([NerLOR](https://github.com/NerLOR))
- Make sure twitter returns the raw static html page so we can get the …
  [\#2013](https://github.com/nextcloud/contacts/pull/2013) ([skjnldsv](https://github.com/skjnldsv))
- Instagram profile sync with agent
  [\#2083](https://github.com/nextcloud/contacts/pull/2083) ([call-me-matt](https://github.com/call-me-matt))
- Adapted twitter uri
  [\#2081](https://github.com/nextcloud/contacts/pull/2081) ([call-me-matt](https://github.com/call-me-matt))

### Enhancements
- Use all email addresses for gravatar search
  [\#2085](https://github.com/nextcloud/contacts/pull/2085) ([call-me-matt](https://github.com/call-me-matt))


## 3.4.3 - 2021-01-04)

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.4.2...v3.4.3)

### Fixed
- Remove Workaround for Postal Addresses Containing Commas
  [\#2000](https://github.com/nextcloud/contacts/pull/2000) ([zlajo](https://github.com/zlajo))
- Fix masonry redraw
  [\#1982](https://github.com/nextcloud/contacts/pull/1982) ([skjnldsv](https://github.com/skjnldsv))
- Fix generating the redirect url
  [\#1972](https://github.com/nextcloud/contacts/pull/1972) ([juliushaertl](https://github.com/juliushaertl))
- Change to the name of the app
  [\#1965](https://github.com/nextcloud/contacts/pull/1965) ([Valdnet](https://github.com/Valdnet))
- Add favicons
  [\#1960](https://github.com/nextcloud/contacts/pull/1960) ([st3iny](https://github.com/st3iny))

## 3.4.2 - 2020-11-18

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.4.1...v3.4.2)

### Enhancements
- add support for downloading avatars from gravatar
  [\#1906](https://github.com/nextcloud/contacts/pull/1906) ([eleith](https://github.com/eleith))
- add xing to list of social networks
  [\#1871](https://github.com/nextcloud/contacts/pull/1871) ([call-me-matt](https://github.com/call-me-matt))
- add xing to social sync
  [\#1869](https://github.com/nextcloud/contacts/pull/1869) ([call-me-matt](https://github.com/call-me-matt))

### Fixed
- Replace the deprecated OC.Util.relativeModifiedDate by nextcloud/moment
  [\#1936](https://github.com/nextcloud/contacts/pull/1936) ([tintou](https://github.com/tintou))
- l10n: Rebuild string text
  [\#1893](https://github.com/nextcloud/contacts/pull/1893) ([Valdnet](https://github.com/Valdnet))
- Fix/dav plugins groups registration
  [\#1938](https://github.com/nextcloud/contacts/pull/1938) ([skjnldsv](https://github.com/skjnldsv))
- vcard should only have 1 photo field when adding/removing photos
  [\#1918](https://github.com/nextcloud/contacts/pull/1918) ([eleith](https://github.com/eleith))
- new facebook api prevents usage without authentication
  [\#1894](https://github.com/nextcloud/contacts/pull/1894) ([call-me-matt](https://github.com/call-me-matt))
- Fix Avatar ratio display
  [\#1884](https://github.com/nextcloud/contacts/pull/1884) ([skjnldsv](https://github.com/skjnldsv))
- Fix bulk contacts add to group
  [\#1883](https://github.com/nextcloud/contacts/pull/1883) ([skjnldsv](https://github.com/skjnldsv))
- l10n: Correct text string tag
  [\#1896](https://github.com/nextcloud/contacts/pull/1896) ([Valdnet](https://github.com/Valdnet))
- l10n: Correct text string tag for Settings
  [\#1895](https://github.com/nextcloud/contacts/pull/1895) ([Valdnet](https://github.com/Valdnet))
- l10n: Remove the quotation marks
  [\#1892](https://github.com/nextcloud/contacts/pull/1892) ([Valdnet](https://github.com/Valdnet))

## 3.4.1 - 2020-10-20

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.4.0...v3.4.1)

### Enhancements
- adding diaspora to the list for social sync
  [\#1853](https://github.com/nextcloud/contacts/pull/1853) ([call-me-matt](https://github.com/call-me-matt))

### Fixed
- Fix avatar display on read-only contacts and use global Avatar component
  [\#1846](https://github.com/nextcloud/contacts/pull/1846) ([skjnldsv](https://github.com/skjnldsv))
- Ignore errors from invalid social ids
  [\#1829](https://github.com/nextcloud/contacts/pull/1829) ([call-me-matt](https://github.com/call-me-matt))
- Fix placeholder display
  [\#1828](https://github.com/nextcloud/contacts/pull/1828) ([skjnldsv](https://github.com/skjnldsv))
- Fix social sync admin settings
  [\#1821](https://github.com/nextcloud/contacts/pull/1821) ([skjnldsv](https://github.com/skjnldsv))
- Force redraw masonry on property resize
  [\#1819](https://github.com/nextcloud/contacts/pull/1819) ([skjnldsv](https://github.com/skjnldsv))
- More robust social ids for social sync
  [\#1843](https://github.com/nextcloud/contacts/pull/1843) ([call-me-matt](https://github.com/call-me-matt))

## 3.4.0 - 2020-09-30

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.3.0...v3.4.0)

### Enhancements
- Add Matrix to list of instant messaging networks
  [\#1761](https://github.com/nextcloud/contacts/pull/1761) ([jtrees](https://github.com/jtrees))
- Add Zoom as instant messaging
  [\#1759](https://github.com/nextcloud/contacts/pull/1759) ([EmTeedee](https://github.com/EmTeedee))
- Update social avatars in chunks
  [\#1745](https://github.com/nextcloud/contacts/pull/1745) ([call-me-matt](https://github.com/call-me-matt))
- Allow to get direct contact route
  [\#1730](https://github.com/nextcloud/contacts/pull/1730) ([skjnldsv](https://github.com/skjnldsv))
- Allow for regular background updates of avatars from social networks
  [\#1722](https://github.com/nextcloud/contacts/pull/1722) ([call-me-matt](https://github.com/call-me-matt))
- Enh/social sync
  [\#1692](https://github.com/nextcloud/contacts/pull/1692) ([skjnldsv](https://github.com/skjnldsv))
- Add php cs & stylelint
  [\#1690](https://github.com/nextcloud/contacts/pull/1690) ([skjnldsv](https://github.com/skjnldsv))
- Import vcf from files
  [\#1688](https://github.com/nextcloud/contacts/pull/1688) ([skjnldsv](https://github.com/skjnldsv))
- Enh/add virtual group
  [\#1687](https://github.com/nextcloud/contacts/pull/1687) ([skjnldsv](https://github.com/skjnldsv))
- Additional link to picture menu
  [\#1645](https://github.com/nextcloud/contacts/pull/1645) ([call-me-matt](https://github.com/call-me-matt))
- Simplify form
  [\#1446](https://github.com/nextcloud/contacts/pull/1446) ([jancborchardt](https://github.com/jancborchardt))
- Support X-PHONETIC-FIRST-NAME and X-PHONETIC-LAST-NAME
  [\#1741](https://github.com/nextcloud/contacts/pull/1741) ([t-bucchi](https://github.com/t-bucchi))

### Fixed
- Fix/various design
  [\#1792](https://github.com/nextcloud/contacts/pull/1792) ([skjnldsv](https://github.com/skjnldsv))
- Add back the app details toggle
  [\#1790](https://github.com/nextcloud/contacts/pull/1790) ([skjnldsv](https://github.com/skjnldsv))
- Properly sort groups
  [\#1788](https://github.com/nextcloud/contacts/pull/1788) ([skjnldsv](https://github.com/skjnldsv))
- Fix default addressbook creation
  [\#1787](https://github.com/nextcloud/contacts/pull/1787) ([skjnldsv](https://github.com/skjnldsv))
- Fix avatar sanitize and cleanup code & css
  [\#1786](https://github.com/nextcloud/contacts/pull/1786) ([skjnldsv](https://github.com/skjnldsv))
- Fix/virtual group
  [\#1770](https://github.com/nextcloud/contacts/pull/1770) ([skjnldsv](https://github.com/skjnldsv))
- Implement masonry
  [\#1755](https://github.com/nextcloud/contacts/pull/1755) ([skjnldsv](https://github.com/skjnldsv))
- Fix group filter trim
  [\#1732](https://github.com/nextcloud/contacts/pull/1732) ([skjnldsv](https://github.com/skjnldsv))

## 3.3.0 – 2020-04-14

[Full Changelog](https://github.com/nextcloud/contacts/compare/v3.2.0...v3.3.0)

### Enhancements
- Add ability to clone contact
  [\#1462](https://github.com/nextcloud/contacts/pull/1462) ([skjnldsv](https://github.com/skjnldsv))

### Fixed
- Fix no sharing menu position
  [\#1500](https://github.com/nextcloud/contacts/pull/1500) ([skjnldsv](https://github.com/skjnldsv))
- Support multiple type declaration
  [\#942](https://github.com/nextcloud/contacts/issues/942) ([skjnldsv](https://github.com/skjnldsv))

### Security fixed
- Properly sanitize avatars in upload
  [\#1514](https://github.com/nextcloud/contacts/pull/1514) ([skjnldsv](https://github.com/skjnldsv))

## 3.2.0 – 2020-02-29
### Fixed
- Fix first contact sync (Contact saving hangs and protocol says uid already exists)
  [\#1488](https://github.com/nextcloud/contacts/pull/1488) ([skjnldsv](https://github.com/skjnldsv))

### Updated
- Translations

## 3.1.9 – 2020-02-26
### Enhancements
- Fix sorting and wording of contact picture actions
  [\#1448](https://github.com/nextcloud/contacts/pull/1448) ([jancborchardt](https://github.com/jancborchardt))
- Allow importing from files
  [\#1438](https://github.com/nextcloud/contacts/pull/1438) ([skjnldsv](https://github.com/skjnldsv))
- Remove delete action from list, fix \#1368
  [\#1430](https://github.com/nextcloud/contacts/pull/1430) ([jancborchardt](https://github.com/jancborchardt))

### Fixed
- l10n: Changed spelling
  [\#1463](https://github.com/nextcloud/contacts/pull/1463) ([rakekniven](https://github.com/rakekniven))
- Disable form validation for text properties
  [\#1418](https://github.com/nextcloud/contacts/pull/1418) ([hanzi](https://github.com/hanzi))

## 3.1.8 – 2020-01-22
### Fixed
- Fixed release number and 15 is EOL
- Fix issue that prevented new contacts from being saved
  [#1416](https://github.com/nextcloud/contacts/pull/1416) ([hanzi](https://github.com/hanzi))
- remove delete buttons and other actions if contact is not readable
  [#1413](https://github.com/nextcloud/contacts/pull/1413) ([myrho](https://github.com/myrho))
- Only add sharee if not present already
  [#1401](https://github.com/nextcloud/contacts/pull/1401) ([raimund-schluessler](https://github.com/raimund-schluessler))
- Fix 'duplicate types' check for properties with a single type
  [#1399](https://github.com/nextcloud/contacts/pull/1399) ([hanzi](https://github.com/hanzi))
- Workaround for bug that prevented editing vCards with commas in the address
  [#1394](https://github.com/nextcloud/contacts/pull/1394) ([hanzi](https://github.com/hanzi))
- Use correct syntax for vCard version when saving
  [#1393](https://github.com/nextcloud/contacts/pull/1393) ([hanzi](https://github.com/hanzi))
- short company field only if empty
  [#1412](https://github.com/nextcloud/contacts/pull/1412) ([myrho](https://github.com/myrho))

## 3.1.7 – 2019-12-09
### Enhancements
- Make the work profile the default one when adding Contacts
  [#1307](https://github.com/nextcloud/contacts/pull/1307)

### Fixed
- Fix first day of datepicker
  [#1314](https://github.com/nextcloud/contacts/pull/1314)

### Updated
-