diff --git a/downloads/5.0.0-preview.1/RELEASE.md b/downloads/5.0.0-preview.1/RELEASE.md
index 11aa6b54..312f4c15 100644
--- a/downloads/5.0.0-preview.1/RELEASE.md
+++ b/downloads/5.0.0-preview.1/RELEASE.md
@@ -19,7 +19,7 @@ It means that you are using an older `haxelib` version that is not compatible wi
You can either update it:
```
-haxelib install haxelib
+haxelib update haxelib
```
Or remove it (and use the version shipped with Haxe):
diff --git a/downloads/versions.json b/downloads/versions.json
index 9b0ca1d6..faa2b130 100644
--- a/downloads/versions.json
+++ b/downloads/versions.json
@@ -174,6 +174,7 @@
{
"date": "2018-02-22",
"version": "3.4.7",
+ "api": "3.4.7",
"tag": "3.4.7"
},
{
@@ -229,131 +230,157 @@
{
"date": "2019-10-26",
"version": "4.0.0",
+ "api": "4.0.0",
"tag": "4.0.0"
},
{
"date": "2019-11-04",
"version": "4.0.1",
+ "api": "4.0.1",
"tag": "4.0.1"
},
{
"date": "2019-11-11",
"version": "4.0.2",
+ "api": "4.0.2",
"tag": "4.0.2"
},
{
"date": "2019-11-29",
"version": "4.0.3",
+ "api": "4.0.3",
"tag": "4.0.3"
},
{
"date": "2019-12-17",
"version": "4.0.5",
+ "api": "4.0.5",
"tag": "4.0.5"
},
{
"date": "2020-05-13",
"version": "4.1.0",
+ "api": "4.1.0",
"tag": "4.1.0"
},
{
"date": "2020-05-22",
"version": "4.1.1",
+ "api": "4.1.1",
"tag": "4.1.1"
},
{
"date": "2020-06-19",
"version": "4.1.2",
+ "api": "4.1.2",
"tag": "4.1.2"
},
{
"date": "2020-07-22",
"version": "4.1.3",
+ "api": "4.1.3",
"tag": "4.1.3"
},
{
"date": "2020-09-11",
"version": "4.1.4",
+ "api": "4.1.4",
"tag": "4.1.4"
},
{
"date": "2020-12-31",
"version": "4.1.5",
+ "api": "4.1.5",
"tag": "4.1.5"
},
{
"date": "2021-02-09",
"version": "4.2.0",
+ "api": "4.2.0",
"tag": "4.2.0"
},
{
"date": "2021-02-26",
"version": "4.2.1",
+ "api": "4.2.1",
"tag": "4.2.1"
},
{
"date": "2021-05-14",
"version": "4.2.2",
+ "api": "4.2.2",
"tag": "4.2.2"
},
{
"date": "2021-07-01",
"version": "4.2.3",
+ "api": "4.2.3",
"tag": "4.2.3"
},
{
"date": "2021-10-22",
"version": "4.2.4",
+ "api": "4.2.4",
"tag": "4.2.4"
},
{
"date": "2022-03-06",
"version": "4.2.5",
+ "api": "4.2.5",
"tag": "4.2.5"
},
{
"date": "2023-04-06",
"version": "4.3.0",
+ "api": "4.3.0",
"tag": "4.3.0"
},
{
"date": "2023-04-28",
"version": "4.3.1",
+ "api": "4.3.1",
"tag": "4.3.1"
},
{
"date": "2023-09-01",
"version": "4.3.2",
+ "api": "4.3.2",
"tag": "4.3.2"
},
{
"date": "2023-11-17",
"version": "4.3.3",
+ "api": "4.3.3",
"tag": "4.3.3"
},
{
"date": "2024-03-04",
"version": "4.3.4",
+ "api": "4.3.4",
"tag": "4.3.4"
},
{
"date": "2024-07-18",
"version": "4.3.5",
+ "api": "4.3.5",
"tag": "4.3.5"
},
{
"date": "2024-08-07",
"version": "4.3.6",
+ "api": "4.3.6",
"tag": "4.3.6"
},
{
"date": "2025-05-09",
"version": "4.3.7",
+ "api": "4.3.7",
"tag": "4.3.7"
},
{
"date": "2025-07-04",
"version": "5.0.0-preview.1",
+ "api": "5.0.0-preview.1",
"tag": "5.0.0-preview.1"
}
]
diff --git a/pages/download/nightlies/index.raw.html b/pages/download/nightlies/index.raw.html
new file mode 100644
index 00000000..9d3a42a0
--- /dev/null
+++ b/pages/download/nightlies/index.raw.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
Haxe development builds
+
+
Thank you for choosing Haxe!
Download for your platform and start developing today.
+
+ These are automated development builds
+ The current preview version is Haxe 5.0.0-preview.1.
+ The current stable release version is Haxe 4.3.7.
+
+
+
+
+
+
+
+
+
+
+
+
+
Road to Haxe 5.0
+
+
+ Dear Community,
+
+
+
+ We are currently working towards Haxe 5.0 which, as a major version, will include a number of breaking change.
+
+
+
+ To ease the migration from Haxe 4, we introduced -D haxe-next in Haxe 4.3.
+ This define activates a number of warnings about things that will not work anymore in Haxe 5.0.
+
+
+
+
+
+
+
+
+
Roadmap
+
+
Main features that are currently being worked on:
+
+ - Haxe Coroutines (#12168)
+ - IDE integration improvements
+
+
+
See also:
+
+
+
+
+
+
+
+
+
Change Log
+
+
Removal:
+
+ - all : remove 32 bit windows builds (#11541)
+ - all : move
sys.db, php.Web and neko.Web to hx4compat lib (#11385)
+ - all : move
haxe.remoting to hx4compat lib (#11387)
+ - all : remove haxe.Ucs2 (#12103)
+ - hl : move some hl.Format into lib format/heaps (#11869)
+ - java/cs : remove C# and Java targets (#11551)
+ - macro : remove some API from haxe.macro.Compiler (#11540)
+ - macro : remove CompilationServer.setModuleCheckPolicy options (#11615)
+
+
+
Breaking changes:
+
+ - all : rework module resolution (#11168)
+ - all : don't infer string on concat (#11318)
+ - all : delay typer creation to after init macros (#11323)
+ - all : disallow partial resolution (pack.SubType access when module is imported) (#11338)
+ - all : don't create a class field for every enum field (#11452)
+ - all : only set cf_expr_unoptimized if we think we need it (#11462)
+ - all : fix the way optional arguments are handled when using
bind (#11533)
+ - all : don't bind foreign type parameters in definition mode (#11658)
+ - all : disallow duplicate argument name (#11978)
+ - all : fix types in null coal null check (#11726)
+ - macro : Build macro order vs inheritance (#11582)
+ - macro : disallow defining types into existing modules (#11845)
+
+
+
Other changes:
+
+
+ The full list of released changes is available on preview release pages:
+
+
+
+
+
+ For the changes that are only available on nightlies for now, a changelog draft
+ is available on Haxe repository wiki
+ and is being updated as we add major changes to development branch.
+
+
+
+
+
+
+
+
+
diff --git a/pages/foundation/open-source.md b/pages/foundation/open-source.md
index 38058bf5..8b10fc36 100644
--- a/pages/foundation/open-source.md
+++ b/pages/foundation/open-source.md
@@ -26,7 +26,7 @@ The license of the compiler does not affect the license of your own source code.
Since Haxe 3, the Haxe Standard Library has been licensed under a MIT style license, which does not require the notices to be reproduced anywhere outside of the actual library code.
- Copyright (C)2005-2016 Haxe Foundation
+ Copyright (C)2005-2025 Haxe Foundation
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
diff --git a/src/Deploy.hx b/src/Deploy.hx
index 945ffe9c..d107c2d7 100644
--- a/src/Deploy.hx
+++ b/src/Deploy.hx
@@ -41,7 +41,7 @@ class Deploy {
// Set up redirections of the download files to GitHub releases.
for (version in downloadsData.versions) {
- for (download in (version.api != null ? [version.api] : []).concat(version.downloads.all)) {
+ for (download in version.downloads.all) {
aws([
"s3api", "put-object",
"--acl", "public-read",
diff --git a/src/DownloadsData.hx b/src/DownloadsData.hx
index cdbc11fd..ee37f694 100644
--- a/src/DownloadsData.hx
+++ b/src/DownloadsData.hx
@@ -27,7 +27,7 @@ typedef Version = {
var version : String;
var tag : String;
var date : String;
- @:optional var api : Download;
+ @:optional var api : String;
@:optional var next : Version;
@:optional var prev : Version;
@:optional var downloads : DownloadList;
@@ -177,7 +177,7 @@ class DownloadsData {
downloads.windows.archives.unshift(current = getInfo("Windows 64-bit Binaries", url));
downloads.all.unshift(current);
} else if (filename == 'api-${version.version}.zip') {
- version.api = getInfo("API Documentation", url);
+ // Ignored, as we link to api docs instead
} else {
throw('Unknown download type for "$filename"');
}
diff --git a/src/Views.hx b/src/Views.hx
index c96f9112..1cb73887 100644
--- a/src/Views.hx
+++ b/src/Views.hx
@@ -12,7 +12,7 @@ class Views {
@:template public static function BlogRss (posts:Array<{ title:String, name:String, date:String, authors:Array, description:String }>) : Html;
@:template public static function DownloadFile (prev:String, next:String, title:String, directDownloadLink:String, releaseNotes:Html, changes:Html, api:String) : Html;
@:template public static function DownloadList (title:String, current:String, versions:Array) : Html;
- @:template public static function DownloadVersion (version:DownloadsData.Version, prev:String, next:String, title:String, downloads:DownloadsData.DownloadList, api:String, current:String, releaseNotes:Html, changes:Html, prevTag:String) : Html;
+ @:template public static function DownloadVersion (version:DownloadsData.Version, prev:String, next:String, title:String, downloads:DownloadsData.DownloadList, current:String, releaseNotes:Html, changes:Html, prevTag:String) : Html;
@:template public static function Footer (firstColumn:Array<{ url:String, title:String }>, columns:Array<{ title:String, url:String, rows:Array }>) : Html;
@:template public static function MainLayout (title:String, description:String, navBar:Html, viewContent:Html, siteMap:Html, currentYear:String, editLink:String, additionalScripts:Html, additionalStyles:Html) : Html;
@:template public static function PageWithoutSidebar (content:Html, editLink:String, downloads:DownloadsData.Data) : Html;
diff --git a/src/generators/Downloads.hx b/src/generators/Downloads.hx
index 72ef9ef6..517a4599 100644
--- a/src/generators/Downloads.hx
+++ b/src/generators/Downloads.hx
@@ -42,8 +42,7 @@ class Downloads {
version.prev != null ? version.prev.version : null,
version.next != null ? version.next.version : null,
title,
- version.downloads,
- version.api != null ? version.api.url : null,
+ version.downloads,
data.current,
new Html(releaseNotes),
new Html(changes),
@@ -67,7 +66,7 @@ class Downloads {
asset.url,
new Html(releaseNotes),
new Html(changes),
- version.api != null ? version.api.url : null
+ version.api
), null, null, title);
}
}
@@ -96,7 +95,7 @@ class Downloads {
'/$link/$filename',
new Html(releaseNotes),
new Html(changes),
- version.api != null ? version.api.url : null
+ version.api
), null, null, title);
}
}
diff --git a/src/generators/Pages.hx b/src/generators/Pages.hx
index 64313f79..06c54d66 100644
--- a/src/generators/Pages.hx
+++ b/src/generators/Pages.hx
@@ -144,6 +144,8 @@ class Pages {
title: '[haxe.org/introduction] ${file.replace("introduction/","").replace(".md", "").replace(".html", "")}',
}
);
+ } else if (file.endsWith(".raw.html")) { // Skip wrapper
+ file = file.substr(0, file.length - ".raw.html".length) + ".html";
} else if (folder != "/") { // Not top level
if (root != null && sitepage != null) {
content = Views.PageWithSidebar(
diff --git a/views/DownloadFile.html b/views/DownloadFile.html
index 230048fd..d8892fb8 100644
--- a/views/DownloadFile.html
+++ b/views/DownloadFile.html
@@ -4,7 +4,7 @@
@@ -215,14 +215,14 @@ Getting Started With Haxe
::if (api != null)::
- API Documentation: Download the API documentation for this version as a ZIP file.
+ API Documentation: Read the API documentation for this version.
::end::
diff --git a/views/DownloadList.html b/views/DownloadList.html
index 6313826c..4825ef32 100644
--- a/views/DownloadList.html
+++ b/views/DownloadList.html
@@ -3,7 +3,7 @@
::title::
The current stable version is ::current::.
- If you want to see what's coming next for Haxe, you can try the latest development builds, which are created for every commit on our development branch on Github.
+ If you want to see what's coming next for Haxe, you can try the latest development builds, which are created for every commit on our development branch on Github.
@@ -15,9 +15,9 @@ ::title::
- | Development Builds |
+ Development Builds |
Download from S3 |
- |
+ API Documentation |
|
development |
@@ -25,7 +25,7 @@ ::title::
| ::version.version:: ::if (version.version == current):: (Current Release) ::end:: |
Download Page |
- ::if (version.api != null)::API Documentation (ZIP)::end:: |
+ ::if (version.api != null)::API Documentation::end:: |
::version.date:: |
::version.tag:: |
diff --git a/views/DownloadVersion.html b/views/DownloadVersion.html
index dcdcc5bc..9010eb7f 100644
--- a/views/DownloadVersion.html
+++ b/views/DownloadVersion.html
@@ -3,7 +3,7 @@
@@ -72,7 +72,7 @@ ::title::
@@ -107,7 +107,7 @@
Change Log
diff --git a/views/HomePage.html b/views/HomePage.html
index ab182aaf..0d34d249 100644
--- a/views/HomePage.html
+++ b/views/HomePage.html
@@ -1,12 +1,12 @@
-
+
-
Haxe 4 is here!
+
Haxe empowers cross-platform development
Haxe is an open source high-level strictly-typed programming language with a fast optimizing cross-compiler.
@@ -19,6 +19,23 @@
Haxe 4 is here!
+
+
+
+
+
Get a glimpse of Haxe 5.0!
+
+ We just released a preview version of Haxe 5.0.
+ More features are coming; see also nightlies for the very latest Haxe.
+
+
+
Download 5.0.0-preview.1
+
Released: 2025-07-04
+
+
+
+
+
diff --git a/www/css/haxe-nav.css b/www/css/haxe-nav.css
index 0524fc4f..4cbed8e9 100644
--- a/www/css/haxe-nav.css
+++ b/www/css/haxe-nav.css
@@ -117,7 +117,7 @@ nav .navbar .nav>li>.dropdown-menu:after {
background: linear-gradient(to bottom, #39332d 50%,#2c2722 51%); /* W3C */
padding:14px 20px 13px 20px;
margin:0 10px 0 0;
- font:bold 18px "arial black", "open sans";
+ font:bold 18px "arial black", "open sans", sans-serif;
line-height:22px;
color:rgb(255,255,255);
}
diff --git a/www/css/style.css b/www/css/style.css
index 4542ad77..d20b7c3b 100644
--- a/www/css/style.css
+++ b/www/css/style.css
@@ -198,7 +198,8 @@ a.anch {
font-weight: 400;
}
-.section.head .btn-haxe {
+.section.head .btn-haxe,
+.section.sub-head .btn-haxe {
font-size: 26.5px;
border-radius: 9px;
position: relative;
@@ -207,18 +208,23 @@ a.anch {
box-shadow: none;
border: 2px solid rgb(234, 130, 32);
color: rgb(234, 130, 32);
- width: 204px;
+ min-width: 204px;
+ width: auto;
height: 54px;
line-height: 54px;
text-shadow: none;
padding-right: 33px; /* 12px default + some space for our caret */
}
-.section.head .btn-haxe:hover, .section.head .btn-haxe:active {
+.section.head .btn-haxe:hover,
+.section.head .btn-haxe:active,
+.section.sub-head .btn-haxe:hover,
+.section.sub-head .btn-haxe:active {
color: rgb(208, 116, 28);
border-color: rgb(208, 116, 28);
background: rgba(0,0,0,0.1);
}
-.section.head .btn-haxe .fa {
+.section.head .btn-haxe .fa,
+.section.sub-head .btn-haxe .fa {
position: absolute;
right: 15px;
top: 23px;
@@ -503,6 +509,7 @@ pre {
html code {
color: rgb(75,75,75);
+ font-size: inherit;
}
a code {
color: #3369bc;