Merge pull request #401 from oragono/rc1

documentation and other changes for rc1
This commit is contained in:
Shivaram Lingamneni 2019-02-18 03:59:22 -05:00 committed by GitHub
commit 234d011c29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 63 additions and 36 deletions

View File

@ -4,12 +4,15 @@ All notable changes to Oragono will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). For the purposes of versioning, we consider the "public API" to refer to the configuration files, CLI interface and database format. This project adheres to [Semantic Versioning](http://semver.org/). For the purposes of versioning, we consider the "public API" to refer to the configuration files, CLI interface and database format.
## [0.13.0-rc] ## [1.0.0-rc] - 2019-02-18
This release has a wide range of improvements and new features. Highlights include: Our v1.0.0 is finally here! Well, almost. The final v1.0.0 should be released in a week or two, after our last bits of testing is complete and the documentation has been double and triple-checked. This version rounds out most of our need-to-haves, and leaves us with a bunch of nice-to-haves that we'll be looking at going forward. Thanks to all of our amazing translators and contributors for the work they've done this release (we'll have a proper thanks section when v1.0.0 drops).
* Support for storing and replaying message history, via various protocol extensions: the `draft/resume-0.2` capability, the `CHATHISTORY` command, and a custom `HISTORY` command
* Confusables prevention for Unicode nicknames and account names Highlights include:
* User-customizable nickname protection schemes
* A SASL-only mode in which all clients must authenticate with SASL * Support for storing and replaying message history with: the [`draft/resume-0.3` capability](https://github.com/ircv3/ircv3-specifications/pull/306), the `CHATHISTORY` command, and a custom `HISTORY` command.
* Better detection of confusing nick/account/channel names.
* User-customizable nickname protection methods.
* An account-only mode in which all clients must have an account and login to it (using SASL) before they can join the server.
### Config Changes ### Config Changes
* `allow-custom-enforcement` key added under `accounts`. * `allow-custom-enforcement` key added under `accounts`.
@ -20,14 +23,17 @@ This release has a wide range of improvements and new features. Highlights inclu
* `method` key now under `accounts` now allows the value `"optional"`. * `method` key now under `accounts` now allows the value `"optional"`.
* Logging type `server` has been added, replacing the `startup`, `rehash`, and `shutdown` types. * Logging type `server` has been added, replacing the `startup`, `rehash`, and `shutdown` types.
* We no longer listen on port `6668` by default (this fixes Docker installs). * We no longer listen on port `6668` by default (this fixes Docker installs).
* The default logging configuration now logs to stderr only, rather than to both stderr and a file * The default logging configuration now logs to stderr only, rather than to both stderr and a file.
* `max-channels-per-client` key added under `channels` (limiting the number of channels that can be joined).
* `max-channels-per-account` key added under `channels.registration` (limiting the number of channels that can be registered).
* Exemption lists now accept `localhost` as a value, meaning any loopback IPV4, loopback IPV6, or unix domain address.
### Security ### Security
* Added a SASL-only mode in which all clients must authenticate with SASL * Added a SASL-only mode in which all clients must authenticate with SASL.
* Added login throttling as a hardening measure against password guessing * Added login throttling as a hardening measure against password guessing.
* Configurable limits are imposed on how many channels clients can join or register.
### Added ### Added
* `oragono genpasswd` now works when piping input in (fixes Docker installs).
* Added automagic datastore creation on `oragono run`. * Added automagic datastore creation on `oragono run`.
* Added limited message history for connection resuming (to be extended in future). * Added limited message history for connection resuming (to be extended in future).
* Added new Español (es) translation (thanks to Mauropek!)). * Added new Español (es) translation (thanks to Mauropek!)).
@ -38,8 +44,9 @@ This release has a wide range of improvements and new features. Highlights inclu
* Added new subcommands to `NICKSERV`, including: * Added new subcommands to `NICKSERV`, including:
* `PASSWD` to change account passwords. * `PASSWD` to change account passwords.
* `ENFORCE` to set a specific enforcement mechanism on your nick. * `ENFORCE` to set a specific enforcement mechanism on your nick.
* `SAREGISTER` to allow operators to manually create new user accounts * `SAREGISTER` to allow operators to manually create new user accounts.
* Added Unicode confusable detection and prevention when changing nicknames and registering accounts. * Added Unicode confusable detection and prevention when changing nicknames and registering accounts.
* Added proposed IRCv3 capability [`draft/setname`](https://github.com/ircv3/ircv3-specifications/pull/361).
### Changed ### Changed
* `SASL PLAIN` logins now log more correctly. * `SASL PLAIN` logins now log more correctly.
@ -48,8 +55,10 @@ This release has a wide range of improvements and new features. Highlights inclu
* In addition to the founder, now auto-ops (halfop and higher) automatically bypass channel join restrictions. * In addition to the founder, now auto-ops (halfop and higher) automatically bypass channel join restrictions.
* Log lines now display time down to milliseconds, instead of just seconds. * Log lines now display time down to milliseconds, instead of just seconds.
* Updated all translation files (thanks to our amazing translators!). * Updated all translation files (thanks to our amazing translators!).
* Updated proposed IRCv3 capability to version [`draft/resume-0.2`](https://github.com/ircv3/ircv3-specifications/pull/306). * Updated proposed IRCv3 capability to version [`draft/resume-0.3`](https://github.com/ircv3/ircv3-specifications/pull/306).
* When nick ownership is enabled, users can now select which enforcement mechanism to use with their nickname. * When nick ownership is enabled, users can now select which enforcement mechanism to use with their nickname.
* Improved compatibility with ZNC's nickserv module.
* Halfops can now kick unprivileged users.
### Removed ### Removed
@ -67,14 +76,17 @@ This release has a wide range of improvements and new features. Highlights inclu
* Prevent logging in multiple times when using `/NS IDENTIFY`. * Prevent logging in multiple times when using `/NS IDENTIFY`.
* Prevented the db handler from automagically creating the database without initializing it (thanks @enckse!). We also now automatically create the datastore on `run`. * Prevented the db handler from automagically creating the database without initializing it (thanks @enckse!). We also now automatically create the datastore on `run`.
* Updated internal command line parsing (thanks @iNecas!). * Updated internal command line parsing (thanks @iNecas!).
* Fixed handling of CIDR width in connection limiting/throttling * `oragono genpasswd` now works when piping input in (fixes Docker installs).
* Fixed handling of CIDR width in connection limiting/throttling.
* Fixed many responses that violated the specifications (thanks to Ascrod, bogdomania, csmith, jesopo, jwheare).
* Fixed incorrect behavior of `CHANSERV OP` command.
### Internal Notes ### Internal Notes
* `DLINE` and `KLINE` refactored, and expired bans are now removed from the database. * `DLINE` and `KLINE` refactored, and expired bans are now removed from the database.
* Logging system optimised. * Logging system optimised.
* Services handlers refactored. * Services handlers refactored.
* Translations are now sent to/PR'd from CrowdIn automagically as we develop the software. * Translations are now sent to/PR'd from CrowdIn automagically as we develop the software.
* Direct responses to client commands are now sent "synchronously", bypassing the sendq * Direct responses to client commands are now sent "synchronously", bypassing the sendq.
## [0.12.0] - 2018-10-15 ## [0.12.0] - 2018-10-15

48
Gopkg.lock generated
View File

@ -10,12 +10,12 @@
revision = "2aa6f33b730c79971cfc3c742f279195b0abc627" revision = "2aa6f33b730c79971cfc3c742f279195b0abc627"
[[projects]] [[projects]]
digest = "1:abaaa7489a2f0f3afb2adc8ea1a282a5bd52350b87b26da220c94fc778d6d63b" branch = "master"
digest = "1:289fa52f4d9e9c817a003324bc14e9339b996dbe02b9f6cfc57a9383e5365287"
name = "github.com/docopt/docopt-go" name = "github.com/docopt/docopt-go"
packages = ["."] packages = ["."]
pruneopts = "UT" pruneopts = "UT"
revision = "784ddc588536785e7299f7272f39101f7faccc3f" revision = "ee0de3bc6815ee19d4a46c7eb90f829db0e014b1"
version = "0.6.2"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -27,7 +27,7 @@
[[projects]] [[projects]]
branch = "master" branch = "master"
digest = "1:36bb9ad6dfc5cf44265b463d53dd048e5da196b0f626e4805d6e327a8cbe9abd" digest = "1:6bcd7bcd5e14cc9552fbf83b2f77f24935c0c502d009c9825b6c212c3f8eb967"
name = "github.com/goshuirc/irc-go" name = "github.com/goshuirc/irc-go"
packages = [ packages = [
"ircfmt", "ircfmt",
@ -35,7 +35,7 @@
"ircmsg", "ircmsg",
] ]
pruneopts = "UT" pruneopts = "UT"
revision = "8d136c4f92871c1c132bf702022363add479291b" revision = "cf199aea7186fd960d0ed5abbf579bb0f9d890d1"
[[projects]] [[projects]]
digest = "1:c658e84ad3916da105a761660dcaeb01e63416c8ec7bc62256a9b411a05fcd67" digest = "1:c658e84ad3916da105a761660dcaeb01e63416c8ec7bc62256a9b411a05fcd67"
@ -93,12 +93,12 @@
version = "v1.0.0" version = "v1.0.0"
[[projects]] [[projects]]
digest = "1:2cab41f59638fdb77dda96ab4f9b5860ef30f48967557254eba127e43c756f2e" digest = "1:7df351557a6d5c30804e7d6f7ed87f2fccb0619c08fcc84869a93f22bec96c11"
name = "github.com/tidwall/gjson" name = "github.com/tidwall/gjson"
packages = ["."] packages = ["."]
pruneopts = "UT" pruneopts = "UT"
revision = "1e3f6aeaa5bad08d777ea7807b279a07885dd8b2" revision = "eee0b6226f0d1db2675a176fdfaa8419bcad4ca8"
version = "v1.1.3" version = "v1.2.1"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -109,12 +109,20 @@
revision = "ba9a043346eba55344e40d66a5e74cfda3a9d293" revision = "ba9a043346eba55344e40d66a5e74cfda3a9d293"
[[projects]] [[projects]]
branch = "master" digest = "1:8453ddbed197809ee8ca28b06bd04e127bec9912deb4ba451fea7a1eca578328"
digest = "1:d3f968e2a2c9f8506ed44b01b605ade0176ba6cf73ff679073e77cfdef2c0d55"
name = "github.com/tidwall/match" name = "github.com/tidwall/match"
packages = ["."] packages = ["."]
pruneopts = "UT" pruneopts = "UT"
revision = "1731857f09b1f38450e2c12409748407822dc6be" revision = "33827db735fff6510490d69a8622612558a557ed"
version = "v1.0.1"
[[projects]]
branch = "master"
digest = "1:88611438dc87bda5862e2d12d8e901bac8ebfd4a9034a896d2f69835360439a7"
name = "github.com/tidwall/pretty"
packages = ["."]
pruneopts = "UT"
revision = "65a9db5fad5105a89e17f38adcc9878685be6d78"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -137,7 +145,7 @@
[[projects]] [[projects]]
branch = "master" branch = "master"
digest = "1:1947d22ddfa0770abd34e49ba2ebc5d3e74de2c61dd5db8c3db750888715fe42" digest = "1:67305bd1b1258ec12fe9dd5b2e19e8278f6a7d2a79cdb058afaee64cec8a1818"
name = "golang.org/x/crypto" name = "golang.org/x/crypto"
packages = [ packages = [
"bcrypt", "bcrypt",
@ -146,18 +154,18 @@
"ssh/terminal", "ssh/terminal",
] ]
pruneopts = "UT" pruneopts = "UT"
revision = "a92615f3c49003920a58dedcf32cf55022cefb8d" revision = "74369b46fc6756741c016591724fd1cb8e26845f"
[[projects]] [[projects]]
branch = "master" branch = "master"
digest = "1:f5aa274a0377f85735edc7fedfb0811d3cbc20af91633797cb359e29c3272271" digest = "1:0d703f14f9bbbe1070ff0ce86d749dcbc9d68fb0ae554252c09bd4bb37a072e7"
name = "golang.org/x/sys" name = "golang.org/x/sys"
packages = [ packages = [
"unix", "unix",
"windows", "windows",
] ]
pruneopts = "UT" pruneopts = "UT"
revision = "fa43e7bc11baaae89f3f902b2b4d832b68234844" revision = "d0b11bdaac8adb652bff00e49bcacf992835621a"
[[projects]] [[projects]]
digest = "1:2b43038ba580394ec711455c92dc9c89f3c29ad758136afe6aef01685ef3b557" digest = "1:2b43038ba580394ec711455c92dc9c89f3c29ad758136afe6aef01685ef3b557"
@ -188,12 +196,12 @@
version = "v0.3.0" version = "v0.3.0"
[[projects]] [[projects]]
digest = "1:342378ac4dcb378a5448dd723f0784ae519383532f5e70ade24132c4c8693202" digest = "1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96"
name = "gopkg.in/yaml.v2" name = "gopkg.in/yaml.v2"
packages = ["."] packages = ["."]
pruneopts = "UT" pruneopts = "UT"
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183" revision = "51d6538a90f86fe93ac480b35f37b2be17fef232"
version = "v2.2.1" version = "v2.2.2"
[solve-meta] [solve-meta]
analyzer-name = "dep" analyzer-name = "dep"
@ -212,8 +220,10 @@
"golang.org/x/crypto/bcrypt", "golang.org/x/crypto/bcrypt",
"golang.org/x/crypto/sha3", "golang.org/x/crypto/sha3",
"golang.org/x/crypto/ssh/terminal", "golang.org/x/crypto/ssh/terminal",
"golang.org/x/text/cases",
"golang.org/x/text/language",
"golang.org/x/text/secure/precis", "golang.org/x/text/secure/precis",
"golang.org/x/text/unicode/norm", "golang.org/x/text/width",
"gopkg.in/yaml.v2", "gopkg.in/yaml.v2",
] ]
solver-name = "gps-cdcl" solver-name = "gps-cdcl"

View File

@ -31,7 +31,7 @@
[[constraint]] [[constraint]]
name = "github.com/docopt/docopt-go" name = "github.com/docopt/docopt-go"
version = "0.6.2" branch = "master"
[[constraint]] [[constraint]]
branch = "master" branch = "master"

View File

@ -590,6 +590,11 @@ connregex = ".+-.+CONNECT.+-.+ Client Connected \\[([^ ]+)\\] \\[u:([^ ]+)\\] \\
kline = "DLINE ANDKILL 2h %i :Open proxy found on your host."; kline = "DLINE ANDKILL 2h %i :Open proxy found on your host.";
```` ````
## ZNC
Versions of ZNC prior to 1.7 have a [bug](https://github.com/znc/znc/issues/1212) in their SASL implementation that renders them incompatible with Oragono. However, you should be able to authenticate from ZNC using its [nickserv](https://wiki.znc.in/Nickserv) module.
-------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------

View File

@ -9,7 +9,7 @@ import "fmt"
const ( const (
// SemVer is the semantic version of Oragono. // SemVer is the semantic version of Oragono.
SemVer = "0.13.0-unreleased" SemVer = "1.0.0-rc1"
) )
var ( var (

2
vendor

@ -1 +1 @@
Subproject commit 0d667e5d09fd0a2041154eca9cdd1915b9843453 Subproject commit 72043bab39044196e57bff1fe5e59c9ec81e59f3