diff --git a/STYLEGUIDE.md b/STYLEGUIDE.md
index fdb352a82cc..bb4443e6555 100644
--- a/STYLEGUIDE.md
+++ b/STYLEGUIDE.md
@@ -17,6 +17,7 @@ Our copy should be:
- Punctuation goes outside of quotation marks, except in marketing when displaying a quote.
- Use the most popular US English spelling and phrasing.
- Prefer the serial comma in lists, except where ambiguity would be introduced by including it.
+- No spaces between two terms separated by a slash ("a/b", not "a / b").
### Clarity
@@ -43,6 +44,8 @@ Assume the reader is a busy non-native English speaker.
- Sourcegraph['s] Firefox add-on
- Sourcegraph['s] Safari extension
+- Code intel reserved for describing benefit of using Sourcegraph holistically or from the organization's point of view. If referring to "go to definition" for example, use "code navigation" (not "code intel").
+
When referring to the build result of the open-source repository, use the name Sourcegraph OSS.
When specifically distinguishing between Core and Sourcegraph OSS it is important to note that Core is not built from the open-source code base and Sourcegraph OSS does not include the ability to upgrade, or access the extension registry on sourcegraph.com. These are included in the Core version of Sourcegraph, that is built from the same code as Sourcegraph Enterprise and has the ability to upgrade later.
@@ -133,13 +136,17 @@ For consistency, all examples should use the following names (as appropriate).
- Configuration not config ("config" is OK in paths and navigation links)
- Setup is a noun, "set up" is a verb ([see notaverb.com/setup](http://notaverb.com/setup), although see [note on descriptivism](#note))
- Prefer "sign in" to "log in" (also: "login" is a noun, "log in" is a verb)
-- Sourcegraph (not "sourcegraph" or "SourceGraph")
+- Sourcegraph (not "sourcegraph" or "SourceGraph", or "sg")
- URL (not "url")
- OpenID Connect (not "OIDC")
- PostgreSQL (not any of: Postgres, postgres, PgSQL, Postgresql, PostGres, etc.)
- Go (not "Golang")
- macOS (not any of: OS X, OSX, MacOS, MacOSX, etc.)
- Capitalize as shown (in prose): Docker, Bitbucket, GitHub, React, Git, JavaScript, TypeScript (all according to the intent of the creator)
+- Prefer "go to definition" (not "jump to definition", "jump-to-def", or "j2d")
+- Prefer regexp ("not regex" or "regular expressions")
+- Prefer "call site" (not "callsite")
+- Prefer "tooltips" (not "tool-tips")
### "Contact us" Language
diff --git a/blogposts/announcing-sourcegraph-3.3.md b/blogposts/announcing-sourcegraph-3.3.md
index fe9e9c437fc..f6b314f69b9 100644
--- a/blogposts/announcing-sourcegraph-3.3.md
+++ b/blogposts/announcing-sourcegraph-3.3.md
@@ -10,78 +10,67 @@ heroImage: /sourcegraph-mark.png
published: true
---
-_Sourcegraph is an open-source, self-hosted, cross-repository code search and navigation tool, with an efficient web interface and "feels-like-native" integration into your code host. [Install or upgrade Sourcegraph](#install-or-upgrade)._
+We're excited to announce Sourcegraph 3.3. Sourcegraph is a code search and navigation tool (self-hosted, open-source, and cross-repository). Read on for the details, and thanks to our customers and community for reporting issues and providing feedback. You’re helping to make each Sourcegraph release the best one yet!
----
-
-
-
-[Local](https://docs.sourcegraph.com/#quickstart-guide) | [AWS](https://github.com/sourcegraph/deploy-sourcegraph-aws) | [Kubernetes cluster](https://github.com/sourcegraph/deploy-sourcegraph)
-
-Want to try pre-release development builds? Change the Docker image tag to `sourcegraph:insiders`.
-
-
-
----
-
-This release focusses on making it easier for admins to set up, configure and manage repositories at any scale.
+
-We’ve completely overhauled how repositories are mirrored from your code host so that it is easier to configure and more reliable. This benefits everyone, but especially organizations with thousands (or tens of thousands) of repositories.
+[**🛠️ Config-based repository selection**](#config-based-repository-selection)
+Define add/exclude lists in external services instead of enabling/disabling.
-Sentry joins our list of developer tool integrations, and Swift developers get better symbols definition and better code navigation.
+**[🧯 Jump to Sentry issue from your code](#new-sentry-integration-with-the-sentry-sourcegraph-extension)**
+Your error and exception handling code, annotated with Sentry links.
-Read on for the details, and thanks to our customers and community for reporting issues and providing feedback. You’re helping to make each Sourcegraph release the best one yet!
+**[🔌 Bitbucket Server integration](#bitbucket-server-integration)**
+Better PR code reviews on Bitbucket Server with hover tooltips and "go to definition".
-## Release highlights
+**[✔️Grant permissions on your code host](#grant-permissions-on-your-code-host)**
+When using code hosts other than GitHub.com.
-
+[**🧭 "Go to definition" using dependency graph**](#go-to-definition-using-dependency-graph)
+`import` / `require` statements are used to help find the right definition.
-[**🛠️ New! Config based repository selection**](#repo-config)
-Repositories now chosen via add/exclude lists and query rules.
+[**🦅 Swift code navigation**](#swift-code-navigation)
+Fly around Swift code on Sourcegraph.com or your code host.
-**[🔌 New Sentry integration](#sentry) and [Bitbucket Server fixes](#bitbucket-fixes)**
-Jump to Sentry from Sourcegraph and other integrations improvements.
+[**🗄 Symbols for the current file**](#symbols-for-the-current-file)
+The symbols sidebar is now scoped to the current file/directory you’re viewing.
-[**🧭 More precise code intelligence**](#code-intel)
-Symbols scoped to the current file and improved Swift support.
-[**📣 Making Sourcegraph a part of your dev tools stack**](#grok-sourcegraph)
-Tips for integrating Sourcegraph and code search into your team's workflow.
-[**🔎 Search improvements**](#search)
-Auto-fixing search queries and new option to search in large files (> 20Mb).
+[**🔎 Handle common search queries containing (unintended) invalid regexp**](#handle-common-search-queries-containing-unintended-invalid-regexp)
+Searching for function call sites such as `open(` now work as expected.
-[**📖 New docs design**](#docs)
-Nicer looking design and new site navigation menu.
+[**📣 Tips for making Sourcegraph a part of your dev tools stack**](#making-sourcegraph-a-part-of-your-dev-tools-stack)
+Documentation on integrating Sourcegraph and code search into your team's workflow.
-[**📝 Changelog**](#changelog)
+[**📝 Changelog**](#330-changelog)
Every detail that changed in this release
-[**🎖️ Thank you**](#thankyou)
-Sourcegraph couldn’t be what it is without the community
+[**🎖️ Thank you**](#thank-you)
+Sourcegraph couldn’t be what it is without the community.
-
+**Deploy or upgrade:** [Local](https://docs.sourcegraph.com/#quickstart-guide) | [AWS](https://github.com/sourcegraph/deploy-sourcegraph-aws) | [Kubernetes cluster](https://github.com/sourcegraph/deploy-sourcegraph)
-## New repository configuration for GitHub, GitLab, and Bitbucket Server
+**Insiders:** Want to try pre-release development builds? Change the Docker image tag to `sourcegraph:insiders`.
+
+## Config-based repository selection
Prior to 3.3, integrating with a code host and selecting which repositories to use was a manual process:
-
+
While it was simple, it presented some problems:
-Sourcegraph would fetch and list all repositories accessible to the token which often included both an account’s private repositories, as well as the repositories from associated GitHub orgs.
+Sourcegraph would fetch and list all repositories accessible to the token which often included both an account’s private repositories, as well as the repositories from associated GitHub organizations.
### Why manual enabling and disabling was problematic
-Once dealing with more than a few dozen repositories (most of our customers have many thousands), manually enabling each repository was time consuming, and often resulted in scripted GraphQL queries with selection logic.
+Once dealing with more than a few dozen repositories (most of our customers have many thousands), manually enabling each repository was time-consuming, and often resulted in scripted GraphQL queries with selection logic.
From 3.3 onwards, selecting which repositories to search and mirror from GitHub, GitLab or Bitbucket Server is now part of the external service configuration for each code host.
@@ -89,7 +78,7 @@ This configuration exclusively determines which repositories are used, eliminati
Additionally, if a repository is deleted from the code host or if it is no longer accessible to the provided token, it will be deleted from Sourcegraph automatically. Renames of upstream repositories are also gracefully detected and handled.
-
+
For example, here are the fields for repository selection for the GitHub external service.
@@ -105,9 +94,7 @@ The [GitLab](https://github.com/sourcegraph/sourcegraph/blob/master/schema/gitla
This has been implemented for [GitHub](https://docs.sourcegraph.com/admin/external_service/github#selecting-repositories-for-code-search), [GitLab](https://docs.sourcegraph.com/admin/external_service/gitlab#repository-syncing) and [Bitbucket Server](https://docs.sourcegraph.com/admin/external_service/bitbucket_server#repository-syncing) with additional code hosts being migrated to this model in 3.4.
-
-
-## New Sentry integration with the Sentry Sourcegraph extension
+## Jump to Sentry issue from your code
@@ -130,35 +117,52 @@ The initial version of the extension provides support for the most popular langu
Additional languages will be added as part of each new release and if you want a particular language added, create an issue for the [sourcegraph-sentry repository](https://github.com/sourcegraph/sentry/issues).
-
+## Bitbucket Server integration
+
+
+
+
+
+
View on Vimeo
+
+
+Get IDE-like features on your next pull request review inline on Bitbucket Server by installing the [Sourcegraph browser extension](https://docs.sourcegraph.com/integration/browser_extension), then granting permissions for your Bitbucket Server domain.
-## Bitbucket Server integration and browser extension fixes
+## Grant permissions on your code host
-The refactoring and fixing work for integrations which started in 3.2 continues in this release, with many Bitbucket Server and browser extension fixes:
+Granting permissions in the Sourcegraph browser extension is necessary when using anything except GitHub.com. It's now easier to discover:
-- [**Bitbucket server fixes**](https://github.com/sourcegraph/sourcegraph/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+label%3Abitbucket+milestone%3A3.3+)
- Many UI improvements so Sourcegraph feels like a native integration of Bitbucket Server.
-- [**Browser extension fixes**](https://github.com/sourcegraph/sourcegraph/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+milestone%3A3.3+label%3Abrowser-extension+)
- Better Sourcegraph connection error handling and prompts for when the extension must be manually activated, e.g. if using GitLab.com, as well as new [browser extension troubleshooting tips](https://docs.sourcegraph.com/integration/browser_extension#troubleshooting).
+
-As part of making the browser extension more robust, we're increasing end-to-end test coverage to catch code host related issues such as GitHub DOM changes faster. This reduces the time from issue logged, to patched and released, the goal being to catch any code host integration issues before our users do.
+ 
+
+
-
+## "Go to definition" using dependency graph
-## Code intel: Improved Swift support and directory/file scoped symbols
+Definitions are now filtered using `import` / `require` statements to reduce false matches and improve accuracy.
-Swift code intelligence is more comprehensive now that symbol detection has been improved, and the symbols sidebar is now scoped to the current file/directory you’re viewing:
+
-
+## Swift code navigation
-Other updates include:
+
+
+
+
+
View on Vimeo
+
-- Jump-to-definition is more precise now that the definitions are filtered by the import statements at the top of the file.
-- The Go language server responds faster upon first visiting a page now that it caches zip archives more intelligently.
+See it in action on [Sourcegraph.com](https://sourcegraph.com/github.com/googleprojectzero/fuzzilli/-/blob/Sources/Fuzzilli/Configuration.swift#L64:27) or use it on your own instance for yourself or [for all users](https://docs.sourcegraph.com/admin/extensions#enable-an-extension-for-all-users):
+
+## Symbols for the current file
+
+The symbols sidebar is now scoped to the current file/directory you’re viewing.
+
+
-
+## Handle common search queries containing (unintended) invalid regexp
+
+Using [regexps in search queries](https://docs.sourcegraph.com/user/search/queries) is powerful, but sometimes you forget and just want to find matches for `open(`. Previously, this was treated as a regexp error, but now Sourcegraph does The Right Thing™ and looks for the literal match when there is no ambiguity.
## Making Sourcegraph a part of your dev tools stack
-Once a Sourecgraph instance is configured and ready for sharing, a site admin usually thinks:
+Once a Sourcegraph instance is configured and ready for sharing, a site admin usually thinks:
- _“What is the best way to run a trial of Sourcegraph in my team/org?”_
- _“How can I best communicate the value of code search to developers who’ve not used it before?”_
@@ -195,27 +201,7 @@ Give Sourcegraph the best chance of gaining traction by using our step-by-step g
If a code search tool already exists such as Hound or OpenGrok, our code search comparison guide highlights the strengths and weaknesses of your current code search tool in comparison with Sourcegraph
[**3. See how our customers use Sourcegraph**](https://docs.sourcegraph.com/user/tour)
-See examples of how developers at companies such as Uber, Lyft, and Yelp depend on Sourcegraph everyday.
-
-
-
-## Search improvements
-
-### Auto-fixing search queries with trailing parentheses
-
-Sourcegraph supports powerful regular expression search by default. However, users reported that this is inconvenient in the very specific, but common case of searching for a function definition.
-
-For example, if you searched for myFunc(, you would receive an invalid regular expression error, because the open parenthesis is treated as the beginning of a regular expression match group. Now, we auto-fix queries with trailing open parentheses. For example, the myFunc( query would get automatically fixed to myFunc\( behind the scenes.
-
-
-
-## New docs design
-
-Our [docs site](https://docs.sourcegraph.com/) got a design refresh, as well as a left-rail navigation menu to make it easier to find what you're looking for.
-
-
-
-
+See examples of how developers at companies such as Uber, Lyft, and Yelp depend on Sourcegraph every day.
## 3.3.0 Changelog
@@ -228,12 +214,12 @@ Our [docs site](https://docs.sourcegraph.com/) got a design refresh, as well as
- The new `gitlab.projects` setting in [GitLab external service config](https://docs.sourcegraph.com/admin/external_service/gitlab#configuration) allows you to select specific repositories to be synced.
- The new `bitbucketserver.exclude` setting in [Bitbucket Server external service config](https://docs.sourcegraph.com/admin/external_service/bitbucketserver#configuration) allows you to exclude specific repositories matched by `bitbucketserver.repositoryQuery` and `bitbucketserver.repos` (so that they won't be synced). Upon upgrading, previously "disabled" repositories will be automatically migrated to this exclusion list.
- The new `bitbucketserver.repos` setting in [Bitbucket Server external service config](https://docs.sourcegraph.com/admin/external_service/bitbucketserver#configuration) allows you to select specific repositories to be synced.
-- The new required `bitbucketserver.repositoryQuery` setting in [Bitbucket Server external service configuration](https://docs.sourcegraph.com/admin/external_service/bitbucketserver#configuration) allows you to use Bitbucket API repository search queries to select repos to be synced. Existing configurations will be migrate to have it set to `["?visibility=public", "?visibility=private"]` which is equivalent to the previous implicit behaviour that this setting supersedes.
+- The new required `bitbucketserver.repositoryQuery` setting in [Bitbucket Server external service configuration](https://docs.sourcegraph.com/admin/external_service/bitbucketserver#configuration) allows you to use Bitbucket API repository search queries to select repos to be synced. Existing configurations will be migrated to have it set to `["?visibility=public", "?visibility=private"]` which is equivalent to the previous implicit behavior that this setting supersedes.
- "Quick configure" buttons for common actions have been added to the config editor for all external services.
- "Quick configure" buttons for common actions have been added to the management console.
- Site-admins now receive an alert every day for the seven days before their license key expires.
- The user menu (in global nav) now lists the user's organizations.
-- All users on an instance now see a non-dismissable alert when when there's no license key in use and the limit of free user accounts is exceeded.
+- All users on an instance now see a non-dismissable alert when there's no license key in use and the limit of free user accounts is exceeded.
- All users will see a dismissible warning about limited search performance and accuracy on when using the sourcegraph/server Docker image with more than 100 repositories enabled.
### Changed
@@ -260,11 +246,9 @@ Our [docs site](https://docs.sourcegraph.com/) got a design refresh, as well as
The [changelog for this and previous releases](https://github.com/sourcegraph/sourcegraph/blob/master/CHANGELOG.md#330) is available on GitHub.
-
-
## Thank you
-Thank you to the many people who contributed to make Sourcegraph better since the last release!
+Thank you to the many people who contributed to Sourcegraph since the last release!
- [@varaamo](https://github.com/varaamo)
- [@saurabh-hirani](https://github.com/saurabh-hirani)
@@ -308,9 +292,9 @@ Thank you to the many people who contributed to make Sourcegraph better since th
- [@linknum23](https://github.com/linknum23)
- [@caseylmanus](https://github.com/caseylmanus)
-## Install or upgrade
+## Deploy or upgrade
-Ready to install? [Install Sourcegraph 3.3](https://docs.sourcegraph.com/)
+[Local](https://docs.sourcegraph.com/#quickstart-guide) | [AWS](https://github.com/sourcegraph/deploy-sourcegraph-aws) | [Kubernetes cluster](https://github.com/sourcegraph/deploy-sourcegraph)
Upgrading from 2.x or 3.0? [See the migration guide](https://docs.sourcegraph.com/admin/migration/3_0)
diff --git a/website/src/css/pages/_blog-post.scss b/website/src/css/pages/_blog-post.scss
index 3d1d2941519..d2670537d0c 100644
--- a/website/src/css/pages/_blog-post.scss
+++ b/website/src/css/pages/_blog-post.scss
@@ -1,8 +1,7 @@
.blog-post {
margin: auto;
width: 980px;
- padding-top: 90px;
- padding-bottom: 90px;
+ padding: 45px 0;
&__wrapper {
width: 66.667%;
diff --git a/website/static/blog/file-scoped-symbols.png b/website/static/blog/file-scoped-symbols.png
new file mode 100644
index 00000000000..b220b8ec99e
Binary files /dev/null and b/website/static/blog/file-scoped-symbols.png differ
diff --git a/website/static/blog/filtered-imports.png b/website/static/blog/filtered-imports.png
new file mode 100644
index 00000000000..eb0b4e50e5e
Binary files /dev/null and b/website/static/blog/filtered-imports.png differ
diff --git a/website/static/blog/sourcegraph-browser-extension-enable-prompt.png b/website/static/blog/sourcegraph-browser-extension-enable-prompt.png
new file mode 100644
index 00000000000..85f33de0a12
Binary files /dev/null and b/website/static/blog/sourcegraph-browser-extension-enable-prompt.png differ