summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/styles/Google/AMPM.yml9
-rw-r--r--.github/styles/Google/Acronyms.yml64
-rw-r--r--.github/styles/Google/Colons.yml7
-rw-r--r--.github/styles/Google/Contractions.yml28
-rw-r--r--.github/styles/Google/DateFormat.yml9
-rw-r--r--.github/styles/Google/Ellipses.yml7
-rw-r--r--.github/styles/Google/EmDash.yml8
-rw-r--r--.github/styles/Google/EnDash.yml7
-rw-r--r--.github/styles/Google/Exclamation.yml7
-rw-r--r--.github/styles/Google/FirstPerson.yml11
-rw-r--r--.github/styles/Google/Gender.yml9
-rw-r--r--.github/styles/Google/GenderBias.yml45
-rw-r--r--.github/styles/Google/HeadingPunctuation.yml8
-rw-r--r--.github/styles/Google/Headings.yml26
-rw-r--r--.github/styles/Google/Hyphens.yml8
-rw-r--r--.github/styles/Google/Latin.yml9
-rw-r--r--.github/styles/Google/LyHyphens.yml8
-rw-r--r--.github/styles/Google/OptionalPlurals.yml7
-rw-r--r--.github/styles/Google/Ordinal.yml7
-rw-r--r--.github/styles/Google/OxfordComma.yml7
-rw-r--r--.github/styles/Google/Parens.yml7
-rw-r--r--.github/styles/Google/Passive.yml184
-rw-r--r--.github/styles/Google/Periods.yml7
-rw-r--r--.github/styles/Google/Quotes.yml7
-rw-r--r--.github/styles/Google/Ranges.yml7
-rw-r--r--.github/styles/Google/Semicolons.yml8
-rw-r--r--.github/styles/Google/Slang.yml11
-rw-r--r--.github/styles/Google/Spacing.yml8
-rw-r--r--.github/styles/Google/Spelling.yml8
-rw-r--r--.github/styles/Google/Units.yml7
-rw-r--r--.github/styles/Google/Will.yml7
-rw-r--r--.github/styles/Google/WordList.yml79
-rw-r--r--.github/styles/Google/meta.json16
-rw-r--r--.github/styles/Google/vocab.txt0
-rw-r--r--.github/styles/VyOS/Terminology.yml9
-rw-r--r--README.md15
-rw-r--r--docker/Dockerfile2
m---------docs/_include/vyos-1x0
-rw-r--r--docs/changelog/1.3.rst32
-rw-r--r--docs/changelog/1.4.rst42
-rw-r--r--docs/configuration/protocols/bfd.rst8
-rw-r--r--docs/documentation.rst2
-rw-r--r--docs/introducing/history.rst162
-rw-r--r--vale.ini16
44 files changed, 199 insertions, 736 deletions
diff --git a/.github/styles/Google/AMPM.yml b/.github/styles/Google/AMPM.yml
deleted file mode 100644
index fbdc6e4f..00000000
--- a/.github/styles/Google/AMPM.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-extends: existence
-message: "Use 'AM' or 'PM' (preceded by a space)."
-link: 'https://developers.google.com/style/word-list'
-level: error
-nonword: true
-tokens:
- - '\d{1,2}[AP]M'
- - '\d{1,2} ?[ap]m'
- - '\d{1,2} ?[aApP]\.[mM]\.'
diff --git a/.github/styles/Google/Acronyms.yml b/.github/styles/Google/Acronyms.yml
deleted file mode 100644
index f41af018..00000000
--- a/.github/styles/Google/Acronyms.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-extends: conditional
-message: "Spell out '%s', if it's unfamiliar to the audience."
-link: 'https://developers.google.com/style/abbreviations'
-level: suggestion
-ignorecase: false
-# Ensures that the existence of 'first' implies the existence of 'second'.
-first: '\b([A-Z]{3,5})\b'
-second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)'
-# ... with the exception of these:
-exceptions:
- - API
- - ASP
- - CLI
- - CPU
- - CSS
- - CSV
- - DEBUG
- - DOM
- - DPI
- - FAQ
- - GCC
- - GDB
- - GET
- - GPU
- - GTK
- - GUI
- - HTML
- - HTTP
- - HTTPS
- - IDE
- - JAR
- - JSON
- - JSX
- - LESS
- - LLDB
- - NET
- - NOTE
- - NVDA
- - OSS
- - PATH
- - PDF
- - PHP
- - POST
- - RAM
- - REPL
- - RSA
- - SCM
- - SCSS
- - SDK
- - SQL
- - SSH
- - SSL
- - SVG
- - TBD
- - TCP
- - TODO
- - URI
- - URL
- - USB
- - UTF
- - XML
- - XSS
- - YAML
- - ZIP
diff --git a/.github/styles/Google/Colons.yml b/.github/styles/Google/Colons.yml
deleted file mode 100644
index 9a4b4b4a..00000000
--- a/.github/styles/Google/Colons.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "'%s' should be in lowercase."
-link: 'https://developers.google.com/style/colons'
-nonword: true
-level: warning
-tokens:
- - ':\s[A-Z]'
diff --git a/.github/styles/Google/Contractions.yml b/.github/styles/Google/Contractions.yml
deleted file mode 100644
index 905a39f4..00000000
--- a/.github/styles/Google/Contractions.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-extends: substitution
-message: "Feel free to use '%s' instead of '%s'."
-link: 'https://developers.google.com/style/contractions'
-level: suggestion
-ignorecase: true
-swap:
- are not: aren't
- cannot: can't
- could not: couldn't
- did not: didn't
- do not: don't
- does not: doesn't
- has not: hasn't
- have not: haven't
- how is: how's
- is not: isn't
- it is: it's
- should not: shouldn't
- that is: that's
- they are: they're
- was not: wasn't
- we are: we're
- we have: we've
- were not: weren't
- what is: what's
- when is: when's
- where is: where's
- will not: won't
diff --git a/.github/styles/Google/DateFormat.yml b/.github/styles/Google/DateFormat.yml
deleted file mode 100644
index e9d227fa..00000000
--- a/.github/styles/Google/DateFormat.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-extends: existence
-message: "Use 'July 31, 2016' format, not '%s'."
-link: 'https://developers.google.com/style/dates-times'
-ignorecase: true
-level: error
-nonword: true
-tokens:
- - '\d{1,2}(?:\.|/)\d{1,2}(?:\.|/)\d{4}'
- - '\d{1,2} (?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)?|Oct(?:ober)|Nov(?:ember)?|Dec(?:ember)?) \d{4}'
diff --git a/.github/styles/Google/Ellipses.yml b/.github/styles/Google/Ellipses.yml
deleted file mode 100644
index 436e6177..00000000
--- a/.github/styles/Google/Ellipses.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "In general, don't use an ellipsis."
-link: 'https://developers.google.com/style/ellipses'
-nonword: true
-level: warning
-tokens:
- - '\.\.\.'
diff --git a/.github/styles/Google/EmDash.yml b/.github/styles/Google/EmDash.yml
deleted file mode 100644
index c6018db1..00000000
--- a/.github/styles/Google/EmDash.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-extends: existence
-message: "Don't put a space before or after an em dash."
-link: 'https://developers.google.com/style/dashes'
-nonword: true
-level: error
-tokens:
- - '\s—'
- - '—\s'
diff --git a/.github/styles/Google/EnDash.yml b/.github/styles/Google/EnDash.yml
deleted file mode 100644
index 194876aa..00000000
--- a/.github/styles/Google/EnDash.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Use an em dash ('—') instead of '–'."
-link: 'https://developers.google.com/style/dashes'
-nonword: true
-level: error
-tokens:
- - '–'
diff --git a/.github/styles/Google/Exclamation.yml b/.github/styles/Google/Exclamation.yml
deleted file mode 100644
index c4db380b..00000000
--- a/.github/styles/Google/Exclamation.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Don't use exclamation points in text."
-link: 'https://developers.google.com/style/exclamation-points'
-nonword: true
-level: error
-tokens:
- - '!'
diff --git a/.github/styles/Google/FirstPerson.yml b/.github/styles/Google/FirstPerson.yml
deleted file mode 100644
index d2290611..00000000
--- a/.github/styles/Google/FirstPerson.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-extends: existence
-message: "Avoid first-person pronouns such as '%s'."
-link: 'https://developers.google.com/style/pronouns#personal-pronouns'
-ignorecase: true
-level: warning
-nonword: true
-tokens:
- - (?:^|\s)I\s
- - \bme\b
- - \bus\b
- - \bours\b
diff --git a/.github/styles/Google/Gender.yml b/.github/styles/Google/Gender.yml
deleted file mode 100644
index c8486181..00000000
--- a/.github/styles/Google/Gender.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-extends: existence
-message: "Don't use '%s' as a gender-neutral pronoun."
-link: 'https://developers.google.com/style/pronouns#gender-neutral-pronouns'
-level: error
-ignorecase: true
-tokens:
- - he/she
- - s/he
- - \(s\)he
diff --git a/.github/styles/Google/GenderBias.yml b/.github/styles/Google/GenderBias.yml
deleted file mode 100644
index 261cfb66..00000000
--- a/.github/styles/Google/GenderBias.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-extends: substitution
-message: "Consider using '%s' instead of '%s'."
-link: 'https://developers.google.com/style/inclusive-documentation'
-ignorecase: true
-level: error
-swap:
- (?:alumna|alumnus): graduate
- (?:alumnae|alumni): graduates
- air(?:m[ae]n|wom[ae]n): pilot(s)
- anchor(?:m[ae]n|wom[ae]n): anchor(s)
- authoress: author
- camera(?:m[ae]n|wom[ae]n): camera operator(s)
- chair(?:m[ae]n|wom[ae]n): chair(s)
- congress(?:m[ae]n|wom[ae]n): member(s) of congress
- door(?:m[ae]|wom[ae]n): concierge(s)
- draft(?:m[ae]n|wom[ae]n): drafter(s)
- fire(?:m[ae]n|wom[ae]n): firefighter(s)
- fisher(?:m[ae]n|wom[ae]n): fisher(s)
- fresh(?:m[ae]n|wom[ae]n): first-year student(s)
- garbage(?:m[ae]n|wom[ae]n): waste collector(s)
- lady lawyer: lawyer
- ladylike: courteous
- landlord: building manager
- mail(?:m[ae]n|wom[ae]n): mail carriers
- man and wife: husband and wife
- man enough: strong enough
- mankind: human kind
- manmade: manufactured
- manpower: personnel
- men and girls: men and women
- middle(?:m[ae]n|wom[ae]n): intermediary
- news(?:m[ae]n|wom[ae]n): journalist(s)
- ombuds(?:man|woman): ombuds
- oneupmanship: upstaging
- poetess: poet
- police(?:m[ae]n|wom[ae]n): police officer(s)
- repair(?:m[ae]n|wom[ae]n): technician(s)
- sales(?:m[ae]n|wom[ae]n): salesperson or sales people
- service(?:m[ae]n|wom[ae]n): soldier(s)
- steward(?:ess)?: flight attendant
- tribes(?:m[ae]n|wom[ae]n): tribe member(s)
- waitress: waiter
- woman doctor: doctor
- woman scientist[s]?: scientist(s)
- work(?:m[ae]n|wom[ae]n): worker(s)
diff --git a/.github/styles/Google/HeadingPunctuation.yml b/.github/styles/Google/HeadingPunctuation.yml
deleted file mode 100644
index 5c39abbf..00000000
--- a/.github/styles/Google/HeadingPunctuation.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-extends: existence
-message: "Don't put a period at the end of a heading."
-link: 'https://developers.google.com/style/capitalization#capitalization-in-titles-and-headings'
-nonword: true
-level: warning
-scope: heading
-tokens:
- - '[a-z0-9][.](?:\s|$)'
diff --git a/.github/styles/Google/Headings.yml b/.github/styles/Google/Headings.yml
deleted file mode 100644
index 5afb968d..00000000
--- a/.github/styles/Google/Headings.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-extends: capitalization
-message: "'%s' should use sentence-style capitalization."
-link: 'https://developers.google.com/style/capitalization#capitalization-in-titles-and-headings'
-level: warning
-scope: heading
-match: $sentence
-exceptions:
- - Azure
- - CLI
- - Code
- - Cosmos
- - Docker
- - Emmet
- - I
- - Kubernetes
- - Linux
- - macOS
- - Marketplace
- - MongoDB
- - REPL
- - Studio
- - TypeScript
- - URLs
- - Visual
- - VS
- - Windows
diff --git a/.github/styles/Google/Hyphens.yml b/.github/styles/Google/Hyphens.yml
deleted file mode 100644
index f9779637..00000000
--- a/.github/styles/Google/Hyphens.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-extends: existence
-message: "Don't place a space on either side of a hyphen (unless it's suspended)."
-link: 'https://developers.google.com/style/hyphens'
-level: warning
-nonword: true
-tokens:
- - '\s-'
- - '-\s'
diff --git a/.github/styles/Google/Latin.yml b/.github/styles/Google/Latin.yml
deleted file mode 100644
index f032b349..00000000
--- a/.github/styles/Google/Latin.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-extends: substitution
-message: "Use '%s' instead of '%s'."
-link: 'https://developers.google.com/style/abbreviations'
-ignorecase: true
-level: error
-nonword: true
-swap:
- '\b(?:eg|e\.g\.)[\s,]': for example
- '\b(?:ie|i\.e\.)[\s,]': that is
diff --git a/.github/styles/Google/LyHyphens.yml b/.github/styles/Google/LyHyphens.yml
deleted file mode 100644
index d5b6a942..00000000
--- a/.github/styles/Google/LyHyphens.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-extends: existence
-message: "'%s' doesn't need a hyphen."
-link: 'https://developers.google.com/style/hyphens'
-level: error
-ignorecase: false
-nonword: true
-tokens:
- - '\s[^\s-]+ly-'
diff --git a/.github/styles/Google/OptionalPlurals.yml b/.github/styles/Google/OptionalPlurals.yml
deleted file mode 100644
index 7058932f..00000000
--- a/.github/styles/Google/OptionalPlurals.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Don't use plurals in parentheses such as in '%s'."
-link: 'https://developers.google.com/style/plurals-parentheses'
-level: error
-nonword: true
-tokens:
- - '\b\w+\(s\)'
diff --git a/.github/styles/Google/Ordinal.yml b/.github/styles/Google/Ordinal.yml
deleted file mode 100644
index 8c429e0f..00000000
--- a/.github/styles/Google/Ordinal.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Spell out all ordinal numbers ('%s') in text."
-link: 'https://developers.google.com/style/numbers'
-level: error
-nonword: true
-tokens:
- - \d+(?:st|th|rd)
diff --git a/.github/styles/Google/OxfordComma.yml b/.github/styles/Google/OxfordComma.yml
deleted file mode 100644
index 98b07113..00000000
--- a/.github/styles/Google/OxfordComma.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Use the Oxford comma in '%s'."
-link: 'https://developers.google.com/style/commas'
-scope: sentence
-level: warning
-tokens:
- - '(?:[^,]+,){1,}\s\w+\sand'
diff --git a/.github/styles/Google/Parens.yml b/.github/styles/Google/Parens.yml
deleted file mode 100644
index 3b8711d0..00000000
--- a/.github/styles/Google/Parens.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Use parentheses judiciously."
-link: 'https://developers.google.com/style/parentheses'
-nonword: true
-level: suggestion
-tokens:
- - '\(.+\)'
diff --git a/.github/styles/Google/Passive.yml b/.github/styles/Google/Passive.yml
deleted file mode 100644
index 3265890e..00000000
--- a/.github/styles/Google/Passive.yml
+++ /dev/null
@@ -1,184 +0,0 @@
-extends: existence
-link: 'https://developers.google.com/style/voice'
-message: "In general, use active voice instead of passive voice ('%s')."
-ignorecase: true
-level: suggestion
-raw:
- - \b(am|are|were|being|is|been|was|be)\b\s*
-tokens:
- - '[\w]+ed'
- - awoken
- - beat
- - become
- - been
- - begun
- - bent
- - beset
- - bet
- - bid
- - bidden
- - bitten
- - bled
- - blown
- - born
- - bought
- - bound
- - bred
- - broadcast
- - broken
- - brought
- - built
- - burnt
- - burst
- - cast
- - caught
- - chosen
- - clung
- - come
- - cost
- - crept
- - cut
- - dealt
- - dived
- - done
- - drawn
- - dreamt
- - driven
- - drunk
- - dug
- - eaten
- - fallen
- - fed
- - felt
- - fit
- - fled
- - flown
- - flung
- - forbidden
- - foregone
- - forgiven
- - forgotten
- - forsaken
- - fought
- - found
- - frozen
- - given
- - gone
- - gotten
- - ground
- - grown
- - heard
- - held
- - hidden
- - hit
- - hung
- - hurt
- - kept
- - knelt
- - knit
- - known
- - laid
- - lain
- - leapt
- - learnt
- - led
- - left
- - lent
- - let
- - lighted
- - lost
- - made
- - meant
- - met
- - misspelt
- - mistaken
- - mown
- - overcome
- - overdone
- - overtaken
- - overthrown
- - paid
- - pled
- - proven
- - put
- - quit
- - read
- - rid
- - ridden
- - risen
- - run
- - rung
- - said
- - sat
- - sawn
- - seen
- - sent
- - set
- - sewn
- - shaken
- - shaven
- - shed
- - shod
- - shone
- - shorn
- - shot
- - shown
- - shrunk
- - shut
- - slain
- - slept
- - slid
- - slit
- - slung
- - smitten
- - sold
- - sought
- - sown
- - sped
- - spent
- - spilt
- - spit
- - split
- - spoken
- - spread
- - sprung
- - spun
- - stolen
- - stood
- - stridden
- - striven
- - struck
- - strung
- - stuck
- - stung
- - stunk
- - sung
- - sunk
- - swept
- - swollen
- - sworn
- - swum
- - swung
- - taken
- - taught
- - thought
- - thrived
- - thrown
- - thrust
- - told
- - torn
- - trodden
- - understood
- - upheld
- - upset
- - wed
- - wept
- - withheld
- - withstood
- - woken
- - won
- - worn
- - wound
- - woven
- - written
- - wrung
diff --git a/.github/styles/Google/Periods.yml b/.github/styles/Google/Periods.yml
deleted file mode 100644
index d24a6a6c..00000000
--- a/.github/styles/Google/Periods.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Don't use periods with acronyms or initialisms such as '%s'."
-link: 'https://developers.google.com/style/abbreviations'
-level: error
-nonword: true
-tokens:
- - '\b(?:[A-Z]\.){3,}'
diff --git a/.github/styles/Google/Quotes.yml b/.github/styles/Google/Quotes.yml
deleted file mode 100644
index 3cb6f1ab..00000000
--- a/.github/styles/Google/Quotes.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Commas and periods go inside quotation marks."
-link: 'https://developers.google.com/style/quotation-marks'
-level: error
-nonword: true
-tokens:
- - '"[^"]+"[.,?]'
diff --git a/.github/styles/Google/Ranges.yml b/.github/styles/Google/Ranges.yml
deleted file mode 100644
index 3ec045e7..00000000
--- a/.github/styles/Google/Ranges.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Don't add words such as 'from' or 'between' to describe a range of numbers."
-link: 'https://developers.google.com/style/hyphens'
-nonword: true
-level: warning
-tokens:
- - '(?:from|between)\s\d+\s?-\s?\d+'
diff --git a/.github/styles/Google/Semicolons.yml b/.github/styles/Google/Semicolons.yml
deleted file mode 100644
index bb8b85b4..00000000
--- a/.github/styles/Google/Semicolons.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-extends: existence
-message: "Use semicolons judiciously."
-link: 'https://developers.google.com/style/semicolons'
-nonword: true
-scope: sentence
-level: suggestion
-tokens:
- - ';'
diff --git a/.github/styles/Google/Slang.yml b/.github/styles/Google/Slang.yml
deleted file mode 100644
index 63f4c248..00000000
--- a/.github/styles/Google/Slang.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-extends: existence
-message: "Don't use internet slang abbreviations such as '%s'."
-link: 'https://developers.google.com/style/abbreviations'
-ignorecase: true
-level: error
-tokens:
- - 'tl;dr'
- - ymmv
- - rtfm
- - imo
- - fwiw
diff --git a/.github/styles/Google/Spacing.yml b/.github/styles/Google/Spacing.yml
deleted file mode 100644
index 5f209a9f..00000000
--- a/.github/styles/Google/Spacing.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-extends: existence
-message: "'%s' should have one space."
-link: 'https://developers.google.com/style/sentence-spacing'
-level: error
-nonword: true
-tokens:
- - '[.?!] {2,}[A-Z]'
- - '[.?!][A-Z]'
diff --git a/.github/styles/Google/Spelling.yml b/.github/styles/Google/Spelling.yml
deleted file mode 100644
index 57acb884..00000000
--- a/.github/styles/Google/Spelling.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-extends: existence
-message: "In general, use American spelling instead of '%s'."
-link: 'https://developers.google.com/style/spelling'
-ignorecase: true
-level: warning
-tokens:
- - '(?:\w+)nised?'
- - '(?:\w+)logue'
diff --git a/.github/styles/Google/Units.yml b/.github/styles/Google/Units.yml
deleted file mode 100644
index 220de3e9..00000000
--- a/.github/styles/Google/Units.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Put a nonbreaking space between the number and the unit in '%s'."
-link: 'https://developers.google.com/style/units-of-measure'
-nonword: true
-level: error
-tokens:
- - \d+(?:GB|TB|MB)
diff --git a/.github/styles/Google/Will.yml b/.github/styles/Google/Will.yml
deleted file mode 100644
index 128a9183..00000000
--- a/.github/styles/Google/Will.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-extends: existence
-message: "Avoid using '%s'."
-link: 'https://developers.google.com/style/tense'
-ignorecase: true
-level: warning
-tokens:
- - will
diff --git a/.github/styles/Google/WordList.yml b/.github/styles/Google/WordList.yml
deleted file mode 100644
index d5d6bea5..00000000
--- a/.github/styles/Google/WordList.yml
+++ /dev/null
@@ -1,79 +0,0 @@
-extends: substitution
-message: "Use %s instead of '%s'."
-link: 'https://developers.google.com/style/word-list'
-level: warning
-ignorecase: false
-swap:
- '(?:API Console|dev|developer) key': "'API key'"
- '(?:cell ?phone|smart ?phone)': "'phone' or 'mobile phone'"
- '(?:dev|developer|APIs) console': "'API console'"
- '(?:e-mail|Email|E-mail)': "'email'"
- '(?:file ?path|path ?name)': "'path'"
- '(?:kill|terminate)': "'stop', 'exit', 'cancel', or 'end'"
- '(?:OAuth ?2|Oauth)': "'OAuth 2.0'"
- '(?:ok|Okay)': "'OK' or 'okay'"
- '(?:WiFi|wifi)': "'Wi-Fi'"
- '[\.]+apk': "'APK'"
- '3\-D': "'3D'"
- 'Google (?:I\-O|IO)': "'Google I/O'"
- 'tap (?:&|and) hold': "'touch & hold'"
- 'un(?:check|select)': "'clear'"
- abort: "'stop', 'exit', 'cancel' or 'end'"
- above: "'preceding'"
- account name: "'username'"
- action bar: "'app bar'"
- admin: "'administrator'"
- Ajax: "'AJAX'"
- Android device: "'Android-powered device'"
- android: "'Android'"
- API explorer: "'APIs Explorer'"
- application: "'app'"
- approx\.: "'approximately'"
- authN: "'authentication'"
- authZ: "'authorization'"
- autoupdate: "'automatically update'"
- cellular data: "'mobile data'"
- cellular network: "'mobile network'"
- chapter: "'documents', 'pages', 'sections'"
- check box: "'checkbox'"
- check: "'select'"
- CLI: "'command-line tool'"
- click on: "'click' or 'click in'"
- Cloud: "'Google Cloud Platform' or 'GCP'"
- Container Engine: "'Kubernetes Engine'"
- content type: "'media type'"
- curated roles: "'predefined roles'"
- data are: "'data is'"
- Developers Console: "'Google API Console' or 'API Console'"
- disabled?: "'turn off' or 'off'"
- ephemeral IP address: "'ephemeral external IP address'"
- fewer data: "'less data'"
- file name: "'filename'"
- firewalls: "'firewall rules'"
- functionality: "'capability' or 'feature'"
- Google account: "'Google Account'"
- Google accounts: "'Google Accounts'"
- Googling: "'search with Google'"
- grayed-out: "'unavailable'"
- HTTPs: "'HTTPS'"
- in order to: "'to'"
- ingest: "'import' or 'load'"
- k8s: "'Kubernetes'"
- long press: "'touch & hold'"
- network IP address: "'internal IP address'"
- omnibox: "'address bar'"
- open-source: "'open source'"
- overview screen: "'recents screen'"
- regex: "'regular expression'"
- SHA1: "'SHA-1' or 'HAS-SHA1'"
- sign into: "'sign in to'"
- sign-?on: "'single sign-on'"
- static IP address: "'static external IP address'"
- stylesheet: "'style sheet'"
- synch: "'sync'"
- tablename: "'table name'"
- tablet: "'device'"
- touch: "'tap'"
- url: "'URL'"
- vs\.: "'versus'"
- World Wide Web: "'web'"
diff --git a/.github/styles/Google/meta.json b/.github/styles/Google/meta.json
deleted file mode 100644
index 3ae5fb21..00000000
--- a/.github/styles/Google/meta.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "author": "Joseph Kato",
- "description": "A Vale-compatible implementation of the Microsoft Writing Style Guide.",
- "email": "support@errata.ai",
- "lang": "en",
- "url": "https://github.com/errata-ai/Google/releases/latest/download/Google.zip",
- "feed": "https://github.com/errata-ai/Google/releases.atom",
- "issues": "https://github.com/errata-ai/Google/issues/new",
- "license": "MIT",
- "name": "Google",
- "sources": [
- "https://developers.google.com/style/"
- ],
- "vale_version": ">=1.0.0",
- "coverage": 0.0
-}
diff --git a/.github/styles/Google/vocab.txt b/.github/styles/Google/vocab.txt
deleted file mode 100644
index e69de29b..00000000
--- a/.github/styles/Google/vocab.txt
+++ /dev/null
diff --git a/.github/styles/VyOS/Terminology.yml b/.github/styles/VyOS/Terminology.yml
deleted file mode 100644
index cd0c5089..00000000
--- a/.github/styles/VyOS/Terminology.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-extends: substitution
-message: Prefer '%s' over '%s'
-ignorecase: false
-level: error
-swap:
- vyos: VyOS
- Vyos: VyOS
- VYOS: VyOS
- Gre: GRE \ No newline at end of file
diff --git a/README.md b/README.md
index 5c269651..90d397d3 100644
--- a/README.md
+++ b/README.md
@@ -28,20 +28,6 @@ largest. There are 88 of them, here's the
* 1.4.x: `sagitta` (Arrow)
* ...
-## Native
-
-To build the manual, run the following commands inside the `docs` folder:
-
-* `make html` for an HTML manual
-* `make latexpdf` for a LaTeX rendered PDF
-
-Required Debian Packages:
-* `latexmk`
-* `texlive-latex-recommended`
-* `texlive-fonts-recommended`
-* `texlive-latex-extra`
-* `sphinx`
-
### sphinx
Debian requires some extra steps for
installing `sphinx`, `sphinx-autobuild` and `sphinx-rtd-theme` packages:
@@ -76,7 +62,6 @@ Then run:
sudo pip install sphinx-rtd-theme
```
-
Do the following to build the HTML and start a webserver:
* Run `make livehtml` inside the `docs` folder
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 9b31f49f..fbb60ddc 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -46,8 +46,6 @@ EXPOSE 8000
RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \
chmod a+s /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/gosu /usr/sbin/usermod
-# vale
-RUN curl -sfL https://install.goreleaser.com/github.com/ValeLint/vale.sh | sh -s v1.7.1
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
diff --git a/docs/_include/vyos-1x b/docs/_include/vyos-1x
-Subproject 0a0d4abc02da89f68d453495ec002d2afecfca7
+Subproject b4185f8356d69476292906ebe32daf1c4867601
diff --git a/docs/changelog/1.3.rst b/docs/changelog/1.3.rst
index a6cb40b2..210a17fa 100644
--- a/docs/changelog/1.3.rst
+++ b/docs/changelog/1.3.rst
@@ -8,6 +8,36 @@
_ext/releasenotes.py
+2022-02-06
+==========
+
+* :vytask:`T4228` (bug): bond: OS error thrown when two bonds use the same member
+
+
+2022-02-05
+==========
+
+* :vytask:`T4226` (bug): VRRP transition-script does not work for groups name which contains -(minus) sign
+
+
+2022-02-04
+==========
+
+* :vytask:`T4196` (bug): DHCP server client-prefix-length parameter results in non-functional leases
+
+
+2022-02-03
+==========
+
+* :vytask:`T3643` (bug): show vpn ipsec sa doesn't show tunnels in "down" state
+
+
+2022-02-01
+==========
+
+* :vytask:`T4198` (bug): Error shown on commit
+
+
2022-01-29
==========
@@ -1437,7 +1467,7 @@
2021-02-16
==========
-* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.174 / 5.10.94
+* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.175 / 5.10.95
2021-02-14
diff --git a/docs/changelog/1.4.rst b/docs/changelog/1.4.rst
index 613c87e7..25a09d5e 100644
--- a/docs/changelog/1.4.rst
+++ b/docs/changelog/1.4.rst
@@ -8,6 +8,46 @@
_ext/releasenotes.py
+2022-02-06
+==========
+
+* :vytask:`T4223` (bug): policy route cannot have several entries with the same table
+* :vytask:`T4216` (bug): Firewall: can't use negated groups in firewall rules
+* :vytask:`T4178` (bug): policy based routing tcp flags issue
+* :vytask:`T4164` (bug): PBR: network groups (as well as address and port groups) don't resolve in `nftables_policy.conf`
+* :vytask:`T3970` (feature): Add support for op-mode PKI direct install into an active config session
+* :vytask:`T3828` (bug): ipsec: Subtle change in "pfs enable" behavior from equuleus -> sagitta
+* :vytask:`T4228` (bug): bond: OS error thrown when two bonds use the same member
+
+
+2022-02-05
+==========
+
+* :vytask:`T4226` (bug): VRRP transition-script does not work for groups name which contains -(minus) sign
+
+
+2022-02-04
+==========
+
+* :vytask:`T4196` (bug): DHCP server client-prefix-length parameter results in non-functional leases
+
+
+2022-02-03
+==========
+
+* :vytask:`T4218` (bug): firewall: rule name is not allowed to start with a number
+* :vytask:`T3643` (bug): show vpn ipsec sa doesn't show tunnels in "down" state
+
+
+2022-02-01
+==========
+
+* :vytask:`T4224` (bug): Ethernet interfaces configured for DHCP not working on latest rolling snapshot (vyos-1.4-rolling-202201291849-amd64.iso)
+* :vytask:`T4225` (bug): Performance degration with latest rolling release
+* :vytask:`T4220` (bug): Commit broke dhclient 78b247b724f74bdabab0706aaa7f5b00e5809bc1
+* :vytask:`T4138` (bug): NAT configuration allows to set incorrect port range and invalid port
+
+
2022-01-29
==========
@@ -1699,7 +1739,7 @@
==========
* :vytask:`T3313` (bug): ospfv3 interface missing options
-* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.174 / 5.10.94
+* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.175 / 5.10.95
2021-02-15
diff --git a/docs/configuration/protocols/bfd.rst b/docs/configuration/protocols/bfd.rst
index 60f9ffd0..dac1bf0f 100644
--- a/docs/configuration/protocols/bfd.rst
+++ b/docs/configuration/protocols/bfd.rst
@@ -1,4 +1,4 @@
-:lastproofread: 2021-09-28
+:lastproofread: 2022-02-05
.. include:: /_include/need_improvement.txt
@@ -72,11 +72,11 @@ Enable BFD in BGP
Enable BFD in OSPF
------------------
-.. cfgcmd:: set interfaces ethernet <interface> ip ospf bfd
+.. cfgcmd:: set protocols ospf interface <interface> bfd
Enable BFD for OSPF on an interface
-.. cfgcmd:: set interfaces ethernet <interface> ipv6 ospfv3 bfd
+.. cfgcmd:: set protocols ospfv3 interface <interface> bfd
Enable BFD for OSPFv3 on an interface
@@ -93,7 +93,7 @@ Enable BFD in ISIS
Operational Commands
====================
-.. opcmd:: show protocols bfd peer
+.. opcmd:: show bfd peers
Show all BFD peers
diff --git a/docs/documentation.rst b/docs/documentation.rst
index 00db6e56..77cd5cc4 100644
--- a/docs/documentation.rst
+++ b/docs/documentation.rst
@@ -91,7 +91,7 @@ access to the official codebase.
for writing our docs. Additional directives how to write in RST can be
obtained from reStructuredTextDirectives_.
-* Check your changes by locally building the documentation ``$ make html``.
+* Check your changes by locally building the documentation ``$ make livehtml``.
Sphinx will build the html files in the ``docs/_build`` folder. We provide
you with a Docker container for an easy-to-use user experience. Check the
README.md_ file of this repository.
diff --git a/docs/introducing/history.rst b/docs/introducing/history.rst
index 9a13e2b3..054eecd6 100644
--- a/docs/introducing/history.rst
+++ b/docs/introducing/history.rst
@@ -4,44 +4,126 @@
History
#######
-VyOS is a Linux-based network operating system that provides software-based
-network routing, firewall, and VPN functionality.
-
-The VyOS project was started in late 2013 as a community fork of the
-`GPL <https://en.wikipedia.org/wiki/GNU_General_Public_License>`_ portions of
-Vyatta Core 6.6R1 with the goal of maintaining a free and open source network
-operating system in response to the decision to discontinue the community
-edition of Vyatta. Here everyone loves learning, older managers and new users.
-
-VyOS is primarily based on `Debian GNU/Linux <https://www.debian.org/>`_ and
-the `Quagga <http://www.nongnu.org/quagga/>`_ routing engine. Its configuration
-syntax and :ref:`cli` are loosely derived from Juniper JUNOS as modelled by the
-`XORP project <http://www.xorp.org/>`_, which was the original routing engine
-for Vyatta.
-
-In the 4.0 release of Vyatta, the routing engine was changed to Quagga. As of
-VyOS version 1.2, VyOS now uses `FRRouting <https://frrouting.org/>`_ as the
-routing engine.
-
-How is VyOS different from any other router distributions and platform?
-
-- It's more than just a firewall and VPN, VyOS includes extended routing
- capabilities like OSPFv2, OSPFv3, BGP, VRRP, and extensive route policy
- mapping and filtering
-- Unified command line interface in the style of hardware routers.
-- Scriptable CLI
-- Stateful configuration system: prepare changes and commit at once or discard,
- view previous revisions or rollback to them, archive revisions to remote
- server and execute hooks at commit time
-- Image-based upgrade: keep multiple versions on the same system and revert to
- previous image if a problem arises
-- Multiple VPN capabilities: OpenVPN, IPSec, Wireguard, DPMVPN, IKEv2 and more
-- DHCP, TFTP, mDNS repeater, broadcast relay and DNS forwarding support
-- Both IPv4 and IPv6 support
-- Runs on physical and virtual platforms alike: small x86 boards, big servers,
- KVM, Xen, VMware, Hyper-V, and more
-- Completely free and open source, with documented internal APIs and build
- procedures
-- Community driven. Patches are welcome and all code, bugs, and nightly builds
- are publicly accessible
+In the beginning...
+===================
+There once was a network operating system based on Debian GNU/Linux,
+called Vyatta. [*]_ 2006 onwards, it was a great free software
+alternative to Cisco IOS and Jupiter JUNOS. It came in two editions:
+Vyatta Core (previously Vyatta Community Edition) that was completely
+free software, and Vyatta Subscription Edition that had proprietary
+features and was only available to paying customers. [*]_
+
+Vyatta was acquired by Brocade Communication Systems in 2012. Shortly
+after, Brocade renamed Vyatta Subscription Edition to Brocade vRouter,
+discontinued Vyatta Core and shut down the community forum without a
+notice. The bug tracker and Git repositories followed next year.
+
+It's worth noting that by the time Brocade acquired Vyatta,
+development of Vyatta Core was already stagnated. Vyatta Subscription
+Edition (and thus, Vyatta development as a whole) had been replacing
+core components with proprietary software, meaning few features made
+it to Vyatta Core, and those that did were bug-ridden and hamstrung.
+
+In 2013, soon after Vyatta Core was abandoned, the community forked
+the last Vyatta Core version (6.6R1) and VyOS Project came into being.
+`Sentrium SL <https://blog.vyos.io/sentrium-what-sentrium>`_ was
+established by VyOS maintainers in 2014 to fund VyOS development by
+selling support, consulting services and prebuilt long-term support
+images.
+
+Brocade was acquired by Broadcom in 2016 and sold what remains of
+erstwhile Vyatta to AT&T in 2017, who in turn sold it to Ciena in 2021.
+
+
+Major releases
+==============
+
+VyOS major versions used to be named after elements in order of atomic
+numbers. With 1.2, this naming scheme was replaced with the much
+cooler scheme of Latin names of IAU designated constellations by solid
+angle area, starting from the smallest.
+
+Hydrogen (1.0)
+--------------
+
+Released just in time for holidays on 22 December 2013, Hydrogen was
+the first major VyOS release. It fixed features that were broken in
+Vyatta Core 6.6 (such as IPv4 BGP peer groups and DHCPv6 relay) and
+introduced command scripting, a task scheduler and web proxy LDAP
+authentication.
+
+Helium (1.1)
+------------
+
+Helium was released on 9 October 2014, exactly on the day VyOS Project
+first came into being in the previous year. Helium came with a lot of
+new features, including an event handler and support for L2TPv3,
+802.1ad QinQ and IGMP proxy, as well as experimental support for VXLAN
+and DMVPN (the latter of which was also broken in Vyatta Core due to
+its reliance on a proprietary NHRP implementation).
+
+Crux (1.2)
+----------
+
+Crux (the Southern Cross) came out on 28 January 2019 and was the
+first major release of VyOS as we know it today. The underlying
+Debian base was upgraded from Squeeze (6) to Jessie (8).
+
+Although Crux came with too many new features to mention here, some
+noteworthy ones are: an mDNS repeater, a broadcast relay,
+a high-performance PPPoE server, an HFSC scheduler, as well as support
+for Wireguard, unicast VRRP, RPKI for BGP and fully 802.1ad-compliant
+QinQ ethertype. The telnet server and support for P2P filtering were
+removed.
+
+Crux is the first version to feature the modular image build system.
+CLI definitions began to be written in the modern, verifiable XML
+templates. Python APIs were introduced for command scripting and
+configuration migration. Introduction of new Perl and shell code was
+proscribed and the rewriting of legacy Perl code in pure Python began
+with Crux.
+
+As of 2022, Crux is still supported and maintained.
+
+Equuleus (1.3)
+--------------
+
+The current long-term support version of VyOS, Equuleus (the Pony)
+came out on 21 December 2021, once again in time for the winter
+holidays.
+
+Equuleus brought many long-desired features with it, most notably
+an SSTP VPN server, an IPoE server, an OpenConnect VPN server and
+a serial console server, in addition to reworked support for WWAN
+interfaces, support for GENEVE and MACSec interfaces, VRF, IS-IS
+routing, preliminary support for MPLS and LDP, and many other
+initialisms.
+
+As of 2022, Equuleus is in the stable.
+
+Sagitta (1.4)
+-------------
+
+Sagitta (the Arrow) is the codename of the current development
+branch, so there's no VyOS 1.4 yet.
+
+A note on copyright
+===================
+
+Unlike Vyatta, VyOS never had (nor will ever have) proprietary code.
+The only proprietary material in VyOS is non-code assets, such as
+graphics and the trademark "VyOS". [*]_ This means you can build your
+own long-term support images (as the entire toolchain we use is free
+software) and even distribute them, given you rename it and remove
+such assets before building. Although note that we do not provide
+support for images distributed by a third-party. See the
+`artwork license <https://github.com/vyos/vyos-build/blob/current/LICENSE.artwork>`_
+and the end-user license agreement at ``/usr/share/doc/vyos/EULA`` in
+any pre-built image for more precise information.
+
+
+.. [*] From the Sanskrit adjective "Vyātta" (व्यात्त), meaning opened.
+.. [*] A business model comparable to that of Redis, rather than that
+ of VyOS today.
+.. [*] This is not unlike how Linus Torvalds owns the trademark "Linux".
diff --git a/vale.ini b/vale.ini
deleted file mode 100644
index b7dde1d8..00000000
--- a/vale.ini
+++ /dev/null
@@ -1,16 +0,0 @@
-StylesPath = .github/styles
-MinAlertLevel = suggestion
-
-SkippedScopes = script, style, pre, figure, img, a, code
-
-
-[*.rst]
-BasedOnStyles = VyOS, Google
-
-Google.DateFormat = YES
-vale.GenderBias = NO
-vale.Hedging = NO
-vale.Redundancy = NO
-vale.Repetition = YES
-vale.Uncomparables = NO
-proselint.GenderBias = NO \ No newline at end of file