Skip to content

Commit 0ad88cd

Browse files
committed
new changelog for 1.8
1 parent 839a068 commit 0ad88cd

File tree

1 file changed

+3
-239
lines changed

1 file changed

+3
-239
lines changed

CHANGELOG.md

Lines changed: 3 additions & 239 deletions
Original file line numberDiff line numberDiff line change
@@ -1,241 +1,5 @@
1-
# Changelog for v1.7
1+
# Changelog for v1.8
22

3-
See the [upgrade guide](https://gist.github.com/chrismccord/00a6ea2a96bc57df0cce526bd20af8a7) to upgrade from Phoenix 1.6.x.
3+
## v1.7
44

5-
Phoenix v1.7 requires Elixir v1.11+ & Erlang v22.1+.
6-
7-
## Introduction of Verified Routes
8-
9-
Phoenix 1.7 includes a new `Phoenix.VerifiedRoutes` feature which provides `~p`
10-
for route generation with compile-time verification.
11-
12-
Use of the `sigil_p` macro allows paths and URLs throughout your
13-
application to be compile-time verified against your Phoenix router(s).
14-
For example the following path and URL usages:
15-
16-
<.link href={~p"/sessions/new"} method="post">Log in</.link>
17-
18-
redirect(to: url(~p"/posts/#{post}"))
19-
20-
Will be verified against your standard `Phoenix.Router` definitions:
21-
22-
get "/posts/:post_id", PostController, :show
23-
post "/sessions/new", SessionController, :create
24-
25-
Unmatched routes will issue compiler warnings:
26-
27-
warning: no route path for AppWeb.Router matches "/postz/#{post}"
28-
lib/app_web/controllers/post_controller.ex:100: AppWeb.PostController.show/2
29-
30-
*Note: Elixir v1.14+ is required for comprehensive warnings. Older versions
31-
will work properly and warn on new compilations, but changes to the router file
32-
will not issue new warnings.*
33-
34-
This feature replaces the `Helpers` module generated in your Phoenix router, but helpers
35-
will continue to work and be generated. You can disable router helpers by passing the
36-
`helpers: false` option to `use Phoenix.Router`.
37-
38-
## phx.new revamp
39-
40-
The `phx.new` application generator has been improved to rely on function components for
41-
both Controller and LiveView rendering, ultimately simplifying the rendering stack of
42-
Phoenix applications and providing better reuse.
43-
44-
New applications come with a collection of well-documented and accessible core components,
45-
styled with Tailwind CSS by default. You can opt-out of Tailwind CSS with the `--no-tailwind`
46-
flag (the Tailwind CSS classes are kept in the generated components as reference for
47-
future styling).
48-
49-
## 1.7.14 (2024-06-18)
50-
51-
### Bug fixes
52-
* Revert "Add `follow_redirect/2` to Phoenix.ConnTest" (#5797) as this conflicts with `follow_redirect/2` in LiveView, which is imported with ConnTest by default
53-
54-
## 1.7.13 (2024-06-18)
55-
56-
### Bug fixes
57-
* Fix Elixir 1.17 warning in Cowboy2Adapter
58-
* Fix verified routes emitting diagnostics without file and position
59-
60-
### JavaScript Client Bug Fixes
61-
* Fix error when `sessionStorage` is not available on global namespace
62-
63-
### Enhancements
64-
* Add `follow_redirect/2` to Phoenix.ConnTest
65-
* Use LiveView 1.0.0-rc for newly generated applications
66-
* Use new `Phoenix.Component.used_input?` for form errors in generated `core_components.ex`
67-
* Allow `mix ecto.setup` from the umbrella root
68-
* Bump Endpoint static cache manifest on `config_change` callback
69-
70-
## 1.7.12 (2024-04-11)
71-
72-
### JavaScript Client Bug Fixes
73-
* Fix all unjoined channels from being removed from the socket when channel leave is called on any single unjoined channel instance
74-
75-
### Enhancements
76-
* [phx.gen.auth] Add enhanced session fixation protection.
77-
For applications which previously used `phx.gen.auth`, the following line can be added to the `renew_session` function in the auth module:
78-
79-
```diff
80-
defp renew_session(conn) do
81-
+ delete_csrf_token()
82-
83-
conn
84-
|> configure_session(renew: true)
85-
|> clear_session()
86-
```
87-
88-
*Note*: because the session id is in a http-only cookie by default, the only way to perform this attack prior to this change is if your application was already vulnerable to an XSS attack, which itself grants more escalated "privileges” than the CSRF fixation.
89-
90-
### JavaScript Client Enhancements
91-
* Only memorize longpoll fallback for browser session if WebSocket never had a successful connection
92-
93-
## 1.7.11 (2024-02-01)
94-
95-
### Enhancements
96-
* [phx.new] Default to the [Bandit webserver](https://github.com/mtrudel/bandit) for newly generated applications
97-
* [phx.new] Enable longpoll transport by default and auto fallback when websocket fails for newly generated applications
98-
99-
### JavaScript Client Enhancements
100-
* Support new `longPollFallbackMs` option to auto fallback when websocket fails to connect
101-
* Support new `debug` option to enable verbose logging
102-
103-
### Deprecations
104-
* Deprecate the `c:init/2` callback in endpoints in favor of `config/runtime.exs` or in favor of `{Phoenix.Endpoint, options}`
105-
106-
## 1.7.10 (2023-11-03)
107-
108-
### Bug fixes
109-
* [phx.new] Fix `CoreComponents.flash` generating incorrect id's causing flash messages to fail to be closed when clicked
110-
111-
### Enhancements
112-
* [Phoenix.Endpoint] Support dynamic port for `Endpoint.url/0`
113-
114-
## 1.7.9 (2023-10-11)
115-
116-
### Bug fixes
117-
* [Phoenix.CodeReloader] - Fix error in code reloader causing compilation errors
118-
* [phx.new] – fix LiveView debug heex configuration being generated when `--no-html` pas passed
119-
120-
## 1.7.8 (2023-10-09)
121-
122-
### Bug fixes
123-
* [Phoenix.ChannelTest] Stringify lists when pushing data
124-
* [Phoenix.Controller] Fix filename when sending downloads with non-ascii names
125-
* [Phoenix.CodeReloader] Remove duplicate warnings on recent Elixir versions
126-
* [Phoenix.CodeReloader] Do not crash code reloader if file information is missing from diagnostic
127-
* [Phoenix.Logger] Do not crash when status is atom
128-
* [phx.gen.release] Fix `mix phx.gen.release --docker` failing with `:http_util` error on Elixir v1.15
129-
* [phx.gen.*] Skip map inputs in generated forms as there is no trivial matching input
130-
* [phx.new] Fix tailwind/esbuild config and paths in umbrella projects
131-
* [phx.new] Do not render `th` for actions if actions are empty
132-
133-
### Enhancements
134-
* [Phoenix] Allow latest `plug_crypto`
135-
* [Phoenix.Endpoint] Support dynamic socket drainer configuration
136-
* [Phoenix.Logger] Change socket serializer/version logs to warning
137-
* [Phoenix.VerifiedRoutes] Add support for static resources with fragments in `~p`
138-
* [phx.gen.schema] Support `--repo` and `--migration-dir` flags
139-
* [phx.new] Allow `<.input type="checkbox">` without `value` attr in core components
140-
* [phx.new] Allow UTC datetimes in the generators
141-
* [phx.new] Automatically migrate when release starts when using sqlite 3
142-
* [phx.new] Allow ID to be assigned in flash component
143-
* [phx.new] Add `--adapter` flag for generating application with bandit
144-
* [phx.new] Include DNSCluster for simple clustering
145-
* [phx.routes] Support `--method` option
146-
147-
## 1.7.7 (2023-07-10)
148-
149-
### Enhancements
150-
* Support incoming binary payloads to channels over longpoll transport
151-
152-
## 1.7.6 (2023-06-16)
153-
154-
### Bug Fixes
155-
* Support websock_adapter 0.5.3
156-
157-
### Enhancements
158-
* Allow using Phoenix.ChannelTest socket/connect in another process
159-
160-
## 1.7.5 (2023-06-15)
161-
162-
### Bug Fixes
163-
* Fix LongPoll error when draining connections
164-
165-
## 1.7.4 (2023-06-15)
166-
167-
### Bug Fixes
168-
* Fix the WebSocket draining sending incorrect close code when draining causing LiveViews to reload the page instead of reconnecting
169-
170-
## 1.7.3 (2023-05-30)
171-
172-
### Enhancements
173-
* Use LiveView 0.19 for new apps
174-
175-
### Bug Fixes
176-
* Fix compilation error page on plug debugger showing obscure error when app fails to compile
177-
* Fix warnings being printed twice in route verification
178-
179-
## 1.7.2 (2023-03-20)
180-
181-
### Enhancements
182-
* [Endpoint] Add socket draining for batched and orchestrated Channel/LiveView socket shutdown
183-
* [code reloader] Improve the compilation error page to remove horizontal scrolling and include all warnings and errors from compilation
184-
* [phx.new] Support the `--no-tailwind` and `--no-esbuild` flags
185-
* [phx.new] Move heroicons to assets/vendor
186-
* [phx.new] Simplify core modal to use the new JS.exec instruction to reduce footprint
187-
* [sockets] Allow custom csrf_token_keys in WebSockets
188-
189-
## 1.7.1 (2023-03-02)
190-
191-
### Enhancements
192-
* [phx.new] Embed heroicons in app.css bundle to optimize usage
193-
194-
## 1.7.0 (2023-02-24)
195-
196-
### Bug Fixes
197-
* Fix race conditions in the longpoll transport by batching messages
198-
199-
## 1.7.0-rc.3 (2023-02-15)
200-
201-
### Enhancements
202-
* Use stream based collections for `phx.gen.live` generators
203-
* Update `phx.gen.live` generators to use `Phoenix.Component.to_form`
204-
205-
## 1.7.0-rc.2 (2023-01-13)
206-
207-
### Bug Fixes
208-
* [Router] Fix routing bug causing incorrect matching order on similar routes
209-
* [phx.new] Fix installation hanging in some cases
210-
211-
## 1.7.0-rc.1 (2023-01-06)
212-
213-
### Enhancements
214-
* Raise if using verified routes outside of functions
215-
* Add tailwind.install/esbuild.install to mix setup
216-
217-
### Bug Fixes
218-
* [Presence] fix task shutdown match causing occasional presence errors
219-
* [VerifiedRoutes] Fix expansion causing more compile-time deps than necessary
220-
* [phx.gen.auth] Add password inputs to password reset edit form
221-
* [phx.gen.embedded] Fixes missing :references generation to phx.gen.embedded
222-
* Fix textarea rendering in core components
223-
* Halt all sockets on intercept to fix longpoll response already sent error
224-
225-
## 1.7.0-rc.0 (2022-11-07)
226-
227-
### Deprecations
228-
* `Phoenix.Controller.get_flash` has been deprecated in favor of the new `Phoenix.Flash` module, which provides unified flash access
229-
230-
### Enhancements
231-
* [Router] Add `Phoenix.VerifiedRoutes` for `~p`-based route generation with compile-time verification.
232-
* [Router] Support `helpers: false` to `use Phoenix.Router` to disable helper generation
233-
* [Router] Add `--info [url]` switch to `phx.routes` to get route information about a url/path
234-
* [Flash] Add `Phoenix.Flash` for unified flash access
235-
236-
### JavaScript Client Bug Fixes
237-
* Fix heartbeat being sent after disconnect and causing abnormal disconnects
238-
239-
## v1.6
240-
241-
The CHANGELOG for v1.6 releases can be found in the [v1.6 branch](https://github.com/phoenixframework/phoenix/blob/v1.6/CHANGELOG.md).
5+
The CHANGELOG for v1.7 releases can be found in the [v1.7 branch](https://github.com/phoenixframework/phoenix/blob/v1.7/CHANGELOG.md).

0 commit comments

Comments
 (0)