diff --git a/CHANGELOG.md b/CHANGELOG.md index 5563aa8..7e0c5a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,70 +1,74 @@ # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog][1], and this project adheres to [Semantic Versioning][2]. [1]: https://keepachangelog.com/en/1.0.0/ [2]: https://semver.org/spec/v2.0.0.html +## majic [1.1.1] + +- Fixed build artifact mistakenly included in the Hex.pm package + ## majic [1.1.0] - Updated dependencies - `-Werror` removed from `Makefile` - `Majic.Extension.fix/3` will append an extension when requested if none exist ## majic [1.0.0] ## Added - Forked gen_magic. - Pool: `Majic.Pool`, using [nimble_pool](https://hex.pm/packages/nimble_pool). - Plug: `Majic.Plug`. - Unified API: `Majic.perform/1,2,3`. - Builds an up-to-date and patched magic database. - `Majic.compile/2` - `Majic.Server.reload/2,3` - `Majic.Server.recycle/2,3` ## Changed - Improved C port, now using erl_interface - Builds on Musl - Better error and timeout handling - Bytes support: `Majic.Server.perform(ref, {:bytes, <<>>})` - Renamed `priv/apprentice` to `priv/libmagic_port` to be more obvious in `ps` - Renamed `Majic.Helpers.perform_once` to `Majic.Once.perform` ## gen_majic [1.0] ### Added - Added support for process recycling (evadne). - Added documentation (evadne). ### Changed - Replaced GenServer with `:gen_statem` (evadne). - Changed API; added support for customisation. - Refined tests and other aspects of the library (evadne). ## [0.20.83] ### Added - Soak testing script (devstopfix) ### Changed - Replaced Erlexec usage with Port (devstopfix) ## 0.0.1 ### Added - Initial Elixir wrapper with Erlexec (evadne) - Intiial C program (evadne) [unreleased]: https://github.com/evadne/gen_magic/compare/develop [0.20.83]: https://github.com/devstopfix/gen_magic/commit/7e27fd094cb462d26ba54fde0205a5be313d12da diff --git a/mix.exs b/mix.exs index e1e1349..6d2a11a 100644 --- a/mix.exs +++ b/mix.exs @@ -1,83 +1,84 @@ defmodule Majic.MixProject do use Mix.Project if :erlang.system_info(:otp_release) < ~c"21" do raise "Majic requires Erlang/OTP 21 or newer" end def project do [ app: :majic, - version: "1.1.0", + version: "1.1.1", elixir: "~> 1.7", elixirc_paths: elixirc_paths(Mix.env()), elixirc_options: [warnings_as_errors: warnings_as_errors(Mix.env())], start_permanent: Mix.env() == :prod, compilers: [:elixir_make] ++ Mix.compilers(), make_env: make_env(), package: package(), deps: deps(), dialyzer: dialyzer(), name: "Majic", description: "File introspection with libmagic", source_url: "https://git.pleroma.social/pleroma/elixir-libraries/majic", docs: docs(), test_coverage: [summary: false] ] end def application do [extra_applications: [:logger]] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp dialyzer do [ plt_add_apps: [:mix, :iex, :ex_unit, :plug, :mime], flags: ~w(error_handling no_opaque underspecs unmatched_returns), ignore_warnings: "dialyzer-ignore-warnings.exs", list_unused_filters: true ] end defp deps do [ {:nimble_pool, "~> 1.0"}, {:mime, "~> 1.0"}, {:plug, "~> 1.0", optional: true}, {:credo, "~> 1.4", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: :dev, runtime: false}, {:ex_doc, ">= 0.0.0", only: :dev, runtime: false}, {:elixir_make, "~> 0.8.4", runtime: false} ] end defp package do [ + exclude_patterns: ["priv"], licenses: ["Apache 2.0"], links: %{"GitLab" => "https://git.pleroma.social/pleroma/elixir-libraries/majic"} ] end defp docs do [ main: "readme", extras: ["README.md", "CHANGELOG.md"] ] end defp warnings_as_errors(:dev), do: false defp warnings_as_errors(_), do: true defp make_env() do otp = :erlang.system_info(:otp_release) |> to_string() |> String.to_integer() ei_incomplete = if(otp < 21.3, do: "YES", else: "NO") %{"EI_INCOMPLETE" => ei_incomplete} end end