새로운 소식(What's new)
새로운 소식(What's new)
Dart 웹사이트와 블로그에 어떤 새로운 것들이 추가됐는지 소개해 드릴게요. Flutter의 새로운 소식을 보시려면 Flutter what's new 페이지(Flutter what's new page.)를 방문하세요.
Dart SDK별 언어 변경 목록은 Dart 변경 로그(Dart changelog)를 참고하세요. 브레이킹 체인지(breaking changes)를 포함한 공지를 계속 받아보려면 Dart 공지 Google 그룹(Dart announcements Google group)에 가입하고 Dart 블로그(Dart blog)를 팔로우하세요.
출처: What's new
본문
3.13 릴리스
공개일: 2026년 8월 12일
이 섹션은 2026년 5월 18일부터 2026년 8월 12일까지 dart.dev(dart.dev)에 이루어진 주요 변경사항을 나열해요. Dart 3.13 릴리스의 자세한 내용은 3.13 공지(3.13 announcement)와 3.13 SDK 변경 로그(3.13 SDK changelog)를 확인하세요.
문서 업데이트
- 새로운 프라이머리 생성자(primary constructors) 언어 기능에 대한 문서를 확장했어요. enum과 상수 생성자에 대한 섹션도 포함해요.
- 변수가 프로모션될 수 없는 이유(reasons why a variable can't be promoted)에 대한 새로운 문제 해결 가이드를 추가해서 타입 프로모션 실패를 진단하는 데 도움을 줘요.
- Effective Dart에서 새롭고 간결한 생성자 문법(concise constructor syntax)으로 클래스 안에 생성자를 선언할 것을 권장했어요.
- 네이티브 빌드 훅에 대한 문서를 확장해서,
pubspec.yaml에서 user-defines(configuring user-defines)를 구성하고, 네이티브 코드 트리 셰이킹을 위해 기록된 사용법이 있는 링크 훅(link hooks)을 사용하는 방법을 다뤄요. - WebAssembly 런타임 타입 검사 동작을 상세히 다루고, JavaScript and Web interop(JavaScript and Web interop) 문서에 Zone 바인딩 예제를 추가했어요.
- WebAssembly에 대한 실험적 지연 로딩 지원(deferred loading support for WebAssembly)을 문서화했어요.
dart install(dart install) 중심으로 Dart 명령줄 배포 문서를 통합했어요.- 오류 처리 튜토리얼(error handling tutorial)에서
Error와Exception인스턴스의 차이를 명확히 했어요. - 문서 개요 페이지(documentation overview page)에 초보자용 링크와 빠른 팁을 추가했어요. (Syed Muhammad Mobasil님(Syed Muhammad Mobasil), 감사합니다.)
- Effective Dart에서 메서드와 함수 이름 짓기(naming methods and functions) 지침을 업데이트했어요. (Polina Cherkasova님(Polina Cherkasova), 감사합니다.)
- 호스팅된 Dart 패키지 저장소 서비스(Dart package repository services) 목록에 Publy(Publy)를 추가했어요. (Timophei Lemeshchenko님(Timophei Lemeshchenko), 감사합니다.)
- 용어집(Glossary)에 새 언어·웹 용어를 추가했어요. 여기에는 "dot shorthand(dot shorthand)", "extension type(extension type)", "primary constructor(primary constructor)", "private named parameter(private named parameter)", "potentially constant(potentially constant)", "WebAssembly (Wasm)(WebAssembly (Wasm))"가 포함돼요.
3.12 릴리스
공개일: 2026년 5월 18일
이 섹션은 2026년 2월 12일부터 2026년 5월 18일까지 dart.dev(dart.dev)에 이루어진 주요 변경사항을 나열해요. Dart 3.12 릴리스의 자세한 내용은 3.12 공지(3.12 announcement)와 3.12 SDK 변경 로그(3.12 SDK changelog)를 확인하세요.
문서 업데이트
- 새로운 private 이름 매개변수(private named parameters) 언어 기능에 대한 문서를 추가했어요.
- 실험적 프라이머리 생성자(primary constructors) 언어 기능에 대한 문서를 추가했어요.
- 전용 언어 버전 관리(language versioning) 페이지를 만들고 사이트 전반의 링크를 업데이트했어요.
- Dart의 Firebase Functions(Firebase Functions) 및 Admin SDK 지원을 문서화했어요.
- pub 워크스페이스(pub workspaces)가 중첩될 수 있음을 문서화했어요. (Soufian El-Fouzari님(Soufian El-Fouzari), 감사합니다.)
- pub 명령의
--no-example(--no-example) 옵션을 문서화했어요. - pub 패키지 설명자(package descriptors)(package descriptors) 문서를 한곳으로 통합했어요.
- 빌드 훅에서 코드 에셋 dylib 이름(code asset dylib names)에 대한 제약을 문서화했어요.
- 튜토리얼의 객체 지향 프로그래밍 레슨(object-oriented programming lesson)을 업데이트하고 서식을 개선했어요.
- 용어집(Glossary)에 "top type", "null safety", "sound", "reified generics", "uninitialized" 같은 새 용어를 추가했어요. (IldySilva님(IldySilva), 감사합니다.)
- 문서에 더 많은 커뮤니티 interop 해결책(community interop solutions)을 추가했어요. (ANUSHREE BONDIA님(ANUSHREE BONDIA), 감사합니다.)
- 레거시 null safety 마이그레이션 문서(null safety migration)를 제거하고 아카이브했어요.
사이트 개선
/blog에 Dart 블로그(Dart blog)를 위한 전용 공간을 추가하고, Medium의 모든 과거 글을 마이그레이션했어요.- 사이트 전반의 더 빠른 탐색을 위해 페이지 프리페칭과 프리렌더링을 구현했어요.
3.11 릴리스
공개일: 2026년 2월 11일
이 섹션은 2025년 11월 13일부터 2026년 2월 11일까지 dart.dev(dart.dev)에 이루어진 주요 변경사항을 나열해요. Dart 3.11 릴리스의 자세한 내용은 3.11 공지(3.11 announcement)와 3.11 SDK 변경 로그(3.11 SDK changelog)를 확인하세요.
문서 업데이트
- Dart 학습을 위한 새로운 시작 경험(getting started experience)을 출시했어요.
- Dart 플러그인이 Dart 팀으로 이전된 것에 맞춰 IntelliJ & Android Studio 페이지(IntelliJ & Android Studio page)를 업데이트했어요.
- Dart의 빌드 훅(build hooks)에 사용 가능한 환경 변수에 대한 문서를 추가했어요.
- dart format(dart format) 페이지에 IDE용 "Format on save" 설정 지침을 포함시켰어요. (Anushree Bondia님(Anushree Bondia), 감사합니다.)
- 용어집(Glossary)에 "dependency graph", "AOT", "JIT", "interop", "scope" 같은 새 용어를 추가했어요. (IldySilva님(IldySilva)과 Anushree Bondia님(Anushree Bondia), 감사합니다.)
3.10 릴리스
공개일: 2025년 11월 12일
이 섹션은 2025년 8월 14일부터 2025년 11월 12일까지 dart.dev(dart.dev)에 이루어진 주요 변경사항을 나열해요. Dart 3.10 릴리스의 자세한 내용은 3.10 공지(3.10 announcement)와 3.10 SDK 변경 로그(3.10 SDK changelog)를 확인하세요.
문서 업데이트
- 새로운 dot shorthands(dot shorthands) 언어 기능에 대한 가이드를 추가했어요.
- 새 분석기 플러그인(analyzer plugin) 지원에 대한 가이드를 추가했어요.
dart build(dart build) 도구에 대한 레퍼런스를 추가했어요.dart install(dart install) 도구에 대한 레퍼런스를 추가했어요.- 새
@Deprecated애너테이션(@Deprecated annotation) 변형을 문서화했어요. - 용어집(Glossary)에 "obviously typed", "closurization", "callback", "tree shaking", "native asset" 같은 새 용어를 추가했어요. (IldySilva님(IldySilva), 감사합니다.)
사이트 개선
- 기여자 경험 개선을 위해 핵심 사이트 인프라를 Jaspr 프레임워크(Jaspr framework)로 마이그레이션했어요.
- 용어집에 라벨별 필터링(filtering by label)과 툴팁(tooltips)을 추가로 개선했어요.
- 커뮤니티 페이지(Community page)를 현대적인 카드 기반 레이아웃으로 재설계했어요.
- 클라이언트 측 Dart 코드를 Wasm(Wasm)으로 컴파일하기 시작했어요.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
3.9 릴리스
공개일: 2025년 8월 13일
이 섹션은 2025년 5월 20일부터 2025년 8월 13일까지 dart.dev(dart.dev)에 이루어진 주요 변경사항을 나열해요. Dart 3.9 릴리스의 자세한 내용은 3.9 공지(3.9 announcement)와 3.9 SDK 변경 로그(3.9 SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트의 문서에 다음과 같은 변경을 가했어요.
- 사이트 전반에 브레드크럼 기본 활성화(Enabled breadcrumbs by default).
- ARM과 RISC-V64 크로스 컴파일을 위한
dart compile문서(dart compile documentation) 업데이트. - 메타데이터·애너테이션 문서(metadata and annotations documentation) 전면 개편.
- 템플릿을 더 잘 설명하도록
dart create페이지(dart create page) 재구성. - 포괄적인 Dart MCP Server 가이드(Dart MCP Server guide) 추가.
- 용어집(glossary)에 "combinator", "bottom type", "context type", "shadowing", "immutable", "wildcard", "late", "zone", "type alias" 추가. (IldySilva님(IldySilva), 감사합니다.)
- 오래된 Maven 참조 제거를 위해 JNIGen 문서(JNIGen documentation) 업데이트.
3.8 릴리스
공개일: 2025년 5월 20일
이 섹션은 2025년 2월 13일부터 2025년 5월 20일까지 dart.dev(dart.dev)에 이루어진 주요 변경사항을 나열해요. Dart 3.8 릴리스의 자세한 내용은 3.8 공지(3.8 announcement)와 3.8 SDK 변경 로그(3.8 SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트의 문서에 다음과 같은 변경을 가했어요.
- Collection 요소(Collection elements) 문서 추가. 표현식 요소, 맵 엔트리 요소, 스프레드 요소, null 인지 스프레드 요소, if 요소, for 요소 등 다양한 컬렉션 요소의 유형을 다루고, 요소를 중첩하는 방법도 설명해요.
- Doc imports(Doc imports) 문서 추가. 문서 주석에서 외부 요소를 참조하기 위해
@docImport문서 태그를 사용하는 방법을 설명해요. dart compile명령의 크로스 컴파일(Cross-compilation) 문서 추가. 이제 다음 64비트 호스트 운영체제에서 Linux x64와 ARM64로의 크로스 컴파일이 지원돼요: macOS, Windows, Linux.- Null 인지 요소(Null-aware elements) 문서 추가. null 인지 요소를 사용하는 방법을 설명해요.
- 루프용 Labels(Labels) 문서 추가.
break와continue제어 흐름 문과 함께 라벨을 사용하는 방법을 보여줘요. pubspec_overrides.yaml(pubspec_overrides.yaml) 파일 문서 추가. 이 파일은pubspec.yaml을 바꾸지 않고 특정 측면을 오버라이드할 수 있게 해줘요.- 타입 시스템의 bounds를 사용한 추론(Inference using bounds) 문서 추가.
- 단순 데이터 구조로서의 레코드(Records as simple data structures) 문서 추가.
- 재귀적 타입 매개변수 제한(F-bounds)(Self-referential type parameter restrictions (F-bounds)) 문서 추가.
dynamic에서의 암시적 다운캐스트(Implicit downcast from dynamic) 문서 추가. 정적 타입이dynamic인 표현식을 더 구체적인 타입으로 암시적 캐스트하는 방법을 설명해요.- Dart SDK 지원 정책(support policy) 추가.
- Effective Dart Design 가이드에서 클래스 수정자(class modifiers)를 언제 쓰고 언제 쓰지 말아야 하는지에 대한 지침(Effective Dart Design) 업데이트.
- Effective Dart Documentation 가이드에서 값을 반환하는 것이 주 목적인 함수나 메서드에는 명사구나 비명령형 동사구를 선호하라는 지침을 업데이트(Effective Dart Documentation)하고, 기존 문서 지침에 작은 변경 몇 가지를 포함했어요. 자세한 내용은 PR 6522(PR 6522)를 참고하세요.
- Effective Dart Documentation 가이드에서 함수나 메서드에 명사구나 비명령형 동사구를 선호하라는 지침을 변경(Effective Dart Documentation).
dart.dev 사이트 변경
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 구조적 변경을 가했어요.
- 용어집(glossary)에 새 카드 기반 디자인과 항목 검색 기능을 추가.
- 문서 사이트에 이전·다음 페이지 버튼 추가.
- 일부 진단 메시지(diagnostic messages)(diagnostic messages)에 개별 페이지 추가. 진단 메시지의 개별 페이지를 보려면 Learn more 버튼을 선택하세요.
3.7 릴리스
공개일: 2025년 2월 12일
이 섹션은 2024년 12월 12일부터 2025년 2월 12일까지 이루어진 주요 변경사항을 나열해요. Dart 3.7 릴리스의 자세한 내용은 3.7 공지(3.7 announcement)와 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 새로운 타입 시스템 알고리즘인 bounds를 사용한 추론(inference using bounds) 도입.
- 새 Bluesky(Bluesky) 계정에 대한 링크 추가.
- 새 포맷터 스타일을 반영하도록
dart format(dart format) 페이지를 업데이트하고, 새 구성 가능한 줄 길이(configurable line length) 기능도 포함. - 새 공유 분석 옵션(shared analysis options) 기능 문서화.
- 새 포맷터 스타일로 인해 Effective Dart의 줄 길이(line length) 항목 변경.
- Workspaces 페이지에 stray files(stray files)에 대한 세부 사항 도입.
- Variables 페이지에 새 언어 기능인 wildcard 변수(wildcard variables) 추가.
- 공변 설명(covariant explanation)을 더 적합한 Type system 페이지로 이동.
- 레거시 JS interop(legacy JS interop) 라이브러리 참조를 명시적으로 "deprecated"로 변경.
- 팀이 해당 기능에 대한 작업을 무기한 중단(indefinitely paused)했으므로, 실험적 macros 페이지를 제거.
- 존재하지 않는 키로 Map 패턴을 구조 분해하면
StateError가 발생한다는 경고(warning) 추가. - linter 규칙(linter rules) 페이지를 새 카드, 검색 형식, 개별 lint 페이지의 색상 코드 아이콘(예(for example))으로 개편.
- 효율성을 위해 레이아웃 구현과 sidenav를 재설계.
- 공식적으로 더 이상 사용되지 않는
dart:html라이브러리 페이지 제거.
3.6 릴리스
공개일: 2024년 12월 11일
이 섹션은 2024년 8월 7일부터 2024년 12월 11일까지 이루어진 주요 변경사항을 나열해요. Dart 3.6 릴리스의 자세한 내용은 3.6 공지(3.6 announcement)와 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 새 pub 워크스페이스(pub workspaces) 기능 문서화.
- 새
pub get플래그--enforce-lockfile(--enforce-lockfile) 설명. - Concurrency 페이지에서 너무 많은 isolate 사이의 동기 통신(synchronous communication)에 대한 지침 도입.
- Built-in types 페이지에 새 언어 기능인 숫자 구분 기호(digit separators) 추가.
- 용어집 페이지에서 variance와 variance positions(variance and variance positions) 정의.
- 새 문서 주석 참조(documentation comment references) 기능을 위한 새 페이지 생성.
- RISC-V와 WASM 컴파일 지원을 새로 포함하도록 Dart 플랫폼 그래픽(Dart platforms graphic) 업데이트·개선.
- 함수 타입(function types) 정의.
- 분석기가 제공하는 다양한 종류의 코드 수정(어시스트(assists), 리팩터(refactors), quick fix(quick fixes))에 대한 용어집 정의 추가.
- 새
pub bump명령을 위한 페이지(page) 생성. - 생성형 생성자(example for generative constructors) 예시를 기본값이 있는 선택적 위치 매개변수의 사용을 반영하도록 업데이트.
- 패키지 생성 페이지의 조건부 import/export 문서(import/export documentation) 개선.
- mixin 코드 예시(mixin code examples)에
@override애너테이션을 포함시켜 mixed-in 함수를 다루는 방법을 올바르게 보여줌. - pub 의존성 페이지(pub dependencies page)에서 private 저장소 의존성 접근을 위한 SSH 대안 제공.
- 게시 작업 목록(publishing task list)에 깨끗한
git status검증에 대한 새pub publish경고 추가. - Language 및 Library tour 페이지의 사용 중단 처리(내용은 이제 왼쪽 sidenav 패널의 Language(Language)와 Core libraries(Core libraries) 아래 개별 페이지에 있음).
3.5 릴리스
공개일: 2024년 8월 6일
이 섹션은 2024년 5월 15일부터 2024년 8월 6일까지 이루어진 주요 변경사항을 나열해요. Dart 3.5 릴리스의 자세한 내용은 3.5 공지(3.5 announcement)와 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 새·레거시 웹 플랫폼 라이브러리(web platform libraries)의 상태와 의도된 용도를 명확히 함.
- pub.dev 사이트에 패키지의 사전 릴리스 버전 게시(publishing prerelease versions)에 대한 문서 확장.
- 새
dart pub unpack명령(dart pub unpack command)을 다루는 페이지 추가. dart pub publish의 새--skip-validation플래그와dart pub downgrade의--tighten플래그 문서화.- 패키지 작성자를 위해 의존성을 다운그레이드한 상태로 패키지를 테스트(test their package with downgraded dependencies)하는 모범 사례 가이드 제공.
- Fixing type promotion failures(Fixing type promotion failures) 가이드 개선하고 관련 코드를 더 잘 표시하도록 코드 하이라이팅 추가.
- Dart 설치 문서(Dart installation documentation)에 제거 및 정리 지침 보충.
- 함수(function) 및 생성자(constructor) tear-off를 다루는 새 문서와 코드 샘플 도입.
- JS에서 사용하도록 Dart 함수와 객체를 내보내는 방법(export Dart functions and objects to be used from JS) 설명.
- Dart 맥락에서 용어를 설명하는 subclass(subclass)와 subtype(subtype) 용어집 항목 추가.
3.4 릴리스
공개일: 2024년 5월 14일
이 섹션은 2024년 2월 16일부터 2024년 5월 14일까지 이루어진 주요 변경사항을 나열해요. 3.4 릴리스의 자세한 내용은 3.4 블로그 글(3.4 blog post)과 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 실험적 Macros(Macros) 언어 기능을 문서화하는 페이지 추가.
- Dart의 Wasm(Wasm) 개발 상황을 추적하는 페이지 추가.
- Constructors(Constructors) 페이지 리팩터링.
package:web마이그레이션 페이지의 Renames(Renames) 섹션 지침 명확화.- 타입 프로모션 활성화(enabling type promotion)에 대한 Effective Dart 항목을 다른 관용구보다 null-check 패턴을 권장하도록 조정.
- Web libraries and packages(Web libraries and packages) 목록을 권장 솔루션을 더 잘 나타내도록 수정.
- Records(Records) 및 Patterns(Patterns) 페이지에서 이름 있는 필드의 구조 분해 방법 설명.
- JS interop 페이지에 웹 솔루션의 before-and-after 표(before-and-after table) 포함.
- Operators 페이지에 spread 연산자(spread operators) 설명 섹션 추가.
- Pattern types 페이지에서 괄호 패턴(parenthetical patterns)의 순서 명확화.
- JS types 페이지에
ExternalDartReference(ExternalDartReference) 문서 추가. - 새 linter 규칙(linter rules)과 진단 메시지(diagnostic messages)를 위해 사이트 업데이트. 예를 들어 새
@mustBeConst(@mustBeConst) 애너테이션 진단에 대한 문서 추가.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
3.3 릴리스
공개일: 2024년 2월 15일
이 섹션은 2023년 11월 16일부터 2024년 2월 15일까지 이루어진 주요 변경사항을 나열해요. 3.3 릴리스의 자세한 내용은 3.3 블로그 글(3.3 blog post)과 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 사이트 인프라를 Jekyll 대신 11ty(run on 11ty)에서 실행하도록 변경.
- 새 언어 기능인 extension types(extension types)을 다루는 페이지 추가.
- JavaScript interop(JavaScript interop)에 대한 새 문서 세트 추가.
- Usage(Usage)
- JS types(JS types)
- Tutorials(Tutorials), 첫 번째는 Mocks(Mocks)
- Past JS interop(Past JS interop)
- Concurrency(Concurrency) 개요를 업데이트하고, Isolates(Isolates) 사용에 대한 새 실용 페이지 추가.
- Functions(Functions) 페이지에
external(external)에 대한 섹션 추가. - 새 버전의 DartPad(DartPad)를 수용하기 위해 몇몇 페이지에서 내장 DartPad 제거.
- 용어집(Glossary)에 "Function" 정의 포함.
- Library tour(Library tour)를 각 라이브러리별 개별 페이지로 분해.
- Breaking changes(Breaking changes) 페이지를 3.3 기준으로 업데이트.
- FAQ 페이지의 오래된 항목 몇 개 업데이트. (이제 제거됨)
dart doc(dart doc) 문서 확장.- 지원 플랫폼(supported platforms) 콘텐츠 업데이트·단순화.
dart format(dart format) 콘텐츠를 여러 곳으로 통합.dart:html대신package:web(package:web)을 권장하도록 여러 위치 업데이트.- HTTP 요청에
dart:html(dart:html)과dart:io(dart:io)를 권장하는 대신package:http를 권장하도록 전환. - pubspec 파일에서 진단 억제(suppressing diagnostics in a pubspec file) 문서화.
- pubspec 파일에서 보안 권고 생성(creating) 및 무시(ignoring)에 대한 콘텐츠 추가.
- 철회된(retracted) 패키지 버전에서 마이그레이션하는 방법(how to migrate away from a retracted package version) 문서화.
3.2 릴리스
공개일: 2023년 11월 15일
이 섹션은 2023년 8월 17일부터 2023년 11월 15일까지 이루어진 주요 변경사항을 나열해요. 3.2 릴리스의 자세한 내용은 3.2 블로그 글(3.2 blog post)과 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 새 타입 프로모션 기능인 private final field promotion을 위해 Fixing type promotion failures(Fixing type promotion failures) 페이지 업데이트.
- Effective Dart의 type promotion(type promotion) 항목, Understanding Null Safety(Understanding Null Safety) 페이지, 그리고 사이트 전반의 다른 여러 위치에 관련 소소한 조정.
- C interop(C interop) 페이지에 실험적 native assets 기능에 대한 문서 도입.
- Breaking changes(Breaking changes) 문서화에 전념하는 새 페이지 생성.
- 각각의 문서 페이지에서 새롭고 업데이트된 lints(lints)와 diagnostics(diagnostics) 반영.
pub upgrade(pub upgrade) 페이지에 새--tighten플래그 문서 추가.- Language overview(Language overview) 페이지를 위해 치트시트 제거.
- guard 절과 패턴(guard clauses and patterns) 사이의 관계 명확화.
- Constructors(Constructors) 페이지를 모범 사례를 더 잘 나타내도록 조정.
- Package dependencies(Package dependencies) 페이지의 내용을 더 실행 가능하고 따라하기 쉽게 개선.
- Extension methods(Extension methods) 페이지에서 정적 멤버에 대해 자세히 설명.
- 새
NativeCallableAPI를 반영하도록 Objective-C(Objective-C) 멀티스레딩 제한 콘텐츠 변경. - Metadata(Metadata) 페이지에 새 애너테이션 추가하고 사용 중단 언급.
- 사이트 전반의 코드 샘플에서 텍스트 색상과 하이라이팅을 조정해 대비 개선.
- Jekyll에서 벗어날 준비로(move away from using Jekyll) 사이트 인프라 전반을 재구성하고 단순화.
3.1 릴리스
공개일: 2023년 8월 16일
이 섹션은 2023년 5월 11일부터 2023년 8월 16일까지 이루어진 주요 변경사항을 나열해요. 3.1 릴리스의 자세한 내용은 Dart 3.1 & a retrospective on functional style programming in Dart 3(Dart 3.1 & a retrospective on functional style programming in Dart 3)과 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 이전 linter 사이트를 대체하도록 linter 규칙 문서를 전면 개편.
- 각 linter 규칙의 문서를 자체 페이지로 이동. 예:
avoid_dynamic_calls(avoid_dynamic_calls). - 최신 Dart 릴리스에서 사용 가능한 모든 linter 규칙(all linter rules)을 활성화하는
analysis_options.yaml예시 추가. - 더 쉬운 lint 발견을 위해 사용 가능한 모든 linter 규칙의 인덱스(index of all available linter rules) 업데이트.
- 클래스 수정자(class modifiers) 간 상호작용을 설명하는 Class modifiers reference(Class modifiers reference)를 추가해 클래스 수정자 문서 보강.
- 개발자가 클래스 수정자를 가장 잘 사용하도록 돕는 Class modifiers for API maintainers(Class modifiers for API maintainers) 가이드 도입.
- switch 문과의 차이를 더 잘 반영하도록 switch 표현식(switch expression) 문서 재작성.
- pub.dev 사이트에서 패키지를 분류하기 위해 pubspec 파일에 topics(topics) 지정 지원 문서화.
- 패키지 스크린샷(package screenshots)이 패키지의 로고나 아이콘이 아니라 기능을 보여주기 위한 것임을 명확히 함.
- 가이드식 학습 경험을 위해 Dart의 언어 문서(language documentation)에 이전·다음 버튼 추가.
- 새 사이트 전역 용어집(glossary) 확장을 계속.
- Windows에서 pub 캐시 이동(pub cache move)이 Dart 3에서 확정된 방식에 대한 마이그레이션 참고 추가.
- Dart의 타입 시스템이 항상 null safe(null safe)해짐에 따라 오래된 문서 단순화·업데이트.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
3.0 릴리스
공개일: 2023년 5월 10일
이 섹션은 2023년 1월 26일부터 2023년 5월 10일까지 이루어진 주요 변경사항을 나열해요. 주요 3.0 릴리스의 자세한 내용은 Announcing Dart 3(Announcing Dart 3)과 SDK 변경 로그(SDK changelog)를 확인하세요.
dart.dev에 업데이트되거나 추가된 문서
Dart 3을 준비하면서 Language Tour를 새 개념적 범주로 나눠 재구성했어요. 재구성된 언어 문서는 사이드 내비게이션 메뉴의 Language 아래에서, 또는 업데이트된 Introduction to Dart(Introduction to Dart)를 방문해 접근할 수 있어요.
이 새로운 구조를 활용해 Dart 3의 주요 기능 각각에 대한 문서를 추가했어요.
- Pattern matching(Pattern matching)과 다양한 패턴 유형(types of patterns).
- 패턴과 배타성 검사(exhaustiveness checking)를 지원하는 Switch expressions(Switch expressions).
- 패턴 매칭을 지원하는 case 절이 있는 If 문(If statements with case clauses).
- 여러 반환 값(multiple returns)(multiple returns)을 가능하게 하는 새 익명·불변·집합 타입인 Records(Records).
- 라이브러리에 내보낸 타입에 대한 더 많은 제어를 주는 Class modifiers(Class modifiers).
Dart 3의 sound null safety(sound null safety 강제 및 기타 변경사항으로의 전환을 돕기 위해 다음 업데이트도 준비했어요.
- 포괄적인 Dart 3 마이그레이션 가이드(Dart 3 migration guide) 생성.
- 모든 문서와 코드 예시를 Dart 3, 최신 도구 릴리스, 최신 의존성으로 마이그레이션.
- Dart 3에서 Dart의 타입 시스템이 이제 항상 null-safe함을 명확히 함.
- Language evolution(Language evolution) 페이지와 그 언어 버전 관리(language versioning) 논의를 업데이트하고 재구성.
- Dart 1 및 초기 Dart 2 문서·메모·리소스의 잔재 제거.
새 Dart 3 콘텐츠와 사이트 전반의 대응 업데이트에 더해, 다음과 같은 변경도 가했어요.
- 컴파일 환경 선언(compilation environment declarations) 구성에 대한 가이드 추가.
- Java interop(Java interop)에 대한 실험적 지원 가이드를 추가해 Dart의 네이티브 상호운용성 작업을 계속.
- 이름 없는 확장(unnamed extensions)의 사용과 제한 명확화.
- 도구 진단에 도움이 되는 새
dart info(dart info) 명령 페이지 추가. - 새 package descriptor(package descriptor) 문법을 다루도록
dart pub add(dart pub add) 문서 전면 개편. - SDK 아카이브(SDK archive)의 베타 채널에 프리뷰 Linux RISC-V(RV64GC) 빌드 공개.
- 사이트 전체에서 쓰는 공통 용어를 담을 새 사이트 전역 용어집(glossary) 시작.
- Dart의 JS 정적 interop 지원(JS static interop support)에 대한 실험적 작업 강조.
- 분석기 플러그인(analyzer plugins)의 존재와 현재 제한 문서화.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
Dart 팀이 공개한 동영상
Google I/O 2023 중에 다음 동영상을 공개했어요.
- What's new in Dart and Flutter (미국 수화 버전(American Sign Language version))
- Rethinking Dart interoperability with Android
- How to build a package in Dart
2.19 + 3.0 alpha 릴리스
공개일: 2023년 1월 25일
이 섹션은 2022년 8월 31일부터 2023년 1월 25일까지 이루어진 주요 변경사항을 나열해요. 2.19 + 3.0 alpha 릴리스에 대한 자세한 내용은 Introducing Dart 3 alpha(Introducing Dart 3 alpha)와 SDK 변경 로그(SDK changelog)를 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
package:http사용에 관한 Fetch data from the internet(Fetch data from the internet) 튜토리얼 도입.- pub.dev로의 패키지 자동 게시(Automated publishing of packages to pub.dev) 페이지 추가.
- 커뮤니티 리소스(community resources) 섹션에 새 사이트 번역 두 개에 대한 링크 포함.
- 이 사이트의 한국어 버전(Korean version of this site (한국어))
- 이 사이트의 정체 중국어 버전(Traditional Chinese version of this site (正體中文版))
- Dart 3을 준비해 null safety 콘텐츠 업데이트.
- Dart 3 호환성을 위해 마이그레이션 가이드의 버전 제약 변경.
- Sound null safety(Sound null safety) 페이지에 Dart 3 전체 sound null safety 개요를 추가.
- unsound null safety와의 Dart 3 비호환성을 참고(노트)으로 강조.
- Swift 개발자를 위한 Learning Dart 가이드 도입. (이제 제거됨)
- Effective Dart 섹션을 부울과 동등 연산자(booleans and equality operators)에 대한 더 일반적인 지침으로 교체.
- pub 문서 전반에 콘텐츠 해싱(content-hashing) 문서화.
- Zones(Zones) 페이지 개편 작업을 시작해서 예시가
onError대신runZonedGuarded를 사용하도록 변경. - 새 무명(noname) 선언 개발을 다루도록 라이브러리 관련 콘텐츠 업데이트.
- Effective Dart: Documentation(Documentation), Style(Style), Usage(Usage)
- The language tour의 새 library directive 섹션(The language tour)
- Dart의 단일 스레드 또는 다중 스레드 상태에 관한 명확성 개선.
- 오래된
dart:io페이지 제거. - Dart의 웹 동시성 기능(Dart's web concurrency capabilities) 확장.
- 오래된
- 선택형·위치 매개변수의 기본값 논의(discussion) 재배치·명확화.
- Concurrency in Dart(Concurrency in Dart)를 새
Isolate.run()함수를 기본으로 업데이트. pub global페이지(pub global page)에서 패키지를 활성화할 때 파일 경로 지정 문서화.- Learning Dart as a JavaScript developer 재작성 (이제 제거됨)
dart run페이지(dart run page)에 Dart DevTools에 대한 간략한 개요 추가.- Language tour에서 연산자 우선순위와 결합성(operator precedence and associativity)에 대한 명확성 제공.
- URI http와 factory 생성자 정보로 Library tour의 Building URIs(Building URIs) 섹션 확장.
- pub.dartlang.org에서 pub.dev(pub's transition to pub.dev)로의 pub 전환 반영.
- 패키지 스크린샷(package screenshots) 문서 추가.
- The Dart type system 페이지의 명시적 다운캐스트 섹션(explicit downcast section) 개선.
- 분석기(analyzer)와 lint(lint) 커버리지 확대.
- linter 규칙에 SDK 버전 지원 정보 포함.
- 2.19 변경사항에 대한 진단·lint 메시지 추가.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
- Better isolate management with Isolate.run()
- Screenshots and automated publishing for pub.dev
- The road to Dart 3: A fully sound, null safe language
- Google Summer of Code 2022 Results
- Partnering with GitHub on supply chain security for Dart packages
2.18 릴리스
공개일: 2022년 8월 30일
이 섹션은 2022년 5월 12일부터 2022년 8월 30일까지 이루어진 주요 변경사항을 나열해요. 2.18 릴리스의 자세한 내용은 Dart 2.18: Objective-C & Swift interop(Dart 2.18: Objective-C & Swift interop)와 SDK 변경 로그(SDK changelog)를 참고하세요.
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 해당 언어의 API를 호출하기 위해 Dart 패키지를 사용하는 방법을 설명하는 Objective-C and Swift interop(Objective-C and Swift interop) 페이지 도입.
- 타입 추론이 인자 타입을 잘못 null로 추론하는 드문 경우에 대한 처리 방법을 Fixing common type problems에 추가.
- What not to commit(What not to commit)에서 단종된
.packages파일에 대한 모든 언급 제거. 타사 레거시 의존성 때문에 여전히.packages파일을 생성해야 한다면dart pub getOptions(dart pub get Options)를 참고하세요. - 단종된
dart2js및dartdevc명령줄 도구에 대한 전용 페이지와 다른 모든 언급 제거. - 이전에
dart2js와 관련된 명령줄 옵션과 알려진 문제를dart compile(dart compile) 페이지에 추가. - Debugging Dart web apps(Debugging Dart web apps)에 프로덕션 코드 디버깅에 관한 정보 추가.
- Dart SDK 아카이브(Dart SDK archive)에 실험적 Windows ARM 빌드 다운로드 지원 추가.
- Library tour(Library tour)를 약한 참조(weak references)와 finalizer에 대한 정보를 포함하도록 업데이트.
dart fix(dart fix) 사용자 정의 섹션 추가.
2.17 릴리스
공개일: 2022년 5월 11일
이 섹션은 2022년 2월 4일부터 2022년 5월 11일까지 이루어진 주요 변경사항을 나열해요. 2.17 릴리스의 자세한 내용은 Dart 2.17: Productivity and integration(Dart 2.17: Productivity and integration)을 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- Dart를 배울 때 JavaScript 프로그래밍 지식을 활용하는 것을 목표로 하는 Learning Dart as a JavaScript developer 가이드 도입. (이제 제거됨)
- Dart 2.17에 도입된 기능과 변경사항 문서화.
- 이름 인자를 어디에든 지정하는 지원을 반영하도록 language tour의 Named parameters(Named parameters) 섹션 업데이트.
- super-initializer 매개변수(super-initializer parameters) 문서 추가.
- language tour의 Enumerated types(Enumerated types) 섹션 확장하고 enhanced enums(enhanced enums) 문서화.
dart compile exe로 컴파일한 macOS·Windows 실행 파일의 서명(signing) 지원 문서화.dart create(dart create)가 지원하는 템플릿을 새롭고 표준화된 이름으로 업데이트.- pub.dev 사이트(pub.dev site)와 pub 도구(pub tool)의 변경사항 반영.
- Dart 패키지 저장소를 서비스로 제공하는 벤더 나열(Dart package repositories as a service).
- 이제 단종된
dart pub uploader명령에 대한 문서 제거. - pub 프로젝트 uploader 관리(uploaders) 문서 확장.
- 더 이상 사용되지 않는
.packages파일에 대한 대부분의 언급을 제거하고 대신.dart_tool/package_config.json대체를 가리킴. - Dart 업데이트·설치 문서 업데이트.
- macOS 설치 지침(install instructions) 내에서 Homebrew로 Dart 버전 전환하는 방법 문서화.
- Linux 설치 지침(installation instructions)이 SecureApt(SecureApt)을 사용하고 최신 모범 사례를 따르도록 업데이트.
- Dart SDK 아카이브(Dart SDK archive)에서 실험적 Linux RISC-V(RV64GC) 빌드 다운로드 지원 추가.
- 통합
dart도구(unified dart tool) 문서 개선·업데이트 작업 계속.dart fix(dart fix) 도구의 기능에 대한 문서 확장.dart doc(dart doc) 도구의 지침과 문서를 그 기능 및 내부 동작에 맞게 조정.dart compile js(dart compile js)에 대한 추가 문서와 샘플 추가.- 제거된 독립형 도구에 대한 언급 제거.
- 분석기와 linter의 문서·사용법 업데이트.
- 분석기의 새 엄격 언어 모드(strict language modes) 문서화.
- 진단 메시지(diagnostic messages)와 linter 규칙(linter rules) 페이지의 변경사항 반영.
lints패키지의2.0.0릴리스 사용을 반영하도록 문서와 샘플 업데이트.
- 웹 컴파일 문서 개편 시작.
dart2js와dartdevc독립형 도구의 사용 중단과 계획된 제거 문서화.dart compile js(dart compile js)와webdev(webdev) 같은 도구의 기반 컴파일러로서dart2js와dartdevc문서를 통합·명확화.
- null safety 문서 커버리지 확대.
- language tour의 Other operators(Other operators) 섹션의 일부로 not-null 단언 연산자(
!) 문서화. - Low-level HTML tutorials(Low-level HTML tutorials)를 null safety를 지원하도록 마이그레이션하고, 그것을 사용하면서 웹 API와 상호작용하는 방법 논의.
- language tour의 Other operators(Other operators) 섹션의 일부로 not-null 단언 연산자(
- 기타 잡다한 업데이트.
- C interop에서 사용하기 위해
dart:ffi가 제공하는 네이티브 타입(native types) 문서화. - 초기화 formal 매개변수(initializing formal parameters)를 문서화하는 language tour의 새 섹션 도입.
- DartPad의 패키지 지원(support for packages) 문서화.
- 비동기 프로그래밍 튜토리얼(asynchronous programming tutorial)의 서식 수정하고 비동기 코드가 왜 중요한지(why asynchronous code matters) 자세히 설명.
- 현재 보안 관행에 맞게 security(security) 페이지 업데이트.
- 검색 바를 자동으로 포커스하는 키 바인딩(
/) 추가.
- C interop에서 사용하기 위해
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
- Bulk application of fixes
- Dart asynchronous programming: Streams
- Contributors for Google Summer of Code 2022
- Gradual null safety migration for large Dart projects
- Hosting a private Dart package repository
- Quick fixes for analysis issues
2.16 릴리스
공개일: 2022년 2월 3일
이 섹션은 2021년 12월 8일부터 2022년 2월 3일까지 이루어진 주요 변경사항을 나열해요. 2.16 릴리스의 자세한 내용은 Dart 2.16: Improved tooling and platform handling(Dart 2.16: Improved tooling and platform handling)을 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
웹사이트 인프라(updated the website infrastructure)를 Docker 기반으로 업데이트해서 더 쉽게 기여할 수 있게(easier contributions) 하고, docs.flutter.dev(docs.flutter.dev)의 설정과 더 긴밀하게 정렬했어요.
그 외 버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
dartdoc을 대체하는 새dart doc(dart doc) 도구 문서화로 전환.- 패키지의
pubspec.yaml안에서 지원 플랫폼을 지정하는 새platform항목(platform entry) 문서화. - 진단 메시지(diagnostic messages)와 linter 규칙(linter rules) 페이지 업데이트.
- 파일에서 모든 linter 규칙을 무시하는 방법(ignore all linter rules) 문서화.
- Dart SDK 개요(Dart SDK overview)에서 옛 독립형 도구에 대한 언급 제거.
- 남아 있는 옛 독립형 도구 언급을
dart(dart) 도구에 해당하는 것으로 업데이트. - 문자열과 값을 조합하는 데 보간 사용을 선호한다는 PREFER effective Dart 지침(PREFER using interpolation to compose strings and values)에 명확성 추가.
2.15 릴리스
공개일: 2021년 12월 8일
이 섹션은 2021년 9월 9일부터 2021년 12월 8일까지 이루어진 주요 변경사항을 나열해요. 2.15 릴리스의 자세한 내용은 Announcing Dart 2.15(Announcing Dart 2.15)를 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- Dart 코드의 병렬 실행을 가능하게 하는 isolate 같은 기능을 다루는 Concurrency in Dart(Concurrency in Dart) 추가.
- 2.15에서 추가·개선된 pub 기능 문서화.
- 새 pub 하위 명령인 dart pub token(dart pub token)에 대한 페이지와 사용자 정의 패키지 저장소(custom package repositories)에 대한 페이지 추가.
- 패키지 철회(package retraction)(package retraction)에 대한 정보 추가.
- pubspec 페이지에 false_secrets(false_secrets) 필드 추가.
- 호스팅된 의존성(hosted dependencies) 문법 업데이트.
- Dart 1 관련 서적(books)에 대한 항목 모두 제거.
- DartPad 문제 해결 팁(DartPad troubleshooting tips) 확장.
- 진단 메시지(diagnostic messages) 페이지 업데이트.
- linter 규칙(linter rules) 페이지 업데이트;
effective_dart같은 더 이상 사용되지 않는 규칙 세트에 대한 참조 제거. - Dart DevTools(Dart DevTools) 설치·사용 지침 업데이트.
- Dart 런타임(Dart runtime)이 제공하는 것에 대한 정보 추가하고 컴파일 형식(compilation formats) 명확화.
2.14 릴리스
공개일: 2021년 9월 8일
이 섹션은 2021년 5월 20일부터 2021년 9월 8일까지 이루어진 주요 변경사항을 나열해요. 2.14 릴리스의 자세한 내용은 Announcing Dart 2.14(Announcing Dart 2.14)를 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- 타입 프로모션 실패 수정(fixing type promotion failures) 페이지를 충실하게 채움.
- Dart 2.14에 도입된
.pubignore파일(.pubignore file) 사용 문서화. - Dart 2.14에 도입된 부호 없는 시프트 연산자(unsigned shift operator)(
>>>)에 대한 문서 추가. - linter 규칙 페이지(linter rule page) 구축; Effective Dart가 링크하도록 업데이트.
dart create(dart create)와dart test(dart test) 명령에 대한 페이지 추가.- 옛 명령줄 도구(예:
dartfmt) 사용 예제를 통합dart도구(unified dart tool)(예:dart format) 사용으로 변환 완료. - 사이트 코드가 pedantic 대신 권장 linter 규칙(recommended linter rules)을 사용하도록 업데이트.
- 핵심 라이브러리(core libraries) 및 흔히 쓰는 패키지(commonly used packages) 목록 업데이트.
- dart.dev/jobs(dart.dev/jobs)에서 flutter.dev/jobs로 리다이렉트 추가해서 Dart·Flutter 팀의 채용 공고를 더 쉽게 찾도록 함.
- 분석되거나 테스트된 모든 코드를 null safety로 마이그레이션하고 텍스트를 그에 맞게 업데이트. 아직 분석되지 않은 사이트 코드를 더 찾아 수정.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
- Experimenting with Dart and Wasm
- How Dart's null safety helped me augment my projects
- Implementing structs by value in Dart FFI
2.13 릴리스
공개일: 2021년 5월 19일
이 섹션은 2021년 3월 4일부터 2021년 5월 19일까지 이루어진 주요 변경사항을 나열해요. 2.13 릴리스의 자세한 내용은 Announcing Dart 2.13(Announcing Dart 2.13)을 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- Dart 2.13에 도입된 비함수 타입 별칭을 반영하도록 language tour의 typedef 섹션(typedef section) 업데이트.
- 명령줄·서버 관련 문서 게시 또는 업데이트.
- Using Google Cloud(Using Google Cloud)는 Dart 서버가 자주 사전 패키징된 Docker 이미지의 도움으로 사용할 수 있는 Google Cloud 제품을 설명해요.
- 단종된
http_server패키지를 사용하던 HTTP 서버 튜토리얼은 유용한 문서와 샘플로 연결되는 "공사 중" 페이지로 임시 대체됨. (이제 제거됨) - 명령줄 튜토리얼을 완전히 업데이트. (이제 제거됨)
- 그 밖의 새 페이지 게시.
- Dart 2.12에 도입된 Dart의 null-safe 타입 시스템을 가르치는 Null safety codelab.
- Numbers in Dart(Numbers in Dart)는 네이티브와 웹 숫자 구현의 차이에 대한 세부 사항을 담고 있어요.
- Using Google APIs(Using Google APIs)는 Dart 앱에서 Firebase와 Google 클라이언트 API를 사용하는 데 도움이 되는 리소스를 안내해요.
- Writing package pages(Writing package pages)는 pub.dev에서 잘 작동하는 패키지 README 작성 팁을 제공해요.
- Fixing type promotion failures(Fixing type promotion failures)는 타입 프로모션 실패가 왜 발생하는지 이해하는 데 도움이 되는 정보와 고치는 팁을 제공해요.
- 새
dart run페이지(dart run page)는 명령줄에서 Dart 프로그램을 실행하는 방법을 설명해요.
- 특히 streams 튜토리얼(streams tutorial)에서 코드를 null safety로 마이그레이션하는 작업 계속.
- 기타 잡다한 업데이트.
dart create(dart create)를 위해 Stagehand에 대한 참조 제거.- dart.dev 예제 코드의 분석 옵션을
pedantic대신lints(lints)의 권장 규칙을 사용하도록 변경. - Dart를 얻는 방법(get Dart)으로 Docker 추가.
- Dart 2.13을 반영하도록 언어 진화 페이지(language evolution page) 업데이트.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
- AngularDart, Flutter, and the web: Spring update
- Announcing Dart support for GitHub Actions
- Dart in Google Summer of Code 2021
2.12 릴리스
공개일: 2021년 3월 3일
이 섹션은 2020년 10월 2일부터 2021년 3월 3일까지 이루어진 주요 변경사항을 나열해요. 2.12 릴리스의 자세한 내용은 Announcing Dart 2.12(Announcing Dart 2.12)를 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 점진적 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- null safety 문서 업데이트·충실화 (현재 아카이브됨archived).
- 마이그레이션 가이드 제공.
- FAQ 추가.
- unsound null safety 문서 생성.
- null safety 홈페이지(null safety homepage) 단순화.
- Effective Dart(Effective Dart) 갱신. 코드를 null safe로 업데이트하고 새 지침을 반영해 규칙 변경.
- language tour(language tour) 갱신. 코드를 null safe로 업데이트하고
late변수(late variables) 같은 새 기능에 대한 정보 추가. - 언어 버전 관리에 대한 정보를 추가하고 Dart 2.12를 반영하도록 language evolution 페이지(language evolution page) 업데이트.
- sound null safety를 반영하도록 library tour(library tour)와 튜토리얼 업데이트.
- 더 이상 사용되지 않는 명령 대신
dart도구(the dart tool)를 사용하도록 사이트 전반의 페이지 업데이트.dart analyze(dart analyze),dart compile(dart compile),dart fix(dart fix),dart format(dart format) 등 다양한dart명령 페이지 추가 시작. - Dart 팀 패키지(Dart team packages)의 품질과 지원을 문서화하는 페이지 생성.
- Platforms 페이지를 새 Overview 페이지(Overview page)로 대체.
- 이 페이지("What's new") 생성.
또한 Travis CI에서 GitHub Actions로 전환하고, 사이트 가독성 개선을 위해 여러 CSS 변경을 가했어요.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
- Preparing the Dart and Flutter ecosystem for null safety(Preparing the Dart and Flutter ecosystem for null safety): null safety API 안정성을 발표하고 개발자들이 패키지의 안정적이고 null-safe한 버전을 게시하도록 초대했어요.
- Dart and the performance benefits of sound types(Dart and the performance benefits of sound types): soundness와 null safety가 Dart 컴파일러가 더 빠르고 작은 코드를 생성하게 하는 방법을 보여줬어요.
- Why nullable types?(Why nullable types?): /r/dart_lang 서브레딧의 논의를 확장해 "왜 null을 완전히 없애지 않나?"라는 질문에 답했어요.
- Announcing Dart null safety beta(Announcing Dart null safety beta): 개발자들이 null safety 마이그레이션을 계획하기 시작하도록 초대했어요.
2.10 릴리스
공개일: 2020년 10월 1일
이 섹션은 2020년 7월 1일부터 10월 1일까지 이루어진 주요 변경사항을 나열해요. 2.10 릴리스의 자세한 내용은 Announcing Dart 2.10.(Announcing Dart 2.10.)를 참고하세요.
dart.dev에 업데이트되거나 추가된 문서
버그 수정과 소소한 개선에 더해, 이 사이트에 다음과 같은 변경을 가했어요.
- Dart SDK의 새 명령줄 인터페이스를 문서화하기 위한
dart도구 페이지(dart tool page) 추가. 새dart도구는 Flutter SDK의flutter도구와 유사해요. 이전에는dart명령이 명령줄 앱만 실행했어요. 이전dart페이지를 그에 맞게 업데이트하고 시간이 지나면서 다른 도구에 대한 참조도 업데이트할 계획이에요. CHANGELOG.md파일에 표준 형식을 권장하도록 패키지 변경 로그 문서(package changelog documentation) 업데이트. 이 새 형식은 (새로 시작된 pub.dev 같은) 도구가 변경 로그를 파싱할 수 있게 해줘요.dynamic대신Object를 사용하는 것을 선호하도록 Effective Dart(Effective Dart) 지침 변경. 자세한 내용은 수정된 지침 AVOID usingdynamicunless you want to disable static checking.(AVOID using dynamic unless you want to disable static checking.)을 참고하세요.- Dart 분석기가 생성하는 더 많은 메시지를 포함하도록 진단 메시지 페이지(diagnostic messages page) 업데이트.
- 2.9와 2.10을 포함하도록 evolution 페이지(evolution page) 업데이트.
- 최신 진행 중 사양의 PDF 버전을 더 쉽게 찾도록 language specification 페이지(language specification page) 재구성.
- Dart 언어에 곧 제공될 기능인 sound null safety(sound null safety) 관련 문서 추가·업데이트.
- IDE에서 실험 플래그 사용 방법(experiment flags with IDEs) 명확화.
- null safety를 활성화하는 방법(how to enable null safety)에 대한 정보를 추가해 null safety 페이지 업데이트.
- Dart 엔지니어 Bob Nystrom이 쓴 null safety 심층 분석, Understanding null safety(Understanding null safety) 추가.
Dart 블로그에 추가된 글
Dart 블로그에 다음 글을 게시했어요.
- Exploring collections in Dart(Exploring collections in Dart): collection if, collection for, spread 같은 2.3 언어 기능에 특히 주목하면서 리스트·맵·셋 등의 컬렉션 사용을 도와줘요.
- Google Summer of Code 2020 results(Google Summer of Code 2020 results): Dart 팀이 멘토링한 다섯 프로젝트의 결과를 설명해요.
- Introducing a brand new pub.dev(Introducing a brand new pub.dev): 새 패키지 점수 지표, 개선된 검색, 재설계된 UI를 갖춘 pub.dev 사이트(pub.dev site,)의 재출시를 발표해요.
또한 블로그 탐색을 개선해서 announcement와 archive 탭, 그리고 dart.dev 링크를 추가했어요.
Dart 블로그의 모든 글은 무료로 읽을 수 있어요.
별도로 명시하지 않는 한, 이 사이트의 문서는 Dart 3.13.3을 기준으로 해요. 페이지 마지막 업데이트: 2026-08-12. 소스 보기(View source) 또는 이슈 보고하기.
더 알아보기
- Dart 변경 로그 — Dart SDK별 언어 변경 목록을 확인해 보세요.
- Dart 블로그 — 최신 공지와 글을 읽어 보세요.
- Dart 공지 Google 그룹 — 브레이킹 체인지를 포함한 공지를 받아보세요.
- Flutter What's new — Flutter의 새로운 소식도 확인해 보세요.