$ the-wire · showcase
Ecto maps insert_all through the destination schema, Elixir sharpens list subtraction types
By RepoJournal · Filed · About Elixir & Phoenix · Composed from the cited sources · methodology
Ecto's insert_all now respects the destination schema's writeable and renamed columns, and Elixir's type system learns that list subtraction returns a possibly empty sublist of the left operand.
Map `insert_all` source fields through the destination schema elixir-ecto/ecto
Selected fields are now mapped through the destination schema, with headers kept aligned to the source select list. That fixes cases where writeable: true and renamed columns were silently ignored, and adds checks for duplicate projections; tests cover mapped and read-only fields, map updates, and both schema and non-schema sources.
Preserve left element types in list subtraction elixir-lang/elixir
List subtraction (--) now type-checks as returning a possibly empty sublist of its left operand while still validating both operands as proper lists. If you rely on -- preserving the left element type, the inference that used to come back loose now carries the left operand's type. The same change also landed as a commit.
Make DateTime handling in cast consistent with Elixir's standard library elixir-ecto/ecto
José Valim reverted both #4775 and #4792 so that DateTime handling in cast behaves like Elixir's standard library. Code written against the reverted behavior will need to follow the stdlib's DateTime rules instead.
Add nil host handling tests phoenixframework/phoenix
Phoenix added coverage for URL generation with nil host handling, including the unset env var, explicit nil host, and no host config cases, as a follow-up to #6839. The companion commit removes a leftover Application.put_env call and reorganizes the file into four describe blocks.
Update Inspect.Algebra.fits?/7 spec after #15946 (#15951) elixir-lang/elixir
One quieter note: Inspect.Algebra.fits?/7's spec was corrected after #15946, an arity-7 typespec that was out of step with the implementation.