Page MenuHomePhorge

No OneTemporary

Size
11 KB
Referenced Files
None
Subscribers
None
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..1fbbf5c2e
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,91 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+
+## [unreleased]
+### Added
+- LDAP authentication
+- External OAuth provider authentication
+- A [job queue](https://git.pleroma.social/pleroma/pleroma_job_queue) for federation, emails, web push, etc.
+- [Prometheus](https://prometheus.io/) metrics
+- Support for Mastodon's remote interaction
+- Federation: Support for reports
+- Configuration: `safe_dm_mentions` option
+- Configuration: `link_name` option
+- Configuration: `fetch_initial_posts` option
+- Pleroma API: User subscribtions
+- Admin API: Endpoints for listing/revoking invite tokens
+- Admin API: Endpoints for making users follow/unfollow each other
+- Mastodon API: [Scheduled statuses](https://docs.joinmastodon.org/api/rest/scheduled-statuses/)
+- Mastodon API: `/api/v1/notifications/destroy_multiple` (glitch-soc extension)
+- Mastodon API: [Reports](https://docs.joinmastodon.org/api/rest/reports/)
+- ActivityPub C2S: OAuth endpoints
+
+### Changed
+- Enforcement of OAuth scopes
+- Add multiple use/time expiring invite token
+- Restyled OAuth pages to fit with Pleroma's default theme
+- Link/mention/hashtag detection is now handled by [auto_linker](https://git.pleroma.social/pleroma/auto_linker)
+- NodeInfo: Return `safe_dm_mentions` feature flag
+- Federation: Expand the audience of delete activities to all recipients of the deleted object
+- Configuration: Dedupe enabled by default
+- Configuration: move from Pleroma.Mailer to Pleroma.Emails.Mailer
+- Pleroma API: Support for emoji tags in `/api/pleroma/emoji` resulting in a breaking API change
+- Mastodon API: Support for `exclude_types`, `limit` and `min_id` in `/api/v1/notifications`
+- Mastodon API: Add `languages` and `registrations` to `/api/v1/instance`
+- Mastodon API: Provide plaintext versions of cw/content in the Status entity
+- Mastodon API: Add `pleroma.conversation_id` field to the Status entity
+- Mastodon API: Add `pleroma.tags`, `pleroma.relationship{}`, `pleroma.is_moderator`, `pleroma.is_admin`, `pleroma.confirmation_pending` fields to the User entity
+- Mastodon API: Add `pleroma.is_seen` to the Notification entity
+- Mastodon API: Add `pleroma.local` to the Status entity
+- Mastodon API: Add `preview` parameter to `POST /api/v1/statuses`
+- Mastodon API: Add `with_muted` parameter to timeline endpoints
+- Mastodon API: Actual reblog hiding instead of a dummy
+- Mastodon API: Remove attachment limit in the Status entity
+- Deps: Updated Cowboy to 2.6
+- Deps: Updated Ecto to 3.0.7
+
+### Fixed
+- Followers counter not being updated when a follower is blocked
+- Deactivated users being able to request an access token
+- Limit on request body in rich media/relme parsers being ignored resulting in a possible memory leak
+- proper Twitter Card generation instead of a dummy
+- NodeInfo: Include admins in `staffAccounts`
+- ActivityPub: Crashing when requesting empty local user's outbox
+- Federation: Handling of objects without `summary` property
+- Federation: Add a language tag to activities as required by ActivityStreams 2.0
+- Federation: Do not federate avatar/banner if set to default allowing other servers/clients to use their defaults
+- Federation: Cope with missing or explicitly nulled address lists
+- Federation: Explicitly ensure activities addressed to `as:Public` become addressed to the followers collection
+- Federation: Better cope with actors which do not declare a followers collection and use `as:Public` with these semantics
+- MediaProxy: Parse name from content disposition headers even for non-whitelisted types
+- MediaProxy: S3 link encoding
+- Rich Media: Reject any data which cannot be explicitly encoded into JSON
+- Mastodon API: `/api/v1/favourites` serving only public activities
+- Mastodon API: Reblogs having `in_reply_to_id` - `null` even when they are replies
+- Mastodon API: Streaming API broadcasting wrong activity id
+- Mastodon API: 500 errors when requesting a card for a private conversation
+
+## [0.9.9999] - 2019-04-05
+### Security
+- Various fixes
+
+## [0.9.999] - 2019-03-13
+Frontend changes only.
+### Added
+- Added floating action button for posting status on mobile
+### Changed
+- Changed user-settings icon to a pencil
+### Fixed
+- Keyboard shortcuts activating when typing a message
+- Gaps when scrolling down on a timeline after showing new
+
+## [0.9.99] - 2019-03-08
+### Changed
+- Update the frontend to the 0.9.99 tag
+### Fixed
+- Sign the date header in federation to fix Mastodon federation.
+
+## [0.9.9] - 2019-02-22
+This is our first stable release.
diff --git a/Changelog.md b/Changelog.md
deleted file mode 100644
index 1fddf41cd..000000000
--- a/Changelog.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Changelog
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-
-## [unreleased]
-### Changed
-- Configuration: move from Pleroma.Mailer to Pleroma.Emails.Mailer
diff --git a/mix.exs b/mix.exs
index 26a03b70b..2a14781f7 100644
--- a/mix.exs
+++ b/mix.exs
@@ -1,177 +1,177 @@
defmodule Pleroma.Mixfile do
use Mix.Project
def project do
[
app: :pleroma,
version: version("0.9.0"),
elixir: "~> 1.7",
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix, :gettext] ++ Mix.compilers(),
elixirc_options: [warnings_as_errors: true],
xref: [exclude: [:eldap]],
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
# Docs
name: "Pleroma",
source_url: "https://git.pleroma.social/pleroma/pleroma",
source_url_pattern:
"https://git.pleroma.social/pleroma/pleroma/blob/develop/%{path}#L%{line}",
homepage_url: "https://pleroma.social/",
docs: [
logo: "priv/static/static/logo.png",
- extras: ["README.md" | Path.wildcard("docs/**/*.md")],
+ extras: ["README.md", "CHANGELOG.md"] ++ Path.wildcard("docs/**/*.md"),
groups_for_extras: [
"Installation manuals": Path.wildcard("docs/installation/*.md"),
Configuration: Path.wildcard("docs/config/*.md"),
Administration: Path.wildcard("docs/admin/*.md"),
"Pleroma's APIs and Mastodon API extensions": Path.wildcard("docs/api/*.md")
],
main: "readme",
output: "priv/static/doc"
]
]
end
# Configuration for the OTP application.
#
# Type `mix help compile.app` for more information.
def application do
[
mod: {Pleroma.Application, []},
extra_applications: [:logger, :runtime_tools, :comeonin, :quack],
included_applications: [:ex_syslogger]
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
# Specifies your project dependencies.
#
# Type `mix help deps` for examples and options.
defp deps do
oauth_strategies = String.split(System.get_env("OAUTH_CONSUMER_STRATEGIES") || "")
oauth_deps =
for s <- oauth_strategies,
do: {String.to_atom("ueberauth_#{s}"), ">= 0.0.0"}
[
{:phoenix, "~> 1.4.1"},
{:plug_cowboy, "~> 2.0"},
{:phoenix_pubsub, "~> 1.1"},
{:phoenix_ecto, "~> 4.0"},
{:ecto_sql, "~>3.0.5"},
{:postgrex, ">= 0.13.5"},
{:gettext, "~> 0.15"},
{:comeonin, "~> 4.1.1"},
{:pbkdf2_elixir, "~> 0.12.3"},
{:trailing_format_plug, "~> 0.0.7"},
{:html_sanitize_ex, "~> 1.3.0"},
{:html_entities, "~> 0.4"},
{:phoenix_html, "~> 2.10"},
{:calendar, "~> 0.17.4"},
{:cachex, "~> 3.0.2"},
{:httpoison, "~> 1.2.0"},
{:poison, "~> 3.0", override: true},
{:tesla, "~> 1.2"},
{:jason, "~> 1.0"},
{:mogrify, "~> 0.6.1"},
{:ex_aws, "~> 2.0"},
{:ex_aws_s3, "~> 2.0"},
{:earmark, "~> 1.3"},
{:ex_machina, "~> 2.3", only: :test},
{:credo, "~> 0.9.3", only: [:dev, :test]},
{:mock, "~> 0.3.1", only: :test},
{:crypt,
git: "https://github.com/msantos/crypt", ref: "1f2b58927ab57e72910191a7ebaeff984382a1d3"},
{:cors_plug, "~> 1.5"},
{:ex_doc, "~> 0.19", only: :dev, runtime: false},
{:web_push_encryption, "~> 0.2.1"},
{:swoosh, "~> 0.20"},
{:gen_smtp, "~> 0.13"},
{:websocket_client, git: "https://github.com/jeremyong/websocket_client.git", only: :test},
{:floki, "~> 0.20.0"},
{:ex_syslogger, github: "slashmili/ex_syslogger", tag: "1.4.0"},
{:timex, "~> 3.5"},
{:ueberauth, "~> 0.4"},
{:auto_linker,
git: "https://git.pleroma.social/pleroma/auto_linker.git",
ref: "479dd343f4e563ff91215c8275f3b5c67e032850"},
{:pleroma_job_queue, "~> 0.2.0"},
{:telemetry, "~> 0.3"},
{:prometheus_ex, "~> 3.0"},
{:prometheus_plugs, "~> 1.1"},
{:prometheus_phoenix, "~> 1.2"},
{:prometheus_ecto, "~> 1.4"},
{:prometheus_process_collector, "~> 1.4"},
{:recon, github: "ferd/recon", tag: "2.4.0"},
{:quack, "~> 0.1.1"}
] ++ oauth_deps
end
# Aliases are shortcuts or tasks specific to the current project.
# For example, to create, migrate and run the seeds file at once:
#
# $ mix ecto.setup
#
# See the documentation for `Mix` for more info on aliases.
defp aliases do
[
"ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
test: ["ecto.create --quiet", "ecto.migrate", "test"]
]
end
# Builds a version string made of:
# * the application version
# * a pre-release if ahead of the tag: the describe string (-count-commithash)
# * build info:
# * a build name if `PLEROMA_BUILD_NAME` or `:pleroma, :build_name` is defined
# * the mix environment if different than prod
defp version(version) do
{git_tag, git_pre_release} =
with {tag, 0} <- System.cmd("git", ["describe", "--tags", "--abbrev=0"]),
tag = String.trim(tag),
{describe, 0} <- System.cmd("git", ["describe", "--tags", "--abbrev=8"]),
describe = String.trim(describe),
ahead <- String.replace(describe, tag, "") do
{String.replace_prefix(tag, "v", ""), if(ahead != "", do: String.trim(ahead))}
else
_ -> {nil, nil}
end
if git_tag && version != git_tag do
Mix.shell().error(
"Application version #{inspect(version)} does not match git tag #{inspect(git_tag)}"
)
end
build_name =
cond do
name = Application.get_env(:pleroma, :build_name) -> name
name = System.get_env("PLEROMA_BUILD_NAME") -> name
true -> nil
end
env_name = if Mix.env() != :prod, do: to_string(Mix.env())
build =
[build_name, env_name]
|> Enum.filter(fn string -> string && string != "" end)
|> Enum.join("-")
|> (fn
"" -> nil
string -> "+" <> string
end).()
[version, git_pre_release, build]
|> Enum.filter(fn string -> string && string != "" end)
|> Enum.join()
end
end

File Metadata

Mime Type
text/x-diff
Expires
Thu, Jun 4, 6:49 PM (1 d, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1539199
Default Alt Text
(11 KB)

Event Timeline